Bonum Certa Men Certa

How GNU/Linux Gets Contaminated with Software Patents from the Back Door


Say No to Novell

As history has taught us, Microsoft finds it too risky to attack GNU/Linux directly. It would be too transparent and probably result in backlash from Microsoft's own customers, many of whom also use and/or stock Free software. Microsoft prefers to use proxies and insiders to do their seemingly-independent jobs that accomplish long-term objectives.

Examples include SCO (via BayStar), Andy Tanenbaum (via a book author) (to avoid misinterpretation here, see this and this. Microsoft tried to use Andy Tanenbaum against Linux, but was not successful because he defended Linus Torvalds), Acacia and its sister 'patent firms' which comprise former Microsoft employees, Novell which gently spews out software patent FUD to market itself, and folks from Ximian who plant 'time bombs' in the heart of GNU/Linux desktop environments (slowly propagating from one to another). This last element among the whole will be the subject of this one particular post, which may otherwise become too broad.

Microsoft is in serious trouble, but it is fighting. It is not stupid, especially not in the legal department. Most people out there are not aware of Microsoft's pains simply because Microsoft has done a fantastic job hiding the truth. Again, this won't be discussed in detail here, especially in order for this post to be concise and focused. These other stories also were covered before.

We received some valuable information from one of our readers and we wish to share it and reach out for some feedback.

Denial and Manipulation

The first issue to draw one's attention to is manipulation of search engines, news feeds, video sites, social news sites, and the mainstream press. We covered many such examples in the past and these include astroturfing, acquisition of the media, heavy lobbying, acquisition of analysts, political manipulation, malicious intervention, creation of civil wars and at times even bribery, kickbacks and dumping. Of more relevance to the following new bits we have spamming of YouTube with viral videos and search engines manipulation.

Adding to this 'Hall of Shame' we have just accumulated some reports about behaviour that was described by a reader in the following way:

Along similar lines, I spotted the other day one method how Microsoft boosters within GNOME are able to affect Ubuntu: They can camp on bug reports and mark them repeatedly 'invalid' that way the report never shows up in any RSS feeds or for that matter any normal or advanced searches. One has to specifically search for invalid bugs to find it and at that level of specificity one probably already has the URL and bug number.

My general complaint about Google News falls into the same category. It's not just a matter of Microsoft gaming the system, pro-ODF or anti-OOXML articles just don't make it into Google News regardless of the publisher.


Here's one from ZDNet:

"Developers warned over OOXML [sw]patent risk",1000000121,39292853,00.htm

I bet it won't show up in Google News. Not that Google News is in and of itself important, but the appearance of tampering, on the other hand, is.

OOXML is not the main issue here, but we will return to it in a moment. In fact, the latter bit turned out to be false just 2 hours ago.

The Real Problem and a Case Study

The same reader talks about the increasingly severe issue which is Mono in GNOME. To give one example of a scenario where Mono dependencies crop up, consider Cheese.

One thing I noticed this week is that the mono group has been able to encumber a growing number of Ubuntu (not Kubuntu) applications with proprietary Microsoft technology. However, the documentation and program descriptions do not warn of this (of course they want to keep it under the radar).

“A risk here is that, especially in regards to media (audio, video, pictures, text, etc.) it will provide a ramp for OOXML, WMA, WMV, HDPhoto, and others along with the prerequiste DRM.”A risk here is that, especially in regards to media (audio, video, pictures, text, etc.) it will provide a ramp for OOXML, WMA, WMV, HDPhoto, and others along with the prerequiste DRM. I would expect that if Micrsooft makes further contracts with Novell or other turncoats, that this will soon start to cover DRM.

In short, mono spreads, becomes integrated into some desktops, then Microsoft formats are rolled out as part of mono.


Here is not an example of the dependencies, but of more peripheral incursion:

Note the recommendation of f-spot. digikam, flphoto, kphotoalbum and others would do the job without infecting the machine with mono.

I'm thinking that any kind of confrontation should be avoided, these people are well entrenched in some high profile projects. Non-mono projects should be brought to the forefront.

It was then that a more systematic study needed to be carried out.

Packages Named

Further, from the same reader:

I am loading a list of package dependencies right now and will check the current situation for ubuntu:

  dapper 159 ?   gutsy 150 ?   hardy 176 ?

To check an individual package, for example 'boo'

  apt-cache depends ^boo$

You can do it without the caret and dollar sign, but that just makes sure that you get exactly that name and nothing else.


# freshen data   sudo apt-get update;

# guess at all the packages  for i in a b c d e f g h i j k l m n o p q r s t u v w x y z;   do apt-cache search -n $i |sed -e "s/ .*$//";   done | sort | uniq > packages.txt

# find the dependencies for i in `cat packages.txt`;   do apt-cache depends $i >> dependencies.txt;  echo >> dependencies.txt;  done

# make a spare cp dependencies.txt x # then edit x to be one line per package, # using your favorite editor or sed or awk

# get the package description for i in `grep libmono x|sed -e 's/ .*$//'`;   do apt-cache search --names-only ^${i}$;   done > mono-infected-gutsy.txt

Here is the output:

asp.net2-examples - demo pages for ASP.NET 1.1 and 2.0 infrastructure - demo pages for ASP.NET 1.1 infrastructure autopano-sift - Automated control point extraction for panorama generation banshee - Audio Management and Playback application beagle - indexing and search tool for your personal data beagle-backend-evolution - evolution data backend for beagle blam - an RSS aggregator for GNOME bless - A full featured hexadecimal editor boo - a python-like language and compiler for the CLI cowbell - An easy-to-use tag editor for your music files dfo - Desktop Flickr Organizer for Gnome drapes - a desktop wallpaper management application for the GNOME desktop f-spot - personal photo management application gbrainy - brain teaser game and trainer to have fun and to keep your brain trained gfax - GNOME frontend for fax programs gnome-rdp - Remote Desktop Client for the GNOME Desktop gnome-sharp2-examples - sample applications for Gnome# 2.16 gnome-subtitles - Subtitles editor for the GNOME Desktop environment gnunit - frontend for running NUnit 2 test suites gnunit2 - frontend for running NUnit 2 test suites graphmonkey - a GTK#-based graphing calculator gshare - Easy user-level file sharing for GNOME gtk-sharp2-examples - sample applications for the Gtk# 2.10 toolkit gtk-sharp2-gapi - C source parser and C# code generator for GObject based APIs gtwitter - Client for tracking and posting to twitter hipo - iPod Management Tool ikvm - Java virtual machine/compiler implemented in .NET (Mono) ironpython - A Python implementation targeting the .NET and Mono platforms last-exit - audio player lat - LDAP Administration Tool libart2.0-cil - CLI binding for libart 2.3 libavahi1.0-cil - CLI bindings for Avahi libavahi-ui0.0-cil - CLI bindings for Avahi Ui libevolution3.0-cil - CLI bindings for Evolution libflickrnet2.1.5-cil - Flickr.Net API Library libgalago1.0-cil - CLI bindings for libgalago libgalago-gtk1.0-cil - CLI bindings for libgalago-gtk libgconf2.0-cil - CLI binding for GConf 2.16 libgecko2.0-cil - CLI binding for the GtkMozEmbed library, unstable version libglade2.0-cil - CLI binding for the Glade libraries 2.6 libglib2.0-cil - CLI binding for the GLib utility library 2.12 libgmime2.2-cil - CLI binding for the MIME library libgnome2.0-cil - CLI binding for Gnome 2.16 libgnome-keyring1.0-cil - CLI library to access the GNOME Keyring daemon libgnome-vfs2.0-cil - CLI binding for GnomeVFS 2.16 libgsf0.0-cil - CLI bindings for libgsf libgtk2.0-cil - CLI binding for the GTK+ toolkit 2.10 libgtkhtml2.0-cil - CLI binding for GtkHTML 3.8 libgtksourceview2.0-cil - CLI binding for the gtksourceview library libipod-cil - CLI library for accessing iPods libipodui-cil - CLI library for accessing iPods (GUI helpers) libkarma-cil - Rio Karma access library [CLI runtime library] liblog4net1.2-cil - highly configurable logging API for the .NET runtime libmono0 - libraries for the Mono JIT libmono0-dbg - libraries for the Mono JIT, debugging symbols libmono1.0-cil - Mono libraries (1.0) libmono2.0-cil - Mono libraries (2.0) libmono-accessibility1.0-cil - Mono Accessibility library libmono-accessibility2.0-cil - Mono Accessibility library libmono-addins0.2-cil - addin framework for extensible CLI applications/libraries libmono-addins-gui0.2-cil - GTK# frontend library for Mono.Addins libmono-bytefx0.7.6.1-cil - Mono ByteFX.Data library libmono-bytefx0.7.6.2-cil - Mono ByteFX.Data library libmono-c5-1.0-cil - Mono C5 library libmono-cairo1.0-cil - Mono Cairo library libmono-cairo2.0-cil - Mono Cairo library libmono-cecil0.5-cil - library to generate and inspect CIL assemblies libmono-corlib1.0-cil - Mono core library (1.0) libmono-corlib2.0-cil - Mono core library (2.0) libmono-corlib2.1-cil - Mono core library (2.1) libmono-cscompmgd7.0-cil - Mono cscompmgd library libmono-cscompmgd8.0-cil - Mono cscompmgd library libmono-data-tds1.0-cil - Mono Data library libmono-data-tds2.0-cil - Mono Data Library libmono-db2-1.0-cil - Mono DB2 library libmono-dev - libraries for the Mono JIT - Development files libmono-firebirdsql1.7-cil - Mono FirebirdSql library libmono-i18n1.0-cil - Mono I18N libraries (1.0) libmono-i18n2.0-cil - Mono I18N libraries (2.0) libmono-ldap1.0-cil - Mono LDAP library libmono-ldap2.0-cil - Mono LDAP library libmono-microsoft7.0-cil - Mono Microsoft libraries libmono-microsoft8.0-cil - Mono Microsoft libraries libmono-microsoft-build2.0-cil - Mono Microsoft.Build libraries libmono-mozilla0.1-cil - Mono Mozilla library libmono-npgsql1.0-cil - Mono Npgsql library libmono-npgsql2.0-cil - Mono Npgsql library libmono-oracle1.0-cil - Mono Oracle library libmono-oracle2.0-cil - Mono Oracle library libmono-peapi1.0-cil - Mono PEAPI library libmono-peapi2.0-cil - Mono PEAPI library libmono-relaxng1.0-cil - Mono Relaxng library libmono-relaxng2.0-cil - Mono Relaxng library libmono-security1.0-cil - Mono Security library libmono-security2.0-cil - Mono Security library libmono-sharpzip0.6-cil - Mono SharpZipLib library libmono-sharpzip0.84-cil - Mono SharpZipLib library libmono-sharpzip2.6-cil - Mono SharpZipLib library libmono-sharpzip2.84-cil - Mono SharpZipLib library libmono-sqlite1.0-cil - Mono Sqlite library libmono-sqlite2.0-cil - Mono Sqlite library libmono-system1.0-cil - Mono System libraries (1.0) libmono-system2.0-cil - Mono System libraries (2.0) libmono-system2.1-cil - Mono System libraries (2.1) libmono-system-data1.0-cil - Mono System.Data library libmono-system-data2.0-cil - Mono System.Data Library libmono-system-ldap1.0-cil - Mono System.DirectoryServices library libmono-system-ldap2.0-cil - Mono System.DirectoryServices library libmono-system-messaging1.0-cil - Mono System.Messaging library libmono-system-messaging2.0-cil - Mono System.Messaging Library libmono-system-runtime1.0-cil - Mono System.Runtime library libmono-system-runtime2.0-cil - Mono System.Runtime Library libmono-system-web1.0-cil - Mono System.Web library libmono-system-web2.0-cil - Mono System.Web Library libmono-winforms1.0-cil - Mono System.Windows.Forms library libmono-winforms2.0-cil - Mono System.Windows.Forms library libmono-zeroconf1.0-cil - CLI library for multicast DNS service discovery libmysql5.0-cil - MySQL database connector for CLI libndesk-dbus1.0-cil - CLI implementation of D-Bus libndesk-dbus-glib1.0-cil - CLI implementation of D-Bus (GLib mainloop integration) libndoc-cil - Code documentation generator for .NET libnemerle0.9-cil - Class Libraries for Nemerle libnini1.1-cil - CLI library for managing configuration files libnjb-cil - CLI binding for libnjb libnunit2.2.6-cil - Unit test framework for .NET libnunit2.2-cil - Unit test framework for .NET libqyoto4.3-cil - CLI bindings for the Qt 4 toolkit librsvg2.0-cil - CLI binding for RSVG 2.0 libtaglib2.0-cil - CLI library for accessing audio and video files metadata libtapioca-cil - tapioca bindings for c# libtelepathy0.13-cil - CLI library for Telepathy libtelepathy-cil - CLI library for Telepathy libuno-cil - CLI binding for libvte2.0-cil - CLI binding for VTE 0.16 libzeroc-ice-3.2-cil - Ice for C# libraries mono-1.0-devel - Mono development tools for CLI 1.0 mono-1.0-service - Mono service manager for CLI 1.0 mono-2.0-devel - Mono development tools for CLI 2.0 mono-2.0-service - Mono service manager for CLI 2.0 mono-apache-server - backend for mod_mono Apache module mono-apache-server2 - backend for mod_mono2 Apache module mono-dbg - Mono debugging symbols mono-debugger - Debugger for Mono monodevelop - C/C++/C#/Boo/Java/Nemerle/ILasm/ASP.NET Development Environment monodevelop-nunit - NUnit plugin for MonoDevelop monodevelop-versioncontrol - VersionControl plugin for MonoDevelop monodoc-base - shared MonoDoc binaries monodoc-browser - MonoDoc GTK+ based viewer mono-gac - Mono GAC tool mono-gmcs - Mono C# 2.0 and C# 3.0 compiler for CLI 2.0 mono-mcs - Mono C# compiler for CLI 1.1 mono-mjs - Mono JScript compiler mono-smcs - Mono C# 3.0 compiler for CLI 2.1 (Moonlight / Silverlight) mono-tools-devel - Various development tools for mono mono-tools-gui - Various GUI tools for mono mono-utils - Mono utilities mono-xbuild - Mono xbuild mono-xsp - simple web server to run ASP.NET applications mono-xsp2 - simple web server to run ASP.NET applications mono-xsp2-base - base libraries for XSP 2.0 mono-xsp-base - base libraries for XSP 1.1 muine - Simple playlist based music player muine-plugin-audioscrobbler - Audioscrobbler plugin for Muine music player muine-plugin-inotify - INotify Plugin for the Muine music player muine-plugin-trayicon - TrayIcon Plugin for the Muine music player mzclient - CLI library for multicast DNS service discovery (commandline tool) nant - .NET build tool similar to Ant ndoc-console - Code documentation generator for .NET nemerle - Nemerle Compiler nunit-console - Unit test framework for .NET podsleuth - Tool to discover detailed information about Apple iPods prj2make-sharp - Convert VS.NET solution files to Makefiles stetic - GNOME and GTK+ GUI designer sysinfo - Simple GTK program that shows some UNIX/Linux system information tomboy - desktop note taking program using Wiki style links youtranslate - Web translator

"Here is the new /etc/apt/preferences. Nuke'm from orbit. It's the only way to be sure," our reader adds. He wishes to remain anonymous, but there are no conflicting interests at all, just genuine concern about things which are conveniently overlooked by many.

These 'Monopendencies' could soon turn GNOME into MONOME, making it virtually impossible in due time to use basic applications without Mono somewhere in the dependecies tree. Moonlight is a good example of such dangers.

These dependency checks are reminiscent of the one which other people have obtained (and published) for Fedora [1, 2].

Miguel de Icaza and Jeff Waugh get vocal about this when the issue comes up. They seem to be sensitive to this issue which they are certainly aware of. Denial, promises or mitigation ensue.

Ways Forward

At least two bloggers other than ourselves occasionally criticise this direction which is increasingly chosen and then taken with little or no consultation. We need more information about the problem to be made available out there. Only yesterday, one of those fairly prolific bloggers described GNOME's direction quite realistically:

I don't consider XFCE as the best desktop environment, however it's still lighter than GNOME, it's still not under the contamination attack from the Mono guys, and it's increasingly tempting in recent times, since GNOME seems to be a captive of Novell...

We were advised and told that contacting Fedora's new leader might help. We was in touch with Shuttleworth on some occasions in the past, so that might help also. About Red Hat, our reader says:

Red Hat gained a lot of positive publicity way back when they gave a common theme to KDE. I think that was ground breaking in that now, people expect the theme more from the distro than from the developers of the desktop environment.

Red Hat has KDE support already, but I'm still wondering the best way to present the situation. I'm guessing that all the recent news about KDE, and the development, would be a good excuse to re-evaluate the two desktops. KDE has always been ahead in development, Gnome on the eye candy and promotion.

Besides, much of the jubilation about Ubuntu gutsy and hardy is about the window manager and that is a layer below, and independent from, the desktop environment. So if people find out that it's not GNOME but Compiz Fusion, then they might be more likely to try other desktop environments.

One thing that we don't have to mention explicitly is that since the formation of the KDE Free Qt Foundation, the original purpose of GNOME has been made moot. (Let people figure that out.) However, stepping around that (at least for a while) the KDE Free Qt Foundation should be mentioned and leveraged.

Xfce is out there and gaining interest, since it's good for low power machines that get a second life with Linux. Fluxbox is also out there and hit 1.0

Gnome has a fair amount of good things, but the direction of many projects and the positions of the leaders (e.g. Jeff and Miguel) is duplicitous at best...


The holy grail here would be to get Mark Shuttleworth and other key ubuntu people to go for KDE by default. Same for Fedora / CentOS.

If we get into a situation where function is provided only by mono-based apps, then they pave the way for Microsoft incursion. GTK+ hopefully can remain clean. That is all the more important now that Nokia's competitors are dropping Qt / Qtopia.


I'm thinking the way to deal with this is to avoid confrontation, or at least high-profile confrontation and instead to promote the heck out of the tools Microsofters are copying. Anything that brings attention to them is free marketing, even it if is 'bad'. The idea is to steer mindshare and thus developer interest towards the good tools.

Perhaps if we talk about how FOSS could be subverted without mentioning names, or bring up the benefits of GPLv3 and some of the discussion (against lgpl) that went on with the creation of the LGPL.

Take it as you will, dear readers. Facts are being accumulated and hope is that these will lead to responsible action; it's not intended to achieve hostility, insults and confrontation. OOXML translators, which Novell tries to fool us with, remain Mono-dependent. It would be naive to assume that Microsoft is not aware of this. But if it spoke out, it would scare people away from the bait.



Recent Techrights' Posts

[Meme] Clergy of GNU/Linux (Corporations Like IBM)
Volunteers as powerless "followers" of companies that "harvest" their labour
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Thursday, February 29, 2024
IRC logs for Thursday, February 29, 2024
Links 01/03/2024: Misuse of Surveillance Against UK-Based Journalism, EPO Conflict Now in the Media
Links for the day
Taking a Break From Paid Promotion of the Illegal, Unconstitutional Kangaroo Court for Patents (UPC)
JUVE returns to its 'roots'?
FSFE admits losing funds from bequest by insulting and ignoring Fellowship representative
Reprinted with permission from Daniel Pocock
Gemini Links 29/02/2024: Raspberry Pi Incus Cluster and Aya 0.5.0 Coming Soon
Links for the day
Links 29/02/2024: Layoffs at Apple, Expedia, and Electronic Arts
Links for the day
Gemini Links 29/02/2024: Web Enshittification and Firefox user-agents
Links for the day
Spiked Piece/Censoreed Piece: 'Microsoft Copilot is a gimmick', says top CIO
Issues relate to connectivity and cost
Enrico Zini, Mattia Rizzolo, Plagiarism & Debian
Reprinted with permission from Daniel Pocock
There Will Be Lots More Apple Layoffs (Already Years in the Making)
The corporate media still tries to shape the narrative to prevent panic or delay market hysteria
Latest SUEPO (Staff Union of EPO) Report For The Hague Reveals EPO Does Not Obey Court Orders, Refuses to Allow Workers to Freely Talk to One Another
working in a place where communication itself is restricted
[Meme] The Oppression Will Continue Until EPO 'Quality' Improves
wonder why EPO morale is so low?
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Wednesday, February 28, 2024
IRC logs for Wednesday, February 28, 2024
Outreachy, GSoC-mentors & Debian-Private may soon become public records in federal court
Reprinted with permission from Daniel Pocock
Links 28/02/2024: Many War Updates and Censorship
Links for the day
Gemini Links 28/02/2024: Social Control Media Notifications and Gemini Protocol Extended
Links for the day
Links 28/02/2024: Microsoft the Plagiarist is Projecting, Food Sector Adopts Surge Pricing
Links for the day
Helping Microsoft 'Hijack' Developers (to Make Them Work for Microsoft, Not the Competition)
VS Code is proprietary spyware of Microsoft. Jack Wallen keeps promoting its use.
Gemini Links 28/02/2024: Groupthink and the 'Problem' With Linux
Links for the day
Android Rising (Windows Down to All-Time Lows, Internationally)
This month was a bloodbath for Microsoft
HexChat Looks for Successors to Keep IRC Growing
IRC is far from dead
[Meme] Just Make Him Happy
Y U no produce more monopolies?
End of a Long February
top 10 posts
[Meme] The EPO's Relationship With Patent Examiners
Nobody is "safe"
New Pension Scheme (NPS) at the European Patent Office Explained at the General Assembly
Investing in the future, or...
Donald Trump & FSFE Matthias Kirschner election denial
Reprinted with permission from Daniel Pocock
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Tuesday, February 27, 2024
IRC logs for Tuesday, February 27, 2024