[Mono-list] Re: someone, please clear out that patents issue

Miguel de Icaza miguel@ximian.com
14 Feb 2003 11:32:05 -0500


> Documenting prior art would be a useful exercise, and no, it is not
> obvious that prior art exists.  The recent patent application is not for
> the idea of a VM, not for distributed computing, not for any of the
> things that people have mentioned as having good examples of prior art. 
> It's for the structure of the class library, and I don't know of any
> prior art for that.

Documenting prior art and sending the information to the patent office
is the right thing to do.  Any prior-art information and documentation
gets attached to the specific patent application for future review, and
to help the reviewers.

Your *understanding* of the patent application might be one thing, but
there are plenty of claims.  We should attach and provide information
for each bit that has prior art, until we can find the actual invention.

We are not going to violate any patents, so the solution that we have
offered in the FAQ is what we will implement:

	* We will either use a patent that we have the right to use
	  (because MS decides to give it away for free, as they have
	  stated they will for ECMA-covered components).

	* We will either work around the patent by using a different
	  technique where possible.

	* We will remove infringing pieces if we can not get work around

The FAQ probably describes this in more detail.  

This is also not the end of the world.  So what if we have to change the
behavior, and break compatibility?   Too bad, but if anything, it
provides a nice foundation for innovation ;-)

Take all the Mono assemblies that are not part of .NET: We still
encourage developers to write assemblies that will be cross platform and
that can be used in both systems.  Mono ships with 14 new assemblies
(only one of them is Unix specific);  Gtk# ships with 11 assemblies and
there will be more to come.

The worst case scenario is to provide translator tools that can
translate applications from pure .NET to the Mono+whateverweinvent
platform.  It is not a big deal.

I am not a lawyer, and will not try to analyze the claims like you did,
because everything you said has prior art, and I lack the knowledge to
say `Yes, a specific API can be patented' (because, I fail to see the
invention in that case). 

> 1.  "There is no way it will be granted." -- Hello, this is the USPTO
> we're talking about.

The fact that it can be granted, does not mean it can be exercised or
that it would hold in court.  

> 2.  "Microsoft won't sue, because it's not in their best interest." --
> Not now, because doing so would hurt .NET's adoption.  Instead, they
> will wait until the .NET class library is pervasive, and huge amounts of
> software has been written to that API, to kill competing
> implementations.  They will kill competing implementations because
> alternatives to their platform monopoly weaken their market power, and
> threaten their business model.

The above is debatable.  As I said, we will not even attempt to violate
a patent, it is not the business we are in.  Yes, software patents are
bad, but we have to live with them.

> 3.  "Compatibility is not our main goal, anyway." -- This may be true
> for Ximian, but if the goal of compatibility goes away so will a huge
> amount of interest (and participation) in mono.

You can debate this too.  The .NET Framework API has plenty of
problems.  It is a very good API, but it can be improved upon.  

So what if we can not use the .NET Framework, the whole Mono team is a
very talented team, with very talented developers (The best I have had
the chance to work with), and am very confident they could assemble on
top of the basic .NET framework a killer platform, with or without

It might be disappointing to you, but not to those who enjoy working on