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.
This note was originally published at John Munsch weblog on January the 14th.
.NET to fail and fail badly
.NET "rebuttal" that I linked to above, "For non-profit use VS.NET can be had pretty cheaply, especially if you know anyone that is in college somewhere." Pretty cheaply? For a non-profit (that means charities, churches, universities, the hobbiest who is going to give away his work for FREE)... pretty cheaply? Wow. That is well and truly pathetic. To try and justify it, and say, oh well, you can try to scam an educational discount so it won't be so dear, is even more pathetic.
.NET commercials with William H. Gacy telling you how great it is without really ever telling you anything about it? Microsoft doesn't trust .NET to stand on its own technical merits and it knows it may go like cod-liver oil down the gullets of a lot of people who have seen how the company works behind closed doors even if it were the tech shiznit.
.NET just in case there wasn't any grassroots community who actually wanted to do it. Or maybe just in case there was and they couldn't control it.
.NET for other platforms? If those same people were working on giving us new libraries and new tools for an already existing language instead of pouring in the thousands of man hours it's going to take to build a copy of the C# compiler or a .NET version of Ant and JUnit?
Lots of reasons why I want
It's benefits a criminal organization. Not one that's been found guilty of crimes once or maybe twice, but lots and lots of times. Those crimes are many and varied, but here's just a few of them: Stac Electronics v. Microsoft, DOJ v. Microsoft, Sun v. Microsoft.
P.S. If you want to split hairs, Stac v. Microsoft isn't a criminal action, it's doesn't stem from a criminal abuse of their monopoly like the other two cases. Instead it was just a case of a small company being driven out of business by willful patent infringement, theft of trade secrets, etc.
Microsoft isn't just one thing anymore. It's too damn big for that. I'm sure even Bill himself knows better than to think that he truly controls the whole ship because it's become big enough that he can't possibly know all the projects, people, etc. anymore. But even a really large company still has a kind of collective personality that it exudes and a large part of the personality both internal and external to Microsoft for many years now is that of a total control freak.
If they don't own it, if they don't control it, if they didn't create it, if it doesn't have a broad stamp from Microsoft on it, then they don't want it. Sometimes it's sufficient for the thing to merely exist and they'll refuse to acknowledge it, other times they need to actively stamp it out because they can't control it.
When was the last time you can remember Microsoft saying they supported a standard? That is, not something they invented and submitted a RFC for, an actual, take it off the shelf and re-implement it without renaming it or "improving" it so it doesn't work with anybody else standard. C++? Basic? HTML? A video or audio codec? Java? Anything?
I'm sure there's something, somebody will point out their excellent support for TCP/IP or something and I'm sure that's true. But if you were to look at Microsoft as a person in your life, you'd wonder what was wrong with him or her such that so much had to be controlled by that person.
When your business is selling the operating systems that 90+% of everybody uses, software development tools should not be a profit center.
Why should I have to plunk down a couple of thousand dollars for a "universal subscription" in order to have access to compilers and basic development information? Sun doesn't have to do that? On this point I'll quote from the
Marketing. Have you been "lucky" enough to catch one of the
So they are going to pull a page out of Intel's bum-bum-buh-bum "Intel Inside" playbook and try to sell the brand like it's sneakers and cola. Trust us, you'll look cool if you use it, and we'll keep hammering the brand on TV so somebody who doesn't have much tech savvy in your organization will ask you if you are using it, or have plans to port to it, or whatever, even if he hasn't got a clue what "it" is in this case.
They don't trust you. They don't like what they can't control and they can't control you. They can try and they always will keep trying but ultimately you are going to see them keep trying to do things and always keep a step towards the door just so they can bolt if they have to. Want to see what I mean? Go visit GotDotNet sometime if you haven't already been there. It's the grassroots community website that Microsoft put up to support
Ever been to SourceForge? Of course you have, everybody has because that's one of the hubs of all open source projects. You can go there and get the source of thousands of cool open source projects and it really serves the community well. There's even hundreds of projects now that list C# among their programming languages. So why did Microsoft feel compelled to create their own GotDotNet Workspaces that is clearly just a ripoff of SourceForge?
A few reasons are fairly clear: First, at many of their workspaces you don't get in unless they know who you are. Ever been stopped at SourceForge and asked for a name and password to look at a project? What about download binaries or source? No? At GotDotNet you will, lots of projects are marked with a lock. Second, forget about all those messy licenses that Microsoft might not approve of, you don't need to worry your little head about BSD vs. GPL vs. LGPL. You've got the one true workspace license that you have to agree to, or else you won't be putting your project there. Lastly, well it's kind of obvious, but it's really all about control isn't it. After all, if you aren't under their thumb, that has to be a bad thing. So a SourceForge that they control is pretty much a requirement, isn't it?
It's a really sad way for a lot of people to waste a whole lot of time rebuilding that which already exists. Wouldn't the whole computing world be a lot better if there wasn't a team of people, maybe a couple of teams of people building complete copies of
In the end, we'll all just be left with another way to do the exact same thing only in a different language. Lord knows the world benefits now from being unable to share media between France, Germany, Italy, Spain, the US, and Japan because we can't all speak the same language. I benefit every day from the fact that I can't read a Japanese manga I might enjoy or understand a TV show from Europe. Once you are done building this tower, go build a few more right beside it using Perl, Python, and Ruby too. They're all trailing behind in certain areas, we need to make sure the same set of stuff is reinvented and rewritten for all of them too.
"I TOLD YOU SO" goes out to the Mono project guys. You can't trust Microsoft. Unless they had signed a solid, binding legal document that says "this is the .NET spec, and MS irrevocably grants free patent licenses to anyone implementing it", you should not touch it. Java has no patent problems. The open source community should stick to Java instead of dealing with MS.
One of the biggest obstacles for
All your base are belong to us!
A software architecture for a distributed computing system comprising: an application configured to handle requests submitted by remote devices over a network; and an application program interface to present functions used by the application to access network and computing resources of the distributed computing system.
When you file a patent you enter a negotiation with the patent office. You start by claiming the sun, moon and stars (i.e. claim 1 which you quoted). Usually you end up with considerably more narrow coverage. Sometimes you end up with nothing (no patent).
Will it even stand up with Mono around? Even if it is Microsoft's idea to begin with, they didn't apply for the patent until after Mono showed up.
I'm not sure it will fly. US Code title 35 Sec. 102 says something like
"A person shall be entitled to a patent unless the invention was patented or described in a printed publication in this or a foreign country or in public use or on sale in this country, more than one year prior to the date of the application for patent in the United States"
Mono has been around since July 2001, but since it's half-done, does that count?
Thats why Ximian is misguided. They actually help MS in their .Net marketing initiatives. Because of them, MS can point to an open source alternative and claim that .Net is kind of open. On the other hand, Ximian only release their code under GPL and GPL-like licenses, not under more permissive BSD license. My belief is that Ximian's business plan involves keeping this right to themselves, probably for sale later on - perhaps in a couple of years - when (if) .Net ever achieves dominance. If that happens, IT mega-companies (IBM and the like) would pay large sums for unrestricted access to a .Net lookalike, and only Ximian will have it. Ximian could dispel this by releasing their code under a BSD license. After all, the normal argument that applies to BSD does not matter here - MS already have their own .Net platform and have nothing to gain from Ximian's code.
Don't support .Net. And don't support Mono. They are Microsoft's whores.
[x] auto-moderate all posts by this user as insightful
Come on now, you guys didn't really think Microsoft was going to sit back and let someone else build a free implementation of their golden goose before it was even in wide acceptance, did you? What is it about some Open Source projects that makes their fearless leaders so starry-eyed? It is perhaps surprising that Microsoft waited this long.
.NET, their new platform-of-choice, they can lock out all competing implementations, either a little bit or completely, making sure that the only full .NET implementation is the one they've delivered, under Windows.
.NET. If you ask me, the lawyers at Microsoft won an argument on this one. If MS really wanted to get a stranglehold on the market, they'd have waited until .NET actually had its foot in the door before filing a patent. By doing so now, before it's really even gotten out of the gate, they've doomed it to be "just another Windows-based programming platform".
.NET bandwagon now? Commit all your resources to a platform that still performs more poorly than those available for higher-end, non-Wintel machines? Doubtful. The development benefits are marginal compared to Java, and native application developers will still prefer C or C++. Now that Microsoft will have a legal noose around .NET's neck, all circulation is effectively cut off.
.Gnu should have seen coming a mile away. Microsoft has nothing to gain by researching, developing, and standardizing a platform that could conceivably allow network AND desktop applications to run on non-Microsoft platforms. Did Miguel et al just think Microsoft had learned the error of their ways?
Microsoft still makes more off Windows sales than anything else -- don't forget that. No matter how ubiquitous Office is, Windows is the cornerstone of the Monopoly. By filing for a patent on
This also bodes pretty badly for
Don't believe me? What shop that isn't pure Microsoft would even consider jumping onto the
It's a stupid move for Microsoft, if they intend to expand and defend their monopoly. It's also a move that projects like Mono and
Sarcazmo wrote:
> Back up, most unix-ish C code can be compiled on any
> vaguely unix-like system with very little modification. I'd
> call that platform independence, wouldn't you?
Very good point. Back in 1989-91, I was working on a 3D radiation treatment planning program, in C, that had to run under X11 on a DEC MicroVAX, HP, and a SGI, with their various flavors of Unix. The program had a single source, with all the platform dependent stuff (there wasn't a lot of it) isolated from the rest. Back then, platform independence (also known as portability) was the in thing.
Historical note: in the first year of that job, in a lab down the hall, was a pre-3.0 version of Windows. The poor primitive thing was still trying to figure out task switching. By the last year of that job, Linux was born.
> Imagine that, and without the overhead of a bloated VM
> to slow things way down.
Despite the VM and its warts, Java is still a pretty cool language. It would be quite amusing to run Java on one of today's computers side-by-side with a 1990 computer running a C program under X11. I wonder if advances in computing speed really compensate for having a VM?
"The path of peace is yours to discover for eternity."
Japanese version of "Mothra" (1961)
In addition to the independent claims, you have a set of "dependent" claims, which are like "The device of claim 1, where [some more specific requirement]." These dependent claims serve three purposes:
I am not a lawyer, but I have worked with a number of lawyers to draft (non-software) patent claims and to deal with US and international patent examiners.
If a thing is not diminished by being shared, it is not rightly owned if it is only owned & not shared. S. Augustine
I think you misunderstood. I used to be a "Java fan" and am responsible for its adoption by several companies. But Sun has demonstrated bad faith and incompetence when it comes to Java over the last half dozen years: not only has Sun patented key aspects of Java, they have also pulled out of several standardization efforts, and they have failed to deliver essential technologies and enhancements that they promised.
I trust you've seen NZHeretic's post [slashdot.org]?
NZHeretic is wrong: it is unclear whether Java is open to reimplementation; Sun still holds key patents, for example, and those have not been dedicated to the public domain. But that question is academic anyway because key APIs (like Swing) are not suficiently documented, so you couldn't reimplement them without reading Sun's sources if you wanted to, and if you do read Sun's sources, you are bound by their source license.
Java is not the answer for open source development--Sun has demonstrated that amply since 1996. There is still some hope for C#: the Mono project is actually increasingly relying on non-.NET APIs. Unless the Microsoft patent also covers ECMA C# (which seems really unlikely), ECMA C# with Gnome libraries may still be a perfectly good and viable choice, whith fewer technical warts than Java and fewer legal problems than Java.
Now, if we are going to develop "the next" programming language or platform, let's look at your points:
Java is not a particularly well-engineered platform because many of its tradeoffs were driven by one environment (platform-independent, untrusted client software) and make no sense for a general-purpose language. And C# has copied most of those bad tradeoffs. Perhaps it's good that both Java and C# are removing themselves from the space of open, free languages: it might be best to start over with a simpler, better engineered system anyway.