Miguel De Icaza On Mono, Moonlight, and Gnome
Knuckles writes "Austrian newspaper Der Standard continues its recent series of in-depth interviews with free software developers. This time they sat down with Novell's Vice President of Developer Platform, Miguel de Icaza of Gnome and Mono fame. The interview was conducted at GUADEC (GNOME Users' And Developers' European Conference).
Miguel talks mainly about Mono 2.0 and .Net 3.5 compatibility, enhancing the collaboration with Microsoft over Silverlight ('Moonlight' in Mono), and the larger political situation of Mono and Moonlight. When the interviewer asks whether Moonlight is only validating Silverlight on the web, Miguel gives a quite detailed answer that includes a possibly well-deserved swipe at Mozilla ..."
If Miguel De Icaza hates it, I LIKE IT!
Miguel de Icaza: "We could refresh the look and feel of the entire desktop with Moonlight"
Interview: Mono leader criticizes double standards when it comes to the open web and talks about future developments and the increasing openness at Microsoft
In 1997 Miguel de Icaza - together with Federico Mena Quintero - started one of the most influential Open Source projects: The GNOME desktop. As a Vice President of Developer platform at Novell he nowadays is leading the development of Mono, the free .Net-implementation he initiated in 2001. Since a few months he is also responsible for another group inside Novell: The Moonlight developers who are working on an open source version of Microsofts Silverlight - a task officially blessed by Microsoft.
During the recent GNOME Users and Developers Conference (GUADEC) Andreas Proschofsky had the chance to sit down with de Icaza and talk about future developments around Mono and Moonlight, the possibility of open sourcing .Net itself and changes in Microsofts attitude towards free software.
The following interview is also available in a german translation.
derStandard.at: When is Mono 2.0 going to be released?
Miguel de Icaza: Mono 2.0 has been three years in the making. We are actually branching for Mono 2.0 on Monday [July 14th, apo], we are going to have the regular two months Q&A period, testing of tarballs and installation and fixing the major bugs. So it should come out in September. We are going to have RC1, RC2... After the initial release there will be regular point releases - 2.2, 2.4, 2.6 - every three months or so.
derStandard.at: Time based releases?
de Icaza: Roughly. Now that we have 2.0 API covered we are going after specific features, so for example at the end of the year we are going to resume work on the Compacting GC (garbage collector) and we hope to have this enabled by Mono 2.6. So instead of the team being spread across lots of different projects, we are going to pick a specific feature - like updating Windows Forms to 3.5 - and while one half of the team obviously still will have to do maintenance work, the others are going to focus solely on that.
derStandard.at: Are you going to fully support .Net 3.5?
de Icaza: The problem with 3.5 is, that it includes 3.0 where they basically dumped a bunch of libraries that are not really part .Net, they are just built on .Net. For example, we do not have any plans to do WPF (Windows Presentation Foundation), this is pretty much out of the question. It's just too large for our team to build. The thing that we can do is turn Silverlight in a sort of "WPF light", and get most of the features from running Silverlight outside the browser, which we already do.
derStandard.at: What about the rest of 3.5?
de Icaza: WCF (Windows Communication Foundation) is happening, although it is happening very slowly because it is very large. We have the basics in place but it
is not complete. Also WCF is not really high performance so we are just pointing people to use ICE from ZeroC instead (or Google Protocol Buffers), if you want
something fast - use that.
derStandard.at: The last time we talked you were in favor of enhancing the partnership with Microsoft, is that stuff progressing?
de Icaza: Yes. For instance last September Microsoft signed an agreement which results in Microsoft endorsing Moonlight - our own free implementation of Silverlight. So they are providing us with specifications, they are providing us with tech contacts, so whenever any specification is not clear, we have access to their engineers. Also one thing that is very unique: Microsoft is going to be distributing an add-on to Moonlight called the "media pack". And that add-on contains all the media codecs that Silverlight uses, so it contains the MP3 decoder, the VC1 decoder, WMV and all that stuff. We are going to provide Moonlight and they are adding the codec parts - and this is going
Miguel de Icaza: "We could refresh the look and feel of the entire desktop with Moonlight"
Interview: Mono leader criticizes double standards when it comes to the open web and talks about future developments and the increasing openness at Microsoft
derStandard.at: Hypothetically speaking: If Microsoft would really release .Net under an open source license, what would the consequences for Mono be?
de Icaza: Well you actually can already get the class libraries source code, but it is released under Microsoft's "look but don't touch"-license. So it's not really open source, you can't redistribute it and you can certainly not take the code, recompile it and run it in Mono, that's not allowed.
Now, if I were to speculate, if .NET was open sourced there really would not be a lot of reason for the core Mono libraries to exist. Maybe there would be in certain cases, where people would prefer to use one of our class libraries or other parts, but not for the whole core. Now on the other hand the Mono project has created a lot of APIs that go beyond the core .Net. So those ones will continue to exist and evolve, things like GTK#, Mono.Addins, Mono.Zeroconf, Ndesk.Options, Dbus# all of that stuff.
Much of that would depend on the licensing Microsoft would choose for such a step, but there certainly would be some cases where components of Mono would be better or remain relevant. We are now porting mono to the Wii and the PS3, so developers can use it to build games and we are working with other console manufacturers to do the same thing. It's used for embedded system, for use cases like digital radios and MP3-players. Because you can shrink Mono down to a real small runtime. So if .Net was really open source, I think there would still be value for Mono in all these areas.
In the meantime - I really don't think they are going to open source .Net.
derStandard.at: Microsoft has publicly stated that they want to become more open in the future, do you think there is some real value in that promise?
de Icaza: Yes, definitely. They have been talking about opening up and improving interoperability since February, and in March at the Mix-conference you really could see them talking a lot more about engaging with the community, open specs and process. And I was just there a couple of weeks ago for another of our regular meetings and I had the chance to not only talk to the top management but to actual engineers and developers. And what was interesting: The really got the message. I don't know if it was an internal message or if they are asking people to think in that way but in the last six months there has been a significant amount of change inside Microsoft.
derStandard.at: With the increased focus on Moonlight, did you just re-prioritize people from the Mono group inside Novell or is this a new group?
de Icaza: This is a new group inside of Novell. Basically my team grew from about 30 to 40 people over the last year and a half. Most of the hires went to Moonlight, so now with 15 people working on Moonlight, the biggest part are new hires.
derStandard.at: Coming back to the licensing of codecs from Microsoft. As far as I understand, that's only valid for applications running in the web browser, is that correct?
de Icaza: Yes, that is true. Basically Microsofts position is that they are willing to redistribute the codecs towards the goal of making Silverlight universal, but they are not willing to pay the bill for every Linux user's desktop, as they have to pay MPEG LA and such groups for the licenses.
derStandard.at: And it's going to be a separate package?
de Icaza: Yes, we'll be making it as easy as possible to install, but it is a Microsoft product and it is going to come from the Microsoft web site.
derStandard.at: Will it be possible to package that with distributions?
de Icaza: I do not think so; actually I am pretty sure that you will have to download
He makes good points about Mozilla, and Flash and stuff. But that doesn't mean we want to use MS trash. If it is 100% free, and patent free as well (does MS support extend to releasing all relevant patents for anyone to use, or whatever how you say it?), then sure use it if you want.
Personally, I don't know why the Mozilla folks don't run with XUL some more.
Personally though, I have Flash and Java turned off by default, I'm not about to have Silverlight (or Moonlight) enabled by default.
I wank in the shower.
Looks like Miguel still pimping a marriage with Microsoft. Dude, she likes country and he likes rock-n-roll! Seafood vs. burger and fries. He's frugal, forward looking and she spends money like a drunken sailor! More importantly he just wants some freedom and she wants to tie him down. Let it go!
"de Icaza: I hope so. It might end up that at some point Microsoft just open ups .net"
LOL
i just want to say thanks to people like Miguel for all the hard work they put into various open source projects
i know here on slashdot anything to do with microsoft == evil automatically
and i can imagine some of the comments that will be posted in this thread later on, but what the hell
To quote my favourite font name: \!Andale Mono!
-- Ed Avis ed@membled.com
I just find it's terribly dumb to let both your specification and the reference implementation to be under the control of your worst enemy.
I love Gnome and I understand Mono is a somewhat simpler (than C++) way to build programs for it, but is it really necessary?
As for Silverlight... Yuck.
http://www.dieblinkenlights.com
The MS Excel XML format stores dates as a floating point[1] rather than something standard like, oh, ISO format. Miguel De Icaza thinks that's a good idea. Kind of says it all.
Only people who make me want to puke more are lawyers so he's in very good company.
Free software has to be libre something senor Miguel seems to be striving to destroy.
They must love him at Redmond or as they call him there 'Plan B.'
1. One has to give some credit to Miguel for thinking big and at least attempting to do it. The way he's doing it is perilous and I can see why some in the OSS crowd fault the guy. The odds are working against him. Strongly so.
2. He's convinced Novell this is something to spend/make money with. He's got a 40-person head count and it is totally unclear to me how Novell ***makes money**** on this to support such a large dev team. If they turned themselves into a 40-person contract dev group, I don't see customers clamoring for a dual-platform solution.
Even if his projects are widely adopted, there's no way I can see that Novell can make money at it. Which still makes Novell operating in run-off mode until the last netware(?) customer quits.
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
Oh dear, I predict much MS bashing here.
I have no problem with MS trying to make money of Silverlight, OOXML or any of their proprietary standards, I simply want the option to choose not to use them. I also would like to see better informed decisions by major players on which standards to use.
My belief is that eventually people will choose truly open standards because, fundamentally, they are better (this is my personal viewpoint, feel free to differ and debate).
I would even support MS standards if they did not have a proven history of subverting standards ("embrace" and "extend").
Fortunately I think the days when they can replace any existing standard with their own by simply making it default on their own platform and using monopolistic pressure for force adoption are drawing to an end. The OOXML story has proven that one, it can only get harder for them and even MS looks to be using ODF.
Any standard that is well designed, well documented and no one entity has control over subsequent revisions get my vote.
Oh dear, that ending a bit more of a rambling rant then I intended. Sorry!
As this blog post explains, while the current software patent situation exists, Mono is an unacceptable risk.
He definitely has a point with A. and some with B. (though it's a matter of opinion), but C. is just FUD. He obviously doesn't understand JavaScript (not the DOM, JavaScript is not just the DOM). JavaScript can produce very elegant code if you know what you're doing. I'm sure you can get some pretty nasty C# spaghetti code too (though it may not be as likely). I doubt that any language will replace JavaScript any time soon. All the different browsers would have to support whatever replaces it almost simultaneously. Flash is getting close, but it seems the community is treating Silverlight as a "me too" offering from MS. /rant
His comments about Mozilla are pretty interesting. I appreciate the work on Mono that they've been doing, but it's still strange to be at the mercy of MS whenever they make a change to their setup. That alone will leave Mono/Moonlight at least one step behind and could be used as an argument for only using Windows.
"I hope so" refers to Mono becoming the officially sanctioned .Net standard for Linux -- not that de Icaza hopes Microsoft would open up .Net. If you actually read the very next question in the article (I must be new here...), you'd have seen where de Icaza said:
In the meantime - I really don't think they are going to open source .Net.
-- they are talking about the possibility of Microsoft pulling a Sun/Java thing, and if the open-source effort would have been wasted as a result. The answer is "no, but I don't think they would open-source it anyways".
http://derstandard.at/Text/?id=1216918402134
Seems to me that practically nobody uses Mono, or plans to do so.
http://www.gnome.org/~seth/blog/mono
As this blog post explains, while the current software patent situation exists, Mono is an unacceptable risk.
What makes Mono an 'unacceptable risk' but allows Wine to become one of the most often praised open source projects on Slashdot?
Wine can be used to run those few windows apps for which you do not have no linux replacement, under linux. Mono is a development environment which could be used for just about anything... what if gnome, or some important gnome apps, got ported to Mono, and the day after Microsoft comes up with the bill?.. or with usage restrictions of some kind... Please read the link in the parent post, before replying... Here it is again:
http://www.gnome.org/~seth/blog/mono
or gnome community will ever get behind microsoft sponsored technologies?
Whether anyone wants to admit it one of the major driving forces behind the creation of gnome was simply because QT wasn't completely free.
I really don't see it ever happening. There are way too many good technologies out there to adopt that don't have the baggage.
I use .Net and in some situations I prefer it over Java. I use Linux as well. I severely doubt I'll be using Silverlight any time soon, though, as I try to avoid using Flash where possible.
The only reasons .Net exists are because Microsoft needed an up-to-date language for developers who use Visual Studio, because Java was old and someone needed to give it a clean start, because Java takes a slightly different approach to C++ in some places (so C# can get migrating C++ developers) and because they wanted a real "write lots of languages to a single base and port anywhere" language.
Sorry, it isn't flame bait. To some it may be, but this is my honest opinion.
Microsoft's actions on OOXML, alone, show that it can not be trusted to play fair. I see no rational reason why the open source movement should validate *any* of their technology without a clear and unambiguous free and open license and a durable specification that does not become a never ending game of catch up.
Microsoft is the enemy of innovation and open source/free software.
What makes Mono an 'unacceptable risk' but allows Wine to become one of the most often praised open source projects on Slashdot?
Not even the Wine developers advocate using it to write new programs.
Wow, now he wants to re-implement the Gnome Panel, file manager and Evolution in Moonlight. Has he finished implementing them in Mono already? This is kinda funny -- every time Microsoft comes up with some new technology, Miguel scrambles to write a clone of it, then goes on to re-implement Gnome in that. Reimplementing stuff is so much fun anyway! If MS wants to halt all actual progress in Gnome, all have to do is churn out new hype technologies every 12 months or so.
Translation: We'll try to make the whole desktop dependent on a MS standard.
The increasing openness of these guys?
You meant MS changed the whole definition of what is part of .net to include stuff not covered by OSP or that are not portable? Shocker.
Moonlight is going to require a proprietary addon in order to actually interoperate with silverlight, pretty sweet.
For every distribution, also x86, x86_64 and PowerPC. In fact we are going to provide binaries for BSDs, for Solaris - both on SPARC and Intel.
Same old, you'll have to download them from MS and only MS, and SLED will be the only distro one able to ship them. Oh, it looks like Icaza actually confirms so in page 2.
hahahahahha
As a hacker you get Microsoft, Microsoft, compatibility to Microsoft languages, and Microsoft. And beating javascript with Microsoft.
Specially after the free, false advert of 'silverlight works in Linux' thanks to moonlight.
Typical MS fanboyism from Icaza
Diverting attention are we?
Icaza here's the deal: AT least FLASH is NOT FREAKING MICROSOFT! Don't you get it? call it a double standard if you want, just missing all the previous record of Microsoft's anticompetitive actions and the clear intent to take over the world with .net and how Mono makes Linux threated by it... It is getting ridiculous.
Mozilla is evil therefore we'll help poisoning the web with Silverlight, fuck open standards.
Copyright infringement is "piracy" in the same way DRM is "consumer rape"
Replacing the open-systems UNIX API with the Microsoft controlled .NET API is awfully reminiscent of how IBM made OS/2 such a popular desktop.
Did we not just have an article in which Microsoft claimed OSS were copying all their ideas and not innovating? We all scoffed and had a good ol' laugh at Microsoft, how silly they are to see OSS in that light!
And now it seems the future of the web is to try implementing their standards. Miguel even admits that it isn't open enough for him to implement all of it. Talk about innovation, or lack thereof.
Nice theory, but in practice the GNOME desktop includes Mono, so apparently the devs changed their minds.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
"Bill, I think this is the beginning of a beautiful friendship."
Icazablanca. Coming soon to your local theater.
If you make things that suck badly enough for a long enough period of time, your company gets known as a maker of sucky products.
[...] Miguel de Icaza of Gnome and Mono flame.
Freudian misread.
Let's be frank: his unconditional love of M$ is really inflammatory.
What makes Miquel think that he and mono is so special to Microsoft? If you look at Microsofts history everyone who have tried to cooperate has ended up with a knife in their back. The ones who compete with them have been left a smoldering piece of rubbel. The potential risks with mono is enormous since the one who control it is activly out to destroy linux despite its humble marketshare. Imagine if Linux wore to take a lot bigger marketshare? Does anyone think they would not panic and press the SCO-style litigation button?
What good can come out of integrating the most Linux applications with Microsofts patented techs? From Microsofts point of view i can understand i can understand it but for OSS? MS must just love the thought of OSS applications working better on Windows than on Linux and the ability to completely thrashing Gnome any time they feel like it.
If we need a better development enviroment then we should build a better one instead of riding two carts behind Microsoft. If we need dotnet compability thats one thing but building native Linux applications in java or dotnet is just insane.
From what i have seen of dotnet and mono they are (i didnt thought it possible) slower than even java. Why we should build applications on purpouse thats goddog slow is beyond me. Why should we put enormous efforts into making the kernel and hardware faster just to sacrifice it to badly deigned software? I want my system to have lots of power left to do new stuff, not the exact same stuff but slower.
HTTP/1.1 400
Sure there are, trollboy. Like "his employer realizes that interoperability is the future, and that Mono's a good way to get it."
"You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
I thought we'd all learned that supporting Microsoft technologies allows Microsoft to use those technologies against the competition and against the user. Look at what we have today with Windows Vista. It has 47 different programs that collect information about you and report that back to Microsoft. This is not a good thing. It is a violation of your privacy. It is a terrible precedent.
Microsoft uses their techology to trap you into their operating system and thus traps you into buying their future products. Look at Word and the formats used. Those are meant to trap you into their products. Even their ISO efforts demonstrate their less than honest intentions in regards to standards. For example they are using their format to manipulate the ISO into adopting other formats for video, etc that were already denied ISO standardization.
Particularly this has to do with Moonlight. I personally remove silverlight from everyone's computer that comes into my store. I have also found that Microsoft is now installing their web search facilities onto people's computers without their knowledge of what it is and why it is being installed. Microsoft is using their monopoly to create a new monopoly in another market.
They are using silverlight to do the same thing. Not only that, if you remove silverlight, then tell silverlight not to ever be installed again, apply a few other critical patches and the silverlight prohibition reference is delete and you are prompted again to install it.
We do not, absolutely do not, want to pursue any Microsoft technology. It is in the best interests of the future of computing and the internet to not adopt Microsoft's technologies.
You can lead a man with reason but you can't make him think.
Actually, the reason .NET exists is because Microsoft was prohibited after the Sun/MS lawsuit in 1997 from making changes that they needed to Java.
The changes that Microsoft did to Java included J/Direct and delegates.
Although Java does have a mechanism for calling into native APIs using JNI, it is cumbersome to use. JNI is a technology that requires developers to write a chunk of code in C++ and a chunk in Java to bind the C++ code. Microsoft's alternative, J/Direct allows all the code to be written in the native language. It now exists in .NET as P/Invoke, and it makes calling native APIs easy, and does not require any native code to go with it (this is the reason that using the SWT library for Java requires you to ship architecture-specific glue code).
Some Java developers did notice that the lack of something like J/Direct was a pain, and eventually came up with a system built on top of JNI that does what J/Direct used to do, the Java Native Access APIs.
The other bit were delegates. Delegates are merely the object oriented version of function pointers, but in addition to capturing the address of a function, they also capture the instance that is associated with the object. At the time Sun published a paper describing why they did not like delegates (http://java.sun.com/docs/white/delegates.html). It is an interesting read considering that pretty much everything on their case against delegates turned out to be wrong. Java would me a much better language and a simpler language to develop for had they allowed delegates to go into it.
The 1997 Java lawsuit prevented them from using it, but that does not mean that Java did not add a lot of value and was not a great idea to begin with. So Microsoft had to write their own, from scratch. In the process they would add the features that they needed (and in Mono, we use those extensively) and with the hindsight of knowing what was good and bad about Java, they could build a better Java, and that is what they did.
Miguel.
We need "interoperability" only in as much as benefits our cause. Microsoft is hostile to open source and Linux.
mono and moonbat are not a "must haves" yet, and supporting them is a mistake that undercuts the competitive environment. We should be driving open and usable standards, not the convicted monopolist.
Miguel is irrelevant. Microsoft is irrelevant. Mono is irrelevant. Moon/Silverlight is irrelevant. Stop publishing the FUD.
you had me at #!
-Yeah, Miguel and Co. wasted all that time working on Mono that they could have used on something truly innovative, open and free, like wasting his time making the 773rd different distro of the exact same Linux operating system every other distro is making, but this one has a BROWN colored desktop theme, right?
Me thinks he barketh up the wrong tree.
-In the real world, very few people are going to stop using M$ because Linux isn't capable of working with them. People will stop using Linux if it can't be made to work with M$, though.
Gnome is fine but his views are in sharp contrast to freedoms. I did not RTFA, I saw red immediately upon noticing his name.
We need "interoperability" only in as much as benefits our cause.
Then your cause will continue to flounder and suck. Isn't that so awesome?!
Microsoft is hostile to open source and Linux.
There's a fairly significant cultural shift going on at Microsoft. They've got a considerable amount of code under permissive open source licenses (you do recall that the Ms-PL and Ms-RL are OSI-approved licenses, right?), and, more importantly, they're getting behind open standards. Personally, I don't give a shit whether they go open source so long as they adhere to standards; their current direction as a company is indicating considerably more support for open standards, and they should be applauded for such.
Unfortunately, it seems like the zealots, as per their M.O., are unable to recognize progress. Just more paranoia and vitriol. It's interesting.
mono and moonbat are not a "must haves" yet, and supporting them is a mistake that undercuts the competitive environment.
Really! It undercuts the competitive environment by being another choice? Interesting...sounds like insecurity.
We should be driving open and usable standards, not the convicted monopolist.
Hi there, open standard!
"You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
I'll give you an (offensive, sorry) analogy.
Anyway, to translate your summary
1) Don't date Jill, date Jane
2) Jill is hotter than Jane
3) I hate and do not trust Jill
What if I'm advising you against dating Jill not because she's worse as a girl, but because she's a lying whore who'll ONLY HURT YOU IN THE END!? *sob*
PS: Microsoft, you bitch, you broke my heart.
SCO is about to get a new sugar daddy to fund a whole new round of Linux lawsuits. Corporatist extremists are going to keep on suing Linux one way or another over and over until they land one of their lawsuits in the courtroom of a right wing extremist like Scalia until one of them owns Linux, or right wing extremists like Scalia stop getting appointed to the Federal courts.
So Mono is no more of a "trap" than Linux is. Neither is in the clear.
I just got hired on to do some contracting work for a company using some .NET implementations.
As an Ubuntu user for the last 2+ years, Mono means I don't have to buy/install Windows on my machine, and can deliver C# code that works on the .NET platform.
For practical purposes, at least, Mono can be quite handy.
Miguel de Icaza has found his niche and delivers well within it. GNOME should probably keep use of Mono pretty limited to non-essential parts of its desktop, though, for the commonly mentioned patent liability. It would be particularly bad if something like GNOME Panel was reimplemented with Mono/Moonlight(as Miguel suggests), and then Microsoft played its ace rendering it useless.
Knowledge is just opinion that you trust enough to act upon. -Orson Scott Card
Really! It undercuts the competitive environment by being another choice? Interesting...sounds like insecurity.
The introduction of false choice is not competitive. Giving Microsoft's HUGE amount of cash and influence any support is a waste of our time and bad for the market. If there is the illusion of support for a Microsoft proprietary standard it will be exploited by Microsoft against us.
History has shown that everyone that works with Microsoft eventually gets screwed.
Java has a pretty slick dynamic dispatch of GUI events in the form of java.beans.EventHandler. Is this everything delegates do, maybe not. But it allows you to hook a named method of any active object instance into a menu, mouse action, or other GUI event. Maybe Sun doesn't promote its use beyond IDEs that handle Java Beans and Sun still wants you to use anonymous inner classes, but this facility is pretty powerful, I use it in my GUI programming, and it works just fine.
Whether P/Invoke is slicker than JNI is maybe in the eye of the beholder. If all you want to do is call a method in a Windows dll, P/Invoke is pretty streamlined. If you want to interact with a COM object under .NET, I guess it isn't too bad; if you want a .NET app to act as a COM object, there is some kind of registration/assembly boojum that I haven't figured out.
JNI may be kind of clunky on the C++ side, and it requires "cooperation" on the C++ side I don't see needed with P/Invoke. Also on the minus side, it only allows calls to C function on the C++ side, only allowing invocation of C++ object methods through some kind of handle and casting through static C function prototypes.
On the plus side, I have found JNI to be lucidly documented. If you respect the object locking conventions, I found JNI is perfectly bi-directional -- Java calls into C++, which can call back into Java, or the other way around. I don't know of any way for C++ to call back into .NET unless you register the .NET object as COM, and as I said, the process for COM registration of a .NET object makes JNI look simple and streamlined.
I also find JNI to be thoroughly platform agnostic. They have those naming conventions for the .so and .dll files under OS-X, Linux, Windows -- for a Java app calling down to C++ (for my work for a numeric package written in C++), you have to compile a separate C++ module for each target platform, but you give your users your .jar file and bundle of the different C++ modules, and the correct C++ target is called on whatever platform they are using.
The other thing that has me on Java these days is that I was pretty much hard-wired with my scientific visualization graphcs into Win32 on account of the WinG features developed in the early 90's to get DOS game programs to switch to Windows. I am pretty dependent on the capabilities of ScrollWindowEx() and CreateDIBSection() in order to have a scrollable frame buffer widget where I can set gray level or color of each and every pixel efficiently. Every other platform than Win32, and that includes all of the 'Nix stuff layered on top of X comes up short, as does Microsoft's Windows Forms of all things.
Guess what. Java supports what I want with their BufferedImage() class and if WinForms has anything near equivalent (I guess they do, but they spank your hand that you are doing something not-secure to lock the bytes of the frame buffer). BufferedImage() scrolls had been clunky on Unix owing to the limitations on X, but Sun has a workaround where you can use OpenGL automagically though a commandline switch to get the same WinG hardware accelerated goodness for frame buffer scrolls.
I am solidly a Win32 kind of person, especially with regard to graphics, and Java is a better front end to Win32 along with a way to port Win32 features to other platforms than .NET, wxWidgets, GTK, etc, etc.
More to your point: Microsoft's "Core Fonts" were never Free Software. The license for those fonts always prevented making derivative works (very handy when your language and usage isn't taken into consideration) which kills its chance of being Free Software. There are other restrictions which prohibit them from being considered Free Software as well. Those fonts are merely distributable non-commercially and verbatim (including the cumbersome packaging in which they were initially made available). So, as you said, Microsoft quite literally released some fonts.
Digital Citizen
Suppose I have a high-performance native-compiled C++ program that needs to display some graphics. I write a Java front end having a Java Swing widget incorporating BufferedImage or other Java2D facilities. I write an application-specific but abstract interface to the Java widget. I call into my C++ module using JNI, and that module has a C++ object wrapper for the JNI call back to the Java widget. Voila, I have a high-performance numeric C++ program that is able to produce graphical representations and animations in a platform independent way.
Again, there may be a Mono equivalent to this, but since WinForms doesn't have anything like BufferedImage, and neither do wxWidgets and a whole lot of other things, this is why I am going the Java route to high-performance platform-independent computing.
Miguel is probably a nice guy I just always had a bad feeling about coddling Microsoft. There's a reason the oxpecker doesn't sit on the back of the lion to feed.
The very fact that M$'s help is necessary their development indicates that neither Mono nor Moonlight are open. If something is really open, an implementor must not have anything to do with another implementation.
The largest prime factor of my UID is 263267.
If M$ dictates the list of OSs which can have this "interoperability", who would want to be their slaves? Perhaps only people like you would.
The largest prime factor of my UID is 263267.
As long as Portable.NET is around, Microsoft can't kill OSS by sucking people into Mono and then killing it with licensing changes. Portable.NET is a stack that's just as good as Mono.
1. The specification of the standard should be publicly available. There should not be any restrictions or agreements that have to be signed to get it.
2. The authority to specify updates, revisions and newer versions of the standard should be equally available to all implementors.
3. Implementors must not be needed to do anything with another implementor.
Mono and Moonlight clearly violate 2 and 3.
The largest prime factor of my UID is 263267.
The real problem is that most people won't code for the ECMA spec or the Portable.NET spec. Instead, they code for MS.NET.
The largest prime factor of my UID is 263267.
That's one way of putting it but we all read the emails leaked in Comes V. Microsoft. We know the game and we know the outcome, Microsoft only succeeded in delaying the inevitable.
It's plainly transparent what's going on, it's the same thing that happened when Netscape and Sun promised cross platform web apps in the '90s. The stooge act is well and truly played out, in case you haven't noticed; web browsers are ubiquitous. Despite the best efforts of your idols over in Redmond, we now have a universal runtime environment and true cross platform deployment. The monkey will scream and there's nothing Microsoft can do about it!
I'm really amazed that in this entire discussion, Vala isn't mentioned. I find Vala to be an ingenious project with the potential to please the whole GNOME community at once, especially users.
De Icaza originally created Mono because he wanted a nice high-level language to create GNOME applications quickly. Well, Mono did not quite deliver the goods. The applications are somewhat easier to develop (though I wonder if C# is really that much better than Python, which is also widely used in GNOME), but the applications require the large Mono runtime, which displeases users who want to get as much out of their computer as possible, and there's of course the problem that the whole project is precarious because of its relationship to Microsoft.
Vala does exactly what De Icaza originally wanted, without any of the costs. Developers get a high-level language, about equal to and in some cases more powerful than C#. Users get super-fast natively built applications, without any need for a virtual machine. And nobody has to worry about Microsoft, ever.
I realize that much of the excitement over Mono has nothing to do with GNOME in particular -- things like Silverlight support in non-Windows platforms, etc. I wish, though, that the discussion can go back to the problem Mono was trying to solve, and also make a fair comparison to what Vala is trying to achieve now.
While Vala won't help us get Silverlight running on OS X, it definitely is a project which could appeal to developers on various platforms. Vala compiles into standard C using the portable glib and GObject libraries, and makes it very easy to wrap and call standard C libraries, the most ubiquitous ABI, making it fully interoperable with practically anything you need. Some projects written in Java, for example, might be better of rewritten in Vala.
I encourage all of you to follow the progress of Vala, and help increase its visibility.
WHile I agree with a lot of your message, there is one bit with which I disagree:
Well, considering C++ sucks, and Python uses stupid whitespace-for-scoping (but otherwise isn't a bad language), and the Java libraries look like something that exploded at a dictionary factory, you're not comparing C# to the best of the best. But even then, I find C# to be just like MS-Windows -- not bad-looking, but there are some stupid design decisions that fuck it all up.
Have they fixed the race condition in which you can invoke a delegate, and have someone remove themselves from the delegate at the same time, and you get an exception? I mean, how stupid was it to design a core language feature with a built-in race condition? Then you have to create accessor functions to mutex your delegate. (That's a phrase that sounds dirty, but isn't.)
C# has many little things like that. It came close to being a decent re-mix of Java, but missed wide of the mark on stupid stuff like that.
Other than that: I definitely agree that having an independent implementation of the CLI and CLR is important.
Microsoft is to software what Budweiser is to beer.
> it's required for running Tomboy and F-Spot.
Yup, I know that because PackageKit removed those when I told it to get Mono the hell off my Fedora install. Those are just little desktop toys that the system runs just fine without. And the day that isn't so is when I move to Xfce.... assuming I don't make the jump sooner. I have ran it for days at at time now and really like it. But it doesn't offer any big reason to migrate everyone at work so for now I'm sticking to the same brand of dogfood I'm feeding everyone else.
No, KDE isn't on my radar. There aren't any problems I have with GNOME that KDE solves. Both are copycats. GNOME seems to favor cloning Microsoft's internals and putting a Mac like UI for Dummies on it, KDE takes whatever TrollTech throws over the wall[1], heaps love on it and then clones Microsoft's braindamaged UI with those (admittedly nice) tools.
The Xfce effort seems to at least be trying to explore what a modern desktop for UNIX looks like. And of course GNUStep will someday be insanely great! Probably just in time to ship as the default on GNU Hurd.
[1] Yes Qt is now GPL, but just how many non Trolltech employees have commit access? In a race for an outsider to get a changeset committed between a Java devel and a Qt devel, which one wins? If any.
Democrat delenda est
"You keep using that word. I do not think it means what you think it means."
Being excitedly positive about something may be many things, but it's not Fear, Uncertainty, and Doubt.
My video compression blog
+1 Interesting
The introduction of false choice is not competitive. Giving Microsoft's HUGE amount of cash and influence any support is a waste of our time and bad for the market.
No, it's a waste of your time and bad for you. For me, it's quite attractive, because I do not have an unreasonable fear of working on Windows (it's my primary OS).
If there is the illusion of support for a Microsoft proprietary standard it will be exploited by Microsoft against us.
Exploited against you, not me; I develop primarily for Microsoft's market.
History has shown that everyone that works with Microsoft eventually gets screwed.
If you don't give them the chance to become a good citizen, they never will. This is somewhat naive--but I lose nothing if they return to form.
"You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
After rewriting half of GNOME in C#, what do they have to show for it? Zero compatibility with windows .Net apps, a dependency tree the size of the Amazon and the ever-looming patent threat.
And over in the blue corner, we have KDE. Not only has it actually shown an improvement in the past three years, they've quietly got it running _on_ windows. They weren't even trying to!
Yes, I'm probably starting a KDE vs. GNOME flamewar, but if you've read this far down you're likely too bored to care anyway.
If "interoperability" is Novell's business model, what does it do if MS chooses not to renew the patent deal they signed a couple of years ago which had a five year term?. Tick... tick... tick... Up the creek without a paddle? tick...
If you want your life to be different, live it differently.
You never ever do anything with Microsoft. If Miguel still talks to them after all attempts from Microsoft to destroy the Open Source panorama, he's a fricking idiot, or more likely he's in bed with them.
Exploited against you, not me; I develop primarily for Microsoft's market.
Well, unless you have been in the situation where microsoft decides to compete against you AFTER you've create the market, you are either young or lucky. More than once, I have been on the receiving end of microsoft's monopoly machine either giving away a clone of the product or incorporation of the features of the product in Windows.
If you don't give them the chance to become a good citizen, they never will. This is somewhat naive--but I lose nothing if they return to form.
Speaking from my experience with Microsoft, they are not good corporate citizens and never will be.
I think I look at this more optimistically than other people. Sure Microsoft offering a media package so moonlight can play proprietary codecs... is not a bad thing. Because not only will it then be able to play them but it will also be able to play open codecs. Which IMO is more free than flash which won't just play any codec. The only ways then microsoft could hurt moonlight is by not offering codecs once silverlight became mainstream... but then moonlight could simply use open codecs. couldn't it just be that microsoft , like adobe... is just trying to create this to sell the tools around it? By building the best tools?
As seen on groklaw
http://www.groklaw.net/comment.php?mode=display&sid=20080709044510241&title=Mono-no-no&type=article&order=&hideanonymous=0&pid=710941
http://tim.thechases.com/mononono/
"Description
Introduces an intentional conflict with Mono packages
By creating an intentional conflict with mono packages, this package can be installed to prevent Mono from being installed (or at least force you to address the conflict)
"
The Singularity is closer than you think
Quant
And for the few not yet knowing how widely SVG is used, see this overview of SVG examples.
Given the amount of OSes that Mono is available on, would that be two universal runtime environments with true cross-platform deployment - Mono/.Net and Java?
TBH I always get the impression that .Net is more platform independant. SWT and Eclipse need OS specific libraries and you can't export an Eclipse app to run on any OS. .Net has been (in my experience) build once, run anywhere (unless you purposefully do something OS specific like P/Invoke).
Yes. It is always fun to read criticism of non-.NET/C#/Silverlight/etc developers. I've read thousands of times how MS ties my hand and how I'm totally incompetent as a programmer because I write .NET apps. Or that I am Microsoft's tool or something, even when I don't work for MS.
Well guess what? I earn good amount of money, compared to some, from being a Microsoft's tool and that pays my and my wife's bills! I don't care a fricking inch about all these political, almost religional, battles that some are trying to rise (and are succeeding in it) between MS and Open Source community, Novell vs Linux people, Novell vs Sun, BSD vs GPL people, etc., etc. Or to be honest, I do care about it but I dislike it, if you know what I mean.
So could everyone just mind their own business or at least stop calling honest developers with names? I've written some stuff which I've released under BSD-like license and I'll continue to do so but shouldn't it be pretty understandable that if people keep bashing me directly or indirectly, I don't get the pleasure from it and that ... well makes me sad.
And don't get me wrong. What I'm not trying to say is that you shouldn't critize something or someone. Constructive critizism is important for everyone. Mudslinging (or fudslinging nowadays?) just isn't.
You don't know what you don't know.
The reason Microsoft implemented Silverlight is the same reason Microsoft implmented the Zune, the same reason they implemented PocketPC, the same reason they implemented DirectX, the same reason they implemented Internet Explorer and the same reaosn they implemented the fucking nightmare known as ActiveX: Somebody else did something cool and Microsoft saw an oportunity to steal the other tech's user base by trying very hard to one up them.
I don't know Bill Gates or Steve Ballmer personally and I have zero knowledge therefore why they do this specific thing over and over and over again. I don't know if they are scared that some bright new technology might be their downfall, but I really suspect that isn't the case. I think that Microsoft, in all honesty, couldn't innovate themselves due to their enormous market position and the sheer inertia and inter-office political fighting that seems to cripple every large Microsoft project by bring inter-team comunication to a standstill, and they they simply find it easier to use their weight to steal and cripple others' attempts to do so.
So you think .Net is so great? You think that we should all be doing all our webwork in Silverlight and preferably XAML and WPF, because it's so much better than the craphouse which is HTML/CSS/Javascript and Flash? I think so too. I think it's better than Java. I also thought that Internet Explorer was lightyears ahead of Netscape back in the day.
The problem is that Microsoft, because they don't actually innovate, very much like the Democratic People's Republic of Korea is anything but democratic, simply couldn't actually give a fuck about you, and won't do a single thing if they can get away with it. Look at IE. They left it to stagnate for 6 whole years, so long that a fledgling competitor could go from crash-fest alpha to fast and stable, innovative serious threat. Then MS shat themselves and then finally started working on a new IE again, but still trying to hobble it just enough in the hope that it would once again kill open standards.
You want the world to run .Net??? You want the world to run Silverlight? You should realise that if this were the case you will have to seriously forget about any updates for years at a time.
You would sit with the same crashy, bug-ridden POS for years, cursing MS under your breath.
The ONLY reason Microsoft has survived so long is because of the huge head start they got in the early years of the PC. A smaller company as inept and totally unimaginative as Microsoft is would have gone out of business years ago.
Java is available on far more operating platforms, and unless you purposefully do something OS specific, is genuinely build once, run anywhere.
Lets see, Sun's list includes Linux, Solaris and Windows as official downloads. Mono has Linux (albeit distro-specific versions on the site), Solaris, Windows and Mac OS X. Mono also has an unofficial *BSD port, while Java has unofficial ports for Mac OS X (or at least "not listed by Sun but listed by Mac, and a bit behind") and BSD. I'd say that's pretty even.
As for build-once, run-anywhere, yes it is but you end up with either an ugly old and clunky GUI (AWT/Swing) or you end up with OS dependencies (SWT). System.Windows.Forms isn't fantastic on other OSes, but at least it doesn't stand out in a terrible way, just in a neutral way.
Sun's list barely scratches the surface.
Java is available on a myriad array of desktop, server, and mobile operating systems, such as Windows, Solaris, HP-UX, Mac OS X, AIX, UnixWare, Linux, NetBSD, FreeBSD, OpenBSD (build from source), OS/2, z/OS, IBM i, OpenVMS, Tru64, Reliant Unix, Windows CE, Windows Mobile, Symbian, Palm OS, QNX, Haiku, and so on. These are compliant Java implementations that pass the relevent TCK.
Geez. In all honesty, while I dislike Microsoft, they're a company. You can't honestly lump the hundreds of thousands of workers into a single entity and label it off as some evil, moronic, sub-standard corporation.
At the very least, they're making an offer. They're going to port it to other OS'es, and who are you to say whether they'll be bad?
As a Linux and Solaris user, I welcome this occurence. I don't really care if it's not 100% free and open. And why should I really care about a restriction on my freedom if it works well?
So, you're mad that MS doesn't "support standards in the FOSS sense", yet you howl and roar at GPL'ed technologies such as Mono and Moonlight? The only double standard is your viewpoints in the article.
You're most likely one of those raving fanatics from "Boycott Novell".
I'm posting anonymously because I have better things to do with my time than read garbage from Linux Youths on Slashdot. Go back to your brainwashed little Ubuntu community, and rethink your life.
Also, you're more than welcome to read my blog if you want me to continue to strike down your shallow, meaningless views.
http://fuckertwashington.blogspot.com
Who has threatened you with bogus patent violations?
By copying technology everybody knows is theirs?
Honestly, where is your sense of logic?
IANAL but write like a drunk one.