Microsoft Applies For .NET Patent
Wojina writes "Microsoft has applied for a comprehensive patent on what appears to be the entire implementation of the .NET CLR (Common Language Runtime) and the framework APIs. Microsoft's CLR is an implementation of the CLI (submitted to ECMA for standardization). Does this bode ill for the Mono project? See the CNET News story." And a chaser: Nept points to this interesting Microsoft-funded .NET obfuscation project.
If approved as is, the patent would cover application programming interfaces (APIs) that allow actions related to accessing the network, handling Extensible Markup Language (XML), and managing data from multiple sources. APIs are the hooks in software that allow applications to work with another system.
.Net initiative.
.Net, the company's Web services initiative. By submitting the application, which was filed last year and made public last week, Microsoft is following the lead of other major tech companies that have aggressively pursued patents over the years.
.Net patents would have on the standards process. Microsoft already has submitted many of the fundamentals of .Net to a standards body known as ECMA, formerly called the European Computer Manufacturers Association.
.Net patents without knowing Microsoft's specific plans. The W3C is in the process of developing a policy that would let the organization include patented technology in its standards as long as companies agree to provide the technology royalty-free. The person, who asked not to be identified, said Microsoft has agreed to such terms in the past.
.Net," he said. "It's preventing the open-source community from being involved in this area."
.Net. One of them, the Mono Project, provides many of the same APIs as .Net. When the Mono Project is completed next year, developers will be able to build .Net applications that run on Linux and Unix.
Microsoft declined to elaborate on its plans for the patent, but intellectual property attorneys said that if it's granted, the company could dictate how, or whether, developers of software and devices can link to the
"It looks pretty broad," said Jeff E. Schwartz, a partner with McKenna Long & Aldridge. "It could be fairly significant."
The patent is one of several that Microsoft is applying for related to
IBM is the most prolific patent generator, topping the list of corporate patent awards for the last 10 years. Big Blue landed 3,288 patents in 2002, bringing its total over the past 10 years to more than 22,000. Lately, the company has been focusing on patenting technology related to its computing-on-demand initiative.
Patents have become an increasingly common way for software makers to exert control over their intellectual property. One of the concerns about the proliferation of technology patents is the impact it could have on standards development. Some developers fear the trend will let a few patent holders dictate the direction of standards.
It's unclear what effect the Microsoft
One person affiliated with the World Wide Web Consortium (W3C), another major standards body, said it's difficult to comment on the
IBM said last year that it would not charge royalties on patented technology that is part of an e-commerce Web standard.
More and more, the patent debate is pitting companies like IBM and Microsoft--which are looking to patents to protect and recoup the millions of dollars they spend developing products--against members of the open-source and free software movements, which say the patent process stifles innovation by covering processes that are common on the Web.
People like Free Software Foundation guru Richard Stallman have urged boycotts of companies that aggressively enforce patents.
Meanwhile, Bruce Perens, a consultant and leader of the open-source movement, worries that Microsoft's patents could shut out alternative software development. "Microsoft is being careful to patent every aspect of APIs related to
Open-source developers are already hard at work trying to build open-source implementations of
... When a patented or copyrighted product is one of many products competing in a market, antitrust issues typically do not arise from unilateral conduct. However, when a patented or copyrighted product is so successful that it evolves into its own economic market, succeeds in garnering a large market share, or is essential to compete in a market, the antitrust laws and the intellectual property laws collide. The antitrust laws' primary purpose of preserving competition is frustrated when the holder of a patent or copyright exercises the exclusionary market power that comes with those rights.
The United States Supreme Court has yet to deal with these knotty issues, although the Court apparently is seriously considering doing so....
Cheers, Joel
10 second scan of the claims notices alot of refrences to "distributed" and "web client". It looks like this just refrences the web services part of .NET, not the CLR itself. It doesn't neccesarily seem to apply to normal ASP.NET, either, and there's vast prior art there anyway. It's just XML based web services applications.
From Mono's FAQ
Question 122: Could patents be used to completely disable Mono (either submarine patents filed now, or changes made by Microsoft specifically to create patent problems)?
No. First, its basic functional capabilities have pre-existed too long to be held up by patents. The basic components of Mono are technologically equivalent to Sun's Java technology, which has been around for years.
Mono will also implement multi-language and multi-architecture support, but there are previous technologies such as UCSD p-code and ANDF that also support multiple languages using a common intermediate language. The libraries are similar to other language's libraries, so again, they're too similar to be patentable in large measure.
However, if Microsoft does patent some technology, then our plan is to either (1) work around it, (2) chop out patented pieces, (3) find prior art that would render the patent useless. 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.
-- "of course thats just my opinion, I could be wrong." --Dennis Miller
Isn't there a period of time which the PO accepts letters outlining why a particular patent should / should not be granted? I thought that there was or were planning on having a certain time period in which to raise objections before the patent was granted. If so, does anyone know how to go about sending in valid prior art, etc?
How are, for example, a web server (handles requests submitted by remote devices) and web browser (interface to present functions used to access resources) not covered by this claim? The next independent claim is:
Like, e.g. SETI@Home over TCP/IP? Or PVM?
Or claim 19:
...like, say, Mozilla.
Of course, there are dependent claims that try to make this more specific (ooh, using XML documents over a network, that's original). And, of course, the whole thing could be rejected by the patent office.
Still, it's like they didn't even make an effort to try and avoid the most obvious prior-art objections. Almost like they have complete contempt for the patent office, and confidence that no one will dare to challenge their multi-billion-dollar legal war chest if they ever do assert patent rights over someone. But no, that's crazy.
If a thing is not diminished by being shared, it is not rightly owned if it is only owned & not shared. S. Augustine
Microsoft have applied for a patent,
Yes, and with the current state of the Patent and Trademark Office (as for the last few years), just about any patent applied for gets granted, especially if the applicant has deep pockets.
The PTO gets paid more for issuing a patent than for declining one, and the PTO is "self-funding". Furthermore, there's no penalty to the PTO if they're found to have issued a patent they shouldn't have (ie for prior art, obviousness, whatever) -- the penalty is all to those buying, er, obtaining the patent, and to the public for suffering bogus patents.
-- Alastair
It is most likely that Microsoft are applying for the patent for purely defensive reasons. I have had many patent shits apply for patents on the work I have done, often many years after it became public knowledge. Getting the patent in first is always a good idea.
Microsoft might possibly go after Linux, but it is much more likely to go after Sun and Java. Their real beef is that Sun has been playing silly buggers with lawyers. That may not be such a hot move when Microsoft have the engineering power to out patent Sun.
While the broader claims of the patent are likely going to be rejected it is almost certain that some claims will be allowed. If so expect Microsoft to make the terms for Sun every bit as unreasonable as Sun's terms for Microsoft.
There is no reason to beat up Linux though, Microsoft does not want to get 100% of the market, they want more like 85% so they don't keep getting slammed for anti-trust issues.
Looking for an Information Security student project suggestion?
Try http://dotcrimeManifesto.com/
The real depressing thing about this is that I have been planning to develop on .NET. I don't know about anyone else, but I have been happy with the way Microsoft has been pursuing its .NET strategy (at least the development environment, the framework, and so on), namely working towards standards.
.NET, I have been pretty happy working with it and the .NET framework. I was planning on rewarding Microsoft for doing the right thing with their .NET strategy through paying for their software in future projects (I have been training on it for a while now). I understand their aim to have domain over some of their ideas, but IIRC they were working to make this beast an international standard, not to close competition. I think this is a step backward. Of course, it is hard for me to understand the entire patent request, so maybe they are not requesting too much. Nonetheless, why would they even do this? It just seems like a bad PR move given the fact that people are already pissed off enough to migrate toward Linux, and are getting more aggravated. Alas, may the USPTO use some wisdom.
I like developing on Windows as long as the tools are good, and despite the early bugginess of VS
Patents usually start out with one very broad claim and then each claim after that narrows the original claim down until (supposedly) the whole thing covers just the new invention and nothing else. The result is that when you look at individual claims then it may look like they cover prior art - but this does not matter so long as the prior art is excluded by other claims. So if you really want to tell whether there is any prior art which is covered then you have to consider all of the claims taken together.
Personally I had trouble understanding the claims one at a time. I have no clue as to what is actually covered here, and so far I have not heard from anyone else who has a clear idea, so it is a little early to judge whether there might be prior art problems.
Also From Mono's FAQ: Question 666
I don't see a question 666 in the official Mono FAQ page.
Thus ensuring that Microsoft does not "cut off our air supply"
The word "air" does not appear in the Mono FAQ page.
I'm assuming that the parent comment was original humor, but it had me there for a second. Good job.
Will I retire or break 10K?
Claim 1 reads:
Tcl-DP provided an application configured to handle requests submitted by remote devices over a network (the RPC server), and an application program interface to present functions used by the application to access network and computing resources of the distributed computing system (the dp_RPC command protocol). The client application mentioned in the dependent claims is provided by any application configured as an RPC client.
You fool. He said,
"During my service in the United States Congress, I took the initiative in creating the Internet."
Yea take it out of context and we have the rampant 'Al Gore Created the Internet' bullshit. All he is saying is that he took the initiative ( The right or power to introduce a new measure or course of action, as in legislation; as, the initiative in respect to revenue bills is in the House of Representatives. ) to support the creation of that network which you call internet.
Now; what does that mean. He isn't saying he made it. He isn't saying he thought it up. He's saying 'I thought this was a damn fine idea, and look! I was right, vote for me because we both use email!)
Please stop raping the dead horse that is this joke. Yes, amuzing at first, now all I can say is 'Get over it and look at the facts.'
Please provide links to the number of times Microsoft has filed a patent infringement suit against someone. I think you will find that most if not all suits regarding patents have been against Microsoft. It would appear that Microsoft is simply trying to protect themselves.
I think you misunderstand what the obfuscator does. First, you must understand that all .NET assemblies are compiled to MSIL. Once that happens, anyone can use a tool, ILDASM.EXE, to view the "disassembled" assembly. You get function names, global variable names, parameter types, called framework functions, basically all the stuff you really would rather people not see.
.NET developers out there are happy with the functionality of the current crop of obfuscators, and many use such programs to "encrypt" their commercial apps.
This is where the obfuscators come in. They start renaming your functions, parameters, types, etc., but only in the MSIL that's in the assembly, not in your source code. There are other levels of obfuscation that some products support, but most of them will at least do this for you. If you don't think that's a big deal, go here to see for yourself. Staring at code that has all functions named "a1, a2, a3" and so one, combined with a similar naming scheme for other variables...well, it'll drive you to the bottle.
Many
First, this is a patent application, not an actual patent grant. I doubt that the application would last very long in its current form - it's too broad, even by the USPTO's narrow criteria for broadness.
Second, because Microsoft is standardizing this technology through the ECMA, as an eventual lead-in to ISO, they will be in a difficult position if they start demanding royalties or playing RAND games.
They backed off on the Kerberos thing, and they could be made to back off here too - blatantly targetting the only two competitors in the CLR space (Mono and Portable.NET) won't win them any PR points.
Third, most of what is discussed here has precedents in prior art. If Mono and Portable.NET infringe, then so does the JVM, and that's definite prior art.
We perhaps need to organise a bit to lobby on this one, but it isn't the end of the world - yet.
More information on Portable.NET here.
You wouldn't be confusing the C Sharp language and the CLR with the whole of Dotnet would you?
If not, I'd appreciate a reference where MS states the intention of making ASP.NET, Windows Forms, ADO.NET etc. ECMA standards.
And a scolding is in order for Icaza and gang.
What?! Oh I see, it's Icaza's fault that MS is trying to patent technology so vague that it even affects Apache.
Or are you saying that nothing is worth doing because someone may try and patent it later?
First of all, this patent only applies to "web services". Mono is so much more than that.
Second of all, Mono was started before this patent was filed, and it hasn't been accepted yet. Say what you will about the patent office, they still reject 75% of all patent applications.. why are you so sure this one will go through?
Apparently, you didn't do any research. This is the problem on slashdot these days. People run there mouth without even checking the facts first.
.NET
See the Mono FAQ at
http://www.go-mono.com/faq.html#licensing
"The C# Compiler is released under the terms of the GNU GPL. The runtime libraries are under the GNU Library GPL. And the class libraries are released under the terms of the MIT X11 license."
"The Mono runtime and the Mono C# Compiler are also available under a proprietary license for those who can not use the LGPL and the GPL in their code."
Mono is not the only implementation of the Microsoft
There is Microsoft's Shared Source CLI (also known as Rotor) and is open sourced for only
non-commercial research. It works on Windows, FreeBSD, MacOS X, and Linux.
Then there is the Intel ORP at Intel Research.
There is the DotGNU Portable.NET implemenation as well.
I'm sure other companies, such as, HP and IBM have their own internal implementations to play with especially since they took part in the standards process.
You can do the same thing in java.
google for 'mocha'.
See also my other post in reply to another person who was similarly confused about patent law.
If a thing is not diminished by being shared, it is not rightly owned if it is only owned & not shared. S. Augustine
The Java VM wasn't designed to support multiple languages, the .NET CLR was.
The .NET package is more integrated than a Java/Linux solution (eg deployment is easier using .NET)
Maybe this will shed some light on the subject...
# is not. It's a hash.
And to think I've been incorrectly referring to it as an octothorpe all my life (except for that brief period when it was simply a "tic-tac-toe board"). I would never think to call C# "C sharp" unless I was talking about musical notes....
Mono neither a bet nor a gamble. As laid out quite clearly in their FAQ (you have read it, right?) Mono is an implementation of a CLR, so allowing the construction of applications written in many different languages. A much cleaner framework than the current Gnome implementation.
Whether
You can only apply for a patent on things that have been kept secret before you applied. Anything that is public domain (or even published as a result of industrial espionage) can not be patented. Therefore the only thing that Microsoft can patent is the low level functionality of parts of their own runtime that were not released in the shared source version. This is stuff that would probably be implemented differently on non-windows platforms anyway, so the patent won't have much effect. For another example of how well patents work, have a look at the AAC audio compression algorithm patented by Dolby / the MPEG-LA. Currently the best AAC encoder is written by PsyTEL and doesn't use any of the patented algorithms. Algorithmic patents simply don't work. In general, a good algorithm is so obvious that someone else has already thought of it, but didn't patent it because it was so obvious, or it's so complicated that while it may appear to be the best, a little more thought can lead to an even better one.
I am TheRaven on Soylent News
Look here, page 17.
Many .NET developers out there are happy with the functionality of the current crop of obfuscators, and many use such programs to "encrypt" their commercial apps.
.NET Developers are not happy with obfuscation. Obfuscators cannot encrypt symbols that interface with the .NET Framework, and these are usually the most damning. A good programmer can trace through obfuscated symbol names with a debugger, adding a few comments here and there and a few minutes later beat most copy protection systems built into .NET code. When your program has to access registry entries, files, user input, etc. there is no way to hide this with an obfuscator.
And many
There are further problems with obfuscation; your program losses large abilities with the reflection API, serialization may break, and encrypted crash stack-frames make it hard to glen useful info from a testing department.
I have a different protection system available:
http://thinstall.com/dotnet
which does not exhibit any of this short-commings. However this solution prevents the resulting EXE from running on Mono.
-- Virtual Windows Project
Microsoft started filing this patent in July 2001. I think that predates most of the Mono effort.
And what about having opened the specs up in the form of an ECMA standard, doesn't that make it a bit harder?
The patent looks like it applies to .NET, not ECMA C#.
In any case, Microsoft's patent is probably legally completely useless anyway. What it tells us, though, is their intent and wishes. And why battle with Microsoft over this? C# isn't worth it (Java isn't either).
Another way of thinking about this is that Java lets you think about the important parts of your software rather than reinventing the wheel to do I/O and memory management.