January 18, 2006
This article was contributed by Mitch Skinner
The Mono project pushes a lot of buttons in the free software community.
Patents, Microsoft, language choice, and platform choice all generate lots
of heat individually, and Mono has them all. In spite of all the debate,
there are still some issues that remain unresolved. There are undoubtedly
some people who have been avoiding Mono just because Red Hat was; now that
Fedora has it (while RHEL is still apparently up in the air) it's tough to
know if Mono is safe to use or not.
I'm not a lawyer, but since everyone who has gotten advice from one (or
who is one) is being tight-lipped about it, the rest of us apparently have
to figure things out the best we can. I asked Red Hat Deputy General
Counsel Mark Webbink about the decision to include Mono, and he replied:
I think you can understand that I cannot discuss Red Hat's internal IP
policy. I would point out that the decision to include Mono with Fedora
was made by the Fedora Foundation and its project folks. I feel confident
the determination was made with an understanding of various patent concerns
that have previously been posed to Novell but also with an understanding
that there are protections available to open source developers, vendors,
etc.
"...protections available to open source developers, vendors,
etc."--sounds like the patent pools that are intended to create a
mutually-assured-destruction sort of scenario for anyone wanting to sue
open source projects for patent infringement. These pools have
been derided as PR gimmicks, but Webbink's note makes it sound like
some people are willing to actually put some trust in them.
This message
also makes it sound like the Fedora decision-making mechanisms are finally
starting to become separate from Red Hat's. I sent a message to Greg
DeKoenigsberg of the Fedora Foundation, and I got the one-sentence official
line in return:
"Business considerations that prevented certain Mono components from
being
included in Fedora previously have now been resolved."
Greg also suggested that more information may be forthcoming soon.
One of the really
interesting aspects of the timing is the fact that the main
patent application that has been discussed in the media (the API patent
application) appears close to being automatically abandoned.
The API patent, if it were granted, would be a big blow to the
Mono project. Many patents on various aspects of the implementation could
have been worked around, but the API implementation not only makes up a
significant portion of the Mono codebase (making it a big project to
re-do), but is also what all software written for Mono/.NET uses. If
the API becomes unusable, you can't hide a work-around in the Mono
internals, because the API forms the connection between Mono and the rest
of the world.
In October of last year, the patent office issued a "Non-Final
Rejection" to the patent application, meaning that
Microsoft can try to fix the application. Indeed, if you read the
non-final rejection, there are several suggestions the patent examiner makes
about how to fix problematic issues. However, there is also a big section
of the rejection notice that talks about prior art in the form of two
already-issued patents. Those could be harder to work around.
The rejection notice says that the deadline for reply is three months
from the date of mailing, which was October 21st, 2005. It has now been
almost three months, and Microsoft has not yet replied. According to the
rejection notice, if there's no reply before the deadline, the application
is automatically abandoned.
What does that mean? Well, ask a lawyer, I guess, but it sounds pretty
good for Mono. More importantly, maybe, is what it means for GNOME. In
the spring of 2004, there was a big discussion on whether to
begin using Mono in the GNOME core desktop. For example, see Havoc Pennington's essay on
the topic. Clearly, it would be good to start writing core
functionality in something nicer than C; however, the GNOME developers are
understandably reluctant to open things up too widely and end up with a
large number of different languages in the core desktop. The debate didn't
reach a conclusion, with Novell going one way, Red Hat going another, and
the community left hanging, with little information with which to make a
decision.
Since then, several useful GNOME-targeted applications have been written
using Mono. With the confusion regarding whether or not Mono would end up
in all the major distributions, though, those applications have undoubtedly
not gotten as much support and contributors as they could have. There are
also non-Mono alternatives to some of them. While competition between
projects is certainly healthy and a good thing in general, one of the
strengths of free software is the ability to share and cross-pollinate. If
different projects use different languages, libraries, and platforms,
though, that sharing becomes much more difficult. Hopefully, some clarity
on Mono's risks is forthcoming, and then maybe the split can be
resolved.
[The author wishes to disclose that he holds stock in Red Hat, Inc.]
(
Log in to post comments)