I find this interesting. I have a few nitpicks for everyone's consideration.<p>>* The source code is more than 100 MB.<p>Excluding images, example usage, and generated documentation, sure.<p>>* Your code tries to install into /opt or /usr/local [ +10 points of FAIL ]<p>Installing to /usr/local is the accepted default for linux. Plus, I actually use the package manager on my system. I want compiled software to install to /opt or /usr/local so I can find it later and remove it if necessary.<p>Now trying to install to /opt on windows is just stupid.<p>>* Your code does not have per-file licensing [ +10 points of FAIL ]<p>This is pedantic. If the entire codebase is under the same license which is given as LICENSE in the program's folder you're good. (You should make it clear in README that LICENSE does apply to the entire project.) If not, any inconsistent licensing should be <i>explicitly</i> defined either in a visible top level document next to LICENSE which lists each exception clearly (e.g. stuff in multiverse/ is proprietary, see multiverse/<project>/LICENSE for details) or at the top of each file that doesn't match the license in LICENSE.
More proof that people who uses the word "fail" as a noun have few opinions worth listening to. Using his criteria, are there <i>any</i> major F/OSS projects which are not "So much fail, your code should have its own reality TV show"?
I am interested in hearing the considered thoughts of HNers about how one could optimize the experience of developing (as opposed to consuming) OSS in such a way as to improve the chance the project would succeed, but virtually any article would be a better starting point for discussion than this one.
And yet, the kernel and chromium are excellent codebases under healthy and active development and are running on tens or hundreds of millions of machines. We should all 'Fail' so well.<p>People are happy to rant and rage, but the value of these large projects persists.
I'm turning hip hop goblin into an open source project and I could use a mentor as I have never been involved in open source before. I have many questions. For example: how do we keep track of which person is working on which task, such that people's efforts aren't being duplicated?<p>I put the source on Github btw- <a href="http://github.com/zackster/hip-hop-goblin" rel="nofollow">http://github.com/zackster/hip-hop-goblin</a>