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

Miguel de Icaza miguel@ximian.com
14 Feb 2003 21:30:58 -0500


> For example, I think putting the collection classes in the first-level
> namespace (claim 9) has prior art in java.util, but I'm not really sure.

There are plenty of prior art instances in the application.  If
anything, we should get everything compiled and sent to the patent

> Really what I am hoping to do with these messages is encourage a real
> lawyer to step up pro-bono or encourage some group that has committed
> substantial resources to mono to actually pay a lawyer to look at this
> stuff.  Perhaps the Ximian board would see this as a reasonable price to
> pay, considering the risk.  Alternatively, I would be able to chip in a
> hundred bucks or so to a mono legal fund that would pay for lawyer time
> to answer these questions.

Ximian's intentions for Mono are targeted to make it easier to develop
GUI applications on Linux, and for that we would be just as happy with
the ECMA subset (which we have been told by Microsoft people would be
available on free-to-use patent basis).  

So from that perspective Ximian will not be interested in handling the
legal fees, so the path we would take is to not infringe on the patents,
or to negotiate with Microsoft to allow us to distribute any code
covered by their patents.   

Anyways, this is a moot point until we know if there is an infringement,
and in that case, we will be actively:

	* Look for prior art.

	* Work around the invention by using a different technique. 

	  For example, OGG uses a different technique to compress audio
	  than MP3, but the result is the same. 

	* Remove the code for countries where the patent applies
	  (this means that Europeans, Latin Americans, most Asians
	  would still get a full Mono, but that code would probably
	  have to be hosted in those countries, and Ximian could not
	  directly contribute to that).

> Well, I think breaking compatibility would make things more difficult
> than you acknowledge.  If mono does so, the maintainers of the 13
> cross-platform new assemblies that ship with mono will have to decide
> which platform to target, and the assemblies will therefore no longer be
> cross-platform (without the translator, see below).

Yes.  Breaking compatibility will make things harder, but we can not
afford to violate a patent, so either the setup above described works,
or we will have to break the code.  I know it is suboptimal, but we have
no other choice.   

Another options for commercial use would be to negotiate with Microsoft
a license to patents that the code might use.  Anyone who would want to
use Mono code covered by a patent could get a license from Microsoft in
countries where software patents are acknowledged. 

> The translator tools are not the only thing, "whateverweinvent" also
> must be invented, and I'm not convinced that this is so trivial.  At
> what point, if any, does the mono community think that the effort of
> inventing a non-infringing platform is justified?  Perhaps when/if the
> patent issues?  How much effort would this take (probably another lawyer
> question)?

Building two JITers, a couple of compilers and 800k lines of source code
was not trivial.  As Linus likes to say, the Linux philosophy is to
laugh in the face of impossible tasks

> Do you think the translator should be at the source or JIT level?

I do not know yet ;-)

> I have a huge amount of respect for the progress that's been made so
> far, and for the people that have made it.  My desire is not to prevent
> this work but to protect it, and also to get as many users and
> contributors as possible.  Really, how many people are on this list
> right now because of compatibility?  Mono would still be a wonderful
> project without it, but not as popular, I think.

I do not disagree with you.  And although I will try to the extent of my
possibilities to work against software patents (which even Bill Gates
claimed were wrong a few years ago), we can not afford to violate the
patent, and in that case, we will search for the best solution.

You might notice that I am not clear about what the solutions are, or
which areas are affected, and the reason is that at this point it is not
possible to know (the patent has not been granted as far as I can tell),
so the speculation range is very big as opposed to present a more
concrete solution.  

That is also part of the reason why I am not interested in the debate,
because at this point *every* scenario is possible, and having an 
argument about this under the scenario of *anything goes* is a rather
futile experiment. 

> I guess what I'm saying is that keeping compatibility would be great,
> but if that's not possible, then it would be good to realize that as
> soon as possible and start working on the alternatives.

Yes.  As I said, this is an issue for distribution in the USA and other
countries where software patents apply.

> I hope that this gun-sticking-to attitude does not become a siege
> mentality, and I hope that these questions that I think are very
> important can continue to be discussed.  I also think they're on-topic
> for mono-list, but probably someone will go and create a mono-legal or
> something. :)

I consider them to be off-topic because there is no certainty at this
point about what the effects are.  That is where my unwillingness stems
from.  I would have not problem in discussing real solutions once we
knew what conditions we were operating under, hence my suggestion to
have a patent attorney look at these issues as a preamble for an
informed debate.