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."
.Net is MS proprietary. No way MS is going to let you run it in any useful way on non-MS operating systems.
If you plan to sup with the devil, it is best to bring a long spoon
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.
...or so I thought. Turns out the hardworking mindfarmers were actually growing minds without a license. An illegal mindfield. Can you imagine?
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.
Yes true, but there's no evidence that they won't either. In business you don't start projects with "well, maybe they won't sue us...".
With any .NET implementation, Microsoft holds the patent card, heck they hold the copyright card as well; a whole lot of them.
Any .NET implemenation that is not officially sanctioned by Microsoft in a legally binding way is making a very risky bet.
I say, Either Miguel knows something we don't, or he is being a bit callous with Ximian VC money in this case.
Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
And de Icaza says he has unofficial word that in the coming weeks Microsoft plans to share .Net-related intellectual property. Pending review by Microsoft lawyers, he says, "Microsoft patents on technology developed specifically for .Net will be granted royalty-free to those trying to implement the spec."
Yeah, it says "unofficial", but don't spread FUD until there's some updated (the Ballmer quote is from March) official information.
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.
I'd like to point you at an article I wrote for kuro5hin on the subject of .net here.
Microsoft's introduction is here.
Mono's information is here.
My Journal
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
Also, I am not alone in my concerns about Microsoft's patent threat, even Red Hat Chairman and CEO Matthew Szulik has said that Microsoft's legal efforts to challenge open source by employing patent infringement law represent a big threat.
Microsoft could settle this issue by making a simliar public legal declaration to Sun's JSPA.
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.
from http://swpat.ffii.org/players/microsoft/index.en.h tml:
Asked by CollabNet CTO Brian Behlendorf whether Microsoft will enforce its patents against open source projects, Mundie replied, "Yes, absolutely." An audience member pointed out that many open source projects aren't funded and so can't afford legal representation to rival Microsoft's. "Oh well," said Mundie. "Get your money, and let's go to court."
and
"Heise report about Steve Ballmer's talk at CeBit. At a speech event together with chancellor Schroeder, Ballmer says that Microsoft owns lots of patents which cover its new DotNet standard and that it aims to use them to prevent opensource implementations of DotNet. The key phrases read, in translation:"
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.
Uh. If there are undocumented classes (e.g. non public APIs) then they don't need to be implemented because noone uses them. If they're public they need to be documented for people to use them. You can also just call the methods and see the return values with various argument values.
Microsoft software will use them, and other software will use that Microsoft software. Soon there will be a huge chunk of .NET software that won't run on non-Microsoft platform.
Besides, who cares about Microsoft .NET APIs? The CLI is a good framework regardless of whether you use the Microsoft-only namespaces or not. GTK#, CsGL etc don't need to rely on any non-CLI classes.
It's a large and messy framework made with no understandable purpose other than "making another Java", therefore it's mental masturbation squared (because Java design is mental masturbation -- all its original goals are either abandoned or became irrelevant at the moment when semi-usable implementation was released).
The CLI is very much like C + CLIB. You can build proprietry non cross platform libraries on top of it (e.g. Win32) but you can also build open cross platform libaries with it (e.g. OpenGL). Noone is forcing you to use Windows only libraries (e.g. WinForms) when using .NET.
There is no CLIB, it's libc. And win32 has nothing to do with either, it's an API with its own library, and a horrible one at that.
Mono may never be 100% compatible with MS.NET but that doesn't prevent it from being an extremely useful development framework.
It's a horrible framework -- it is very narrow in functionality and very broad in its stretch over all aspects of program's design and behavior -- basically such infrastructures are for software development what are "wizards" for system administration. Examples of good infrastructure are very rare, I can only name two -- Unix unified file descriptors and Berkeley sockets as a decent large-scale infrastructures that actually serve a valid purpose and improved the software design. The only point of bothering to port it somewhere can be to run software developed for it until people will realize how bad it is and rewrite that software in C or C++ with sanely designed libraries. Same applies to Java but at least Java can be made compatible on all platforms.
Contrary to the popular belief, there indeed is no God.
Hey, anyone can make spelling mistakes. But this sounds like a great idea for a sci-fi novel ... our intrepid heroes carefully make their way through a mindfield, using an, er, mindsweeper ...
Yes, that is what I am. I have been doing asp on both SQL Server and Oracle for a few years and managed to ship one asp.net product while Visual Studio was still in beta. Then things changed.
.net? I love c#, it is a hell of a technology but even if the asp.net sdk is free the only decent tool to build asp.net solutions quickly costs thousands. I would rather use that money to buy more PCs for the 2-3 new employees we hire every quarter.
.net? Will this ever happen? What if they suddenly drop asp?
.net. I am happy that Ximian decided to build their own .net solution, but I am hoping this does not harm the php movement.
.net has the potential to bring me, my company and my colleagues a lot of heartburn.
It is easy to support Microsoft-based initiatives when you work for a company large enough to qualify for Microsoft partner discounts on development software. A $2500/year subscription/blackmail fee pretty much gives you access to any and all commercial software sold by Microsoft. You get used to have all the cool stuff arrive on CD or DVD every month or so and nothing stops you from building one more development box just to test Whatever.net. Who cares if you got a room with 20+ development servers on a 100+ employee company anyway?
Things change once you move to the small business field. Suddenly you don't have a shitload of cash to burn, and the $2500/year can probably pay one or two PCs for coworkers. You barely manage to afford one lousy development server, and your production schedule is so hectic that you cannot afford to drop development on asp (dirt cheap, you can pick asp programmers literally everywhere) to make the jump to asp.net, which means you will need Visual Studio and eventually more expensive windows.net server licenses.
I was put in that position when I switched jobs and joined an 11-employee firm to be their techno geek (I got so tired of explaining to people my job that I just tell them my job is to isolate the CEO and President from technical stuff). Then the soul searching started?
1. Do I commit my company to a $2500/year MSDN subscription? We are not a software shop, all our development is internal.
2. Do I make the jump to
3. Do I keep the current solution as asp and wait for the end-of-life of asp before I try to move up to
4. What about php? I have run a phpnuke website successfully for a long time and I am sure I can rewrite my company's solution to php.
5. What about SQL Server? I absolutely love SQL Server 2000, but how much will I have to relearn when the new one comes out? And will I have odbc connectivity to php in case I want to jump out?
6. What about mySQL? A couple years ago mySQL was nowhere close to ACID, but right now it is almost there. And my mySQL install runs as stable as my SQL Server. When can I trust mySQL with corporate data?
The list of questions goes forever. I finally decided to do nothing. The current toolset in asp runs itself and does not make me waste a lot of time in code maintenance. Performance is acceptable for our usage. I am not going to move us up to asp.net just so I can say it runs on
I would like to be able to buy a $1500 Compaq 1U rack drawer and know I only have to put freeBSD, Apache, mySQL and php and I am set, instead of having to go thru the stupid requisitioning process to get Windows server licenses and CALs every time I deploy a windows server.
When people ask me why I am on a mac (switched in September 2002) but I still use Microsoft products (IE, Ms Office v.X and the xbox) I tell them my beef with Microsoft is not about monopoly this or predatory that. I have valid business concerns and complaints, and
Pedro
----
The Insomniac Coder
I find this absolutely astounding. Steve Ballmer has been quoted about having IP in .NET and wanting to protect it. If you bothered to read the post by Mr. Mohring that started this you would see links about Mr. Ballmer's statement and a patent application filed by Microsoft.
.NET to ECMA so they have to be relatively unencumbered by patents.
.NET in its entirety. David has repeatedly pointed out the potential legal traps just waiting for anyone trying to fully implement .NET.
You however, blithely dismiss all of this and claim to know better, eh?
Meanwhile, Sun is actively working on supporting groups for open implementations of Java and you attempt to disclaim it as "hot air". Please tell us what particular patents we "all know that Sun holds". Be specific as David was.
Then, finally, we troll off on a tangent by talking about C# and CLR. We all know that MS has submitted these two tiny portions of
This, however, isn't the issue. The issue is
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.