Efficient Open Source

by [anonymous] 2 min read15th Mar 201539 comments


I've heard a quote from Richard Hamming "What are the important Problems in your field? And why aren't you working on them?"  Humans are not immediately strategic, so when I first heard this quote, I was shocked and started wondering why I wasn't working on anything like that?  Then I wondered: Why wasn't EVERYONE working on something like that?    

One of the things I like about efficient charity is that it solves the problem of "What charity should I spend money on?"  Check GiveWell and give money to the charity that saves the most lives.  So I've been thinking, why don't we have a solution like this for open source programming?

I want to try to create a site for tracking projects that need programming help. If everyone could run down the list of 'important projects' until they found something they thought they could do I think that might lead to more important things getting done.  Who knows, if the idea works out we could expand it to efficient free time for people who want something productive to do in their free time.

I'd also like to enlist lesswrong's help.  Is there already a site/service like this but no one uses it?  And is there anything else that the site would need that I haven't thought about?  An important Project Tracker would need:


  • It should estimate how important the project is. Is it user voting?  Do we have some way to measure importance? It would seem pretty silly if X-risks got voted as 'lower importance' than games.
  • It should estimate how many people are working on the project.  We want to bring attention to projects that need more people, not projects that are saturated with developers. Aim for high marginal utility.
  • It should estimate how hard the project is.  If it's important and easy, we should probably do it first. marginal utility again.
  • Does the project Require special skills?  I bet a lot more people could throw together a website than could meaningfully contribute friendly AI even if Friendly AI is more important.
  • Are there multiple groups pursuing this project? (Look at all those Linux distributions!) How well are the different groups doing?  Is it better to contribute to one of those groups or start a new one? Which groups are easier to work with, are closer to their goals, or have been abandoned.
  • There should probably be a way to break projects apart and link them together. There are lots of different open problems in AI that could be solved separately, but they should also be linked together somehow.  And there should probably be some way for to divide work at different skill levels so that people who aren't math geniuses can help with the 'grunt work coding' for things like friendly AI. 
  • How feasible is the project?  Solving P=NP would be really awesome, but nobody has any ideas how they might solve that problem.  
  • It should be enjoyable enough to use that it attracts a community.  Stack Overflow turned answering programming questions into a game and it became quite successful.
  • Are there rewards for working on this?  Would it make it easier to get a job in a particular job or industry?  Would it help with X-risks or otherwise make you famous?  I originally thought that it was so important to avoid tampering with the votes that it was not even worth mentioning.  But actually, some intentional tampering would be really useful.  If people could put bounties on important jobs, that would incentivize those jobs.  (There is an x-prize for space travel.  Why isn't there an x-prize of friendly AI?)