by Miguel de Icaza

Thanks to everyone that sent their comments and questions, there are a few questions that I would like to answer that have been a common theme.

These are my personal opinions, and do not represent in any way Novell's official position (its at the end of every page on my blog, but I figured its worth pointing out up front).

Q: Which Patents Does Mono Infringe?

I do not know of any patents which Mono infringes.

Although Novell provides most of the work to develop Mono, Mono is still a community project with many constituents and collaborators from companies, universities, governments and individuals, and as such we will continue to work and operate as a community project.

This means that we will continue to follow the rules that we have set for ourselves when it comes to patents:

The Mono strategy for dealing with these technologies is as follows: (1) work around the patent by using a different implementation technique that retains the API, but changes the mechanism; if that is not possible, we would (2) remove the pieces of code that were covered by those patents, and also (3) find prior art that would render the patent useless. This is what we would have done before the agreement, and that is what we will continue to do. Not providing a patented capability would weaken the interoperability, but it would still provide the free software / open source software community with good development tools, which is the primary reason for developing Mono.

There is more information on the web site on the above link.

We will continue to develop Mono under the same restrictions that we had before the agreement.

Q: Is it now possible to integrate code that uses Microsoft patents today?

Although it is possible, we will not integrate such code, as Mono is a community project.

And we will also continue to keep the Microsoft and Mono stacks separated, as there is no need to add dependencies between them and also makes it easy to split out all the non-ECMA components of Mono out.

Why did you guys work this deal with Microsoft?

Although I did not take part of the actual negotiations, and was only told about this deal less than a week before the announcement, I had been calling for a long time for a collaboration between Microsoft and Open Source and Microsoft and Novell.

There are numerous interviews that touch on this topic and most recently my interview in Microsoft's Port25

In the past I had called for this same kind of cooperation with other companies. In 1999, we started talking to Sun and HP regarding GNOME; In particular in 2000 we had a meeting with Marco Boerries at Sun to discuss the desktop, and their adoption of GNOME as their new desktop. At that time we discussed the plans to have a combined desktop made up of components of StarOffice and GNOME (at that meeting, I conceded that I would no longer work on Gnumeric, and instead we would improve OpenOffice; Sun conceded that Evolution would be their default mailer instead of the StarOffice one).

Have you not learned from history? Microsoft has damaged all of their partners in the past!

I have gotten a few emails along those lines and folks asking for comment, and a lot of hate mail (more than usual). I find it hard to reply to this comment, because this is really going to come down to personal opinions and personal biases.

In my personal opinion, I think that we have to give it the benefit of the doubt, try to turn the hand that has been dealt into the best possible outcome for everyone. Or as Benjamin Zander would say, I will give them an A, and work from there.

Similar deals have been done in the past, in 1997 Microsoft signed a similar deal with Apple, and Apple used that agreement and the incoming monies to turn the company around.

Sun signed a similar agreement with Microsoft in 2004, which at the time I realized enabled Sun to ship Mono on Solaris (which we already supported at that time).

Now, I can not say that the crowd applauded Apple and Sun at the time, and both of them ship a lot of GPL code, not the Linux kernel, but a lot of GPL code, and the sky has yet to fall on our heads.

Back in April of 2004, I wrote about that deal:

I am counting the minutes for Sun to ship our Mono implementation for Solaris. Maybe we can still make it to the Solaris 10 release. Just picture the benefits, out of the box free C# compiler on Solaris SPARC and Solaris Intel. Out of the box ASP.NET and ADO.NET on SPARC, and the Gtk# bindings for writing applications for the Java Desktop System. Not to mention that they get the industry's most sexy JIT compiler for free. I am walking with an extra cell phone battery in case McNealy or Schwartz decide to call me up over the weekend to discuss potential agreements (if I don't pick up, please leave a message, the wonders of ATT wireless).

Am afraid to report that neither Scott nor Jonathan emailed me or left a voice mail at the time. I think it would have been grand for Sun, but maybe Java emotions were too strong inside the company for this to be even considered.

Could a better deal been struck for the Open Source community?

Possibly. But I do not know what the latitude was inside the deal.

What I can personally say is that considering that Microsoft is 100 times larger than Novell (market cap wise alone) it was probably difficult.

Getting rid of patents completely would probably have to involve a few giants. Microsoft has a 282B market cap, so maybe a combination of IBM (138B), Google (143B), Oracle (92B) and even Sun (18B) would have to come together and enter a gigantic patent love-fest to make a better deal for everyone happen (By comparison Novell is at 2.2B).

And this is why I find it surprising that Sun's Simon Phipps had forgotten that Sun entered a similar agreement a few years ago, and had this to say about the Microsoft/Novell deal:

It's a remarkable reversal of opportunity, all the more remarkable that the Novell participants smiled the whole way through what had clearly become a Microsoft event. They went in seeking a huge payout, and emerged with the payout, yes - but also with a commitment to pay it back in royalties on open source software they sell.

A larger opportunity could probably happen with a setup like the one I described previously. But whether this could actually be done, is left as an exercise to the reader (or alternative approaches that would completely eradicate software patents from the map).

Let me point out that McNeily seemed to be all smiles at the equivalent event a few years ago; Nothing bad about that, but Simon probably should notice that Sun is eight times larger than Novell, and if anything, his company is 8.18 in a better position that Novell is to take advantage of these opportunities.