Developers and testers looking for open source tools for Microsoft platforms and technologies have increasingly more choices than in the past. Indeed Microsoft itself has become a contributor over the past few years, and last year was the founding sponsor of the CodePlex Foundation, which has the stated goal of increasing participation in open source community projects.
"The percent of open source software that is Windows compatible has been climbing steadily for the last five years," said Scott Collison, chief product officer and head of corporate development for the online network Geeknet Inc., which includes the SourceForge open source hosting site. "More than 80% of open source software today is Windows compatible," he said, based on data collected from Geeknet's Ohloh.net open source directory. While the majority of new OSS projects starting today are operating system agnostic, according to Collison, Windows is the only OS that runs all 10 of the top 10 all-time most-downloaded projects on SourceForge.
In the .NET arena, Collison said the Mono project, a cross-platform .NET development framework, has the largest set of tools that support .NET. "Microsoft also offers some open source tools around .NET, and there's also DotNetNuke," he cited as examples. "There's a good ecosystem of development tools that target .NET."
It wasn't always that way, said Charles Poole, an independent software developer and consultant focusing on the .NET environment, and one of the developers of NUnit, an open source unit-testing framework for .NET languages. When Poole started working on open source, "the open source folks weren't terribly welcomed by Microsoft, and the people working in Microsoft tools weren't very welcome among the mainstream open source folks. It was the open source people who have more a political orientation, who think working with Microsoft software at all disqualifies you, but I see signs that it's changing."
One important thing Microsoft did was to support PHP on the Windows platform, Collison said. "It was a good decision on their part. There are so many PHP applications being written, that not supporting it on the platform would be foolish strategically. That's the biggest commitment Microsoft has made to open source."
Poole said there are still more OSS tools for the Linux world than the Microsoft world, "but there is a lot of choice now. The movement ALT.NET has been a big push among developers who are Microsoft developers but pushing to use a lot of different tools and have more choice."
Over the past few years, Microsoft has steadily increased its participation in open source, according to Brian Goldfarb, director, Developer Platform and Tools at Microsoft. "Microsoft engineers have contributed to more than 300 open source projects," he said, including Windows Installer XMLWiX; Apache Stonehenge, a set of example applications for service-oriented architecture that spans languages and platforms and demonstrates best practice and interoperability; and Web Sandbox, a framework for developing secure standards-based Web applications. Also, he added, "We have invested in systems to support open source development such as CodePlex.com and Snakebite. We provide technical support to projects ranging from Samba to Eclipse to Firefox."
Goldfarb said Microsoft sees the CodePlex Foundation as an opportunity to participate more actively in open source development. "The CodePlex Foundation has been set up with a unique purpose–a purpose to build a set of practices and processes that facilitate better collaboration among the participating software companies, industry partners, and open source communities. We are excited about the opportunities that the CodePlex Foundation will provide–for Microsoft and other organizations–in creating a forum for commercial and community developers alike."
The CodePlex Foundation uses a museum-like model with "galleries" that represent technology themes, said Executive Director Paula Hunter. Currently there are two project galleries, ASP.NET and Systems Infrastructure and Integration.
There are three projects in the ASP.NET gallery: the ASP.NET Ajax Library Beta for building database-driven web applications that execute in the Web browser; Orchard, aimed at delivering applications and reusable components on the ASP.NET platform; and MVC Contrib, to provide enhancements and alternative implementations to the ASP.NET MVC framework. MVC Contrib is the first project donated to the CodePlex Foundation by an independent group of developers backed by an independent software development company, Headspring. There is one project in the Systems Infrastructure and Integration gallery: Network Monitor Parsers Project, contributed by Microsoft.
Hunter said in addition to getting a technical director in place, near-terms goals for CodePlex are to "encourage more contributors, expand the diversity of projects and add new galleries, and add additional sponsors to the mix." "We anticipate the CodePlex Foundation will act as a mediating, neutral party that can facilitate better collaboration between the participating companies, industry partners and open source communities," Goldfarb said.
Clearly, it's a heterogenous world, and open source is part of that mix. "In my work as a consultant and coach for agile teams, I encourage companies to get the standard edition of Visual Studio which costs a lot less and supplement it with open source tools," Poole said, such as NUnit and < ahref="http://nant.sourceforge.net/">NAnt, a .NET build tool. He also encourages some of his clients to consider Mono instead of Visual Studio.
Goldfarb said mixed environments like this are the reality. "Microsoft is open to open source … and shares the common industry view that software users will continue to see a mixed IT environment of open source and proprietary products for years to come." He added, "Open source software can represent healthy competition and an opportunity to complement or enhance Microsoft technologies and products. Microsoft's open source strategy recognizes the value of openness to working with others—including open source communities—to help customers and partners succeed in today's heterogeneous IT environments."
While "there's always a certain skepticism around what Microsoft is doing around open source," said Jay Lyman, an analyst at 451 Group, "they have a significant number of projects on SourceForge; a couple years ago they got their license approved as an OSI license; [they] work with the PHP community, [they] work with Apache … and now the CodePlex Foundation is largely following the blueprint of IBM/Eclipse."
Jeffrey Hammond, principal analyst for application development at Forrester Research, added: "I think they've [Microsoft] realized at this point that they have more to gain in some areas by embracing and promoting open source rather than pushing back against it. There are ways they can use open source for competitive advantage, which is reflective of the changes in behavior. Look at what they've done to embrace Linux running on top of Hyper-V; it makes sense because they can compete with VMware. And with the acquisition of Teamprise [which enables developers using the Eclipse IDE or operating on multiple operating systems to build applications with Microsoft Visual Studio Team Foundation Server] they're competing with Eclipse."
Hammond concluded, "Where they've gotten to is a pragmatic outlook on open source software that views it as a potential competitive advantage."