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?"
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
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
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.
*and of course, the the USPTO, "novel" means "anything a 18-month old baby couldn't have authored."
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.
I wont say stupid, but probably biased.
.NET can leverage native OS architecture quite efficiently. It simply blows Java Swing away in this area.
I'm a programmer / project manager ( / DBA, etc. ) for a very small shop. We write in house programs for specific industry requirements.
We've done stuff in Java; as an OOP advocate, I love Java. As project manager, I get blank stares from programmers that want the equivalent of visual basic to work in. We've now standardized on C#.NET. The programmers still look a little lost when I emphasize OO practices, but they're real happy with Visual Studio to hold their hands.
So,
Is it faster? Perhaps.
Remember, in a rich client GUI environment,
Is Development Faster ? YES.
Bash them all the you like. Microsoft's development tools have always been good. The Visual Studio suite is much better than any equivalent product I've seen.
Is it cross platform ? No
Yes, a big no here. However, expect to see the CLR running on platforms other than straight up Windows in the future. In the end, when most commercial clients run Windows this is more of a selling point than a detriment.
Does it do things that other languages cannot? No
Well, this can pretty much be said of any language. As a Java programmer, I really enjoy C#, it's does the same thing as Java, it just does it quite well for Windows.
Is it Encumbered By Patents? Yes
So? For OSS this doesn't fly, for the boss, this isn't really a consideration.
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.
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
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