From the Editor-in-Chief of .Net Developer's Journal

Derek Ferguson

Subscribe to Derek Ferguson: eMailAlertsEmail Alerts
Get Derek Ferguson: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Java EE Journal

J2EE Journal: Article

MS Stance on CLR Patent Raises Thorny Questions

MS Stance on CLR Patent Raises Thorny Questions

Everyone knows I love Microsoft. And as hard as it may be to believe, in the whole world, there is only one little thing that rubs me the wrong way about our friends in Redmond.

It is, in some ways, a very minor thing. In others, it cuts right to the quick of what .NET is all about. In short, I suspect that Microsoft's patent (CLICK HERE!) on .NET will ultimately be used to prevent the implementation of fully CLR-compatible CLIs on other platforms.

What this means is that current efforts such as Mono and Portable .NET may be at least partially illegal because Microsoft has standardized only a portion of the Frameworks classes and technology available under the CLR on Windows.

The bits that Microsoft has not standardized are not trivial little bits of the platform that sit off in a corner, unused. They include:

  • System.Windows.Forms
  • System.Data
  • System.Web.Forms
  • System.Web.Services
So CLI implementers who want to create platforms that share with Microsoft's CLR a common approach to GUI, data access, Web applications, and (perhaps most important of all) Web services, will be forced to copy bits of the CLR not covered by the ECMA CLI standards. Unfortunately, Microsoft specifically cites these APIs as a part of their patent.

The exact legal status of these APIs has been debated for quite some time. I believe, however, that Microsoft's own Dr. James Miller (program manager for the Microsoft Common Language Runtime and one of the principal inventors of .NET) recently cut through all of the confusion during a discussion on the academic Shared Source CLI discussion list (dotnet-sscli@di.unipi.it).

It began when Giuseppe Attardi posted to the list, saying he was concerned that Microsoft's recent patent application would hurt research and standardization. Surprisingly, Dr. Miller responded that Microsoft and its partners are making the bits of the .NET patent that have been standardized available "royalty-free and otherwise RAND (reasonable and nondiscriminatory terms)."

Sensing an opportunity to resolve the question once and for all, I leapt in. "What about the nonstandardized APIs, such as System.Windows. Forms, for example," I asked? Here is his response (slightly abridged):

Microsoft has a commercial product, the CLR, and we treat it as we do any commercial product. It is covered by patents, copyrights, trade secrets, trademarks, whatever the lawyers dream up next. Then there's a standardization effort that covers a specific pair of technologies, whose scope is stated and agreed on by the appropriate standards organization. What's standardized is clearly stated in the standard itself. If it's standardized, you know the rules. If it's not standardized, you know the rules. What's unclear?

I guess what is unclear is that Microsoft continues to claim it supports Mono ­ despite Dr. Miller's comments that strongly suggest that portions of both Mono and Portable.NET are in violation of their patents! Could it be that Microsoft sees it to be in some way advantageous to have people think .NET is a standard ­ along the lines of J2EE, perhaps ­ without having to go down that particular road for real?

Rhys Weatherley, founder of the Portable.NET project and ­ to my mind ­ a true visionary, offered up a clarification on the list for Dr. Miller. He suggested that, because some of the Windows APIs upon which the .NET APIs are based have existed for many years without patents ­ the enforceability of the patents Microsoft now claims could be legally questionable.

Dr. Miller did not reply.

More Stories By Derek Ferguson

Derek Ferguson, founding editor and editor-in-chief of .Net Developer's Journal, is a noted technology expert and former Microsoft MVP.

Comments (2) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Paul 04/16/03 02:45:00 AM EDT

MS does this all the time but this time i believe there are soon going to be legitimate bypasses, such as Borlands forth comming Sidewinder, it has its own set of Forms APIs, you can program with this and bypass the windows.forms API, hopefully Borland commit to making this available to Mono and others, I think its time we started ensuring MS doesnt tie us into anything we as companies/developers dont want to be tied into and start using alternatives where MS doesnt standardise, let reduce vendor dependency and use products like Sidewinder and others starting to come out.

Bob H 04/15/03 09:06:00 PM EDT

Why should this stance be a surprise to anyone? If you look at Microsoft's track record this is what they do. They do not embrace and extend for the end user they do it for control. I do not hate Microsoft by any means but I like to think at least I am realistic about what they are as a company and how they play the game.