The Open Source community, the Microsoft Community what’s the difference?

In another series of conversations on how Microsoft is the evil empire blah, blah… and how the open source community is the best thing to happen to the development community since Dilbert was published on the web.  The conversation started stating how there are so many free implementations and so much source code out there in the Java community and what a great model this has become for developers. How is that different from the Microsoft communities that have exisited since the old days of Visual Basic? The early days of community was all about building an ecosystem when other vendors and developers could also cash in by building third party controls.  Now people want it for free so the community responded with a wide variety of great community sites where you could go and get free code or an implementation.  What I don’t get is what is the difference between Open Source and the Microsoft development community?  The licensing?  I have been in the field consulting for close to twelve years now and over the last seven or more years it has been very rare I have not been able to find free implementations or the source code I needed to solve a problem within a short time of searching.  What is the big difference between the Microsoft based communities that provide source code, implementation, newsgroup support, and the (J2) Open Source community that makes it so much better?

The Open Source community would like to pretend that it is vendor neutral, I beg to differ if Sun (because they invented and own Java and have refused to make it open) and IBM (because their development tools could never compete with Microsoft and Borland) were not backing the efforts of the community it would not survive or at least have the impact it does today.  Just the same way Microsoft backs the effort of many of it’s communities.  How does OpenSource provide your company with a competitive advantage over the Microsoft communities?

Your comments are welcome.

Happy coding…


Comments (1)

  1. Ben Hyrman says:


    I’m not really sure where you’re going with this. You seem to be trying to make a distinction that states that Open Source is the domain of Java / Linux / Apache / etc. Obviously, a quick survey of open source .NET apps reveals that this is not the cause.

    But, on to your question. I’ve been using log4net for quite a long time now. It’s a successful C# port of log4j, a logging library that many of us that came from the Java world to the .NET world have plenty of real-world experience implementing.

    If I took the stance that open source is evil and I should only use the libraries Microsoft’s communities publish, then I would be stuck with two issues. First, I would have been forced to use the Exception Management Application Block (which requires throwing a new exception for logging anything) until Microsoft’s community finally released the new App Block.. and, still, with the new App Block, there is a lot of overhead that I don’t necessarily want in a logging repository. So, Open Source gives me a viable alternative to leverage industry best practice without having to write it myself.

    Second, it’s all about licensing. Depending on need, I can find several viable alternatives under such licenses as the GPL, LGPL, or Apache. Some licenses, such as the LGPL, give me full reign to modify the code as I need and use it in my production system without worry.

    Some of my day-to-day tasks, such as automated unit tests with NUnit, automated builds with Nant, headless builds with AntHill OS, and compiled help with NDoc would not be possible without a large base of developers dedicated to the ideas behind open source.

    I’d highly suggest that you check out a copy of Open Source .NET Development by Brian Nantz… it might help with your quest for answers. Chapter 2 is especially helpful with the management overview of Open Source.