06.26.09

Gemini version available ♊︎

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

Decor ᶃ Gemini Space

Below is a Web proxy. We recommend getting a Gemini client/browser.

Black/white/grey bullet button This post is also available in Gemini over at this address (requires a Gemini client/browser to open).

Decor ✐ Cross-references

Black/white/grey bullet button Pages that cross-reference this one, if any exist, are listed below or will be listed below over time.

Decor ▢ Respond and Discuss

Black/white/grey bullet button If you liked this post, consider subscribing to the RSS feed or join us now at the IRC channels.

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.

DecorWhat Else is New


  1. What IBM Does Not Want You to Watch

    Let's 'Streisand it'...



  2. Good News, Bad News (and Back to Normal)

    When many services are reliant on the integrity of a single, very tiny MicroSD card you're only moments away from 2 days of intensive labour (recovery, investigation, migration, and further coding); we've learned our lessons and took advantage of this incident to upgrade the operating system, double the storage space, even improve the code slightly (for compatibility with newer systems)



  3. Someone Is Very Desperate to Knock My Account Off Twitter

    Many reports against me — some successful — are putting my free speech (and factual statements) at risk



  4. Links 18/1/2022: Deepin 20.4 and Qubes OS 4.1.0 RC4

    Links for the day



  5. Links 18/1/2022: GNOME 42 Alpha and KStars 3.5.7

    Links for the day



  6. IRC Proceedings: Monday, January 17, 2022

    IRC logs for Monday, January 17, 2022



  7. Links 17/1/2022: More Microsoft-Connected FUD Against Linux as Its Share Continues to Fall

    Links for the day



  8. The GUI Challenge

    The latest article from Andy concerns the Command Line Challenge



  9. Links 17/1/2022: digiKam 7.5.0 and GhostBSD 22.01.12 Released

    Links for the day



  10. IRC Proceedings: Sunday, January 16, 2022

    IRC logs for Sunday, January 16, 2022



  11. Links 17/1/2022: postmarketOS 21.12 Service Pack 1 and Mumble 1.4 Released

    Links for the day



  12. [Meme] Gemini Space (or Geminispace): From 441 Working Capsules to 1,600 Working Capsules in Just 12 Months

    Gemini space now boasts 1,600 working capsules, a massive growth compared to last January, as we noted the other day (1,600 is now official)



  13. [Meme] European Patent Office Space

    The EPO maintains a culture of illegal surveillance, inherited from Benoît Battistelli and taken to a whole new level by António Campinos



  14. Gemini Rings (Like Webrings) and Shared Spaces in Geminspace

    Much like the Web of 20+ years ago, Gemini lets online communities — real communities (not abused tenants, groomed to be ‘monetised’ like in Facebook or Flickr) — form networks, guilds, and rings



  15. Links 16/1/2022: Latte Dock 0.11 and librest 0.9.0

    Links for the day



  16. The Corporate Cabal (and Spy Agencies-Enabled Monopolies) Engages in Raiding of the Free Software Community and Hacker Culture

    In an overt attack on the people who actually did all the work — the geeks who built excellent software to be gradually privatised through the Linux Foundation (a sort of price-fixing and openwashing cartel for shared interests of proprietary software firms) — is receiving more widespread condemnation; even the OSI has been bribed to become a part-time Microsoft outsourcer as organisations are easier to corrupt than communities



  17. EPO's Web Site Constantly Spammed by Lies About Privacy While EPO Breaks the Law and Outsources Data to the United States

    The António Campinos-led EPO works for imperialism, it not only protects the rich; sadly, António’s father isn’t alive anymore and surely he would blast his son for doing what he does to progress his career while lying to staff and European citizens



  18. Links 16/1/2022: Tsunami and Patents

    Links for the day



  19. IRC Proceedings: Saturday, January 15, 2022

    IRC logs for Saturday, January 15, 2022



  20. Links 16/1/2022: Year of the GNU/Linux Desktop and Catch-up With Patent Misinformation

    Links for the day



  21. Patrick Breyer, Unlike Most German Politicians, Highlights the Fact That Unified Patent Court (UPC) and Unitary Patent Are Incompatible With EU Law

    A longtime critic of EPO abuses (under both Benoît Battistelli and António Campinos leadership), as well as a vocal critic of software patents, steps in to point out the very obvious



  22. Links 15/1/2022: Flameshot 11.0 and Libvirt 8.0

    Links for the day



  23. Blogging and Microblogging in Geminispace With Gemini Protocol

    Writing one’s thoughts and other things in Geminispace — even without setting up a Gemini server — is totally possible; gateways and services do exist for this purpose



  24. Links 15/1/2022: Raspberry Pi in Business

    Links for the day



  25. IRC Proceedings: Friday, January 14, 2022

    IRC logs for Friday, January 14, 2022



  26. Gemini Clients: Comparing Moonlander, Telescope, Amfora, Kristall, and Lagrange (Newer and Older)

    There are many independent implementations of clients (similar to Web browsers) that deal with Gemini protocol and today we compare them visually, using Techrights as a test case/capsule



  27. 2022 Starts With Censorship of Christmas and Other Greetings at the EPO

    The nihilists who run the EPO want a monopoly on holiday greetings; to make matters worse, they’re censoring staff representatives in their intranet whilst inconsistently applying said policies



  28. Links 14/1/2022: FFmpeg 5.0 and Wine 7.0 RC6

    Links for the day



  29. White House Asking Proprietary Software Companies That Add NSA Back Doors About Their Views on 'Open Source' Security

    The US government wants us to think that in order to tackle security issues we need to reach out to the collective 'wisdom' of the very culprits who created the security mess in the first place (even by intention, for imperialistic objectives)



  30. Links 14/1/2022: EasyOS 3.2.1 and Qt 6.3 Alpha

    Links for the day


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