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?"
Software patents will soon see their death.
It's only a matter of time before the processing of such irrational IP-related legal claims becomes impossible.
Which, of course, doesn't matter anyway because companies like Microsoft have made stealing ideas so profitable that they should have a patent on it.
Reply or e-mail; don't vaguely moderate. Ex-O'Reilly/MIT employee, now a full-time Google employee.
but I sure as hell wouldn't be giving them ideas.
>
i smell something SCO-ish brewing here...
well, it's nothing one behind the ear wouldn't cure
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
inux -is- going to steal valuable income-generating business, and therefore it should use it's newly acquired patents to sue? Are they going to use their patents? Yes. Thats why the got them. If they wanted everyone to use .NET, they wouldnt have patented it.
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.
Microsoft has never made money on its development tools and I don't think they're betting they will now so there would be little reason to pull the leash on C# development tools and the language itself. C#'s purpose is to sell Windows Server 2003 and the other .NET servers as well. If you use Linux to write C# for a Windows server, that's a happy day for M$. Now, running .aspx pages on a non-Windows-based server on the other hand . . .
--- Don't be a player hater: I meta-mod ALL negative mods as Unfair.
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 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.
Fixed your post...unless you seriously think that you can have all four together. And if you do, I want some of what you're smoking!
Could be wrong, but I think Microsoft actually "sees the light" in some respects, especially when it comes to a development platform. It makes sense- it builds a larger base of developers using .NET. Maybe not to the degree /.ers would want, but judging by the amount of open-source sites and projects that have a Microsoft affiliation, I think they're moving more that way.
.NET. Other libraries build on that functionality (such as Microsoft Application Blocks), but the entire core functionality is in System.*
As for "just System.*" being an open standard, it's important to realize that comprises all of
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."
Too bad the people at PARC did't patent the idea of a graphic windowing operating system. Where do you think Jobs and Gates got the idea? You very well could be buying your OS from Xerox.
Too bad the people at PARC did't patent the idea of a graphic windowing operating system.
They did. They waited too long to enforce the patents. Xerox totally bungled their chance to become Microsoft.
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?
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,
The article appears to confuse an issued patent with a published patent applications, citing to one of the latter, recently published application 20030028685.
.mono plan for managing the inevitable patents, the plan so excoriated in the register article, is perfectly responsible and while risk is ever-present in developing interoperable code, perfectly workable. The fact of 18-month publication facilitates and permits actually permits present projects to begin early on its search for prior art.
The conditions necessary to obtain a published patent application are these: (1) file one and pay a filing fee, including the proper formal documents (like an inventor's declaration; and (2) wait 18 months. An application creates no presently enforceable rights, and none will accrue until the patent actually issues.
Indeed, by beginning with the wildly broad claims (and they are pretty astonishing, I'll admit), any narrowing amendments entered during prosecution are likely to give rise to a much more limited patent.
Let's not get hysterical before there is something to get hysterical about. The
Fears regarding the quoted paragraph [0101] are misguided. It is routine boilerplate and primarily precatory, of virtually no importance concerning the meaning of the claims.
I am told that some of these new decaffinated brands are just as tasty as the regular stuff. Let's not go nuts, at least not before there is a reason to go nuts.
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.
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.
this is incorrect. The .NET runtime version 1.1 comes with Windows Server 2003.
.NET Runtime version 1 comes with certain packagines of Windows XP (tablet PC, perhaps ? Media Center ?)
.net is seeing admirable deployment on the server side. However, unlike java, it is also seeing some real-world apps on the client as well.
I am probably wrong on this, but i think the
the runtime is getting out there. More and more things will start to require it.
My opinions are my own, and do not necessarily represent those of my employer.
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
Nice. For some bizarre reason, someone modded my post as a "Troll."
.NET. A restructuring of the concept of files, getting rid of "drive letters" and such. Everything from the ability to add and remove RAM without rebooting, to XML scripted modular custom installations. Go to WinSuperSite and read the Road To Longhorn Part 2 for a full list of all the features, to many to list.
Incredible features? What, you mean like wiggly windows?
I mean vector-scaled, hardware-accelerated graphics. An abandonment of Win32 for
So far, Longhorn seems to be additional eye candy+a database-like filesystem.
Well, then you clearly haven't even bothered reading up on it.
Now, Longhorn will maybe come out in 2005, maybe 2006. By then we'll have a db filesystem for Linux and Linux desktop will be able to match Windows (and OS X) eye candy...
I doubt it. Not as long as we're stuck on X11 + xlib + window manager + desktop environment + conflicting windowing libraries and inconstent interfaces.
* snip three reactive paragraphs about my sig *
"Sufferin' succotash."
Guess I shouldn't hold my breath.
No sig, sorry.
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?
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