March 31, 2006

Relicensing Complete

Yes, that's right. After four and a half years, 445 contributors and 28522 files, we can celebrate Mozilla's eighth birthday by announcing that the relicensing process is complete. All the code in the Mozilla source code repository which makes up Firefox, Thunderbird, Seamonkey and Camino is available under your choice of the MPL, LGPL or GPL.

This change is in line with the Mozilla Foundation's commitment to making our code available to as wide a group of developers as possible, as part of our mission to promote choice and innovation on the Internet. We hope that this will enable people to build even more cool and innovative products.

The complete relicensed codebase is available by checking out the Mozilla trunk (which will become Firefox/Thunderbird 3) or the 1.8 branch (which will become Firefox/Thunderbird 2)*.

Points to note:

  • This affects source code licensing only. Binaries for Firefox and Thunderbird will continue to be available under their respective EULAs.

  • People wishing to use the Mozilla source code under GPL terms will, obviously, need to abide by those terms and also make sure all the other code they use is GPLed or GPL-compatible. Similar considerations apply for the LGPL.

  • In order to use the code under alternative terms, there is no need to change the licence headers. We hope that those projects using it will be good community members and make their changes available under all three licences rather than just the one they have chosen to use.

I started this project when I was a mozilla.org intern working for Netscape in the autumn of 2001. Netscape 6.1 had just been shipped, we were figuring out what a Mozilla 1.0 would look like, and Mitchell was just about to be laid off. At times, I thought it would never get finished, and I'm very pleased to be able to finally tick it off my to do list.

Many thanks to Scott Collins, formerly of mozilla.org, and Trent Mick of ActiveState, who respectively wrote and helped maintain the relicensing script.

* Technical note: A checkout of the Firefox or Thunderbird trunk using client.mk pulls NSS from the NSS_3_1_RTM tag. There are 22 files which were still MPL/GPL at the time this tag was cut. Because you can't check in on a tag using CVS, I can't fix this. But the files are relicensed on the tip, and will be so in the next release of NSS. So if you want to use the code under LGPL terms, you should probably change the headers of those 22 files manually on your copy.

Posted by gerv at 11:59 PM | Comments (8)

March 30, 2006

Virtual Earth, Real Prizes

Several months ago, a coworker entered a competition Microsoft were running to encourage use of the new MSN Virtual Earth web services API. The first prize was $1000, but he noticed that the rules offered prizes both for the best entries and also the first 25 entries received. So, he spent an evening minimally modifying their sample code; the only change he made was to make it plot a different set of data points. However, MSN Virtual Earth only covers the USA and all of his points were outside it, so when you visited one, it said "You may want to use other mapping software to visit this site", and offered a link to Google Maps!

Last month, a package arrived for him from Microsoft. It was a copy of Autoroute 2006, including a USB GPS receiver.

Even more ironically, they have now changed their API, and so his application no longer works.

Posted by gerv at 5:51 AM | Comments (4)

March 22, 2006

Firefox Bug Causes Breakup

"There is nothing concealed that will not be disclosed, or hidden that will not be made known. What you have said in the dark will be heard in the daylight, and what you have whispered in the ear in the inner rooms will be proclaimed from the roofs." (Jesus, in Luke 12:2-4)

It just happens to some people sooner than others.

Posted by gerv at 9:19 AM | Comments (33)

March 21, 2006

Getting The World's Poor Logged On

My latest Times Online article, titled "Getting the world's poor logged on", is about the One Laptop Per Child initiative.

Posted by gerv at 6:30 PM | Comments (8)

Poor Usability Can Cost Lives

A baby died after an untrained doctor took a 50-50 gamble on pressing the right button. (Note: it's disputed as to whether the mistake contributed to the death of the baby; that's what the inquest is trying to establish.)

Why did he have to choose between an orange button and a blue button? Why were they not labelled?

Posted by gerv at 10:53 AM | Comments (4)

March 20, 2006

FOSDEM Writeup

It seems rather late to be blogging about FOSDEM, but I haven't had a spare moment to write it up since I got back. The highlights for me were a great discussion on Saturday afternoon about what the Foundation should be spending its money on, and the l10n gathering on the Sunday afternoon, where a lot of important issues were aired. As many of you will know, the Foundation was able to fund the major travel costs of any registered localiser in the Europe area who wanted to come. Coordinating 40 or more different groups, all speaking different languages, is never going to be easy, simple or trouble-free, but I hope the Foundation can do a bit to grease the wheels.

However, I am getting increasingly frustrated at not being able to go to some of the other excellent talks which take place during FOSDEM. The Mozilla community in Europe is now large enough that I think we should consider having an event of our own next year, around but not at the same time. That way, we could focus on Mozilla stuff then, and find out about everyone else's cool projects at a different time.

Gandalf's girlfriend Anna was our official photographer and has put all the photos on Flickr. I rather like this one, though I do say so myself :-)

Posted by gerv at 1:52 PM | Comments (2)

March 14, 2006

Nofollow - No Improvement

"I hate it when I'm right", I sigh, as I clean out yet another load of online poker spam from my blog's comments system, all of which is entirely useless to the spammer because of rel="nofollow"...

Posted by gerv at 11:50 PM | Comments (12)

March 13, 2006

Still A Little Way To Go...

I've just finished watching Jeff Waugh speaking about Ubuntu at the end of FOSDEM - I missed the talk because I was at the l10n session in the Mozilla developer room. He talked about how they had been making Ubuntu ready for the desktop; how open source software is often better than proprietary, particularly the out-of-the-box user experience; and how open formats are great, and everyone should be encouraged to use them rather than the proprietary stuff.

The encouraging nature of his words was only partly spoiled by the fact that I was watching an Ogg Theora video in Totem on a standard install of Ubuntu's latest stable release, and the syncing between audio and video was on average out by about 20 seconds for the entire period of playback, and the video changed speed every half a second, alternating between super-fast and frozen.

Posted by gerv at 11:33 PM | Comments (8)

The Corporation Is Hiring

This isn't news, but I'm not sure it's actually widely known, so: the Mozilla Corporation is hiring. At the moment they are looking for hackers, a release engineer, an API test engineer and two marketeers.

Posted by gerv at 10:06 PM | Comments (4)

March 10, 2006

Summer Of Code - Six Months On

Six months ago, the Google Summer of Code finished up, and the ten Mozilla-related projects submitted their final reports. I've just spent some time looking into the current status of all ten projects, and thought I would share those results with you.

The ten projects were:

My original plan was to have a table highlighting the similarities and differences in current status, but it's hardly worth it. None of the ten projects shows any sign whatsoever of work having continued after the SoC deadline. Not one. No development-related mailing list traffic, no releases, nothing. It's as if the people vanished off the face of the earth on September 2nd.

Of the ten projects, as far as I can tell only one (Firefox in Hindi) installs in the latest stable build of the relevant product, and that's not because it's been updated since the release. I suspect it's merely due to a loose XPI maxVersion setting.

The four localisation projects may have some excuse; unfortunately, it turned out that the evaluators chose four projects which were all duplicates of existing nascent l10n efforts. However, the SoCcers concerned were switched to translating other products - and those translations have not been maintained either. In one case (Hindi), the original group has very recently acquired CVS checkin rights, but for the other three, neither team seems to have made progress towards becoming an official, reliable source of a localisation in that language.

I read recently that Venture Capital firms evaluate the team behind a company much more closely than they evaluate their product idea. As it happens, as far as I know, none of the SoCcers chosen were well-known in the Mozilla community. (Of course, I don't know how many well-known community members applied.) This may be relevant; we'd probably need data from other projects to know for certain. But perhaps the SoC form should contain a "why should we pick you" section as well as a "why should we pick your project" section.

A couple of the projects ("Bittorrent client for Firefox", "Graphical theme builder for XUL") were far too large for a single person working in their spare time over the summer. So it's unsurprising that the SoCcers either got discouraged, or produced incomplete work. Evaluators have a responsibility to size projects, and assess whether they are suitable for the SoC scheme. Not every idea is.

I believe that the money was paid to all the SoCcers except for one; that person did not produce any code at all. All the people chosen wrote a final report. Several of them give roadmaps and future plans for their product, and promise that work will continue after the project is finished. However, in every case, this has not happened - for whatever reason (I believe, for example, that one project owner became a father). Still, it's interesting that once the money is paid, the drive seems to evaporate.

The difficulty for the mentors is that Google discouraged partial payments - it was all or nothing. So if the person had done some work, they were left with the difficult decision of over- or under-rewarding the person. I suspect that, in several cases, they erred on the side of generosity - after all, it wasn't their money they were spending! Which perhaps is fair enough, given the setup.

I don't want this post to be seen as bashing either SoCcers or mentors; they were offered a deal, and they took it. That's fair enough. After all, I was a mentor - and there was nothing to force the SoCcers to work on after the period had finished. But if we want the Summer of Code to be useful in the future, it's reasonable to look at our experience and their behaviour, and see if the goals were met and, if not, how to change things.

So what can we conclude? Here are some suggestions:

  1. Evaluators need to be very careful about which projects they approve, and carefully consider their relationship to other ongoing efforts.
  2. Evaluators should evaluate people as much as, or more than, projects, and give preference to people who are already committed to being part of the community.
  3. Evaluators should be careful not too choose projects which are too large, ill-defined or overly subjective.
  4. Mentors should be permitted to pay out partial amounts. This gives SoCcers a much greater incentive to do a good job.
  5. Mentors must be ruthless about paying out in proportion to the amount of available, working, useful and well-documented code.
  6. The success of the SoC needs to be measured over the long term, not just at the end of the coding period.

If anyone reads this who was involved in running the SoC for other projects, I would be interested to see similar analyses from there.

Posted by gerv at 7:59 PM | Comments (16)

March 8, 2006

Splitting The Root

My latest Times article, entitled "Splitting The Root", is now available. It talks about the seriously unfortunate consequences that would result if any government or jurisdiction decided to break away from the unified ICANN DNS root.

Posted by gerv at 8:32 PM | Comments (9)