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

Google News, Which We Call Gulag Noise, is Following the New York Times Into the Digital Graveyard
It merely gives an illusion of volume and instead of giving readers more stuff to read it wastes people's time
Over at Tux Machines...
yesterday's posts
Software Freedom is the Future and Microsoft is the Biggest Obstacle
GNU/Linux, at its roots, was all about Software Freedom
Greener Pastures for Free Software Users
This coming week we'll publish many articles about GNU/Linux and technical means of/for user empowerment
The GNU/Linux Revolution Ain't Here. Look at Brazil, Russia, India, China, and South Africa (BRICS) Instead.
The revolution won't be televised
Chaffbot Effect: Microsoft Bing Falls to Lowest Share in Two Years (Amid Loads of Bing Layoffs This Year)
Press outlets mostly failed to report that Bing is collapsing
GNU/Linux Distributions as "Appliances" and DRM Platforms (the Case of ChromeOS and SteamOS)
Is this what we envisioned in the 1980s and 90s?
Fulfilling the Site's Full Potential
We remain devoted to the aforementioned goal of posting more original material
Over at Tux Machines...
2 days' worth
Microsoft's Demise in the Global News Cycle is Rather Telling
It should be noted that Microsoft is, in general, no longer prominent or dominant in news headlines
IRC Proceedings: Monday, October 02, 2023
IRC logs for Monday, October 02, 2023
Daily Bulletins Coming Soon (Hopefully as Early as Next Week)
Today we finish testing IRC logs and their upload to Gemini, not just to IPFS
Links 02/10/2023: NUC, GTK Themes, and More
Links for the day
New Union Syndicale Articles About the European Patent Office
We'll probably get back to regularly writing about the EPO in the near future
If WordPress Knows Well Enough to Self-Host Its Podcast, Why Can't GNU/Linux Shows Do the Same?
For those who want videos and podcasts, here are today's latest additions from other sites
Richard Stallman Can Outlive Many of His Prominent Haters
M.J.G. tried hard to take our Web site offline, based on lies and repeated threats
Forget VSCode (Microsoft's Proprietary Spyware), Use KATE Instead
KATE is great
Sometimes It's Time to Reboot
No, not Android. KDE.
Upcoming Talk by Dr. Richard Stallman: Large Language Models Are Not Artificial Intelligence
LLMs aren't truly intelligent and cannot quite grasp what they spew out
GulagTube is a Burning Platform (Exit YouTube, Invidious Won't Save Us From Google/Alphabet in the Long Run)
Alphabet Agency (Google) sees the future of video as a "skinnerbox" (running Android) that indoctrinates you like TikTok does
Gemini Migration and Backup Capsule (Archive)
At the end we'll end up with something a lot better than before and latency should be massively reduced
Links 01/10/2023: Science, Education, and pro-Russia Slovakia Leadership
Links for the day
IRC Proceedings: Sunday, October 01, 2023
IRC logs for Sunday, October 01, 2023
Links 01/10/2023: Climate, Patents, Programming, and More
Links for the day
Apple and Microsoft Problems
half a dozen links
Malware in the Ubuntu Snap Store, Thanks to Canonical Bloatware Mindset
Reprinted with permission from Ryan Farmer
Gemini Rising
There are 3523 capsules
Richard Stallman Gave a Talk Yesterday, Will Give Another Talk Today, and Will Give Two More Talks in Germany Later This Week
Those cover at least 2 different topics
Beware the Microsoft Sharks
We won't forgive and forget
IRC Proceedings: Saturday, September 30, 2023
IRC logs for Saturday, September 30, 2023
Don't be Afraid of the Command Line, It Might Even be a Friend
There's a tendency to think that only graphical interfaces were made to simplify usage, and any declarative interface is by design raw, inherently unfit for usage
One Positive Note About GNU/Linux Coverage in 2023 (Less Microsoft)
GNU/Linux users do not want this, with very rare exceptions
Snaps Were Never Good at Security, But the Media Coverage is Just Appalling
The media should focus on culling Windows, not making a huge fuss over minor things wrongly attributed to "Linux"