Recently RMS (Richard M Stallman) came out of his man-cave to voice his concern over Debian’s inclusion of Mono in its latest release. (Read the article here.) The gist of what RMS is saying is that the Linux community needs to be concerned because including this free implementation of the C# language could have a backlash when Microsoft forces their hand with C# patents. Microsoft, after all, did create the C# language for the .NET framework. And we all know that when MS creates something they seem to own it and everything surrounding it. This, naturally, leads me to wonder…how can the Linux developer community react to this possible conclusion?
Let’s think about this with respect to languages and operating systems. The key period I want to point out is 1969-1973. During that period the C language was created at the Bell labs where, at the same time, UNIX was being developed. These two went hand in hand. And then, in 1983, Bjarne Stroustrup developed C++ for the UNIX operating system. Many thousands of Windows applications today are still written with the help of either C or C++. Note that Microsoft had nothing to do with the development of either one of these languages. I think you can see where I am going here.
We can look even earlier,1964 to be exact, at the BASIC language. This was created by John George Kemeny and Thomas Eugene Kutz at Dartmouth University. This language would eventually become part of Microsoft’s Visual Basic language of which 59% of all .NET developers use as their only language.
Microsoft uses, borrows, steals, and then patents. Much of everything they have is based on something else. But now one of the loudest mouths for the open source software is saying that Linux should avoid including a language that is based on something Microsoft might patent? This doesn’t make sense to me. But ultimately what doesn’t make sense to me is that a judge would award a patent to Microsoft for a language that could not have been created had it not been for other languages that they, in turned, borrowed from. But if, ultimately, a judge does grant this patent, then why shouldn’t the open source community, in turn, pull the same stunt? Why not patent Perl? It was created for UNIX and is open source after all. Or what about PHP? Again…open source.
But there is a grain of wisdom to what RMS is saying. The reason Mono is being included with Debian is because of Tomboy. What is Tomboy? A simple note-taking application used in the GNOME desktop. Here’s a thought – someone come up with another simple note-taking application so the Linux community can avoid this. Sure that would work, but it avoids the bigger problem. Mono is an open source set of .NET-compatible tools. If Linux wants to continue to communicate with Windows, .NET-compatible tools are going to be necessary…
Ah, there’s the key to this issue. Can’t you see it? Microsoft finally playing their hand to keep Linux from communicating with Windows? Could it be they are back to their tactics of old? When Linux makes a stride towards seamless heterogeneous environments, Microsoft breaks the flow of communications.
There has been plenty of talk, since the creation of Mono, that Microsoft wants to destroy the Mono project through patents. Mono is developed by Novell. In 2006 Novell and Microsoft announced an agreement that sent the Linux community reeling. This agreement extended to Mono and any implementation of Mono in a Novell environment and/or Novell customer. Although the vast majority of the Linux community complained about this agreement, I have a feeling it was the only way Novell could continue to work on the Mono project and keep Microsoft from destroying it.
If Microsoft is threatening patents against .NET, it would seem to me that the Novell/Microsoft relationship didn’t really work out all that well. And now Microsoft is back to their old tricks. And what should the Linux and open source community do about this? Should another deal with Microsoft be made? Is the seamless communication between Linux and Windows worth making a deal with a partner that is only going to turn around and stab you in the back again and again and again?
This whole issue really brings me to one question though: Why doesn’t Microsoft want to create an environment where everyone wins? Why wouldn’t they want to help the open source community who has helped them out so much over the years. Without the help of BASIC, C, C++, Perl, and so many more languages, Microsoft would be nowhere. Microsoft has been called many names over the years. But with what RMS is claiming they might do, I have to add the title of “Parasite” to the long list of names attached to the company out of Redmond. They use and use and rarely, if truly, give back.
What do you think? What should Linux and the open source community do with this proclamation of Richard Stallman? Should they cave and remove Mono? Or is there another solution? Give us your thoughts.