Strawman Central

by Miguel de Icaza

As I was reading this morning Twenty-Five Ways To Suppress Truth: The Rules of Disinformation I was pointed to about Groklaw's latest attempt to defy gravity.

As it is becoming common in some circles, some folks like to be purer than the virgin Mary. Groklaw has been for a while expanding into new levels of fundamentalism. The ends justify the means and all that:

That, to me, wasn't the news, since a Microsoft license was submitted once before, although I gather not by the company. But what I'm noticing is reactions. ComputerWorld collected some truly astonishing responses, and if you follow their links, it gets worse. First, though, the reaction that matters, from Michael Tiemann:
Michael Tiemann, president of the non-profit Open Source Initiative, said that provisions in three out of five of Microsoft's shared-source licenses that restrict source code to running only on the Windows operating system would contravene a fundamental tenet of open-source licenses as laid out by the OSI. By those rules, code must be free for anyone to view, use, modify as they see fit.

"I am certain that if they say Windows-only machines, that would not fly because that would restrict the field of use," said Tiemann in an interview late Friday.

Why would this need to be said? What nerve Microsoft has to even dream of trying for such a restriction. A license that restricts use to only the Windows operating system. Why would OSI even consider that? Have we lost our minds?

Groklaw: Another Smooth Move from Microsoft: Watch out, Ruby. Watch out OSI.

Really?

4. Use a straw man. Find or create a seeming element of your opponent's argument which you can easily knock down to make yourself look good and the opponent to look bad. Either make up an issue you may safely imply exists based on your interpretation of the opponent/opponent arguments/situation, or select the weakest aspect of the weakest charges. Amplify their significance and destroy them in a way which appears to debunk all the charges, real and fabricated alike, while actually avoiding discussion of the real issues.

The Rules of Disinformation

Microsoft has a number of licenses under the "Shared Source" umbrella. Most of them are completely useless from an open source standpoint. Michael Tiemann correctly points that out and they would fail the test.

The only license that can be submitted for OSI approval is the Microsoft Permissive License (Ms-PL) and possibly the Microsoft Community License (Ms-CL). The former is an Apache-like license, the latter is a GPL-like license. Am personally only interested in the first as that is what IronPython, IronRuby, the Dynamic Language Runtime and the ASP.NET client library are licensed under.

Groklaw goes on to rally up the troops over *other* licenses that are not even under discussion. You would think that this was so obvious that it did not need pointing out, but I guess it needs pointing out.

Later Groklaw seems confused: how a company can have software open sourced but not embrace it as an open source?

And does Microsoft want to be an Open Source company? Puh-lease. They may want you to think that, but Steve Ballmer just told the world that it can't embrace that model:
"Open source has been the issue that surrounds us. Could a commercial model like Microsoft compete with open source? And we've worked very hard on making the value of a commercial company surpass what the open-source community can deliver, because frankly, it's not a business model we can embrace. It's inconsistent with shareholder value."
Does it get any clearer? And if they have no intention of adopting that business model, the right question is: why are they proposing open source licenses?

There is no contradiction here. It is only contradictory if you live in a binary world world of black and white. Or if you find images like this to be magic:

You can open source pieces of software, contribute to open source projects and still not embrace open source as your business model. It is easy to prove this by way of existing examples. Consider IBM and Google: they use open source software, they contribute to open source projects and they fund open source development, but yet their business model is not an open source model.

An ugly trend is the adoption of the absolutist mindsets. "You are with us or you are against us". Well, for one, am not with Groklaw and am not with Microsoft. My goal is to make open source succeed as a platform and use open source for all of my server and desktop activities. I see no problem in taking open source contribution from companies that have not embraced open source as their business model as long as the code is open source. So I will happily consume open source code produced by Google, IBM and even Microsoft.

Groklaw asks:

By the way, guys, check those license submissions carefully. Do they exclude the GPL? Do they exclude sublicensing or allow it only if the sublicensee contacts Microsoft to get permission? How about if a licensee sells the company?

Well, you would think they would have read the license, but it is easier to get on a rage binge than actually reading the licenses. There is no exclusion for the GPL or Copy-left licenses, the only problem is that the GPL is incompatible with pretty much anything, so chances are these will be incompatible altough am no lawyer and I do not know for sure; They do not exclude sublicensing and you do not need permission from Microsoft, nor do you need to contact them if you sell the company.

The rage binge continues:

In that connection, I suggest you look very, very carefully at the IronRuby initiative. The first rule with Microsoft proposals has to be: look for the devilish part. It won't be obvious. Here's the license for it, Microsoft's Permissive Licence, one of the shared source licenses. Is it Open Source?

The MsPL seems to satisfy both the open source definition and the Debian Free Software Guidelines.

Groklaw questions IronRuby motives and in the best conspiracy theory tone ponders:

Is that the only question we should be asking? Here's another. Is IronRuby Ruby? [...] Ruby with a Microsoft twist.

Obviously they do not know much about IronPython and IronRuby and the trouble they went to in IronPython to remain compatible with CPython. The troubles they went into to be compatible have been explained numerous times, but they are also available on Jim's Zen of the DLR slide deck. I removed the OpenXML remarks as they were just more pandering.

The article continues by mixing half-facts and speculation as it is now a tradition over there:

In Ruby's case, my understanding is that it started as Ruby.NET under the MIT license.

It has different goals, IronRuby is layered on top of the DLR. They got permission to reuse the parser and tokenizer from Ruby.NET which had done all the leg-work of figuring it out (since Ruby does not have a formal language specification).

The half facts continue:

Microsoft has added some WPF functions to it. WPF stands for Windows Presentation Foundation. Some would tell you that WPF threatens an open web, the W3c standards, and basically anything involved with the open Internet. I don't know, not being a programmer, but that's what I hear.

I will agree that you do not know what you are talking about. IronRuby can call any CLI methods and classes just like Ruby.NET and IronPython can (or, gasp, CPython extensions can do so as well) . WPF being just a collection of .NET classes they can be invoked by IronRuby.

Being able to call CLI code is why I can write IronRuby applications that use Gtk# today on Linux without any changes to IronRuby, there is no magic needed:

IronRuby Alpha running on Linux/x86 with Mono, calling Gtk#.

LOOKOUT! ITS SPIDER PIG! MICROSOFT'S SECRET PLOT TO OVERTAKE THE INTERNETS BY ADDING GTK# SUPPORT TO IRONRUBY!

Oh wait. Does that means that libraries are an evil plot as well? Tune in next week at the same bat-time on the same bat-channel for an answer.

Then, Groklaw tries a little of guilt by association, always a fine choice in the most reputable sophistry circles:

For me, it's enough of a warning that Miguel likes the MPL as he did the patent deal and all things Microsoft. He says the license is "by all intents and purposes an open source license". Whose intents? And whose purposes? Remember Lily Tomlin's old joke? If love is the answer, can you rephrase the question? And if this is "by all intents and purposes an open source license" then maybe it's time to look at that definition again.

Facts and legal terms mean nothing. If Miguel likes it, it must be bad. I hope Groklaw gets nominated for "Best use of Fallacies to Advance a Political Cause" award next year.

So if the license were to fit the open source definition then "it's time to look at the definition again". Why? Well, because Groklaw said so. Not because "they know" as we already know that they barely researched the subject.

Now am off to get some more work done on Moonlight, which will serve two purposes: allow Linux users to access Silverlight content and produce an ulcer on Groklaw's posters.

Disclaimers

And as usual to avoid the usual round trip in the comments:

  • I speak for myself, I do not speak for Novell;
  • This blog entry does not represents the views of my employer.
  • I do not like Microsoft's overall business model, I do not like the pricing, I do not like lock-in into proprietary standards, do not like their patent threats, nor do I endorse FUD (theirs or anyone else's).
  • Liking MsPL does not mean "endorsing Microsoft" wholeheartedly.
  • I have been asking for collaboration between Microsoft and the open source community for years, and advocating it with their employees and representatives at every turn in the past. Most recently, before I even knew about the Microsoft/Novell agreement am on the record calling for such a thing.

I think that we have reached a sorry state when our community has to resort to half-truths pandering with fear, uncertainty and doubt. The very actions that people criticize Microsoft for. We can do better than that.

Posted on 31 Jul 2007


Support the Troops: Conditional Blogger Style

by Miguel de Icaza

Last week or so an article that described some ugly scenes in Iraq was published, the article was written by an American soldier in Iraq under a pseudonym.

Since the picture painted was not very rosy, war supporters set out to discredit the article and its author. The author eventually had to come out and now the war supporters are launching a campaign to punish him.

Blogger Jon Swift has collected the twisted logic and hillarious conclusions in a phenomenal post.

You could not ask for a better radiography of cognitive dissonance.

On the Topic of Serving in Iraq, oh, and the anti-Christ.

Continuing with the previous topic, Max Blumenthal from the Nation has a great video: Generation Chickenhawk: The Unauthorized College Republican National Convention Tour:

Max goes on to ask College Republicans why they have not enlisted to serve in Iraq, the answers are pure gold.

If you liked that video, check also his new "Rapture Ready" video as it contradicts the common notion that the antichrist is Rosemary's baby:

Posted on 28 Jul 2007


Microsoft and Open Source

by Miguel de Icaza

These are good news, as reported on the O'Reilly Radar by Tim:

In his keynote at OSCON, Microsoft General Manager of Platform Strategy Bill Hilf announced that Microsoft is submitting its shared source licenses to the Open Source Initiative. This is a huge, long-awaited move. It will be earthshaking for both Microsoft and for the open source community if the licenses are in fact certified as open source licenses. Microsoft has been releasing a lot of software as shared source (nearly 650 projects, according to Bill). If this is suddenly certified as true open source software, it will be a lot harder to draw a bright line between Microsoft and the open source community.

Bill also announced that Microsoft has created a new top level link at microsoft.com, microsoft.com/opensource to bring together in one place all Microsoft's open source efforts. Bill sees this as the culmination of a long process of making open source a legitimate part of Microsoft's strategy. Open source has survived Microsoft's process of "software darwinism" and is becoming an ever more important part of its thinking.

Bill understands open source.

As I said last year on Microsoft's Port25, in my opinion, part of the reaction that Microsoft had towards Linux and open source had its roots in the way it was portrayed as a Microsoft killer. Anything that is portrayed as a killer of something will be less than welcome. Or like they say out there, you attract more bees with honey than with vinegar.

Open sourcing software is a great step for Microsoft. I hope that they continue on this path of openness, and I hope that they will have a good experience with external collaborations with the software projects that they are opening up to external contributors.

In the last year Microsoft moved away from merely opening up source code under open source terms to actually creating communities that would co-develop components with them. This is the case with their AjaxToolkit for ASP.NET AJAX (Mono-plug: soon in a Linux server near you).

With IronRuby and its class libraries they will be taking new steps again. These will be the the first projects in which the software is not only open source, but where they will taking contributions back into it.

Update: In the comments to the piece, Tim has some interesting things to say, and I agree with them:

Ultimately, I believe this is significant because I believe that Microsoft realizes that they are on the losing side of history. Year by year, they have come closer to recognizing that the old models are dead, and that new ones need to be explored.

This doesn't mean that all their software will be open source. But I don't see people abusing Chris DiBona about Google's open source program because all of Google's software isn't open source either. And IBM gets lots of love for eclipse and other open source moves without being castigated for all the things they (still) do on the other side of the ledger.

You guys seem like the Shiites and Sunni in Iraq. No, the other side isn't to be trusted. But the consequence of not trusting, and escalating hostilities, is far worse than exploring what trust is offered, and building on it.

If you care about Microsoft becoming more free and open, support the people at Microsoft who are trying to bring them along.

This other piece is right on track:

Demonizing the other side (in business or in war) is an easy way of actually ignoring the actual facts, after all its easy to say that the devil is bad:

Dalibor -- my reference to "you guys" was specifically to all the people saying Microsoft is innately bad. All I can say is that if you believe that, you've never spent much time with folks at Microsoft. It's easy to demonize someone you don't know. Harder when you actually talk with them. There are some people there (including the top leadership) that I don't trust, but there are a lot of people trying to make positive change. Help them, don't hate them.

As to the "losing side of history", my thinking is shaped profoundly by my study of the history of the IBM PC, which broke IBM's old stranglehold on the industry via proprietary hardware. That change didn't make IBM go away, but they had to change to survive, and now everyone thinks they are a good guy.

I predict a very similar outcome for Microsoft. Free and open source software have changed the world, but not in the way we expected. It doesn't mean that "free" triumphs, just that the locus of proprietary value capture and protection changes from software to something else, just as it previously changed from hardware to software.

I've written about these ideas at length in The Open Source Paradigm Shift and What is Web 2.0, and events since I wrote those pieces have only confirmed my view.

I completely agree that Microsoft is participating where they find it useful ... but so is IBM, and Sun, and Google, and Oracle, and even Red Hat, Canonical, MySQL and other "open source" companies. It's never just black and white.

I could not agree more.

Posted on 27 Jul 2007


Getting Your Priorities Right

by Miguel de Icaza

Republican candidates have been busy crying wolf in the past set of presidential debates. They have gotten their share of softball question on the issue ("if a bomb is about to go off and kill a million people and you had a chance to stop it, would you?") but they barely discuss anything that actually matters.

From St Pete for Peace Fact Sheets there is this interesting chart on the real threats to America:

Click on the previous link for the sources.

More fact sheets here.

Posted on 27 Jul 2007


Olive Oil

by Miguel de Icaza

I like Olive oil so much, that I would be willing to pay good dollars to whoever manufactures an Olive-oil based soda product.

Posted on 23 Jul 2007


IronRuby released

by Miguel de Icaza

John Lam at Microsoft has released the first preview of IronRuby: a Ruby compiler that targets the .NET framework (licensed under the MS-Pl license, which is by all intents and purposes an open source license).

The source code is here. Seo Sanghyeon has already put together a kit to build and run it on Linux with Mono. There is one downside, you will need Mono from SVN, as you need the same fixes for Mono that were required to run IronPython 2.0 and Dynamic Language Runtime (DLR).

Congratulations to the DLR team at Microsoft for this release. They have also been working towards opening up the development process to external contributors:

We're also happy to announce that we will be accepting source code contributions into the IronRuby libraries. Right now we have a lot of logistical work that we still need to do, but we fully intend on getting IronRuby onto Rubyforge by the end of August.

Some of you may be wondering why we are only accepting contributions into the libraries and not the entire compiler. It's because IronRuby is built on top of the Dynamic Language Runtime (DLR), and the public interfaces to the DLR are not complete at this time. Since the DLR will ship as part of the CLR in the future, we cannot accept contributions into the IronRuby compiler, at least initially. However, once the DLR matures and reaches 1.0 status with fully supported public interfaces, we will fully open up all parts of the IronRuby project for external contributions.

It is worth noting that the future home of IronRuby wont be CodePlex but RubyForge, John said:

I (and I'll use I here since I fully take responsibility for this decision if it doesn't work) felt that more folks contributing to open source projects were comfortable with Subversion than with TFS. I wanted to make it as easy as possible for folks to contribute, so Rubyforge was the natural choice here.

This is a probably a good time to point to Joel Reed's work. He wrote an open source client for accessing TFS systems (CodePlex or your own company's server) from Unix systems running Mono.

Value Types and Null, the mistery continues

You will notice a patch in Seo's distribution. This patch is necessary because until today I had refused to implement this broken behavior of CSC 2.0 in Mono's C# compiler.

Today I finally gave up the resistance and implemented it in version 82517. But I must point out that so far there is no good explanation as to why this broken behavior is present in CSC in the first place. A few months ago I posted the question on this blog and we had a lively discussion but never found a satisfactory answer to this behavior.

Posted on 23 Jul 2007


Weekend Videos

by Miguel de Icaza

"Feel Good", by Nick Anderson, my favorite part: the Dick Chenney rap sequence.

video.

The United States, Israel and the Jewish Community.

Jeff Halper on is the director of the executive director of the Israeli Committee Against House Demolitions. This is a video from his talk in Portland, Oregon. Produced by PDCJustice.org.

He is a superb speaker. In particular he touches on a few points that we discussed a few weeks ago on the comments section.

Watch it here.

The presentation is 1:10 or so, and there is about 50 minutes of questions and answers at the end.

It will save us all time if you watch the two hours before you post on the comments section.

Posted on 23 Jul 2007


Hack Week reviewed in Ars Technica

by Miguel de Icaza

Ryan Paul interviews various folks from the Novell HackWeek in this article.

Posted on 19 Jul 2007


PyroDesktop

by Miguel de Icaza

Our own Chris Toshok (Moonlight, Winforms, ASP.NET, Japhar, Hungry hacker) and Alex Graveley (Tomboy, VMware, libSoup) have cooked a pretty interesting desktop environment based on Firefox. It is a combination of window manager, compositing manager built on top of Firefox.

Check their PyroDesktop project.

Posted on 18 Jul 2007


Google Gears and Silverlight

by Miguel de Icaza

Nice post on using Silverlight with Google Gears.

Posted on 13 Jul 2007


ASP.NET AJAX in Mono/Grasshopper

by Miguel de Icaza

Noam Lampert posted an update on the ongoing efforts at Mainsoft to implement the ASP.NET AJAX APIs for Grasshopper and Mono.

Mono's implementation of ASP.NET AJAX is limited to the server components. Luckily the client-side library is effectively open source under the terms of the Ms-PL license (same one used by IronPython, DLR; it lacks the OSI stamp of approval, but it is effectively a FLOSS license).

A bunch of AJAX-enabled ASP.NET components are also being developed in an open source way. You can check out Microsoft's sampler here.

In other news, Mainsoft has also launched http://blog.mainsoft.com/blog, an aggregator for all-things Grasshopper, .NET on Java and Mono. Check it out!

Posted on 13 Jul 2007


Go Michael Moore Go!

by Miguel de Icaza

Magnificent interview with Michael Moore on CNN.

That was one solid intervention.

Stay tuned until the end, when Lou Dobbs has a chance to show his rethorical skills.

Posted on 10 Jul 2007


Life Imitates The Onion

by Miguel de Icaza

Life Imitates The Onion, as seen on reddit.com:

Posted on 09 Jul 2007


Runtime Sizes

by Miguel de Icaza

Mirco Bauer maintains the Mono packages for Debian Linux. Today a minimal install of Mono is quite small.

He has posted some details here.

A minimal Mono installation (just the basic runtime) is 2.4M for download and takes 7M on disk.

Beautiful.

What was surprising is that a minimal Python install is larger (3.9M download, 13.4M intalled).

Not surprising is that Sun's Java (JRE) is 34.5M and uses 95.2M on disk. But this is just because its an all-or-nothing installation due to licensing. A full Mono installation is 27M and takes up 78M on disk (this is with symbols stripped, with symbols that goes to 32.7M for download and 107M after unpacking).

Mono is somewhere in between the JRE and the JDK. Our "complete" package includes the runtime, plus our development kit but does not include documentation, that is separate.

If we pull in Gnome#, Gtk# and the Mono documentation browser and XSP (with all of their deps) it goes up to 84M for download and 250M installed.

Mirco has some stats for the various other open source Java VMs as well.

Silverlight/Moonlight size

Just looking at the native libraries that we will have to ship with Moonlight/Silverlight I estimate that we will need about 7 megs of disk space plus any other native libraries that we might end up linking statically (Cairo most likely) plus the Dynamic Language Runtime + compilers when they are ready (another 3-4 megs).

Compressed it will likely come down to 4-5 megs, so our Silverlight implementation for Linux will likely be in the 8M-9M range for the download.

Rumors

We know that some products like OTee's Unity ship a stripped down version of Mono for the generated games they produce.

A friend mentioned that Cisco's DVD documentation ships with Mono and Mono's ASP.NET server (Sadly, Windows-only). Can anyone confirm this?

Posted on 08 Jul 2007


Basic Tuning of Mono's ASP.NET

by Miguel de Icaza

Someone was asking the other day about raw PHP vs ASP.NET performance. I do not remember on which forum this was, but I found on JuanCri's blog a couple of simple tips that can improve the performance of your apps:

  • Disable ViewState on forms that do not require it (put EnableViewState="False"). You can set this on a per-control basis for a page, or for all the pages.
  • Use the output cache on pages that load data from databases.. From JuanCri's blog, set the <% @OutputCache Duration="60" VaryByParam="None" %>.

Posted on 08 Jul 2007


Font Rasterization -- from Maxim

by Miguel de Icaza

Maxim ---of AntiGrain fame--- has written a fantastic analysis of the various text rendering systems used in Windows, MacOS and Linux and proposes some solutions to this problem: Texts Rasterization Exposures -- An attempt to improve text rasterization algorithms using only publicly available information:

Joel Spolsky in his article "Font smoothing, anti-aliasing, and sub-pixel rendering" [1] compares Microsoft and Apple ways of text rendering and explains why windows people don't like Safari. Text in Safari looks too blurry and that must be why. I want to go further and sum up my experience and observations about it. I'm not an expert in digital typography, but I "have something to say". At least, some ideas may be useful for the GNU/Linux community.

Posted on 08 Jul 2007


The Pentagon Papers: How They Were Released

by Miguel de Icaza

Mike Gravel tells the story on how he released the Pentagon Papers and his involvement in stopping the draft. He is a great story teller. His speech is also quite funny.

The entire episode from Democracy Now is available here. The Real Player stream is here.

I loved the last bit about how they managed to publish the papers. When they were running out of sources and it seemed like MIT Press would not publish it, Beacon Press decided to publish them: they had the money and were willing to go ahead with it.

The Gravel bit (alone) here:

Posted on 04 Jul 2007


Mono Meets Facebook

by Miguel de Icaza

R Tyler describes how you can integrate Mono applications in Facebook.

His solution uses Mono's ASP.NET, Mono's Facebook-Sharp and he creates a sample application: Weather#.

Weather# combines Mono, with SOAP webservices to retrieve the weather information and render information specific to your profile.

Check out his tutorial. It covers how to use MonoDevelop to create ASP.NET applications.

Posted on 04 Jul 2007


Strong Words

by Miguel de Icaza

Someone uses better, accurate, and stronger words to succinctly describe Bush's presidential pardon from yesterday.

Posted on 03 Jul 2007


No Criminal Left Behind

by Miguel de Icaza

President Bush commuted Libby's sentence on the case of ratting out an undercover CIA agent.

We got our bread and circus when they put Paris Hilton in jail. But when it comes to the real crooks, doing real damage, those either walk free or Congress is too weak to take their jobs away.

If this was a public corporation, stockholders would have fired the board and the CEO a long time ago and pressed charges.

Posted on 02 Jul 2007


Porting your ASP.NET 2.x Application to Linux

by Miguel de Icaza

Marek Habersack has written a Guide on Porting ASP.NET Applications to Linux using Mono. This is a complement to Jonathan Pobst's Porting Winforms Applications to Linux using Mono.

AjaxWidgets

In addition to the two Guides above, the Thomas from Frost Innovations (the makers of Ajaxwidgets has written a tutorial on how he run ASP.NET 2.0 apps on Linux with Mono.

AjaxWidgets announced 100% Mono-compatible Controls

The new version of Gaia Ajax Widgets now is shipping with full support for Mono ASP.NET 2.0.

If you were considering an ASP.NET control library for use in a cross-platform fashion, these guys offer a very nice suite of controls, and they will support you in Mono and Linux.

In addition to the controls, they provide MonoDevelop solution files and ready-to-run components. In addition to supporting the "big browsers", AjaxWidgets works just fine with Opera.

If you are an open source project, you can use those controls for free. For commercial projects they offer a commercial version that is very reasonably priced.

Posted on 02 Jul 2007