• Sponsored Links :

Why Google and Yahoo! can't be better open source

One particular thing have bothered me always. I kept hearing Jeremy from Yahoo! and Chris from Google talk about how they don't open up code because "no one would understand our code, or be able to make use of it - it's too specific to a massive web company."

Oh, really? Who is to say? Shouldn't the market decide the relevance of code? Aren't Yahoo! and Google missing the point or, rather, conveniently looking past it? Open source isn't about beneficent companies giving code to the impoverished underclass. It's about working on code collaboratively within a community.

Jeremy eventually owned up to a reason that I found much more compelling - disappointing, but compelling. Jeremy said that Yahoo's applications are tightly bound together, making it difficult to open one piece without giving away information about how the remainder is written, or making it useless because knowing 1/10th of the application wouldn't be helpful (because of all the unknown code).

All of which means, that these companies have failed to write code according to a cardinal open source principle: modularity. Yahoo! and Google can't open source more code because their code is too tightly bound together - layer upon layer upon layer requiring layer upon layer upon layer. This doesn't mean that Yahoo! and Google are bad, but it is disappointing that they are such heavy users of open source, and have architected themselves into a corner that makes giving back impossible or problematic.

That also explains why Microsoft can't just bundle developer tools like NUnit and NHibernate with Visual Studio and ends up re-implementing those features in Microsoft-native releases. Since there's no real way to prove the code is "clear" for redistribution, in most cases the code can't be shipped. There's no real way out of that until software patent law changes.

That doesn't prevent Microsoft from participating in the open source community, though. There are two main ways it can do that:

  1. Microsoft can release projects with source code on sites like SourceForge and CodePlex when the potential damage is low. The kinds of projects you'll see released as open source are generally good tools which will benefit developers, but wouldn't cause a major crisis if they had to be pulled. They can't, however, accept community contributions since they can't verify that the code is free of copyright / left restrictions.

  2. Microsoft can support open source projects run by non-Microsoft developers (by support, I'm not really talking about financial contributions). There are some persons like Sam Ramji and others who are working hard to help out Microsoft's growing open source developer community that you can connect with Microsoft's open source strategy team on Port 25.

imran's picture