Sunday, October 11, 2009

No .NET in Linux

Richard Stallman has opposed against a single app, Tomboy, which has become part of the current unstable release of Debian Linux. Reason for this is that it is depending on MONO. Mono is a cross platform, open source .NET development framework and his concern is that Microsoft might someday stop with .NET and as MONO is depending on .NET also all the applications build with MONO are depending on it and so are depending on a Microsoft. His statement is that all that is in Linux should be open and by this all the source codes should be available which is not the case with .NET.

Richard is seen as one of the most brilliant people in the opensource world however also seen as one the hardliners in the opensource world who is not willing to make any compromise on his thoughts of what opensource is and should be. Some people think he is reacting to strong and state that he has become to much of a hardliner. I do however agree with him on this. Linux should be complete opensource and by adding a application like Tomboy we are compromising to this thought. Linux should be a platform that you can change to your liking and by having a dependancy to closed source you loose this ability.

In my opinion you should be able to pack linux on a laptop, get all the sourcecode, and move to a deserted island and be able to do anything you like to it without having the need to contact anyone. Complete freedom and not depending on any other person. By adding tomboy to it you are depending on Microsoft and to the thinking of Microsoft. If you need a function changed in .NET for some reason you will have to wait until Microsoft decides to do it, if they ever do it. And not only is this the case with .NET it is also the case with for example C#.

it is not a issue of opposing against a language, everyone should pick the language he or she likes to use. It is opposing against mixing licenses in Linux. As Mono is depending on .NET and .NET is not GNU/GPL compliant it should never become part of a linux mainstream release. If you really like it you should have the option to implement it however I would vote against it as it is not GNU/GPL compliant.

If you coding in for example Python and you need a special part of the compiler changed for some reason you do have the ability to go to the Python website, check the sourcecode, change it and make you own version. That is complete freedom as it should be. Not many people will do it however you do have the option if it is really needed. As some person from the US army once stated about systems that would make it to the battlefield, “if we can not hack it we do not pack it” and that is a very true statement. If you do not have the option to make modifications to it when the situation calls for it it is useless.

So, placing Tomboy in Debian and by this making yourself depending on Microsoft is a very bad move. Richard can be seen as a hardliner however I can only agree with him on this part.


Anonymous said...

Mono is open source software - see

Sandy said...

Hi, I came across your blog via a google alert I have about Tomboy (I'm the lead developer), and after reading your post I think there are a few things I could clarify for you.

1) Mono does not depend on any .NET or any Microsoft code. It is a free software *reimplementation* of the .NET runtime, framework, and languages.

All of the code you need to run Tomboy (for example) is 100% open source and free software, and totally compatible with the GNU GPL. Richard Stallman agrees with this and has stated it before.

So you are more than welcome to download the Mono source, and tweak the runtime or change the C# language or do anything you want! :-)

2) Richard Stallman's main complaints about Mono that I have heard are the following:

a) Because Mono is a reimplementation of .NET, and Microsoft decides what is in .NET, you could say that Microsoft indirectly influences what ends up happening in Mono.

b) Microsoft has a lot of patents on a lot of things, and Stallman is concerned that there might be patents that affect Mono.

So, Stallman's argument against Mono is not about having the source, or it not being free software, or anything like that. It's more of a political and philosophical thing.

I don't personally agree with either of Stallman's above points, and I won't bug you with my arguments against them, but it should not be too hard to search for more in-depth discussion about this by people who are familiar with the details. :-)

Hope this helps!