Don Demsak has a blog post entitled Open Source Projects As A Form Of Community Service which links to a number of blog posts about the death of the NDoc project. He writes
Open source projects have been the talk of the tech blogs recently with the
announcement that NDoc
2 is Offcially Dead, along with the mention that the project's sole develop
was a victim of an automated mail-bomb attack because the project wasn't getting
a .Net 2.0 version out fast enough for their liking. Kevin has decided to
withdraw from the community, and fears for himself and his family. The .Net
blogging community has had a wide range of reactions:
- Phil
Haack talks about his ideas behind helping/saving the open source community
and laid down a challenge.
- Eric
Wise mentions that he will not work on another FOSS project.
- Scott
Hanselman laments that Microsoft hasn't put together an Ineta like
organization to handle giving grants to open source projects, and also shows how
easy it is to submit a patch/fix to a project.
- Peter
Provost worries that bringing money into the equation may spoil the cool
part of community developed software, and that leadership is the key to good
open source projects.
- Derek
Denny-Brown says that "Microsoft needs to understand that Community is more
than just lots of vendors creating commercial components, or MVPs answering
questions on newsgroups".
I've been somewhat disappointed by the Microsoft developer division's relationship with Open Source projects based on the .NET Framework and it's attitude towards source code availability in general. Derek Denny-Brown's post entitled Less Rambling Venting about Developing for .Net hit the nail on the head for me. There are a number of issues with the developer community around Visual Studio and the .NET Framework that are raised in Derek's post and the others mentioned above. The first, is what seems like a classic case of Not Invented Here (NIH) in how Microsoft has not only failed to support Open Source projects that fill useful niches in the Visual Studio ecosysem but eventually competes with them (Nant vs. MSBuild, NUnit vs. Visual Studio Team System and now Sandcastle vs. NDoc). My opinion is that this is a consequence of Microsoft's strategy of integrated innovation which encourages Microsoft's product teams to pursue a seamless end-to-end experience where every software application in the business process is a Microsoft product.
Another issue is Microsoft's seeming ambivalence and sometimes antipathy towards Open Source software. This is related to the fact that the ecosystem around Microsoft's software platforms (i.e. customers, ISVs, etc) is heavily tilted towards commercial software development. Or is that vice versa? Either way, commercial software developers tend to view Open Source as the bane of their existence. This is unfortunate given that practically every major software development platform that the .NET Framework and Visual Studio competes with is either Open Source (e.g. PHP, Perl, Python, Ruby) or at the very least encourages source code availability (e.g. Java). Quite frankly, I personally would love to the .NET Framework class libraries being Open Source or at the very least have the source code available in the same way Sun has done with the JDK. I know that there is the Shared Source Common Language Infrastructure (SSCLI) which I have used on occassion when having issues during RSS Bandit development but it isn't the same.
So we have a world where the developer community around Microsoft's products is primarily interested in building and using commercial software while the company pursues an integration strategy that guarantees that it will compete with projects that add value on its platform. The questions then are whether this is a bad thing and if so, how do we fix it?