Mono competes with Java, and as Chris said a few weeks, am sure I have some agenda here. But I believe in open source and free software. Ultimately, a free java is just what the doctor ordered.
Like every other pundit on the magazines, this is my followup into the speculative Java debate.
Am reading the recent quotes from a Red Hat executive on the Register (so I guess we have to take these comments with a grain of salt, as the Register is highly selective about what it quotes and how it quotes it), but they ring true.
Regarding the new binary license and Sun's announcement this week, he said:
"They try to do the minimal amount they can get away with,"
Am sure that Sun has its own reasons for doing a calculated release of Java, but they have a good track record of following up on their promises: OpenOffice and OpenSolaris (and I guess they are also GPLing their CPUs, not sure).
The OpenOffice strategy was in the hands of Marco Boerries who has now departed Sun. And in the case of OpenOffice the value was in bringing down the leader in the space (Office); While in the Java case its a matter of opening up the leader (Java) and potentially loosing some leverage in the industry.
Now, when it comes to the one laptop per child project and Java, its interesting to note what Chris said recently:
Everyone has agendas. We ran into quite a few at this point in development. People who wanted us to use Java for Java’s sake, people who wanted to see their particular software on the laptop, people who wanted to control what kids would see, and what educational content they would be exposed to - everything.
Red Hat is clearly now a company with a lot invested in Java and much to lose from Sun's control over such a core component of the OS. I have no way of confirming if the Register correctly paraphrased their CTO, but the reasons given had nothing to do with JBoss and everything to do with some research-grade projects: OLPC and Real Time Systems?
In any case, it boggles the mind that people would like to run everything on Java on those poor OLPC machines. They have as much power as my cell phone (and Java has brought down and rebooted my phone more times than I care to remember; Granted I spend too much time in Google Talk and Google Maps).
Now, on the other hand, everyone clamoring for Sun to open source Java seems to be tacitly admitting that free software can not compete in out-engineering a proprietary company if the proprietary company gives their goods for free, a point that I have made previously ("Fork in the Open Source Java world" and "Open Source Java, Part 2"). Tom Tromey did have an interesting follow up to my negative outlook (finding the post is an exercise for the reader).
He certainly does not agree with me, and its very possible that my passion for Mono might influence my motivations, but in the end an open source Java is good for everyone.
Beyond all the debate surrounding Sun's actions there is an interesting debate that we should look at: can open source effectively competing with proprietary software if the goods are given away for free?
I believe we have overestimated the need and importance that people put on open source software over the need for free software (free as in price in this context, gratis). This is one of my points in the previous blog entries.
Points to ponder: effect of free VisualStudio Express over SharpDevelop. The new license that allows binary distributions of Java among Linux users. Free Flash player over the three hundred incomplete efforts to reimplement it for free.
Discuss among yourselves.
Update: Some confused readers did not make the connection and are missing my point, so I quote a bit from the earlier article
Unlike Mono, open source Java faces a big problem: there are a number of free commercial Java runtimes available for every operating system that matters. The group of people who would have contributed to a free java to scratch an itch are gone. From those who remain another large chunk will switch in a heartbeat to a commercial implementation the moment they run into missing features, scalability issues, the lack of a moving GC or a hard to debug problem.
So you must rely purely on free software advocates or people employed to clone Sun's Java for a strategic purpose.
As I mentioned in someone's comments section, broaldy speaking there are two large groups of contributors to open source software: free software kind, the activists, the idealists and the pragmatists, scratch-their-own-itch kind.
Open Source Java moves slower because it lacks the second group of contributors. That group is happily using Sun's Java. Mono on the other hand has been able able to benefit from contributions of the second kind. The day Microsoft releases .NET for Linux/Unix is the day that Mono looses a big chunk of the second kind of contributors.
Posted on 19 May 2006
Someone has adapted Colbert Report's "The Word" format to Bill O'Reilly's own "Talking Points", the result are pure gold.
Posted on 17 May 2006
Thomas Friedman, "Six Months" remixed: Hilarious.
Posted on 17 May 2006
I liked this bit from the Ars Technica News coverage on Sun's rumored license plans for Java:
Sun's decision to make the license less restrictive is probably a response to the rapidly growing popularity of Mono, an open source implementation of Microsoft's .NET development platform. A variety of unique and compelling Linux desktop applications built with Mono have helped to popularize the use of .NET technology on Linux. The .NET runtime environment, known as the Common Language Infrastructure, is an official ISO standard, whereas Java is largely controlled by Sun through its own standards body, the Java Community Process. Java popularity is also threatened by the recent hype surrounding dynamic language web application development frameworks like Ruby on Rails and Django. Developers have found that web applications built with Ruby on Rails require less time and resources to develop and, in some cases, provide better performance than comparable web applications built with Java technologies like Spring and Hibernate.
Posted on 11 May 2006
This summer I will be participating in a series of lectures at Bertrand Meyer's LASER Summer School on Software Engineering in the Elba Island.
I will be talking about open source development.
Posted on 09 May 2006
In CSPAN1 last night you could watch the White House Correspondents Dinner where Stephen Colbert had a thirty minute intervention.
Crooks and Liars has a copy here.
Bush's face is priceless. And there were many tense moments, you can tell the audience was way uncomfortable.
Update: Colbert will be profiled today in 60 minutes.
Posted on 30 Apr 2006
"Living with War", Neil Young's new album, is currently being streamed from his web site.
Alternative streaming site.
It is also available from Real's Rhapsody.
Neil interviewed in CNN, available on YouTube.
An early review of the album by a friend of Neil Young.
Another pre-release review.
Posted on 28 Apr 2006
Yesterday I found MonoCalendar, a Windows.Forms-based calendar application, very similar in spirit to iCal.
MonoCalendar is a big exercise in abusing System.Drawing, when I ran it in the morning it was crashing. Just as I was preparing to file a proper bug (and after nagging Massimiliano to look at the crash) Sebastien, Bill Holmes and friends had fixed the GDI+ issues that were stopping MonoCalendar from running.
here is a screenshot:
To run it, you must be using the latest versions from SVN of Mono and GDI+. Hopefully we will have a new beta of Mono soon (1.1.16).
Posted on 26 Apr 2006
This summer Google is sponsoring a number of open source projects with their Summer of Code 2006.
Last year Mono had a great success: a lot of fresh code was contributed and many of the students that participated in the effort continue to be contributors to the effort (see my previous comments about it).
See our page with ideas for summer projects and feel free to email me if you have any questions (or reach me on irc.gnome.org, channel #mono).
In addition to Mono, the Beagle Project is also being sponsored for the Summer of Code. They also have a great list of tasks to implement in the joyful world of C#.
Posted on 24 Apr 2006
Tomi Valkeinen has implemented continuations for the Mono virtual machine.
His continuations work is here.
Most of his tests are used for a user-level thread implementation he calls Microthreads.
Posted on 19 Apr 2006