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?"
You should have given an answer to that before you started Mono. At the end, you and your mates decided to support MS in order to let Linux have a cut of the glory.
Why do people feel that Slashdot is an appropriate forum to ask legal questions? Half the posts on this thread are going to berate the poster and ask him to go hire a lawyer. The other half will give their two cents but claim "IANAL".
And, of course, to fall in both categories, I have to say IANAL
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?"
Yes, MS can take it away from you, but you know this already. Why not just code in
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!
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 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.
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
Tell that to Barnes and Noble; they should be allowed to reinstate the appearance of a one-click order system.
*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.
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.
having never played with C!@#$%^&*() or whatever it is, i can't compare it to java. however, you're dealin with the devil. and when you deal with the devil, you're gonna get burned.
<disclaimer> no, billyg and the boyz are not the devil, nor are they evil.</disclaimer>
My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
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
Why even bother speculating? It is not for anyone to decide but Microsoft.
.NET platform.
The community should ask Microsoft to issue a direct agreement and public announcement that they will not pursue patent attacks against Mono and DotGnu for any part of the
If they won't do it, then the projects aren't safe and people have enough information to know to avoid them. Even if the lawsuits don't have merit, who wants to spend time in court that they could be spending on something more constructure (Like Parrot or OSS Java later this year if Sun follows through on its promise)
Until they clarify their position (and theirs is the ONLY one that matters), I would just assume they are doomed.
Well, wait until Longhorn comes out, which will be using .NET for its interface, and Win32 will be replaced by it. Longhorn will be the big .NET push. The whole Windows system will be based on it (and by then people will be clamoring for a Windows upgrade, not to mention all the incredible features Longhorn is already boasting, so I imagine it will be a big seller).
"Sufferin' succotash."
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.
Here's a tip. Laws are only ever enacted to benefit the powerful, it has nothing to do with rationality or fairness.
I'd appreciate comments from IT lawyers / solicitors and individuals with experience in this area, as well as from the wider community.
In other words...
They're seeking comments from absolutely everyone.
---
Any man who can drive safely while kissing a pretty girl is simply not giving the kiss the attention it deserves. -- AE
Since every post here seems to thinks doomsday is unavoidable when using MS ideas on other platforms, may I remind everyone that you don't have to follow them to the letter!.
I mean, they opened up the basics that open up the platform, but does Linux/anything else really need WindowsForms/ASPX/ADO.NET/Whatever else that's not covered?
Imitation is nice, but I'm assuming that there are other ideas that can be explored and potentially take a twist for the better?... really, The beauty of the whole thing is if you write your own stuff that isn't legally ambiguous then you control where it can go so instead of a windows focused WindowForms you can have a Windowing library that is more generic and say works across several platforms and perhaps even windows... So, instead of ASPX you could hook up an "enhanced" PHP, use another dataset API instead of ADO and write a better windowing api, and that way your on stable legal terms instead of taking risks on ambiguity.
Mono's approach is somewhat on the right direction, they're basically copying down to the letter (with some creative license) and if a legal issue appears they'll just change the affected parts.
But that's just my 2 cents.
Microsoft uses its patents as a hedge against OTHER companies using their patents against Microsoft.
That's why you'll see cross licensing agreements between Apple and Microsoft and IBM etc.; Microsoft had to catch up in that respect actually since its patent portfolio wasn't a priority for a long time.
Microsoft along with those other big players don't tend to litigate and push their patents because they simply don't need to. They create intellectual property and through licensing agreements they can still share it amongst each other (sometimes grudgingly, but they don't want to get into a huge countersuit war on other patents they're "infringing" on).
It's only the little guys who have one patent and nothing to lose in a countersuit who will sue everybody to hell -- those are the true stiflers of innovation.
Not necessarily. The patents could be, as MS claims, defensive patents. It gives them some clout when dealing with unnecessarily stupid situations involving little craphole companies.
Even the article says that Microsoft doesn't have a history of enforcing patents (who reads the article anyway?). What they do instead is keep adding to the API forcing compatible projects to constantly play catch-up (see Wine).
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.
I don't know if Microsoft will use its patents to crush the MONO project but it may be an option. That should be enough to give the developers of MONO pause.
There was an anonymous coward who posted claiming to be a lawyer who said that these patents wouldn't effect MONO but he didn't elaborate. I have got to be skeptical.
The bottom line is: It is never a good idea to give Microsoft the option of crushing you. No one really knows what Microsoft will do except whatever it is, it will for sure be in their own best interest.
The race isn't always to the swift... but that's the way to bet!
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?
This is you in bed with Microsoft.
This is you getting fucked.
Any questions?
Just so you know, C# is a (open) language standard, and has very little to do with the .NET framework other than they were announced at the same time, and developed by the same people.
.NET framework isn't a language so much as, well, a framework. It's very much like the Java platform if you didn't limit yourself to programming for it only in Java. Only the .NET platform has the advantage of the developers having observed all the mistakes made with the Java platform, so they managed to avoid most of those and create some new ones of their own instead. Java, by the way, also fits your description of a language with basic C (well, more like C++) syntax and structures.
The
As an aside, there are also some experimental Java bytecode compilers out there that compile from other languages than Java. But Java doesn't have the resources of Microsoft pushing it forward, and Sun doesn't seem to be interested in letting go of their platform any more than MS does.
"I don't think the heavy stuff is going to come down for quite some time yet."
While there is never any reason to "get hysterical" and "go nuts," there is a case for fear, uncertainty, and doubt.
This is, as you say, only a pending application. In the US, as in the rest of the world, applications for patent are published 18 months after filing. The patent office probably hasn't even begun to examine it yet.
But if I'm a developer (of any type) I'm thinking "OK, but how does this help me?" Claim 1 is so broad it covers EVERYTHING I DO. If the patent issues in present form - and MS decides to enforce it - I am sunk. Fear sets in.
Then the uncertaintly. I start walking the halls mumbling to myself, "Should I abandon 2000 hours of programming and completely change what I am doing, or assume the patent office will substantially reduce the claim?"
I am not comforted by the fact that there is NO prior art cited on the published application (because it is not necessary.) I have no idea if the examiner has that 10 year old copy of "computer geek" which would be a knock-out prior art.
My confidence suffers as I remind myself that that public cannot participate in the prosecution in a meaningful way and must wait until the patent is granted before it is known what claims will be issued and what prior art was available.
Then I start a serious effort into self-delusion and convince myself that "the patent office would never issue such a broad claim."
Then the doubt sets in.
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
And exactly what precident are you using as the basis for your reasoning? To my knowledge, MS has never done any kind of bait-and-switch with their IP (unlike Rambus/Intel, for example, or even Apple). Furthermore, I cant really seeing them do so in the future either.
The problem with all you "when Linux rules the world" people is that you view your platform as some kind of threat to a company that mainly gets chosen for the services it provides, rather than the cost. I would choose quite a few MS solutions over open source, and for many reasons. But primarily it is because there is a company actively supporting it, rather than focusing on adding k3wl new features or the yet another web browser.
Dont get me wrong, Linux does many things well, but so does MS. Its just a matter of using the right tool for the right job, but Linux isnt the one-size-fits-all solution most of you make it out to be, especially when you take business realities into account.
Manipulate the moderator system! Mod someone as "overrated" today.
From dictionary.com:
algorithm
n : a precise rule (or set of rules) specifying how to solve some problem
Sounds like a method to me... But just to be sure, let's check the thesaurus:
...machine, method, principle, process...
Yup, an algorithm is a method. Algorithm = Method, Algorithm != Code (code is an implementation of an algorithm). You can patent the algorithm, and copyright the implementation of the algorithm, but you can't stop people from finding another algorithm that accomplishes the same task.
--That's the point of being root, you can do anything you want, even if it's stupid.
Before I discuss the .Net initiative itself, I didtinctly remember a Ballmer quote (here on /. as well, I think?) stating that MS will use its patents to increase marketshare. At the moment MS will leave .Net alone, for sure, as it is vastly more immature than MS' implementation, but woe betide the day when even one, just one, large Mono application (application server, distributed CRM or ERP app?) gains popularity amongst the many governments and businesses now moving to Linux. That is the day when MS will send its lawyers around for a chat on patent laws.
.Net sounds like the fantasy that many VB coders, MS shops and PHB's have had for years: The ability to code an application in a mess of languages (in all probability it will be C++,VB and C#) and actually produce something that is both useful and full of buzzword compliance.
.Net or Mono does is truly new. They are refinements of current coding practices. You can do exactly the same thing in Java, C++ and Python, just in a longer timeframe. This might be good in terms of productivity but I can almost certainly see this producing yet another generation of VB type coders with little discipline and chaotic understanding of OOP.
On the technical side
But, it would be good to note that nothing that
My guess is that this is simply what MS is betting the farm on in order to move away from Win32 and at the same time corral developers and customers into staying with Windows. I read the EULA for VS.Net2003 and it seems you can neither publish benchmarks nor develop Office applications with it.
Are you sure you want to go down that road? Hasn't SCO been an eye opener enough?