What Microsoft does when it is not attacking free and open source software (FOSS) usually exists in my peripheral vision, if I notice it all. For that reason, I had forgotten about CodePlex, Microsoft's repository for open source code, until Matt Assay mentioned it a couple of weeks ago in his blog. Quoting a blog entry about CodePlex's growth, Assay suggests that the last year "has seen Microsoft make serious progress toward real open-source savvy." A closer look at the site, however, suggests that he may have too optimistic.
If the CodePlex site itself is any indication, Microsoft is choosing only the parts of the FOSS software community it finds comfortable. You can find a lot of references to "open source" on CodePlex, but a site search turns up only 14 references to "free software." If you remember the division between free and open source software, you should have no trouble concluding that Microsoft is siding with the part of the community that is friendliest to business -- and even that choice is made somewhat gingerly.
The closer you examine CodePlex, the stronger this attitude becomes, especially when you compare the site to similar ones. The attitude shows in everything from the general site statistics to the nature of the hosted projects and the licenses they choose. Far from showing an acceptance of FOSS, at best CodePlex shows a cautious investigation of the concept. In fact, CodePlex is so cautious that its participants are denying themselves much of the benefit of FOSS.
Divining from the site stats
Seeing CodePlex's statistics by themselves, you might conclude that the site represents an impressive effort. However, that impression vanishes when you compare CodePlex to other sites for hosting FOSS projects.
As I write, the site hosts 7,751 projects, and has some 120,000 registered users. These stats are impressive only if you compare them to specialized repositories such as the GNU Project's Savannah repositories, which includes 3,022 projects, and 60,776 users.
By contrast, they seem insignificant beside SourceForge's statistics of 230,000 projects and 1.9 million users. The same is true of unique visitors: CodePlex's total of 19,493,502 per year is not even a tenth of the SourceForge company's claim of 33 million per month for its sites, even if you assume that half that total refers to sites other than SourceForge, such as Slashdot and ThinkGeek.
However, since CodePlex focuses almost entirely on Windows, coming no closer to cross-platform projects most of the time than web applications, perhaps a better comparison is Launchpad, the hosting site for the Ubuntu distribution. Although Launchpad does not count unique page views, its 10,182 projects and 2,570,195 users leave CodePlex looking like a relatively modest effort.
Admittedly, CodePlex did show tremendous growth in 2008, with all its statistics doubling or nearly so compared to 2007. Yet its current numbers suggest no more than a modest venture into FOSS -- despite the fact that Windows developers vastly outnumber those dedicated to GNU/Linux and other FOSS operating systems.
Looking at projects
The variety of projects further emphasizes how restricted an effort CodePlex represents. While Google Code is limited almost entirely to projects that use Google technology, most project-hosting sites welcome a variety of projects. For example, a search of SourceForge returns a total of 5,015 references to Mac OS X, and 7,746 references to Windows. Add projects associated with cross-platform programming languages as PHP -- which includes 13,911 references -- and you can see that, while GNU/Linux projects may be the majority, other platforms are still well-represented on SourceForge.
In much the same way, Launchpad projects are centered on Ubuntu, but many have wide application. Many, for example, are for the general GNOME desktop.
This variety on other hosting sites might partially reflect the lack of organization in the FOSS community. However, it also reflects a healthy respect for the serendipity that comes with diversity.
At first, not focusing on what directly interests your community or company might seem counter-intuitive. But experienced members of the FOSS community soon understand that, by minimizing restrictions, in the long run they create more opportunities for taking advantage of FOSS themselves. The more projects that exist, the more likely that one will have exactly the technology you will need in the future.
However, this is an advantage that Microsoft, to judge from CodePlex, still does not fully understand. A search on CodePlex reveals returns only 104 references to "Linux," and they refer to such projects as a Linux platform for Windows virtualization, a tool for managing the CentOS distribution from Windows, and a few cross-platform development tools.
Mac OS X is even more under-represented, with only 40 projects listed. These projects are similar to the ones that refer to Linux.
Unsurprisingly, the tags given to projects on CodePlex's main page show a heavy emphasis on Windows technologies. "C#" tags 875 projects -- almost 12% of CodePlex's total. "ASP.net" is tagged 418 times, "Sharepoint" 347, and "Silverlight" 179. Depending on how tags that refer to versions overlap, these totals could be even higher.