blog
05 Sep 2000
I think I know why some OSS projects fail... maybe it would be something dark that nobody would like to admit. I know when I started thatware, I saw a need that would be fulfilled by me creating a slashdot clone in PHP... one that I knew how to configure and setup.
A year after I started developing it and released it on sourceforge, I let some smart people have CVS access. They made bug fixes and added to the codebase, but now I'm finding that a lot of the things they added were just kind of tacked on just to serve their own personal needs and objectives. Now they're gone for the most part and I'm left with some messy code and some stuff that *I* don't really want in there and never did from the beginning.
I can fess up and admit that web developers can be some of the most snotty developers. I mean, there are like 6 major Slashdot PHP clones out now and how much communication is going on between their development teams about issues they're coming across? None, and that's just a hard truth. People are proud of their code even if they know it's messy and/or slow... and to be able to do it your own way has more benefits in your mind, even if you have to sacrifice another week of development. Compromise isn't good enough.
So I'm left with a question... whether or not to clean up the code and keep going or to let the project go... maybe have someone keep it going since it'll be on sourceforge either way. All the while I've been thinking about what *I* want and how *I* want things to be, just as I'd expect anyone else to think. For OSS, cleaning up the code and keeping the project going is the obvious choice... it makes the code better for people to use later instead of reinventing the wheel. I've read that point many times through advogato, but it seems to be just the ideal scenario.
It seems OSS development has its ideal scenarios, but in practice, it has to be slightly modified to keep the project afloat. For example, never again will I just give CVS access to just anyone that has competency in PHP and just wants to add stuff. There has to be a plan and direction for a project which means that although open source is open to the community, some of the community is excluded from development, regardless of their willingness to contribute just because their objectives differ from the objectives of the project. That is a fact that I didn't want to admit when I started letting people into CVS. I thought any contribution was a good one... it made the portfolio of the project more rounded.
The summation of all the aforesaid is this, that the leaders and the experience of those leaders are what determines the success of a project.

