UPDATED Few technology communities are as disparate as the Free and Open Source software (FOSS) communities, especially when passions rise over differences in implementations.
Such is the case between two FOSS .NET
Both projects, which were launched in 2001, are free/open
source implementations of Microsoft’s .NET framework. But the differences between the two groups underscore a dispute in the open source community over free software and open software.
The disputes between Free and Open Source date back to their origins. The GNU project started in 1984 as part of an effort to create a complete UNIX
The term open source, coined in 1998, is considered to be a separate movement. According to an article on the FSF Web site, “The fundamental difference between the two movements is in their values, their ways of looking at the world. For the Open Source movement, the issue of whether software should be open source is a practical question, not an ethical one. For the Free Software movement, non-free software is a social problem and free software is the solution.”
On the open software side of the debate sits the Mono project, which recently made headlines with a Beta 1
release and is now out with a Beta 2 release. Novell’s Ximian division leads the Mono
development effort and has been pushing Mono at various trade shows and events. Miguel de Icaza, co-founder of Ximian and GNOME, leads the project.
On the other side is the DotGNU project, which is part of the GNU
project, whose principal organizational sponsor is the Free Software Foundation (FSF). The FSF is perhaps best known for its creation of the Free Software movement itself and the GNU GPL. (DotGNU just released its latest update on Saturday, version
Part of the dispute involves personalities. For example, de Icaza
was once a part of the FSF. He was actually the recipient of its second Award for the Advancement of Free Software in 1999 and for his work on GNU Network Object Model Environment
But de Icaza said he was kicked out of the FSF for not strictly
adhering to its policy of referring to the Linux operating system as GNU/Linux and ensuring that it was always referenced as such in the press or in any interviews that he gave.
“I care about freedom, but I don’t care that strongly if it’s called
GNU/Linux,” de Icaza told internetnews.com.
Then there was the timing of both projects’ release in 2001. In de
Icaza’s opinion, the FSF “hijacked” Mono’s own announcement and
announced Mono as the GNU Mono project. “Obviously, everyone in the company (Ximian) was upset about that,” de Icaza said. “There were some bad sentiments there.”
Speaking of personalities, Norbert Bollow, founder of the DotGNU
Project, told internetnews.com that he considers some parts of Mono OK and usable; others he doesn’t like at all.
“We’re using some of their class libs, e.g. System.Data as they seem quite OK. There’s no reason to create another implementation where an OK one is there already,” Bollow said.
But he agrees the projects share at least one common objective. “One of the important objectives is to make it easy to write application programs portably, so that they can be used with a ‘native look and feel’ on MS platforms and other platforms, most importantly GNU/Linux.”
Only when the term software freedom comes up do the differences
emerge. For Bollow, this is the core issue of what the GNU free software movement is about. Both projects believe they are “free,” though DotGNU’s Bollow questions how long Mono will remain so. “Patent licenses, which are not royalty-free, are inherently incompatible with the idea of free software,” Bollow said.
He said those items that have been made part of
the ECMA standards group don’t have an issue. The issue is more with components of .NET that are not part of ECMA.
“ECMA doesn’t have the time to review all of the API’s
He also said the ECMA standards committee is properly
spending its time on the critical generic components of the projects.
“The API’s that we are using are such trivialities that it doesn’t
matter,” de Icaza said. “It is basically one of the only weapons they have to discredit what we do.”
But DotGNU’s Bollow also questioned who pulls the strings on the respective projects. “DotGNU will never be controlled/guided by the business interests of a single company,” he said. “On the other hand, in the long run it’s much more healthy to have a funding model like that used for the Linux kernel, with lots of companies contributing but no particular commercial interests being in control.”
Mono’s de Icaza countered that commercial interests are not necessarily a bad thing. After all, he noted, the Mono project has attracted external developers from big firms, which is one of the reasons the project has moved so quickly.
“Is Novell pulling the strings on Mono? Of course they are. They’re paying 16 developers,” de Icaza said. “It happens to be me who is setting the direction today. I’m a Novell executive. Yes, we pull the strings because we write the code. The strings are pulled in the direction of those that are doing the work.”
Bollow said he doesn’t consider DotGNU to be a free implementation of the .NET development framework (as Mono sees itself). Rather, he sees DotGNU as “a competing framework, which aims to provide compatibility with Microsoft’s .NET framework.”
For Bollow, the decision to build a framework that is compatible with .NET is based on market reality. “In the industry, companies are using Microsoft stuff. The only way we can make it possible at acceptable cost to migrate to GNU/Linux is by making it possible for them to run their essential apps on both systems,” he said. “My goal is to prevent Microsoft from catching the world in their .NET.”
Updates prior version in order to correct spelling of Bollow’s name and include project links.