Philosophy of Non-Competition

People periodically ask me about competition in the open source community, especially competition between various languages.

One thing Microsoft seems to have figured out is that developers want multiple languages to choose from and will always want multiple languages to choose from. Diversity is an advantage, not a disadvantage. Ruby, for example, benefits from Perl, PHP, and Python’s success, just like they benefit from Ruby’s success. Java would likely never have been released as open source if it weren’t for the success of the other languages. Having multiple successful open source languages each used by multiple successful projects makes it that much easier for companies to consider open source alternatives. The more the merrier.

50 years from now, the rivalries of today will be a faded memory. The buzz will be all about the languages Glick, Pumice, and Chicha, or some such. But what we choose to do with Java/Perl/PHP/Python/Ruby/etc. today will significantly impact the shape of those languages to come. I don’t mean just syntax, but implementations, problem spaces, politics, and economics. We are the roots of our own future.

A little competition is healthy. It spurs us on to greater heights of excellence. Does <insert a favorite language here> need to improve in some areas to keep up? Good! That’s healthy for the language, healthy for the community, and healthy for the state of open source software in general. At the end of the day, though, we’re in this together and must learn to work with our neighbors.

tags: