Earlier today I was astonished to find out FOSDEM will have a MONO devroom. When I reacted to this on identica stating this was not a good idea. Reinout van Schouwen reacted saying We should *strongly* support !freesoftware, no matter what platform it is written for or what language is used.
I pointed out to him that "free" software can never be written in a non-free language
. I could have expected to get the typical MONO-evangelist's answer: Stop spreading #FUD, please. http://www.mono-project.com/Languages
, so I replied with a quote from MS: Every piece of code written to our standards is a small victory
.
Apparently Mr van Schouwen didn't get my point and dragged dear old RMS into the discussion: So you'd rather have no !freesoftware at all than FS written to MS standards? Even #RMS knows better than that.
and when I pointed out his mistake: maybe you should read again and try to understand what I wrote...
, he quickly sent me a final message: Maybe you should address facts and arguments instead of evading them with transparent rhetoric. #endofdiscussion
.
Now, Mr van Schouwen, for me this is not the end of the discussion. I will try to explain to you and every other MONO evangelist why in my personal opinion MONO should be avoided at all cost:
1. We don't need MONO. Many terrific programs have been written in other languages.
2. We don't need MONO. We are on Linux, Unix, BSD or whatever. MONO is invented by MS. Let them use it, and let us stick with other programming languages.
3. We don't need MONO. MS says "Every piece of code written to our standards is a small victory, every piece of code written to other standards is a small defeat." The Open Source Community (further referred to as OSC) has fought many battles over many years to make people aware of the fact that there is a world outside MS. Don't start blindly following them again now, but let OSC set the standards.
4. We don't want MONO. It's based on MS owned technology. As with any other MS owned product, it's almost guaranteed to break backward compatibility at some point.
5. We don't want MONO. If we allow MONO to sneak in to Linux, I foresee a pretty dark future for Linux. As the OSC community grows, more and more people will start developing for it. As the MONO acceptance grows, more and more people will start developing in MONO. In the end, the entire operqting system will be MS compatible, and Linux operating systems will have no unique selling points. Average users don't care about ethics and don't "pay" for their MS license anyway.
6. Some people seem to love the FSF's campaign against MS Windows 7, but on the other hand have no issue in using MS technology for their own benefit. Talking about hypocrisy.
I hope to have given you a basic idea, Mr van Schouwen, about my personal opinion about MONO. Now, even if you disagree, would it be asked too much to respect my opinion?
cagekfe
Hello! efdbdec interesting efdbdec site!
Counter arguments
Few minor things before I get into this. First, it’s Mono and not MONO. Using all caps like that typically implies an acronym. For instance, GNU (GNU is Not UNIX), GNOME (GNU Object Model Environment [deprecated]), KDE (K Desktop Environment [deprecated]), and I’m sure lots of other examples could be found.
Another thing, Mono is not Microsoft software. It’s software written independent of Microsoft that implements a Microsoft technology (.NET), and an open standard (C#, which was created by Microsoft.) So please, when arguing about Mono and .NET, make sure you know the distinction (and use the terms correctly.)
>1. We don’t need MONO. Many terrific programs have been written in other languages.
Sure, but often the point of programming languages (and frameworks) is to try to make programmers’ life easier (or to be able to complete a task.) People have picked up on using C# because it’s similar to C/C++/Java style languages. It has pretty good support for binding to C libraries (GTK# is a great example IMO.) C# can also produce some pretty maintainable code. That said, it’s not the only language available, but it’s often not a terrible choice for projects either (because of the above reasons, in addition to others.)
>2. We don’t need MONO. We are on Linux, Unix, BSD or whatever. MONO is invented by MS.
Please read my second paragraph. C# and .NET were created by Microsoft, Mono was created in large part by Novell (well before they ever made any deals with Microsoft) and the open source community.
> Let them use it, and let us stick with other programming languages.
This goes back to my comment on #1. The programmer has a very large selection of languages to choose from. C# just happens to be one of them because of the Mono project. Is it any better or worse then Java (a non-open standard currently owned by Sun), Python, Perl, Ruby, C++, etc? The answer is complicated, and basically boils down to each of the above languages have pros and cons, strengths and weaknesses, and the best language for any given project should be evaluated based on the requirements of the project (and perhaps the strengths of the programmer coding it.) Who controls the language shouldn’t typically be a deciding factor unless the language is non-free to use (and I’ve yet to see any concrete evidence to say C# falls into that category.)
>3. We don’t need MONO. MS says “Every piece of code written to our standards is a small victory, every piece of code written to other standards is a small defeat.” The Open Source Community (further referred to as OSC) has fought many battles over many years to make people aware of the fact that there is a world outside MS. Don’t start blindly following them again now, but let OSC set the standards.
There’s a difference between blindly following, and using a technology, language, or standard based on its merits.
>4. We don’t want MONO. It’s based on MS owned technology. As with any other MS owned product, it’s almost guaranteed to break backward compatibility at some point.
Microsoft isn’t interested in breaking compatibility. They actually go though painful lengths to maintain compatibility. For instance, the Win32 API has been stable, without breaking compatibility for probably close to 15 years. Since .NET 1.0, Microsoft has also maintained compatibility. Because if they start breaking that, they’ll have plenty of very angry programmers for their OS. IMO, open languages break backwards compatibility more often then Microsoft does (because Microsoft can’t afford to.) (These are off the top of my head, and I didn’t check to make sure I’m correct with the following.) Python for example recently broke compatibility with 3.0, Ruby 1.8 & 1.9 aren’t completely compatible, Lua 4 & 5 aren’t completely compatible, and Perl 5 & 6 (I think 6 is supposed to have a compatibility mode, but I don’t think any implementation supports it yet. This probably isn’t a good example since Perl 6 is considered a whole new language in the Perl family though.) That’s just off the top of my head. Languages that are owned by corporations or have standards behind them tend to not break compatibility as often. Java, C, C++, & ECMAscript for example tend to not break compatibility. Stroustrup as an example, would like to do away with some of the C compatibilities in C++, but says he really can’t since so many programs depend on the C++ standard not breaking compatibility. ECMAscript 5 recently came out, and they tried hard to make it “suck less” while still maintaining compatibility. I have a feeling C# will have to fall into this category of pretty stable languages that don’t break compatibility. Because, as I said before, if they start radically breaking compatibility, they’ll have a lot of angry coders on their hands.
>5. We don’t want MONO. If we allow MONO to sneak in to Linux, I foresee a pretty dark future for Linux. As the OSC community grows, more and more people will start developing for it. As the MONO acceptance grows, more and more people will start developing in MONO. In the end, the entire operqting system will be MS compatible, and Linux operating systems will have no unique selling points. Average users don’t care about ethics and don’t “pay” for their MS license anyway.
This argument is really moot since Linux and Windows are both written in C. Just because a language is used, doesn’t mean the operating systems will be compatible. GTK# works better in Linux then it does in Windows last I tried (may have changed.) Really the language isn’t a selling point, the software written for it is. There are a lot of programs out there that work in both Linux and Windows (KDE SC 4 is either alpha or beta, but can run in Windows, Deluge, Pidgin, Quassel, AbiWord, OpenOffice, VLC, Audacity, GIMP, and that’s just to name a few open source programs that work in Windows and free OS’s. None of which are written in C#, at least one is written in Python, and one in Java, and most of the others are C and C++.) In short, pretty much every language that we use in free OS’s is cross platform. I don’t ever hear anyone complaining that Python, Java, Ruby, C, C++, etc have Windows support. So the language choice doesn’t make an OS unique, it’s the software written for it that does (and really, for any software to be Linux only, it’d have to be closed source because someone could always take the source and port it to Windows.)
>6. Some people seem to love the FSF’s campaign against MS Windows 7, but on the other hand have no issue in using MS technology for their own benefit. Talking about hypocrisy.
Perhaps a bit, but it’s a bit of a stretch. It’s one thing to support campaigns for FOSS, but it’s an entirely different thing to use and open standard that company X, Y, or Z created and had a standard published for.
Thoughts on other open standards like ECMAScript, C++, & C. Should the people who oppose C# and Mono be opposed to these languages as well? After all, Microsoft was definitely on the ECMAScript’s committee. As was Google, Yahoo, IBM, Intel, and probably others like Mozilla and Opera (there was a total of 21. Only two companies voted nay on the version 5. IBM because they wanted IEEE 754r, and Intel because they didn’t have time/resources to check if there were any patent violations in it.) I’d wager that many of the same companies are involved in the C++ and C standards too. All I’m saying is, why is one standard, C#, is repeatedly put down and said to be an evil plot, while others are not.
Another thought, because C# is a standard. I believe that anytime Microsoft wants to make changes, additions, etc to the language they have to submit those changes to the standards committee to be approved. This should typically keep the language from breaking compatibility for no good reason (since more people then just them have a say in it.) Now, this means that C# should stay standard. What may change is the .NET API (the CLI is a standard, but the API isn’t) since AFAIK doesn’t have a standard. New versions of the .NET API often take advantage of new features put into the C# language. So, since the .NET API isn’t a standard, and is essentially controlled by Microsoft, it could be swapped out by an API that isn’t a .NET compatible API.
Relax man, relax
I am a Linux user and as my opinion Linux is just better if runs applications that I just want.
If they use Mono/C# or Python, it make me really happy as they run better and smoother. I use banshee player and I love it. I use mercurial over git for simplicity. As far as I know, Mono is not a MS technology, is a Novell technology (if you don't accept as OSS part) covered by MS community promise. Is like all Java implementations covered by Sun's "patents". I am afraid that Sun forced Microsoft over's Java patents, and never happen vice-versa. The Mono's JIT is free software, the MSIL bytecode and the language may be patented but free as of community.
In fact I use only free software with Mono. I would care about the best software and Mono brings a very good point to starts with. How could you live with software written in C++ that was made by a corporation? And live in an Unix-like OS that is mainly controlled and patented by a lot of other corporations? And your CPU, don't you think that have patents? What about your video card and keyboard keys layout to bring to you more ergonomic life?
I guess you are going to be added to the Enemies list
Heh. You'll probably be added to the enemies list real soon now. I was quite pleased to be added to it, my addition shows that I'm having an effect.
Any time someone criticizes the Mono Project, the same small group of people go ballistic. All too often they use personal attacks, instead of discussing the situation rationally, and are unable to admit that other people may have differing opinions.
Mono appears to have become a religion instead of a programming language.
Miguel's Mono talk had largest audience FOSDEM 200
Thought you might be interested in the fact that Miguel de Icaza's "Mono Workshop" talk was the largest attended talk at FOSDEM 2007.
I'd say that means FOSDEM attendees are VERY interested in Mono and so it makes a lot of sense to have a Mono devroom.
Let me get this straight...
So, let me get this straight. You start a flame war by disrespecting and attacking the FOSDEM organizers and the Mono project and then complain when you get disrespected back?
Then you further disrespect the Mono project by spreading FUD about it.
Then you throw a temper tantrum and write a blog post trying to discredit the Mono project (which did not even have a representative present during this flame war, mind you), claiming that they have a lack of respect for anyone that disagrees with them?
I'm sorry, but you, sir, are the troll. You are the only one with a lack of respect for differing opinions. You are also the only one trying to silence people with differing opinions by trying to forbid the Mono contributors from being able to have discussions at FOSDEM.
You anti-Mono trolls wonder why you guys don't get your way and why no one respects you? You wonder why people consider you to be trolls and zealots? Well, my friend, your conduct here explains it all.
I have a lot of respect for
I have a lot of respect for people that try to convince me of my wrong with decent arguments. I have no respect for evangelists that can only say "you're a troll". Now, give me one good reason why MONO is a good idea. A good reason, I said.
Re: Number 4 - Backwards compatibility
Microsoft can't actually break backwards compatibility because doing so would break backwards compatibility for all applications written for the .Net platform.
La la la...
1. We don't need MONO. Many terrific programs have been written in other languages.
We don't need C. Many terrific programs are written in other languages.
2. We don't need MONO. We are on Linux, Unix, BSD or whatever. MONO is invented by MS. Let them use it, and let us stick with other programming languages.
Mono is not a Microsoft project, it is a Free Software project. It is also more than simply a clone of a Microsoft product. Mono has innovated in a number of areas. Mono has a way compile static binaries of .NET code which can run on platsforms that do not allow JIT engines such as Wii, iPhone, Xbox and the Playstation3. They've also created a C# shell - something which Microsoft is now copying. They've also added support for automagically JITing code to take advantage of SIMD (something that neither the JVM nor Microsoft's .NET VM are able to do).
3. We don't need MONO. MS says "Every piece of code written to our standards is a small victory, every piece of code written to other standards is a small defeat." The Open Source Community (further referred to as OSC) has fought many battles over many years to make people aware of the fact that there is a world outside MS. Don't start blindly following them again now, but let OSC set the standards.
Here's a quote for ya: "Every piece of code that is licensed under a Free Software license is a victory for Free Software. Every successful Free Software project is a victory for Free Software."
Mono is both successful and Free Software.
4. We don't want MONO. It's based on MS owned technology. As with any other MS owned product, it's almost guaranteed to break backward compatibility at some point.
A lot of things are based on Microsoft technologies. Many of the features (and much of the UI) in OpenOffice is copied from MS Office. The browser DOM is a Microsoft technology (it was created by the MSIE engineers first and later adopted by other browsers). The list goes on.
5. We don't want MONO. If we allow MONO to sneak in to Linux, I foresee a pretty dark future for Linux. As the OSC community grows, more and more people will start developing for it. As the MONO acceptance grows, more and more people will start developing in MONO. In the end, the entire operqting system will be MS compatible, and Linux operating systems will have no unique selling points. Average users don't care about ethics and don't "pay" for their MS license anyway.
Most of the above logic doesn't even make sense and seems to contradict your overall argument.
6. Some people seem to love the FSF's campaign against MS Windows 7, but on the other hand have no issue in using MS technology for their own benefit. Talking about hypocrisy.
I think the FSF's campaign makes the Free Software Foundation (and by association, the community) look childish and petty. If the FSF wants to play the "we're more ethical and moral" card, then they need to *be* more ethical and moral and not stoop to the same level as Microsoft by spreading FUD. So yea, the FSF is being hypocritical when they criticize Microsoft for spreading FUD. Two wrongs don't make a right.
On the subject of "compatibility"
Focusing now on the parts of your post which are not related to FOSDEM.
You seem to have a bone to grind with Microsoft. I don't dispute that they have pushed some very bad software into the hands of millions of people and that their history of uncompetitive behaviour on the software market is nothing sort of deplorable, but your tone suggests that you feel they may be "out to get you" personally. That sort of paranoia can't be healthy.
That aside though, could you explain a bit more about why you feel that compatibility with Microsoft's documented standards would somehow reduce the "selling points" of Linux? I assume you mean "open source software" where you write "Linux". Are you suggesting that open source is valuable only because it is not compatible with Microsoft?
I also wonder where you get the idea that open source software is not currently compatible with Microsoft software. Last time I checked, open source implementations of IP, TCP, SMTP, and many other standards were completely compatible with Microsoft's implementation. More to the point, users of Microsoft's software are able to communicate just fine with other implementations of these standards. Would you like this to change?
On the subject of language compatibility. Are you aware that Microsoft implements many of the same POSIX interfaces that open source software implements? A piece of software written to strictly conform to a common subset of interfaces will work just as well in a Microsoft environment as in an open source environment.
I don't want to give you the idea that I'm a Microsoft apologist: I don't use their software and I have no plans to do so. I'm just wondering if perhaps you need to adjust your concept of reality a little. You appear to be under the impression that Microsoft is on a different planet altogether and that everything it produces is automatically "wrong".
In conclusion, I would like to point on that there is a difference between "fact" and "opinion". I have taken note of your opinion (you don't like Microsoft and you think they are Evil personified) and will certainly respect that. On the other hand, you also state some facts which are quite clearly wrong. Compatibility is not "good" or "bad" depending on what you're compatible with. And open source software is not "sellable" because it's incompatible with something. Quite the contrary.
You seem to have a bone to
You seem to have a bone to grind with Microsoft. I don't dispute that they have pushed some very bad software into the hands of millions of people and that their history of uncompetitive behaviour on the software market is nothing sort of deplorable, but your tone suggests that you feel they may be "out to get you" personally. That sort of paranoia can't be healthy.
I don't think MS is out to get me personally. I do think however that MS wants world domination when it comes to software and OS'es, just like Apple and Google aim for that. So, in contrary to what you say, I'm (if anything) suffering from a healthy paranoia.
That aside though, could you explain a bit more about why you feel that compatibility with Microsoft's documented standards would somehow reduce the "selling points" of Linux? I assume you mean "open source software" where you write "Linux". Are you suggesting that open source is valuable only because it is not compatible with Microsoft?
If every open source operating system is 100% MS compatible, what will be the unique selling points? A certain degree of compatibility is nice, and good, heck, it would make my life as a sysadmin lots easier, but that doesn't mean we should reach that (temporary?) compatibility by using MS-based software.
I also wonder where you get the idea that open source software is not currently compatible with Microsoft software. Last time I checked, open source implementations of IP, TCP, SMTP, and many other standards were completely compatible with Microsoft's implementation. More to the point, users of Microsoft's software are able to communicate just fine with other implementations of these standards. Would you like this to change?
I never said it's not compatible at the moment. I just don't want an open source operating system to be using MS-based software if it can be avoided. MONO is one such technology for which I haven't seen any viable proof we actually need it, and can't improve open source operating systems without it.
On the subject of language compatibility. Are you aware that Microsoft implements many of the same POSIX interfaces that open source software implements? A piece of software written to strictly conform to a common subset of interfaces will work just as well in a Microsoft environment as in an open source environment.
Can you provide some examples of POSIX implementations from MS where they didn't adapt it to their own standards?
I don't want to give you the idea that I'm a Microsoft apologist: I don't use their software and I have no plans to do so. I'm just wondering if perhaps you need to adjust your concept of reality a little. You appear to be under the impression that Microsoft is on a different planet altogether and that everything it produces is automatically "wrong".
If you don't use their software, I don't think your in a position to criticize me. I'm a sysadmin in a mixed Win/Lin/Mac environment. If only I didn't have MS software, I'd be a lot happier. Please name 1 decent MS product if you can.
In conclusion, I would like to point on that there is a difference between "fact" and "opinion". I have taken note of your opinion (you don't like Microsoft and you think they are Evil personified) and will certainly respect that. On the other hand, you also state some facts which are quite clearly wrong. Compatibility is not "good" or "bad" depending on what you're compatible with. And open source software is not "sellable" because it's incompatible with something. Quite the contrary.
If you say my facts are wrong, please cite some decent source to prove me wrong. Without counter arguments this statement is useless.
FOSDEM is not a forum for politics.
Executive summary: Mono is an open source project. FOSDEM provides open source projects with space to hack and to exchange ideas.
It's impossible to take into account everyone's personal feelings about the many different open source projects.
FOSDEM does not have an opinion on the politics associated with different projects.
If I start an Open Source
If I start an Open Source Anti-MONO project, can I get a booth too? Could be fun.
Kid, you're afraid about
Kid, you're afraid about something you don't know. my 2.5yo is afraid of St-Niklaas. nothing wrong with you, you'll figure when you'll grow up
About MONO and lack of respect for personal opinions.
You have the right to say "I don't need MONO", but you cannot say "We don't need MONO". That is the nature of a personal opinion.
Likewise, you have a choice not to use it. If you wish to argue that mono shouldn't be installed by default, its worth discussing. But when you deny its right to exist based on your personal opinion, you do harm to yourself and to the FOSS community.
This BTW, is just my personal opinion. I hope you can respect that.
I respect your opinion, but
I respect your opinion, but it's perfectly logical to say something like "I don't think we don't need it. Instead of saying I can't say that, I'd like to hear a valid argument why we do need it.
We need it, seriously...
>>it's perfectly logical to say something like
>>"I don't think we don't need it
Yes, phrasing it that way sounds more tolerant, and sorry if I got hung up on the "we" thing. Just don't want anyone dictating what language or tools we should use.
As for providing a valid argument why "we" need it, I respectfully decline. I couldn't find any code or FOSS contributions on your homepage. From what I can tell, you're right. You don't have any use for mono.
None of your comments considered the technical merits/faults of mono. You said we should use "other languages" but didn't provide any specifics.
There are plenty of distros that don't include mono.
There are plenty of Devrooms that don't discuss mono.
Since there are no
Since there are no contributions on my front page, I haven't made any?
Respecting other people's opinions
Dear Martijn,
Your personal opinion is crystal clear to me. Why are you suggesting that I don't respect it? If anything I said leads you to believe that, please point it out. It certainly wasn't meant that way.
If the quote you mention from the MS tech evangelist, made in the context of competition with IBM OS/2 and Netscape Navigator, was meant to convey a point, then indeed I am afraid I missed it. Could you please state it more clearly?
As for your list of reasons to avoid Mono, I will simply let them speak for themselves.
For the record, I haven't used any MS products on my PC since Windows 3.11 and I am a professional Java developer. Calling me a Mono evangelist is unfounded and pointless.
Have a nice day!