Slashdot is powered by your submissions, so send in your scoop


Forgot your password?
Microsoft Patents

De Icaza Says Microsoft Has Shot .NET Ecosystem In Foot 425

An anonymous reader writes "Microsoft has shot the .NET ecosystem in the foot because of the constant threat of patent infringement that it has cast on the system, Novell vice-president and Microsoft MVP Miguel de Icaza is quoted as telling the website Software Development Times recently."
This discussion has been archived. No new comments can be posted.

De Icaza Says Microsoft Has Shot .NET Ecosystem In Foot

Comments Filter:
  • by Anonymous Coward on Thursday March 25, 2010 @11:31AM (#31611382)

    Taken from Google Cache:

    Does Windows cost Microsoft opportunities?
    By David Worthington

    March 17, 2010 —
    The evolution of the .NET Framework has won new users to the platform, and drawn its share of criticism from those who think Microsoft’s stewardship has often been off-target.

    Among the critics is Novell vice president Miguel de Icaza, who said .NET's focus on Windows has come at the expense of opportunities for Microsoft, and its desire to guard its intellectual property is an impediment on the platform.

    "Microsoft has shot the .NET ecosystem in the foot because of the constant threat of patent infringement that they have cast on the ecosystem," he said. "Unlike the Java world that is blossoming with dozens of vibrant Java Virtual Machine implementations, the .NET world has suffered by this meme spread by [Microsoft CEO Steve Ballmer] that they would come after people that do not license patents from them."

    In practice, the Java community only uses two or three JVMs (IBM's, JRockit, and OpenJDK from Sun), while others are research efforts or smaller-scale open-source projects, said author and consultant Ted Neward. "Virtual machines are not something the open-source community seems to want to experiment with."

    Microsoft submitted the Common Language Infrastructure (CLI) specification to ECMA International, which ratified it in 2001. Microsoft built technologies on top of the specification as .NET evolved.

    Microsoft has made an open-source CLI implementation codenamed "Rotor" freely available [], but it has had little or no uptake, Neward noted.

    However, Mono remains the only implementer of the ECMA CLI specification outside of Microsoft, and that is a testament to the legal uncertainty surrounding some aspects of .NET due to Microsoft's statements about open-source software, de Icaza said.

    "[Microsoft] would still be the No. 1 stack, but it would have encouraged an ecosystem that would have innovated extensively around their platform," he added.

    Facebook, Google, Ruby on Rails and Wikipedia could have been built using .NET, de Icaza claimed. "All of those are failed opportunities. Even if the cross-language story was great, the Web integration fantastic, the architecture was the right one to fit whatever flavor of a platform you wanted, people flocked elsewhere."

    "To say that Google could have used .NET is to undervalue both Google and .NET. Google creates value from things like distributed MapReduce and a brand-new system-level programming with concurrent coroutines," said Larry O'Brien, an independent analyst and consultant who writes the Windows & .NET column for SD Times. ".NET creates value from a fantastic IDE, great mainstream languages, and well-executed technologies like Silverlight, LINQ and the DLR [Dynamic Language Runtime]."

    Despite the criticisms, customers are "making bets on .NET" all the time, said Brandon Watson, director of product management for Microsoft's development platforms. "The fact that we didn't get Google—I'll cry a little, but not a lot. I'm not certain that Google wouldn't have taken a bet on philosophy, wanting to beat us."

    Further, developers can build languages on top of .NET 4.0's dynamic language runtime, which supports both Python and Ruby, Watson said. But it's the addition of new technologies on top of the ECMA specification, such as the DLR, that de Icaza believes impedes the CLI's adoption.

    Microsoft's submission to ECMA has remained at a "core level," de Icaza claimed. "I

  • Re:Pwahahahaha (Score:2, Informative)

    by diegocg ( 1680514 ) on Thursday March 25, 2010 @11:46AM (#31611644)

    I wouldn't say that Mono sucks. It's certainly behind .NET, but it's not the average crappy FOSS clone.

  • Re:Pwahahahaha (Score:3, Informative)

    by TheRaven64 ( 641858 ) on Thursday March 25, 2010 @12:07PM (#31612104) Journal

    Not quite. Cross platform to MS means Windows and Wince. The point of .NET was never to hide the OS, it was to allow you to write Windows applications that were architecture-neutral, so you can run them on a desktop x86 CPU or a mobile ARM/MIPS/PowerPC CPU. All of these architectures were supported by Microsoft when .NET was introduced, but Wince had the big problem that it didn't run desktop Windows apps, which eliminated a big chunk of the reason for running a version of Windows at all.

    Wince 7 now only allows you to run .NET apps, which means that Wince 7 can run the same apps on any architecture, and means that if you write a .NET app that runs on Wince 7 it will also run on desktop Windows. Conversely, if you write your desktop Windows app using .NET then you can easily port it to mobile Windows machines just by tweaking the UI a bit to work on smaller screens.

  • by viraltus ( 1102365 ) on Thursday March 25, 2010 @12:11PM (#31612192)

    You can easily remove mono with 'sudo apt-get remove --purge mono-common'

  • Re:OSP? (Score:3, Informative)

    by TheRaven64 ( 641858 ) on Thursday March 25, 2010 @12:18PM (#31612312) Journal
    Promissory estoppel does apply for things covered by the OSP, but the OSP doesn't cover nearly as much as you seem to think it does. The grandparent's analogy would be more accurate if the host said 'Oh, I promise not to decapitate any of my guests with that sword.'
  • by shutdown -p now ( 807394 ) on Thursday March 25, 2010 @12:22PM (#31612416) Journal

    Microsoft has made an open-source CLI implementation codenamed "Rotor" freely available, but it has had little or no uptake, Neward noted.

    Rotor isn't open source, though. It's "shared source", meaning that you can look at the code, but you can't hack on it and redistribute the result. It's more of a reference implementation for study.

    It's not full-featured, either. It doesn't have the complete set of .NET class libraries, for example; only the basic stuff (what was in Ecma CLI spec, I believe).

    Oh, and it's Windows-only (the first release, which corresponded to .NET 1.1 IIRC, was for Windows and FreeBSD).

  • Re:C# and F# (Score:1, Informative)

    by Anonymous Coward on Thursday March 25, 2010 @12:23PM (#31612436)

    For a Python/Ruby style scripting language there's Groovy.

    Or Jython or JRuby, which are about as "Python/Ruby style" as you can get.

  • Re:O rly. (Score:4, Informative)

    by shutdown -p now ( 807394 ) on Thursday March 25, 2010 @12:24PM (#31612446) Journal

    Although the WMF Lucene search implementation was done in C# on Mono for a while, when Java wasn't yet sufficiently free software. It ran at half the speed of the Java version.

    Mono runtime (both JIT and GC) sucks, to be honest - compared to both Sun JVM, and MS .NET VM. Any .NET vs Java performance comparison that uses Mono is thus flawed from the get go.

    It's faster than Python, though, I'll grant them that...

  • Re:O rly. (Score:3, Informative)

    by chdig ( 1050302 ) on Thursday March 25, 2010 @12:32PM (#31612572)
    Yes, it was this quote that made me question whether de Icaza has any clue at all.

    .NET was released first in 2002. Wikipedia was released in 2001, Google in the 90's. As for Ruby on Rails -- don't you need Ruby first in order to build a framework on Ruby (incidentally, Microsoft got into IronRuby in 2007)? Facebook, meanwhile, was a classic example of a commercial website done on the cheap, and at the time it was started, LAMP was about the only practical option. Your average group of kids with an idea in college aren't going to go out and buy Window servers, software, and very pricey MSSQL licences.

    Really, why would anyone bother listening to what this de Icaza guy has to say, when he spouts off nonsense like this?
  • Re:Pwahahahaha (Score:5, Informative)

    by FatherOfONe ( 515801 ) on Thursday March 25, 2010 @12:34PM (#31612610)

    The myth about simple cross-platform development in Java is just that, a myth. Anybody with cross-platform Java experience will attest to this. Java, as a language, has grown stagnant, while C# has continued to evolve.

    I and our team of 100+ Java developers will disagree with your statement of Java and cross-platform development. We find it excellent. Is it perfect? Nope, but in my opinion it would be a 9 out of 10 with the next closest competitor being.... Well there isn't really any close competitor but I guess we could give the C language a 2 out of 10. Perhaps Ruby is good but I haven't looked at it. Granted I am talking more about the JVM that Java itself. However, Java like other languages has evolved quite a bit in the last few years.

    Does Java have the radical changes that say languages like SCALA have? Nope, but then again it shouldn't have that. Is it stagnant? Not at all.

    The core difference you see between any of the Microsoft languages and the JVM languages is that the JVM languages somewhat try to work within the community. They also want to maintain binary (class) backward compatibility. Microsoft is an absolute dictator with their language and even to a large part their tools. This does have it's advantages, in that stuff comes out quicker, but then again, if you are a business and built you lifeblood one VB6 to have it brushed aside by Microsoft, you might be a little angry about that ruthless dictator approach. If you are some contractor type of person who wants constant change in the core framework to make your life easier (at the cost of compatibility), then you would probably like this approach.

    So in short things like closures will be in Java 7 (not a small task), and Java the language is not at all stagnant. Cross platform development, testing and support is excellent with Java. We use OSX, Ubuntu, Microsoft Windows XP and 7, and RedHat with no problems.

  • Re:C# and F# (Score:3, Informative)

    by icebraining ( 1313345 ) on Thursday March 25, 2010 @12:35PM (#31612636) Homepage

    For a Python/Ruby style scripting language there's Groovy.

    You can use Python or Ruby themselves with Jython [] or JRuby [], respectively.

  • Re:O rly. (Score:2, Informative)

    by Anonymous Coward on Thursday March 25, 2010 @12:42PM (#31612782)

    De Icaza is claiming sites like Wikipedia "could have been built" using .NET, not that they were. In other words, he's claiming the .NET platform is capable of performing as well as the platforms on which those sites actually were implemented.

    He then goes on to say that because those sites were not implemented in .NET, they were "failed opportunities", implying that if Microsoft were not so aggressive or paranoid, they would have more .NET success stories to point to.

  • by Anonymous Coward on Thursday March 25, 2010 @01:04PM (#31613188)

    In my section of the U.S. Department of Agriculture, all applications are being developed in Java. My own area is supporting a single .NET app for internal consumption and we get the occasional complaints that from our program office that we should switch the app to Java.

  • Re:Wah wah wah (Score:2, Informative)

    by Anonymous Coward on Thursday March 25, 2010 @01:18PM (#31613470)

    I mean sure he's slow on the uptake. Sure it was pretty silly to dismiss the quite plain threat of Microsoft's patents with "Oh but they won't do that!"

    Is that what he did? I remember long, in-depth justifications from him and others. Endless debates on slashdot with Miguel personally arguing in dozens of threads.

    And we're allowed to roll our eyes and say "No shit, Sherlock! Welcome to five years ago!"

    He deserves greater censure then that. He got his mono in my free desktop.

  • by shutdown -p now ( 807394 ) on Thursday March 25, 2010 @01:21PM (#31613530) Journal

    Again, you need to compare C# + VB.NET to get a meaningful comparison of .NET vs Java.

    And if you want to count Groovy and Scala, sure - but then let's also count Boo and F#.

    Oh, and the link is from 2006. Here [] is a newer comparison, from 2009 (though they don't give the methodology they used to determine what ".NET" is). Still shows Java roughly 1.5x ahead in terms of job count, which isn't surprising, considering the head start.

    Salary distribution is more interesting. It shows that .NET salary distribution is skewed more towards lower pay, while Java spikes at a higher rate. This also produces an average salary disparsity. Overall, I'd take it to mean what I wrote previously - that .NET has more people in it who are new to this whole programming thing, while Java has more senior devs that specialize in the platform.

    Here [] is a job trend graph for a typical job search web site. Notice how both C# and VB on themselves, and even combined, are way below Java, but .NET is above. Just goes to show how many job postings specify ".NET" without detailing the language...

    An unrelated, but also interesting trend is that of technical book sales - have a look [], and notice how rapidly Java in particular is falling.

    Then also there are studies like this one [] - but I'm not sure what to look at there, since they don't give neither their sources nor methodology, so the numbers could all just as well be conjured from thin air.

  • Re:C# and F# (Score:3, Informative)

    by ShadowRangerRIT ( 1301549 ) on Thursday March 25, 2010 @01:42PM (#31613988)
    Why is missing properties a bad thing? Properties are just syntactic sugar over getters and setters. They can do work under the hood, same as a getter or setter; very different from just making a variable public. It's just a readability difference; particularly when combining getters and setters on a single line, it's a lot easier to read:
    foo.fraction = bar.num / bar.den;
    than it is to read:
    foo.setFraction(bar.getNum() / bar.getDen());
    Contrived example, but an idiom that allows all assignment to be done via the equals operator makes for much more readable code. In Java, you can only do the more readable version by exposing the variables directly; in C#, you get all the implementation hiding of getters and setters with all the ease of use of a variable.
  • Re:O rly. (Score:3, Informative)

    by Sir_Lewk ( 967686 ) <> on Thursday March 25, 2010 @01:59PM (#31614324)

    You have to actually produce reasons here

    No. Nobody has to do anything here. He was indicating that he found that statement hilarious, and there is nothing wrong with that. If you want more in-depth analysis feel free to read any of the other dozens of posts here.

  • by miguel ( 7116 ) on Thursday March 25, 2010 @02:17PM (#31614618) Homepage

    I provided some context to the SD times article on my blog today: []


  • Re:So, Miguel (Score:5, Informative)

    by miguel ( 7116 ) on Thursday March 25, 2010 @02:26PM (#31614806) Homepage

    Rather, submit patches to replace System.Data with Sqlite-net and you have protection from Microsoft patents on .NET

  • by h4rr4r ( 612664 ) on Thursday March 25, 2010 @03:13PM (#31615666)

    Much of userspace is hidden behind the scenes and often not related to the desktop directly.

  • Re:C# and F# (Score:3, Informative)

    by h4rr4r ( 612664 ) on Thursday March 25, 2010 @04:50PM (#31617434)

    I don't understand what you mean by Microsoft Tax? I can develop in C# without giving any money to MS (well, I spose I need a copy of Windows

    looks like you answered your own question.

  • Re:So, Miguel (Score:3, Informative)

    by rubycodez ( 864176 ) on Thursday March 25, 2010 @05:49PM (#31618236)

    I could see there may be some problems...

    The following packaegs will be REMOVED:

        f-spot libart2.0-cil libflickrnet2.2-cil libgconf2.0-cil libglade2.0-cil
        libglib2.0-cil libgmime2.2a-cil libgnome-keyring1.0-cil libgnome-vfs2.0-cil
        libgnome2.24-cil libgnomepanel2.24-cil libgtk2.0-cil
        libmono-addins-gui0.2-cil libndesk-dbus-glib1.0-cil
        libndesk-dbus1.0-cil tomboy

  • by bonefry ( 979930 ) on Sunday March 28, 2010 @04:05PM (#31649836)

    Android isn't using JVM, it's using Dalvik which is a VM written from scratch that's entirely different from the JVM (it doesn't even use the same bytecode).
    The link between Java, the JVM and Dalvik is a bytecode converter, capable of converting already compiled Jars to Dalvik.

    And not to burst your bubble further, but Android isn't even using an X Server, the gui manager / toolkit being also written from scratch ... so you can't really rant about how they've used a "free OS" ... it was only the Linux kernel ;)

    On the whole, Android isn't even licensed under the GPL, but APL.

    So the next time you rag about the virtues of GPL stuff you get for free, take a deep breath and get your facts straight because you're just waisting bandwidth otherwise.

    Also, what Miguel does is Miguel's business. He saw some value and wanted that on top of Linux. Maybe he was wrong, but before you criticizes him you first have earn that right ... you see, I don't really think you or any of the freetards in this thread have any meaningful contribution to open-source software.

"Never face facts; if you do, you'll never get up in the morning." -- Marlo Thomas