Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I'm a Ubuntu newbie. In my opinion Mono is a patent trap and I do not want my distribution of choice to be tainted by anything Mono or any application that requires Mono. So I would welcome your feedback for the following:

  1. How to prevent anything Mono and applications that require Mono from getting installed in the first place. Is there a way to forcefully disable Mono during installation?

  2. How do I find out if I have anything Mono installed on my current default installation?

  3. If Mono is already installed, how to remove Mono and all applications that require Mono?

Hopefully with your feedback I can make sure that all my bits are truly free.

share|improve this question
    
Not really your question, but you do realize that being a user of software that violates patents does not actually make you (as the user) guilty of anything at all, right? –  Adrian Petrescu Sep 15 '10 at 6:57
    
I don't really understand why this question is so heavily downvoted. Is it because of the patent thing? –  phunehehe Sep 15 '10 at 12:32
3  
@phunehehe it's because there's an entire horde of zealots spearding FUD about mono being more unsafe, patent wise, unrelated to any common logic, and depite community promises made by Microsoft to not sue. –  damageboy Sep 15 '10 at 17:46
    
@phunehehe - Probably downvoted by Microsoft goons for badmouthing C#. :-) –  amphetamachine Sep 16 '10 at 7:30
2  
@Adrian: INAL and patent law varies widely from country to country, but in the US at least patent law protects the use of patented 'art'. So if you do not personally have a license to use the patented art you can be sued for the use. Unisys tried to do this with the GIF file format years ago, eventually resulting in PNG bit.ly/9fz1mU. Granted the cost to sue an individual outweighs damages that might be awarded for the infringement. Typically the software license agreement that accompanies the software that uses patented art will extend the license to use the patent to the user. –  Paul Alexander Sep 17 '10 at 20:55
add comment

2 Answers 2

Disclaimer: I offer this answer since I believe you should have control over what packages are on your system--not to flame the mono-hate flame war. Also this question is heavily edited since my first post.

Removing Mono

To remove mono completely all you have to do is remove the base mono libraries, and all files that depend on those libraries will also be removed. The exact set of packages that need to be removed vary depending on which version of Ubuntu you are using. I believe you should be able to remove most of mono with the following command (Update: I've updated the command to better ensure everything is removed.):

$ sudo apt-get purge libmono* cli-common mono-runtime

The command should list all of the packages that will be removed--including applications that depend on mono-- and ask you to confirm their removal. You should review the list carefully before accepting the changes and make sure you won't be removing something you need. You may want to follow that up with:

 $ sudo apt-get autoremove

If you are more comfortable with GUI tools, you can also do this in Synaptic:

  1. Change to the "installed" filter.
  2. Use the quick search box and search for "libmono."
  3. Select all of the packages that appear in the results.
  4. Mark them for complete removal.
  5. Repeat steps 2-4 for the other packages in the command above.
  6. Press apply.

Keeping Mono Off of Your System

While there used to be a package called mononono that would prevent mono from being installed on the system, I do not believe this package works well with recent versions of Ubuntu. If you are truly concerned with keeping mono off of your system, I would simply look carefully at the details of software installs you do and ensure that you do not see it pulling in mono libraries.

One more automatic method would be to using apt-preferences. Putting the following in /etc/apt/preferences or in a file inside /etc/apt/preferences.d/ should provide relatively good defense against installing mono on your system:

Package: cli-common mono-runtime 
Pin: version * 
Pin-Priority: -100

For more information about how this works, see man apt_preferences. The short version is that negative priorities prevent that version of the package from being installed.

Other Notes

If you are very concerned about non-free software, you may find the vrms package of interest. It lists non-free packages on the system. It will not list mono packages since patent issues are orthogonal to the software being free, at least according to some definitions of "free." Also, if you were to list all of the packages that have potential patent issues, you'd have to list a whole lot of packages.

share|improve this answer
2  
Downvoters should note that I've just answered the users question and have not intended this to be pro- or anti- mono. If you think that this answer is wrong (it could be, I am just a happy user of mono, not an expert), then perhaps a comment or an answer of your own is warranted. –  Steven D Sep 15 '10 at 20:57
1  
On the other hand, that downvote did cause you to hit 1000 exactly; maybe they were going for that ;) –  Michael Mrozek Sep 15 '10 at 22:36
    
Excellent answer! –  ing0 May 20 '12 at 14:01
add comment

Every piece of code is a potential patent trap, exactly in the same way as mono is, so your only solution to get rid of patent traps is: sudo rm -rf /

share|improve this answer
2  
In my IANAL opinion, this is completely true. Although, I'll bet that there is some software in /bin that is so old that any relevant patents have expired. –  Steven D Sep 15 '10 at 0:22
2  
Not only does not answer the question but is dangerous. –  amphetamachine Sep 16 '10 at 7:32
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.