Can Recent MS Patents Affect Mono and DotGNU?
5p1urge asks: "I really love the Mono and DotGNU projects. As someone who's worked in Java for for over 5 years, I welcome C# and it's buddies to the OpenSource world. However, here's question: as far as I can tell, only the C# spec and System.* assemblies were submitted to ECMA and therefore made officially public. What happens when MS decides that, Linux -is- going to steal valuable income-generating business, and therefore it should use it's newly acquired patents to sue? I'd appreciate comments from IT lawyers / solicitors and individuals with experience in this area, as well as from the wider community. I'm asking this question because I want to code in mono / DotGnu but I'm cautious because I wonder if MS can take it away from us?"
but I sure as hell wouldn't be giving them ideas.
>
Ballmer, Allchin and others have made it clear many times that they are using these patents to pursue the strategy against open source software outlined in the halloween papers. Patents are a not new way for software makers to gain control over other people's intellectual property. And not a common one at all. There are not many software makers which have engaged in an extensive patenting strategy like Microsoft. Most of the extensive patenters are large hardware makers. Microsoft was the only software maker at the 1994 USPTO hearings that advocated software patents.
There is no god
I welcome C# and it's buddies to the OpenSource world.
looked suspiciously like "I for one welcome our new C# overlords." the first and second times I read it.
We recently had heard in the office over one of the Yellow Machine that's made by Anthology Solutions.
Thanks, and on the other side of the case, would it matter? As far as I'm aware, the courts have always allowed the copying of functionality/appearance, just not the methods used. Since this is a compatibility issue, I doubt MS would have a case anyways, unless the methods used to be compatible were the same as their patented methods.
The only thing you can patent is an algorithm, not functionality. If you get a really broad patent on the algorithm, you might have a case, but it's a pretty weak one (since you may lose the patent). As I see it, software patents really aren't worth the trouble, since the only thing they really protect is your algorithm for doing something, but it tells everyone how you do it (making it easier to copy functionality). If MS does sue, who would they sue, and what would they get? It's pretty much guaranteed that they'll spend more in legal fees than they'll ever see if they win.
--That's the point of being root, you can do anything you want, even if it's stupid.
er, why would you think that? intellectual property has only become stronger over the last 20, 100, 500 years.
government regulation of economic rights parallels economic growth. when agriculture became the dominant economic model, feudalism and land-rights became entrenched. when capitalism and the industrial revolution made their debut, property rights becamed enshrined by the state. now that we are heading into a "post-industrial" (don't blame me for that phrase), information-based economy, intellectual property rights will becomed entrenched.
let's face it: the opensource folks like us are the diggers and godwinists of the information revolution. we will impact the nature of property rights, but not abolish them.
doubt me? read up on the diggers and william godwin. sounds like the oss movement today, right?
2 1337 4 u!
I'm waiting for Parrot to mature. It's a register-oriented bytecode interpreter, designed for Perl 6, but with other languages in the wings. When it gets Perl's libraries, Ruby's syntax, real threads, and great speed, I think it will do well.
Litigious bastards
I wish too that software patents would meet their end, however such thinking currently is nothing more then a dream. For software patents to truly be defeated there would need to be serious and repeated challenges to them, and of those challenges thus far none have had enough force to do what we want to see happen. Keep on dreaming for now, because for the time being, software patents are a reality and here to stay for the forcible future, just like the DMCA I'm afraid.
Despite the fact that every word I said above is factual... I know I am going to get flamed for this so... let er rip...
Help Brendan pay off his student loans
I would suggest to you that perhaps you should concentrate your efforts on freely available programming languages and protocols instead. Python is steadily gaining ground as an embedded scripting solution and more and more sites are turning to Perl so this will boost your employability.
As far as microsoft goes: man who sleeps with gates wakes up as goatse.
Don't do it.
.NET is halfopen, a great bit of .NET software won't run on linux anyways, which reduces the weight of one of the arguments for Mono significantly.
.NET might even be an interesting technology, community based (partial) support will only benefit Microsoft. It will add additional Software for Windows but probably only few Applications will arrive for Linux, since producing applications with a small subset of the API will be more work. Considering that a commercial QT license is not that expensive for businesses developing software compared to the labour cost, and the very few applications using this powerfull toolkit for easy multiplatform development, I really can't see many companies limiting themselves to the subset of .NET to create applications that also run on Linux.
I don't like the development of Mono and DotGnu anyways. Think about it. Gnome started in part because some people didn't like the QT license. A "problem" that is now resolved with QT being GPL licensed and a contract that will put it under a BSD-style license once Trolltech decides to stop working on it or is going out of business.
Mono on the other hand reproduces MS technology that MS apperantly doesn't want to be open despite it's (marketing) efforts to standardize a subset of the Framework. I think developing with/for mono is counterproductive since it allows possibly great Opensource software to be used with Windows, taking away another reason for people to switch or even consider a switch. Because only a subset of
While
So in the end it should be clear, don't support Mono by developing applications for/with it.
Another thought. Suppose they did `take it away'. What good will that do them? How many languages are there which duplicate or mimic large portions of basic C syntax and structures? It seems to me that all the Mono folks would need to do is declare that they were developing a new language using syntax similar to C#.
They could call it `D-flat'. :-)
philcrissman.com.
*and of course, the the USPTO, "novel" means "anything a 18-month old baby couldn't have authored."
What on earth is so great about .NET and or Mono. I see absolutely nothing about it that would make me desire to code with it.
Is it faster? No
Is Development Faster ? No
Is it cross platform ? No
Does it do things that other languages cannot? No
Is it Encumbered By Patents? Yes
Sure makes me want to use it....
Got Code?
Come on! Even Bill Gates knows this one:
I can't patent "A Device that Catches Small Animals", but I can patent "An Improved Device for Capturing Small Animals by Use of Magical Cheese" in the hardware world. In the software world, I can go so far as to patent "Magical Cheese" without the recipe for said cheese or an investigation into my magical bacteria.
We don't need to do completely away with software patents any more than we need to do away with all patents. We need to make both reasonable.
By reasonable, I mean non-profit groups should be exempt, patents should last 2-5 years depending upon the technology involved, and nothing that significantly advances a previous technology should fall under that technology's patent.
Patents should spawn innovation in exchange for the disclosure of the underlying technology. They shouldn't hold innovation hostage for decades to come.
You can't judge a book by the way it wears its hair.
Until .NET is installed on enough desktops, it is going to be difficult to justify developing distributeable applications with it.
No, the courts have become very tolerant of patents with vague claims. A recent (upheld!) example is the patent on a credit-card-sized PDA, which was upheld as applying to a non-credit-card-sized PDA even though the patent didn't even describe how the small size was to be achieved.
Lacking <sarcasm> tags,
Yes, sadly, many programs for non-MS operating systems, like Linux, are blatant clones of that from Microsoft. It's always been a bit ironic, but livable. But cloning .NET--as Mono--is by far one of the dumbest moves ever, and I mean that in a non-trolling way. At its heart, .NET is a way to break free from the aged Win32 API and old fashioned languages like C and C++. This is they key point of .NET, not web services. Now you can use Visual Basic-like forms from any language. Now you can have garbage collection. Now you can have true modules, not the FORTRAN-era separate compilation of C. None of this is new; none of this was invented by Microsoft. But is all so much better than building apps with MFC or raw Win32 calls. Windows programmers are flocking to .NET for this reason.
.NET and C#. So anyone promoting Mono for Linux is putting their effort in entirely the wrong place. This is the one spot in which open source is already far superior, but for some reasons some zealots want to copy the inferfior solution, most likely just to spite Microsoft. What a complete waste of time.
But there are other ways to reach the same end. Python + a UI toolkit is a biggie. It's even more modern than C#, which is hopelessly mired in the 1990s philosophy of very strict object-orientation (Python is much looser in this regard). And it's interpreted, so you can incrementally build and test code, while still having all the same general benefits of
As someone who's worked in Java for for over 5 years, I welcome C# and it's buddies to the OpenSource world.
:)
.NET platform, and I don't see it's justifiable to implement .NET on Linux than Windows. You're right that MS is holding the balls of Mono and they could do whatever they like with it. So, why take the risk?
:)
I highly recommend you stick to Java.
All our major projects are developed under J2EE and we first use Tomcat as it's free. Later we switched to BEA because it has better performance; years later we changed our deployment to Oracle App servers for Linux because Oracle offered some attractive discounts for their Linux initiatives. We saved huge amount of operational/maintenance budge in switching from UNIX/Windows to Linux.
All of the migrations took us very minimal efforts because all J2EE platforms are pretty much agree on the same standard. Sweet isn't it?
I don't think you've such a freedom in
(Ok Ok, I know SUN is holding the balls of others with that J2EE certification, but you can see their difference.
Definitely not true. Microsoft's first products were languages, and until the mid-1990s, it was their cash cow.
Office and consumer OSs are definitely the current cash cow, but I believe that the Dev Tools group is still in the black. It's not easy to figure out exactly how much they pull in from tools because in their financials it's lumped in a bunch of other things. However, in their latest 10k, revenue from "developer tools, training, certification, Microsoft Press and other services" was listed at US$1.016 BILLION. Yes, with a B.
How much of that is actual developer tools isn't clear, but that group as a whole (which includes CALs, licensing, etc.) made US$1.409 billion last year, and they're estimating US$1.848 billion this year.
The Register article is pointing at a patent APPLICATION. Despite their comment, "But an umbrella claim that protects its .NET APIs, granted last week, highlights the extent of its determination to protect its interfaces," I don't see any patent granted last week.
.NET API is even patentable. Certainly claim 1, as written, is not patentable: "1. 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." There are a zillion systems out there that match the terms of this claim precisely. So it is hardly novel.
It remains to be seen whether the
In fact the whole patent application is written so poorly that I can't see it being granted in anything like its present form. Maybe there is a way of patenting an API but this ain't it.
why would you think that? intellectual property has only become stronger over the last 20, 100, 500 years.
Of course, it hasn't been a steady advance, and there have been occasional major setbacks to the progression.
For example, a bit over 200 years back, there was a revolution in North America, and when a new Constitution was established, it restricted "IP" to a short time, and only when it advances the arts and sciences. Some economists and historians have claimed that this was one of the major reasons the US became the world's biggest economic power. Of course, now this has mostly been cancelled by recent laws extending patent and copyright indefinitely, and allowing them for rather silly "inventions". So the US's technical lead is probably ended, at least for the near future.
But it's always possible we'll see another such revolution, either in the US or in another part of the world that wants to take the lead in technology while the US strangles its own creative folks. It has happened before, after all; there's no reason to believe it can't ever happen again.
Those who do study history are doomed to stand helplessly by while everyone else repeats it.
Dan, the author of the Parrot VM, has a bet with Pythong's Guido van Rossum. Dan bet Guido that Parrot can execute pure Python bytecode faster than the Python interpreter can. The battle will be decided at OSCON 2004 in Portland, OR. He sounds pretty confident:
"Boys and girls, let's get this straight. I'm only going to say this once. Parrot is an order of magnitude faster than perl 5 doing equivalent things. Without enabling any extraordinary measures. You know how Python's performance rates against Perl 5. Do the math."
Dan's blog entry about the bet: http://www.sidhe.org/~dan/blog/archives/000139.ht
cpeterso
OK, Windows is Microsoft's flagship OS, and they want to defend their turf. So, lets say developers and their customers pay MS the required tithe. If you play this software game too far, is there any room for little-guy developers of even Windows itself?
When MS started out with DOS and then with Windows, I think they went to great lengths to get "mindshare" of developers: MSDN, Visual Basic for applications programmers, VC++ for heavy-metal programmers, and so on. And then you had all the "third parties." Where would the PC have been without Lotus 123? Where would programming languages on the PC be without Borland? It is said that MS treatment of developers is what sunk OS/2. IBM was charging an arm-and-a-leg for OS/2 development tools at a time when MS was handing tools out at conferences to get developers to forgo OS/2 and develop for Win32.
But a good part of MS was that they fostered 3rd party developers, but when you got big enough they either bought you out or squashed you.
So having good developer relations was important to the growth of Windows and Microsoft, and the fact that there were a lot of people besides Microsoft writing apps for Windows was part of what was so great about Windows, especially since early iterations of Microsoft compilers, spread sheets, and other apps were pretty lame.
But now the development tools all cost an arm and a leg, and with software patents as a club, what size developer will Microsoft tolerate. If you are selling a recipe program written in VB to a handful of friends, you will be off the radar, but at what market size does MS these days decide they want all of that market.
More importantly, if independent software developers are all put out of business through the enforcement of IP, how is MS going to develop new markets through their usual strategy of buying out or squashing out the pioneers. MS has in the past been pretty clumsy in all their attempts at new markets and has depended on acquisition (can you say Anders Hejlsberg? I knew you could!).
Besides choking off small developers, at what point is MS going to shoot themselves in the foot?
Come on! Even Bill Gates knows this one:
... is patenting as much as we can ... A future start-up with no patents of its own will be forced to pay whatever price the giants choose to impose."
"If people had understood how patents would be granted when most of today's ideas were invented and had taken out patents, the industry would be at a complete standstill today."
Bill Gates
You forgot the most important part of this quote...
"The solution
Therefore, I don't think Bill Gates knows this one, he seems to be all for patents.
Every line of .NET framework code (J#/C#/VB.NET) is a line that didn't get written in Java. From that perspective, Mono and DotGNU help Microsoft to expand the market for .NET.
.NET though? Microsoft charges only for the development environment, which you can purchase from Borland if you like. The real strategy is to keep people focused on the Windows platform. .NET's value to Micrososft is to make Windows developers more productive.
.NET on Linux? Maybe for a short time this could happen, and it is a danger, but I just wonder if they'll dare pull such a stunt given the EU/US anti-trust watchdogs. The only reason they would do it is to try and slow down the march towards Linux, which, frankly, will not be affected by the presence of .NET on that platform.
.NET at all on Linux (note that I LOVE .NET on Windows)? The whole point of writing distributed applications with Web services is so that platforms can communicate over SOAP (or SOAP-ey) protocols. I don't see any major advantage of .NET over J2EE for an enterprise dedicated to Linux.
What is the revenue model for
Bottom line: Microsoft will likely allow Mono (as they have so far) and DotGNU until applications utilizing it on Linux reach critical mass. At that point, Microosft will probably start charging royalties to commercial developers (either per programmer, or rev share).
Will Microsoft forbid
Devil's Advocate note: I also wonder if they'll try to stop it now because if they let it go for too long without challenging it, the courts might say they didn't defend it for so long that they lost their chance (but I'm not a lawyer).
Finally: Why use
Wrong.
Steve Ballmer has explicitly stated that free implementations of Dotnet will not be tolerated and that he will use patents to protect the "millions" invested.
Reference: Interview in May 2002 issue of IX Magazine (in German, excerpt here).