[Mono-list] Re: Collaboration on alternatives to the US-patent-endangered APIs?

Miguel de Icaza miguel@ximian.com
10 Oct 2003 22:11:59 -0400


Norbert,

    In Mono, we have not only implemented the .NET APIs, but we have
also encouraged developers to create a large collection of extra APIs
(see: http://primates.ximian.com/~miguel/tmp/map.png) because we are
building Mono with two goals in mind:

	* Compatibility with the .NET Framework.

	* Bring a new development platform to Linux and leverage our
	  existing development tools.

    In our case, if Microsoft in fact owns patents to the technology
and they require the licensing of those, we are willing to license
those for the sake of our users and customers. 

    On the other hand, you will notice that at the Mono project we have
not limited ourselves to implement the .NET APIs.  We have been
implementing plenty of new functionality.  That is why we have things
like Gtk#, OpenGL#, Mozilla#, RelaxNG, various Mono.Data.* assemblies
and plenty of other APIs that bring new functionality not available
anywhere or bind existing technologies.  We have also been eating our
own food and using these technologies to develop Mono's tools.

    Microsoft has plenty of fantastic innovations in the ECMA
components that they submitted to the standards organization, and
various class libraries that implement functionality that had existed
in one way or another in the past, so we do not believe that a patent
on them is enforceable, but if one existed, we would work lawfully. 

    Norbert, you do not seem like a programmer, and I do not know why
you decided to hand pick Windows.Forms as an example of "thin wrapper"
versus other parts of the .NET Framework.  To me the Windows.Forms is
as much as an improvement and an innovation as anything else in the
Framework.  As I mentioned to you before, from the developer
perspective there is a massive departure from the Win32-based
programming style.

    Maybe you are not familiar with it, but take my word, it is
radically different.  Both at the rendering level (Drawing) and at the
toolkit level (Windows.Forms).   

    If you were serious about your proposal, then you would encourage
people to work on Gtk# which is the C# binding to the APIs produced by
the Gnome project, instead of promoting the use of Windows.Forms, but I
believe that you dont because of a conflict of interest on your part
with the competition that you helped launch, and you have decided to
spin things this way.  

    We will continue to develop Mono for the two objectives outlined
before: .NET Compatibility and Updating the Linux Development Platform. 
    Your idea is an interesting one, but I do not believe that its a
requirement to design APIs outside the United States.  Otherwise there
would be no software company in the US producing those, and the evidence
so far disagrees with you.

Best wishes,
Miguel.