MS .net vs Mono, Open Source
vinsci writes "Sometimes, reader comments to reporter-written stories are just as good as the stories themselves. Such as David Mohring's comment yesterday on ZDNet.com's story Mono & .Net: The odd couple. Since Microsoft are now using their licensing terms to stop GPL and LGPL free software, it would be a welcome sign of free software maturity at Microsoft if they actually resolved the Mono issue. The gist of his comment: 'Microsoft's CEOs have made it 'patently' clear that they intend to restrict competing .Net implementations by cultivating Microsoft's patents, [...]
Mono also implements parts of .NET that have NOT been submitted to ECMA and ISO standards. Those parts of Mono lack even the protection for IP infringement with re-implementation that ISO documentation licensing implies. [...] There [are] those that claim that .NET is open to re-implementation, but until Microsoft make a simliar public legal declaration to Sun's JSPA, any .NET re-implementation represents a pending legal mindfield.'
While on the subject of C# development, users of the GPL'd C# development environment SharpDevelop may also want to try Eclipse together with the Open Source Improve CSharp plugin for Eclipse. Eclipse also support C/C++ these days using GCC and GDB, thanks to the CDT. There are about two hundred add-on plugins available for Eclipse. Eclipse itself is available for many platforms, including Linux with native GTK 2 support."
Just some thoughts. It's not impossible to take them down. I remember when one of our local guys got his cost analysis posted on slashdot (Rockingham County, Virgina). Start flashing those kinds of figures to the bean counters. You may not get many converts right away, but oh well. You have to start somewhere. I've gotten most of my technology-clueless relatives hooked on Mozilla because of its popup blocking ability. My neighbor across the street who is an accountant by trade loves OpenOffice and is looking into switching to RedHat 8. Again, it can be done. Just get them hooked on the Windows/Mac versions of OO, Mozilla, etc and switching to an open source platform will be easy.
As for Mono, MS Legal can't fight if they don't have money :)
Click here or a puppy gets stomped!
Microsoft has already written .NET for another platform (Rotor, for BSD.) And Microsoft has communicated with Miguel many times with regards to Mono. An interview with him on the topic is hosted on MSDN! This does not appear to be a prelude to a lawsuit.
What's the news item here? Fear-mongering about the Evil Microsoft? If you're worried about big companies with riduculous patents ruining society, worry about Amazon.
Microsoft's strategy is to embrace, extend, and assimilate.
Isn't Mono just self assimilation? What does Microsoft have left to do if OSS just comits fratricide?
Sun's patents are much more worrisome as far as I'm concerned. For example, patent number 6,477,702, held by Sun, would seem to be infringed by any conforming Java implementation. And Sun has pulled out of every and any process that would have required them to make a declaration or commitment on patent and IP issues related to Java. Furthermore, while Sun PR likes to talk a lot about openness, I have yet to see a legally binding declaration by Sun that would guarantee that third party implementations of Java may use Sun's patents.
I don't trust Microsoft any further than I can throw the entire stack of printed MSDN documentation (which is to say, I don't trust them at all). But, all things considered, I think the risk of patent infringment claims from Microsoft over Mono are very slim indeed. All that hot air from Microsoft CEOs and Microsoft PR folks doesn't change that. Sun, on the other hand, holds known patents that could create real problems for any non-Sun Java implementation.
If you are very worried about patent problems, there is a very easy solution: don't use either Mono or Java--there are plenty of other languages a round, many of them better. If you are slightly worried about patent problems, then Mono looks like a safer choice to me than Java. And probably, you don't really have to worry about patents with either of them.
Most users' experience with swing can be summed up with the following:
1. Open any swing application
2. Right click the mouse button somewhere a context menu should appear, or click on one of the file menus.
3. Wait 3 seconds
4. Form the incorrect conclusion that Java is slow
5. Go back to using native win32 programs
Sun's been trying to "fix swing" for the last 5 years, and they've had no luck. What makes you think IBM has the magic bullet?
Swing will never be fast. The same abstractions that make it such a joy to program with make it terribly inefficiant. Print out a stack trace in a event handler function in swing and take a look at how deep it is. Every one of those functions had to be called before the event was process, and ever call had to be done through a table lookup. I'll avoid going into the whole native vs. non-native widgets debate, but forgive me if I remain skeptical about the non-native approach sun has been using with swing.
IBM (well, the company that wrote eclipse that IBM bought) did the right thing when they started from scratch to design SWT. Eclipse is amazingly responsive when compared to any swing application I've seen. Try it out yourself, I think you'll be impressed.
Really folks, patents are a problem to Free Software in every project. No Free Software project is immune to these kind of concerns as well as other complicated interactions with corporations. Look at Samba which is every bit as susceptible to MS patents as Mono. Or how about OpenGL which has problems with corporate concerns. Sun has patents on Java. At least Microsoft is bound to the ECMA patent policy which is basically RAND with required disclosure.
.NET infrastructure ie, System.Windows.Forms, ASP.NET, ADO.NET. The wine project is another area with every bit the risk that Mono faces.
Another important thing to understand is Mono isn't the only Free Software project out there that is implementing the ECMA standards. DotGNU/Portable.NET has a large par t of the ECMA specs implemented and the design goal of PNet is ECMA not the rest of MS's
So the conclusion to draw from this is: Patents are a danger to Free Software in every direction! Not just this one particular project...
I'm sure that'll get the RMS haters eyes rolling, but, dotGNU also deserves a mention. I know, cuz I'm a recent contributor to it. These guys have done a lot with fewer PR and resources than Ximian/Mono, but they're not as far along either.
.NET can't be ignored. So if it's gonna be as big as J2EE (and it will) then there might as well be a some OS implementations out there for anyone and everyone to use. That will not really help M$ so much as it will make them work harder to justify using Windows as a platform when it can run just as well or better on others. Hats off to the Mono and dotGNU team for realizing this early on.
They've actually done some stuff much different than Mono. For starters, their compiler is in C not C#. And it's able to general IL as well as Java bytecode and hs some other interesting approaches; not huge, but still very cool. One thing I find interesting with various OS vs. closed source projects - their approach.
From the code perspective, we read the Ecma spec and then crank out some code. If M$ has the entire spec patented as various 'processes' then I guess they could take the authors of Mono and dotGNU to court. It would be complicated tho and I'm sure there's already prior art out there for Strings, Input Buffers, Webservices, etc..
Frankly, I joined dotGNU because the Java tools are very mature and after working with them for the past 5 years, I'm really bored doing 'enterprise web apps'. There's much more fun, for me, in getting the foundation built; seeing how and if it will actually work. For me, all the top most layers are just fluff.
As far as ASP.NET goes, I'm actually thinking of something along the lines of a C# version of Java Servlets and JSPs. I've done ASP and I personally think it's pretty filthy. JSP can be just as much, but there are definitely more patterns applied to Servlets/JSPs than ASP. A C# implementation of the Servlet/JSP spec would be an interesting thing; and possible too! Altho, I obviously wouldn't be 'compliant', but could work the same with just a little different syntax.
Anyway, I finally realized that
They're happy to see Mono progress. In the end, it'll help them sell more copies of Visual Studio and Windows XP Professional.
But what I'm afraid of is that if someday Microsoft is in bad shape and its profits start to drop, they'll go on a legal rampage and take down anyone that built software even remotely "like" theirs.
It's Blackdown Java. It is not a third party implementation. Sun simply dumped their source code onto a bunch of people outside Sun who then fixed a bunch of bugs and ported it to Linux.
IBM has had it's JVM for eons now. There are lots of embedded JVMs.
IBM does not have its own Java implementation--they have a license to Sun's Java implementation, and they replace some of Sun's components with their own.
(ii) Sun has tolerated those implementations for years now.
Sun hasn't tolerated anything. As far as I can tell, anybody who is shipping anything remotely resembling a Java platform implementation has a contractual agreement with Sun. In fact, merely to claim that something is Java, you need a contractual agreement with Sun (because of their trademark).
(iii) In the past, Sun has never shown to be anti-competitive as microsoft. They don't defend or promote Solaris at any cost the way microsoft does.
I see no basis for that statement. Sun simply isn't leveraging their monopoly because they don't have one. As a 15 year Sun customer, all the indications I have seen are that Sun is worse than Microsoft when it comes to cut-throat competition and intellectual property, they are simply not as successful.