February 21, 2002

The patent trap: If Gnome gets Mono

Author: JT Smith

- by Tina Gasperson -
From the "things that could happen if Mono is incorporated
into Gnome" department: Intel, having gleefully taken advantage of the
MIT licensing on Mono's class libraries, enforces its patents
against every entity making use of its modifications, including the Gnome
project, effectively shutting it down.

You say Intel wouldn't do that to Mono, one of the Open Source answers to Microsoft's .NET technology. Maybe not. Some considerations: Intel
has a love/hate relationship with Microsoft, and has been the target of
what some say are strongarm
tactics
by Gates and company. Who's to say that Microsoft isn't
behind the scenes, influencing Intel's moves? Arguably, Microsoft would like nothing better than to see all Open Source development stopped. Then there's the
partnership between Intel and HP. Did you know that Hewlett-Packard and Intel have a
"front" organization to which they've assigned dozens of patents
over the last 10 to 15 years? It's called the Institute for
Development of Emerging Architectures. (The emerging architecture being
64-bit chips.)

Carly Fiorina, giving the keynote talk at LinuxWorld NYC 2002, didn't try to hide the fact that Hewlett-Packard
practices operating system polygamy for the sake of the customer. At any
moment, Microsoft could become the jealous wife who stamps her foot and
threatens withholding of favors. What Intel-strings would HP pull to keep
MS happy?

Keep in mind the rivalry between Microsoft
and Sun. Remember the fight over Java? They'll do just about anything to knock each other off kilter. Sun continues to taunt Microsoft with the free StarOffice suite, a collection of business applications specifically designed to compete with MS Office, at zero cost to the consumer. Sun has adopted Gnome as its desktop window manager of choice. If MS could get a dig on Sun by knocking GNOME out, do you think it'd do it?

Miguel de Icaza, the CTO of Ximian and one of the first Gnome developers, is also the Mono project leader. He said he'd like to see future versions of Gnome based on .Net technology.
Even if Gnome refuses to be infected by Mono, just by changing the license, de Icaza has opened the door
for patent holders to get entangled in the Mono project and possibly in
any number of Free Software projects that decide to make use,
intentionally or unintentionally, of patent-encumbered Open Source
software that evolves from those libraries. How can Open Source software be patent-encumbered?

First, some background

The problem with software patents is easily illustrated if we use music
and songwriting as an analogy, like Simson Garfinkel, Richard Stallman,
and Mitchell Kapor did in their 1991 article "Why
Patents are Bad for Software."

Songs are created from individual notes combined with chord
progressions. There are really only 12 notes to choose from, whether
one is composing a melody or placing the melody over a pleasing chord
arrangement. When someone writes a song, his copyright on that song
covers the original combination and arrangement of some or all of those
12 notes and the progression of harmonies created by the chord
selection. No one is allowed to copy the author's melody without his
permission, but the notes and the chords that make up the song are freely
available for use by anyone. In fact, most, if not all songs have note
progressions that have been used in other songs before, kind of like
algorithms.

What if all of a sudden the U.S. Patent Office decided that musicians could
patent chords or certain note phrasings? Say a composer decided that this
note progression was unique: C, F#, E, D, C and the patent office,
being unfamiliar with music, agreed with him? Now the composer can
force anyone who writes a song that uses his "invention" to pay him any
fee he deems appropriate, or stop singing it. It sounds ridiculous. But
if this happened, we would soon see an end to the seemingly endless flow
of new songs. What starving artist could afford the royalty payments?

On a larger scale, this is what is happening with software patents. The
difference is that with software, there are many, many more "notes" to
choose from in the creation of an application or process, which makes
the process of that creation more complicated and difficult to understand
from the patent office's perspective. It also makes a programmer's life
dangerous because she never knows when she might be violating a software
patent. What if at the very same time she wrote her program, another
company filed patent applications on the very same processes and
algorithms she used? It has
happened
, in the case of the LZW compression used in the creation of
GIF images.

Software patents can nullify the freedom of free software

If company A modifies a piece of free (as in speech) software, adding
patented procedures in the process, it is possible that software could be
encumbered by restrictive patent licensing terms. For instance, company
A could require royalty payments from company B at any time during
company B's use of the "free" software that includes patented
processes. Company A could further restrict the "freedom" of such
software by refusing to grant a patent license to Company C,
effectively, if not technically, declaring null and void the "free"
software license.

When Richard Stallman and the Free Software Foundation drafted the GPL
and subsequently the LGPL, they wanted to do all they could to protect
developers and users from the encumbrances of software patents, so they
included the following statements:


"... Software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this
license."

"If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do
not excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under
this License and any other pertinent obligations, then as a
consequence you may not distribute the Library at all. For example,
if a patent license would not permit royalty-free redistribution of
the Library by all those who receive copies directly or indirectly
through you, then the only way you could satisfy both it and this
License would be to refrain entirely from distribution of the
Library."

Other licenses, such as the MIT (or X) license adopted by Mono for its
class libraries, do not explicitly require a patent license grant. Some
experts say that the MIT license and others like it, including the BSD
license, carry an "implicit" patent license grant. But this has not been
tested.

We are surprised we heard little complaining when Ximian CTO and
Mono project leader de Icaza told The
Register
, "I'd like to see Gnome applications written in .NET in
version 4.0 -- no, version 3.0. But Gnome 4.0 should be based on .NET. A
lot of people just see .NET as a fantastic upgrade for the development
platform from Microsoft." de Icaza took issue with The Register over the headline on the article, but he didn't deny that he made the statements as quoted. We don't know what, if anything, will come of
the Mono license change, and of course, de Icaza is not the CTO of
Gnome, only of Ximian. However, we're also not sure why Intel insisted on
the MIT license instead of the LGPL,
but you can be sure it has everything to do with protecting so-called
intellectual property.

So, even if
they are not part of the Free Software religion, shouldn't Open Source
software developers be doing everything they can to keep software patents
out of their projects? If you think Intel. or any other company, would do
whatever it takes to protect their profits, then the idea that they
would insert patented processes into the Mono libraries, sit back
while Gnome makes use of them, and then try to cripple or even shut down
Gnome through sky-high royalties or refusal to grant license doesn't
seem implausible. What better reason to use the GPL or the LGPL? What was
de Icaza thinking when he adopted the MIT license?

Click Here!