EditorsAbout the SiteComes vs. MicrosoftUsing This Web SiteSite ArchivesCredibility IndexOOXMLOpenDocumentPatentsNovellNews DigestSite NewsRSS

06.26.09

Why free software shouldn’t depend on Mono or C# — by Richard M. Stallman

Posted in Debian, GNU/Linux, Microsoft, Mono at 5:52 pm by Dr. Roy Schestowitz

Debian’s decision to include Mono in the default installation, for the sake of Tomboy which is an application written in C#, leads the community in a risky direction. It is dangerous to depend on C#, so we need to discourage its use.

“We should systematically arrange to depend on the free C# implementations as little as possible.”The problem is not unique to Mono; any free implementation of C# would raise the same issue. The danger is that Microsoft is probably planning to force all free C# implementations underground some day using software patents. (See http://swpat.org and http://progfree.org.) This is a serious danger, and only fools would ignore it until the day it actually happens. We need to take precautions now to protect ourselves from this future danger.

This is not to say that implementing C# is a bad thing. Free C# implementations permit users to run their C# programs on free platforms, which is good. (The GNU Project has an implementation of C# also, called Portable.NET.) Ideally we want to provide free implementations for all languages that programmers have used.

The problem is not in the C# implementations, but rather in Tomboy and other applications written in C#. If we lose the use of C#, we will lose them too. That doesn’t make them unethical, but it means that writing them and using them is taking a gratuitous risk.

We should systematically arrange to depend on the free C# implementations as little as possible. In other words, we should discourage people from writing programs in C#. Therefore, we should not include C# implementations in the default installation of GNU/Linux distributions, and we should distribute and recommend non-C# applications rather than comparable C# applications whenever possible.

Share in other sites/networks: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Reddit
  • email
  • Slashdot

If you liked this post, consider subscribing to the RSS feed or join us now at the IRC channels.

Pages that cross-reference this one

40 Comments

  1. Sir Sane said,

    June 26, 2009 at 7:22 pm

    Gravatar

    I like RMS’ stance on the matter. Rather than simply proclaiming that C# is a horrible language, or that Mono is evil, he really touches on the big issue: patents. It would be nice if Mono could find a way to completely circumvent Microsoft’s patents, then the whole issue would practically fall in on itself and no one would have to worry about it anymore.

    That said, some of the non-mono replacements in development are, to my surprise, pretty nice. Gnote is basically the same thing as Tomboy, down to the interface, layout, functionality, and icon. I have yet to find a good GTK-based replacement of F-Spot (sorry guys, but I don’t think Solang doesn’t quite cut it yet)

    As for Banshee, there’s a plethora of options out there. Amarok is great for both KDE and Gnome thanks to its QGtkStyle option. Rhythmbox is alright, although I personally don’t care for it. I’d really like to see a good GTK music player that plugs into Jamendo in a fashion similar to the iTunes music store. That’d be sweet.

    Kabatology Reply:

    I agree with you when you say mono-free Gnote (that i presently use) has little or nothing to envy Tomboy, given that is a well ported Tomboy, but I won’t bash on baby Solang, i also use it now and sincerely for that little need i have for photo managers, Soyang is satisfactory — Photo mangers are not photo editors.
    As for C#, don’t mention how horrible it is. Worked on c# many years back and gave it up. I need to say the traps are many, even for an able dodger.

  2. Will said,

    June 26, 2009 at 8:58 pm

    Gravatar

    Well, from the sound of what I’ve read, Solang is still early in development. But it has good potential, and it isn’t patent-encumbered. Give it time to mature.

    Sir Sane Reply:

    Oh, for sure. Solang is lightweight, and I believe I read somewhere it’s written in Python. Anyways, it’d be really neat to see a photo management app depend on Clutter and OpenGL, graphically propelling FOSS photo management to be much better than proprietary options visually.

    But you’re right, just give it time.

    Also, Gnote 0.5.1 seems to be excellent. I currently have an in-depth article on Linux.com waiting to be published, it should be up on FS Daily shortly.

  3. twitter said,

    June 26, 2009 at 10:10 pm

    Gravatar

    Here’s a link to the same text on the FSF website. Thanks, Roy!

    Roy Schestowitz Reply:

    Stallman’s views on this are not new. In 2007 he wrote:

    “The patent danger to Mono comes from patents we know Microsoft has, on libraries which are outside the C# spec and thus not covered by any promise not to sue. In effect, Microsoft has designed in boobytraps for us.

    “Indeed, every large program implements lots of ideas that are patented. Indeed, there’s no way to avoid this danger. But that’s no reason to put our head inside Microsoft’s jaws.”

    David "Lefty" Schlesinger Reply:

    Except that it’s somehow okay to pimp DOT.GNU in the midst of all of this, even though it has every single one of Mono’s problems and a generally poorer implementation…?

    I see a lack of consistency here.

    Sean Tilley Reply:

    I’m pretty sure RMS said in his post that ANY implementation at C# is problematic at this point, even DOT.GNU.

    NotZed Reply:

    “The problem is not unique to Mono; any free implementation of C# would raise the same issue.”

    Looks pretty clear to me.

    David "Lefty" Schlesinger Reply:

    It does…?

    “This is not to say that implementing C# is a bad thing. Free C# implementations permit users to run their C# programs on free platforms, which is good. (The GNU Project has an implementation of C# also, called Portable.NET.)”

    So, which is it? Good? Bad? Maybe you folks should read the entire article before you leap into comments…

  4. saulgoode said,

    June 27, 2009 at 1:08 am

    Gravatar

    I believe Mr Stallman misstates things in claiming Debian has decided to include Mono in default installations — unless the situation has recently changed, according to Debian project leader Steve McIntyre “there’s a chance that it might do, but it’s under discussion at the moment.”

    Roy Schestowitz Reply:

    I believe Mr Stallman misstates things ..

    I think Slashdot misstated it originally.

  5. David "Lefty" Schlesinger said,

    June 27, 2009 at 1:36 am

    Gravatar

    Hm.

    C# is dangerous, except that we’ve got a free implementation of it, except that you shouldn’t use it…?

    What?

    Roy Schestowitz Reply:

    Perfectly normal.

    David "Lefty" Schlesinger Reply:

    Relevance?

    123 Reply:

    RMS is saying it is good to have free .Net implementations, but we shouldn’t depend on them for writing new software. We should only use them to help run existing .Net software on GNU/Linux.

    Rob Reply:

    It’s not a case of depending on them. It’s what people choose to develop the application in.

    If people are writing good apps in Mono, that can’t really be helped. And if they are better than other applications built not using Mono, then it’s no surprise people are adopting them.

    We can’t dictate to people that they can’t write apps in Mono. That would be very anti open source, and work against the community.

    Linux is about choice, hence all the different distro’s. Some include Mono, others don’t. I don’t care to be honest, it’s the apps I concerned with. Whatever is best, and helps me work.

    123 Reply:

    We are warning people about the potential patent danger posed when people adopt Mono. It is dangerous for us to use Mono because Microsoft controls .Net standard as well as the non-standardized extensions to the .Net standard. Microsoft has proven time and time again that they are psycopathic towards technology competition on the computer desktop and our GNU/Linux systems and community are competition in their eyes.

    We predict that Microsoft intends to use the .Net platform and Mono for the following:
    1. Promote FUD against the GNU/Linux system and community
    2. Control the GNU/Linux vendors and developers
    3. Hinder the GNU/Linux system.

    I will not substantiate my claims in this post because the purpose of this website is to keep an eye on Microsoft and Novell. You could try reading the other news stories in this if you are interested in learning more.

  6. eet said,

    June 27, 2009 at 4:21 am

    Gravatar

    Well, I’m a Torvaldsian, not a Stallmanian… ;)

  7. rasta said,

    June 27, 2009 at 5:33 am

    Gravatar

    Wouldn’t it be better for FSF to try to acquire that license for mono (royalty-free…) and clear up its legal status once and for all? They of FSLC should be most appropriate for this, and I think they really ought to do it.

    Roy Schestowitz Reply:

    I mailed Kuhn and Moglen about this over a year ago, to no avail.

    latex Reply:

    And I wonder why not one takes any notice of you Roy ?

    Mabey they know you.

    As for Mono, if its so scary for you, why are you using C or C++ im sure you are able to write patent infringing code with those languages too.

    I think mabey evern TOMTOM used C then they violated the FAT patent from microsoft.

    So are you going to strip out all C code from FOSS too ??

    Ofcourse not, that would be stupid right, no one in their right mind would be silly enough to think that a programming language is a problem.

    Its like you saying what im writing here is copyright because im suing “words” to say things.

    Words or C or C# are simply languages a way of organising idea’s or instructions.

    But Roy, if people dont take any notice of you, that would be because they take the effort to fact check you’re claims. As soon as they do that they see you for what you are.

    Like RMS, its a shame your waisting your life and time of this cause.

    as if there are not more important things you could be doing with your time and your brain.

    Roy Schestowitz Reply:

    Stop nymshifting, “darryl”. Your trolling in Linux sites got your banned from them already.

    Moo Reply:

    Have you thought that these people can see things that you don’t? For a very long time, people claimed that RMS was paranoid and irrelevant when they learn of RMS’s predicaments. RMS sees and understand various predicaments long before the issues become big problems. Time and time again, history has shown that RMS’s foresight is indeed accurate. RMS’s track record qualifies him as a real thinker and I intend to listen to his words when he speak.

    P.S. : just because RMS has excellent foresight doesn’t exempt him from making mistakes or making non-optimal decisions.

    Rob Reply:

    Ok, although the Ubuntu team have spoken:

    https://lists.ubuntu.com/archives/ubuntu-devel-announce/2009-June/000584.html

  8. Rob said,

    June 28, 2009 at 8:12 am

    Gravatar

    I have to disagree with his comments. Quite strongly in fact.

    Ok, so the patents issue is a touchy one, but “encouraging” people not to use C# is just restricting the open source movement, innovation, and competitiveness. In terms of development, you couldn’t be putting a more negative signal out there.

    Banshee is a good example of a Mono project. Developers for it may well be suited to C# (they came from C#, or switched from Java) so can’t easily switch to another language. However, the Banshee project is moving on very quickly, especially compared with Rhythmbox. It brings new ideas to the table, and pushes Rhythmbox to keep up. That’s a good thing.

    Ok, so we don’t want a world of just C# developers, and just Mono apps, but we shouldn’t be discouraging them from writing good apps like Banshee and Gnome-Do.

    If they do disappear for whatever reason, then you just migrate to another app. It’s not difficult, much like how people migrate from Windows to Linux everyday.

    And finally, Mono won’t disappear overnight. If anything will it ever disappear? Will Microsoft be able to control it, I doubt so. It’ll just go underground, much like XBMC survived all these years. And it’ll still be actively developed, and you’ll still be able to run all your apps.

    I couldn’t be without my Linux Mint, but at the same time I recognise a good development platform, and innovative open source projects. People need to get off the hate Microsoft bandwagon, and instead of living in “*probably* planning to force”, actually enjoy the software out there, and how it’s not only developing, but other apps are developing around it.

    Roy Schestowitz Reply:

    Mint does not need to depend on Mono.

    Rob Reply:

    It ships with Gnome-Do, so it does need and depend on Mono.

    It’s the only app in Mint that needs Mono (I think), but it’s the best of it’s type.

    Roy Schestowitz Reply:

    Try Launchy, Katapult, or Deskbar.

    Rob Reply:

    Good suggestions, but I find them all inferior. I’d rather use the better app. I know it’s based on Mono, but it’s one app, and should it “be forced underground” then

    a) Linux Mint has a plethora of apps to fall back on.
    b) Mono goes underground, and I run Gnome-Do illegally.

    I use Launchy at work, but prefer and find Gnome-Do better.

    I’m not a KDE person, so Katapult doesn’t fit.

    And Deskbar isn’t quite the same as Gnome-Do. I actually use both Gnome-Do and the Deskbar already but for different things.

    Roy Schestowitz Reply:

    Remember that no-one suggests removing GNOME-Do. It’s about what’s included by default.

    Moo Reply:

    b) Mono goes underground, and I run Gnome-Do illegally.

    This is a predicament for free citizens. A free citizen should not be required to hide underground in order to conduct any just activity. Mono going underground is a truly plasible scenario which is the reason why we lobby against it.

    Rob Reply:

    It’s not like I’ll be sitting in the basement of my house using Mono. I don’t find it much of a predicament.

    I’ll download it from somewhere and use it like any other peice of software. And still be a free citizen.

    XBMC is exactly the same. And free citizens do all sorts like use illegal versions of Windows, download music and movies illegally etc… Mono going underground, if ever, isn’t a huge problem in my eyes.

    Anyway as mentioned, the Ubuntu team have already posted their view, and will continue working with and using Mono. They take patent issues seriously, and don’t find it to be a threat.

    Moo Reply:

    It’s not like I’ll be sitting in the basement of my house using Mono. I don’t find it much of a predicament.

    I’ll download it from somewhere and use it like any other peice of software. And still be a free citizen.

    This is a problem for free citizens. A free citizen and upstanding citizen should be allowed to conduct their business in an upright manner.

    Please don’t confuse having technical aptitude as equal to having freedom. Having the aptitude to perform certain actions (ex. install and use unauthorised copies of proprietary software) is not the same thing as having freedom to perform these actions.

    You as an individual may have the aptitude to hide your actions from people that threaten harm, but that doesn’t mean you have freedom. Consider this experiment:
    1. Make 5000 copies of Microsoft Windows and Adobe Photoshop and $LATEST_POPMUSIC_SENSATION without permission of Microsoft and Adobe and $POPMUSIC_DISTRIBUTOR.
    2. Share every single copy of these things
    3. Make video evidence of you sharing all your copies.
    4. Collect 3rd party witnesses to verify the authenticity of your evidence.
    5. Send copies of the evidence to Microsoft and Adobe and $POPMUSIC_DISTRIBUTOR along with your name, address and phone number.

    Rob Reply:

    I can see your point, but most end users won’t care about “conducting their business in an upright manner”, nor the difference between technical aptitude and freedom. When wanting to achieve something the difference often has little meaning.

    Your example does actually show freedom. The user has the freedom to do what you stated, but at the risk of being caught.
    And that’s why so many people download dodgy music and movies. They make that choice.

    The main point is that an end user just wants something to work, they often aren’t bothered about how they get there. A constant example I come across is people asking if I have a “copy” of Microsoft Office or know where to get one. They still have freedom to do so, but they may get caught. In most cases they don’t care, they just want to be able to achieve a goal.

    Another example is XBMC. An excellent application, and a more realistic example. Open source in development, so you can download the source no problem, but compiled illegally. People still go and get it though, and it has become huge, so much so it has spread to other platforms.

    Either way, it’s obviously much better if Mono stays above ground. I’m not denying that.

    My point was that if it goes underground, it will happily live on and so will much of the community around it. And I doubt they’ll have much concern about the difference between technical aptitude and freedom. They’ll just want to use Gnome-Do etc…

  9. Rob said,

    June 29, 2009 at 5:26 pm

    Gravatar

    The article actually goes quite a bit further than what is “included by default”.

    And if it’s purely what is included by default, then surely the solution is a lot more simple. You’d be better off:

    a) changing distro
    b) making your own fork of Debian and not including Mono
    c) using Debian, but simply removing what is in their by default.

    We are of course a minority arguing here. The reason for including apps like Tomboy, or Gnome-Do are simply because they are better than a non-Mono equivalent. When a better non-Mono app comes along, Tomboy etc… will not doubt get dropped.

    This decision is based on what the majority of users would want, and is done so, so that people adopt and use that distro.

    You’re forgetting that Linux is about choice. Choice to develop an app in whatever language you want. Choice to pick whatever distro you like. Choice to add/remove the things you do and don’t like.

    Saying, we discourage people to use Mono, and don’t want it included by default just means you should be making your own distro.

    Roy Schestowitz Reply:

    I wasn’t suggesting not to code in any language of choice. Maybe someone else suggested this.

    latex Reply:

    No you would just rather spead FUD about it, and im sure I could find quotes from you that are very anti-mono, and you do suggest people dont use it. and promote ways to remove it,

    so you can try to lie to some, and mabey they will even believe you, but again anyone that knows you will know different.

    Just as you yourself really know. but i guess your “in” so far now that backing out would be impossible.

    But good luck in trying to get any tech industry credability in your lifetime. You will forever be that guy who hates Novell for no reason anyone can really work out.

    If I was hiring someone, and i googled your name there would be NO WAY on earth you would get a job with me. .

    But I think getting a job is not high on your list of things you want to do.

    Being a permanent student and a leach on the system does not win you any friends either.

    But continue to get Linux programmers not to use C# after all its a programming language that forces type-safe and secure and reliable programming. Certainly something that FOSS would not like to see. IE, software quality and software reuse.

    Its in FOSS’s interest to create second rate code full of errors and “bugs” this ensures sustained “service halo” support services for your $$ revinue. As you have to give your software away for free, as no one is willing to pay for it.

    But keep forcing mono out, all the vast majority of coders will learn it, and use it, they will get the IT jobs and the Linux crowd will be stuck deep in the 1970′s.

    “Linux the OS for historians”.

    Roy Schestowitz Reply:

    Stop nymshifting, “darryl”. I can see who you are and you were banned from Linux sites.

  10. eet said,

    July 1, 2009 at 10:23 am

    Gravatar

    Ow, ow – Roy emabrassing himself… Roy, I hope you don’t consider your blog ‘a Linux website’. It’s a paranoid hatefest, that’s what it is.

What Else is New


  1. EPO Management Looks for New and 'Innovative' Ways to Exploit Scientists and Distract From EPO Corruption

    EPO management is desperate for puff pieces, having just produced some greenwashing nonsense (about a dozen press items about this non-event) and now a bunch of self-promotional videos



  2. Before the New York Times Did a Number on Donald Trump It Changed Bill Gates' Tune

    When you speak strictly through a spokesperson it often means you're lying and/or hiding something; the Gates enigma remains unsolved more than a year later



  3. Links 28/9/2020: Linux 5.9 RC7, Review of Linuxfx 10.6, OpenSSH 8.4

    Links for the day



  4. Speaking Through Spokespeople is a Sign of Weakness, Such as Non-Denying and False Denials (or: Bill Gates Never Denied His Connections to MIT Through Jeffrey Epstein)

    Big liars lie shamelessly; the biggest liars lie through proxies and today we examine the evasive tactics of Bill Gates and his associates (who were closely connected to Jeffrey Epstein but refuse to even talk about that, except indirectly)



  5. IRC Proceedings: Sunday, September 27, 2020

    IRC logs for Sunday, September 27, 2020



  6. Accounting for Debconf 19 Travel... in 2020

    A deeper look or analysis of Debian expenditures, which grew more than twicefold for travel last year



  7. Don't Let Microsoft Make 'Open Source' Synonymous With Proprietary Monopoly GitHub

    Now that the OSI works for Microsoft instead of Open Source (no, GitHub isn’t Open Source; it’s inherently against Open Source) we need to understand the modus operandi and learn from old mistakes



  8. Links 27/9/2020: Puppy Linux 9.5, Nitrux 1.3.3

    Links for the day



  9. Public Relations and Tolerance Stunts Are Very, Very Cheap

    It's 2020 and people are asked to focus on superficial aspects of corporations rather than anything of substance (like the effects on society at large, notably exploitation and long-term harm)



  10. Open to Everything

    It always starts with good intentions...



  11. The OSI's President Apparently Does Not Know That His Own Employer (Salesforce) Works for ICE

    The hypocrisy (or double standard) of the OSI’s President is astounding; taking salaries paid in part by ICE budget (Salesforce works for ICE and similarly evil agencies) while protesting in a proprietary software platform of Microsoft (GitHub) about ICE (all this whilst actively participating in it regardless)



  12. [Meme] Communist Tactics

    To Microsoft, Linux is communism until Microsoft controls it (and then runs over it to crush it, the typical modus operandi)



  13. OSI President: Most or Half of the OSI's Money (Even Individual Donors' Money) Goes to a Microsoft-Led Initiative

    The OSI has turned from advocate of "Open Source" (a disingenuous attempt to set aside Free/libre software) to advocate of Microsoft and GitHub in just 3 years (since taking Microsoft's money/bribes)



  14. IRC Proceedings: Saturday, September 26, 2020

    IRC logs for Saturday, September 26, 2020



  15. The 24/7 'Tech' Worker (Babysitter of User-hostile Computing) and 'Expensive' Programmer

    The rights of workers are being reduced to nothing (many in their older years made redundant), even in an occupation that is indirectly responsible for automating and thus deprecating jobs in many other occupations



  16. Why Techrights is Totally Unexcited About the New Owner of Linux Journal

    Linux Journal might soon become an anti-Linux site (veiled hostility) if Slashdot's editorial preferences are anything to go by (Slashdot has just seized control of Linux Journal)



  17. The Cheapening of the Programmer is a Threat to Human Rights of All Computer Users

    From the era of computer experts (down to the low level of computing with transistors), mathematicians, physics gurus and respected technicians we've come to orders-following, user-apathetic engineers who are overworked, grossly underpaid, and way too fearful of raising ethical concerns (voicing disagreement can result in prompt dismissal, followed by perpetual unemployment) and this ensures digital oppression without checks and balances



  18. Links 26/9/2020: Wine 5.18, FreeBSD 12.2-BETA3 and Debian 10.6 Released

    Links for the day



  19. 'Appeal to Novelty' as a Lever for Proprietary Software Monopolies, Bloat (Planned Obsolescence) and More Surveillance

    Novelty is generally fine, but in many cases products are developed iteratively (not cumulatively) not to advance society or to objectively improve services, only to increase control over people (because emergent ‘freemium’-like business models nowadays revolve around addiction and subjugation, e.g. ‘brain-farming’ and manipulation of minds)



  20. IRC Proceedings: Friday, September 25, 2020

    IRC logs for Friday, September 25, 2020



  21. Microsoft Windows is Obsolete

    The so-called 'leak' of old Windows code (almost 20 years old) is rather meaningless and useless; the world is moving past Windows, plus old Windows code cannot be used (due to the licence) and is barely used anymore, even in binary form



  22. [Meme] Conflating Critics of Corporate/Class Abuse With Womanisers and Chauvinists (and Now Doing the Same to Influential Women)

    It's regretful to see real victims of discrimination having their grievances and legitimate causes hijacked by opportunistic corporate media, which rallies a bunch of Internet trolls while oligarchs sponsor the whole thing, emboldening attacks on critics of powerful people (the likes of Jordan Peterson are a distraction; even women are nowadays being targeted using the very same tricks)



  23. Losing the Battle for Rights/Justice, Freedom/Liberty, and Emancipation Potential

    We're losing our most basic rights amid transition to "digital"; too little is being done to push back against this worrisome trend, which necessarily means reduction in both our freedom and our fundamental human rights



  24. Response to Eric Raymond (ESR) on “Last Phase of the Desktop Wars”

    Eric Raymond (ESR) talks about Microsoft's "embrace"; but there are many misunderstandings and misconceptions in his blog post, as we'll explain patiently, based on known facts



  25. Links 25/9/2020: Calibre 5.0, Fedora 33 Beta Days Away, Snap Setback

    Links for the day



  26. Faking 'Progress' to Distract From True Justice or From a Full, Meaningful Reform

    Activism for truly meaningful change doesn't stop at superficialities and cosmetic changes (which merely give a false sense/impression of accomplishment, resulting in inaction); we need to regularly consider how to dismantle injustice, not based on the criteria set by oligarchs-owned media, rallying gullible mobs to appease only big egos



  27. IRC Proceedings: Thursday, September 24, 2020

    IRC logs for Thursday, September 24, 2020



  28. Richard Stallman: New Interview About Privacy (Published This Morning)

    “The last few months have put data protection back in the spotlight. During a crisis of this kind, do we have to choose between safety and privacy? We talked about this with Richard Stallman, digital privacy activist and the founder of the Free Software Movement,” RT says



  29. Links 25/9/2020: PostgreSQL 13, DragonFly 5.8.2 and Python 3.8.6

    Links for the day



  30. Code of Ethics Versus Code of Conduct in Action

    Reprinted from Daniel Pocock's Web site


RSS 64x64RSS Feed: subscribe to the RSS feed for regular updates

Home iconSite Wiki: You can improve this site by helping the extension of the site's content

Home iconSite Home: Background about the site and some key features in the front page

Chat iconIRC Channel: Come and chat with us in real time

Recent Posts