We’ve shipped it :-)
Mozilla is on the verge of completing an 18-month process to revise the Mozilla Public License (MPL), the licence it has used for most new code since the original release of the source code in 1998. MPL 2 is about half the length of MPL 1.1, has many provisions removed which have become onerous to comply with, and has better compatibility with other licences.
Many in the Mozilla community, including the project leadership, have reviewed drafts of the upcoming version and are eager to adopt it, in place of the tri-licensing scheme we currently use. (The MPL 2 is compatible with the LGPL and GPL, like the tri-licence.) We’d like to make sure all of the Mozilla community is aware that a decision on upgrading our code to the MPL 2 will be made shortly, and if there are any issues with doing so, we’d like to know about them before the licence is finalized.
We invite project participants to review the licence and raise any issues or questions they may have.
There is also a document about the upgrade process, which explains how we would go about it. Feedback on the proposals therein – both in mechanism and scope – is also very welcome.
Feedback can be sent to the mozilla.governance discussion forum.
I have recently had several reports of emails circulating like the following. These emails are fraudulent – Mozilla is not giving away £750,000, and if we did, we would not just randomly email people and offer them the money.
Your E-mail Address has won (Seven Hundred and Fifty Thousand Great British Pounds only) GBP750,000 in the Mozilla Firefox Online promo recently conducted. To claim the prize, contact us back for confirmation at: <address removed>
Sir. Nelson Gordon
Coordinator Mozilla Firefox Online Promo
Hopefully this blog post should show up in web searches for people who are smart enough to check before replying.
How would it feel if someone told you they had a patent on the way part of your brain worked, and you were not allowed to use it without paying them money?
I have recently been on a trip to Bangladesh. The main language in Bangladesh is Bangla, which they take very seriously. I wrote the first draft of this blog post on 21st of February, which is “Shohid Dibosh“, Language Martyrs’ Day, in Bangladesh. Back in 1952, Bangladesh was East Pakistan – Pakistan then being one nation in two parts, separated by a thousand miles of India. At least five Bangladeshis were shot dead during a protest about wanting Bangla to be the national language of their part of Pakistan, rather than everyone having to learn Urdu, the language of West Pakistan. (Bangladesh became independent in 1971.) Bangladeshis see their right to use Bangla as one paid for in blood.
So, with the coming of computers, Bengali people wanted to use their computers in their language. But Bangla has its own script (the alphabet has about 60 characters, but no case distinction), and there was no way to type it. A keyboard layout and software was needed. The first popular system was created by a Bengali named Mustafa Jabbar, who had a publishing company. He came up with a layout and software to translate the key presses into code points, and some fonts to display them. This system is known as Bijoy. As businesses switched to computer-based publishing, they adopted Bijoy.
In 1989, Mr Joppa was granted a copyright on his keyboard layout, and in 2004, a patent. That meant that all Bijoy keyboards sold required a license from him, and they all came with his software – for Windows or Mac. Patents in Bangladesh have long expiry times – 50 years from the death of the inventor. (In the US and Europe, the time is 20 years from the date of filing.) For a long time, this was the only system available – so many people learned it. Even when others were invented, Bijoy came bundled with every keyboard and matched the markings on it – so there was little incentive to purchase anything else.
However, the original Bijoy software output character codes in the ASCII range, like all of those incompatible ISO charsets from the 1980s. This causes a number of problems, the biggest being that you need the right font to read the result, and if you don’t have it, you’ll see a load of gibberish.
With the coming of the Internet, this became a serious problem. There was no way of communicating over the Internet in Bangla with any certainty that the recipient’s computer had the right fonts and could read what you are writing. The solution to this problem is Unicode – a system where every character in every writing system in the world is uniquely identified by a number, instead of different scripts all sharing the numbers less than 256. Yet no version of Bijoy supporting Unicode was forthcoming – and there was nothing at all for Linux. And no-one else could solve this problem because of the patent.
To get around this Ankur, the Bengali open source organization, made a new layout, called Probhat, which was semi-phonetic. (Two T-like sounds were mapped to T and Shift-T, and so on.) But it was not very popular. Most people still used Bijoy.
Mr Joppa has actively defended his keyboard patents, claiming that they extend even to similar keyboards. Mehdi Hasan Khan, an undergraduate student, made another keyboard system which was fully phonetic – i.e. type Bangla sounds with Latin letters (e.g. “Shohid Dibosh”) and it would produce the right Bangla characters (“(শহীদ দিবস”). This is how Bengalis had been communicating on the net anyway, so they were used to it. He called it Avro, and (after a while) made it free and open source. But he also included in his system “Unibijoy” – a layout like Bijoy but with 8 keys different, and which output Unicode characters, so people who knew Bijoy could also start typing Bangla on the Internet without reprogramming their entire brain.
Mr Joppa sued him, claiming that Unibijoy was a copy of Bijoy. The case was settled out of court in mid-2010, and Mr Mehedi had to remove Unibijoy from his software.
In 2008, the Bangladesh National Election Commission produced over 10,000 computers to be used for a census of Bangladesh. They used the Avro software with the Unibijoy layout, because the Bijoy licensing fee was too high – so Mr Joppa sued them too. (That case is still proceeding.)
The only organization too big for him to sue is the Bangladesh government. The Bangladesh Computer Council – BCC – designated a form of Bijoy (also slightly modified) as the national keyboard layout. As yet, they have not been sued.
Finally, in 2010, Mr Joppa did produce Bijoy for Linux, which outputs Unicode – but it is closed source.
So now, today, there are not one but at least four ways of writing Bengali – Avro, Probhat, BCC and Bijoy. (For reference, at the bottom of this page I have made a list of how you activate each in Ubuntu Linux.)
If you learnt how to type Bengali any time before 2003, you probably have Bijoy burned into your brain. And switching keyboard layouts is hard. Latin language users – ever tried the Dvorak keyboard? Or Americans/Brits – ever sat down at a computer in France, discovered the top row of keys begins AZERTY, and been reduced to hunt-and-peck? Having the layout you know taken away from you cripples your ability to interact with a computer. Yet Mr Joppa claims he has a patent on your brain working with his system, and if you want to use it, you have to pay him and use his software.
This patent would probably not be classified as a software patent. But it still sucks. There are some types of thing which should not have owners – and human-computer interfaces are definitely one.
The World Intellectual Property Organization website has another telling of this story, with quite a different slant. According to them, all of this constitutes a great success.
As far as I understand it, the ways to use each keyboard system in Ubuntu are:
- Avro – go to the Avro site and install his package for your distribution. Switch your input method system from iBus to SCIM, then pick the newly-installed Avro input method and the Avro keyboard layout.
- Probhat – change your keyboard layout to the Probhat keyboard, which comes with Ubuntu. You don’t need an input method editor.
- BCC – change your keyboard layout to the “Bangladesh” keyboard layout, which comes with Ubuntu. You don’t need an input method editor.
- Bijoy – if you want to use free software, you have a problem. Mr Joppa’s opposition means there are no good solutions for using Bijoy in Linux with free software. Your best bet is probably to use BCC, and learn the differences.
Thanks to Mahay Alam Khan and Shabab Mustafa for checking draft versions of this post. Any errors remain my own.
With many thanks to “email@example.com”, who did the original translation (which I have cleaned up a little), here – now with English subtitles – is the subscription trap investigation from German TV, in which our lawyer Anthonia Zimmermann is interviewed. It’s about 14 minutes long, and well worth watching.
Pull down the Universal Subtitles dropdown, and select “English”.
We just made a small tweak to the Committer’s Agreement that everyone with privileges to check in directly to the Mozilla source code trees has to sign. The change is to the section titled “Committing Code Created by Others“, and it is:
You may check in Code to a Mozilla Foundation repository that was not written by You, provided that:
a) The checkin comment contains information (or references to information) sufficient to identify the author and the license of the Code,
including at minimum an email address; andand a link to a public source repository if one is available; and
b) You make all reasonable and appropriate efforts to ensure that such Code conforms to the terms of this agreement.
It isn’t necessary or a good use of time to get everyone to re-sign it :-), but please can existing committers be aware of the need to document license and source when checking in code from external sources. It’s important that we know where our code comes from, and who to contact if there’s a problem.
Mozilla has been active in the courts in Germany, pursuing people who use Firefox as bait in “subscription traps”. On Tuesday evening, our wonderful German lawyer Anthonia Zimmermann was interviewed on German TV during a 14-minute feature on subscription traps.
Sadly, I don’t speak German. Can some kind person who speaks German and English please use the awesome Universal Subtitles to subtitle this video in English so I can watch it? :-) The URL you need is:
You may want to subtitle it in German first (i.e. do a transcript) and then translate the result.
Simon Phipps has written several pages of almost-entirely-good stuff about how you benchmark a project’s governance. I particularly like his description of the best governance structure as an “open, meritocratic oligarchy”. I proud of the fact that we pretty much have one of those at Mozilla.
The one issue I would disagree with him on is his comments on trademark policy. He writes:
There will be a community-equal trademark policy, granting every participant the same rights to use of the trademarks…
But who is a participant? Free software projects have fuzzy edges. If I contribute one patch, am I a participant? Does that then allow me to label the heavily modified builds of the code I am distributing with the standard project name? This seems like it could quickly mean that the trademark doesn’t offer any guarantees of what you are getting (which is the point of a trademark).
He also says:
A trademark that is under the exclusive control of one community member will be a problem if the community tries to take a direction that member objects to.
What sort of ‘problem’ will this cause? It will cause the fork to have to rename itself. But that’s OK – in fact, it’s a good thing, because if the source is different, the mark should be different. To put it in code terms, a trademark is not about identifying a codebase, it’s about identifying a distribution. Firefox is a distribution of the Mozilla codebase by the Mozilla Organization; Songbird is another one from Pioneers of the Inevitable; and TomTom Home is yet another, from TomTom. If someone else distributes some different software built from the Mozilla codebase (and all forks are different – that’s the point) and there is no agreement with the trademark holder, then it’s right that there should be a new mark so people know what they are getting and who they are getting it from.
Having said that, I entirely agree that there are good and bad practices surrounding trademarks. I think that there are things you should look for in a free software project’s trademark arrangements – such as whether the trademark is easily removable without affecting the function, whether there are a documented and approved set of steps for removing it and being in the clear legally, and whether the day-to-day usage policies are things you can live with. (I’ve been meaning to write a more detailed paper on this for at least 5 years, but still haven’t got around to it…)
But I can’t agree that a “fully egalitarian” trademark policy is necessary for good governance, or is even in the best interests of the project. What would happen to the meaning of the word “Firefox” if Mozilla had such a policy? One group who would definitely benefit would be these people…
The full judgement in the recent German subscription trap case, including all pages and screenshots (but with the names of the defendants redacted) is now available (20MB+ PDF).
Some online speculators have suggested that Mozilla is bound to collect a large stash of cash from our victory in this case. This is not true, for the following excellent reasons:
- We’re not even certain there is any large stash of cash, or if there is one, that it is still within the jurisdiction of the German court.
- All the judgement did was to stop the infringing activity (which was our main aim). And it hasn’t even done that yet, because it is still appealable for up to 30 days. And if they appeal, they could do so on the last of those days.
- We cannot obtain any money on the basis of the current judgement, but have to bring a second suit quantifying the damages, based on information that the judge in this suit ordered them to reveal.
- Even if we bring such a suit, there is no certainty of compensation, or even of recovery of our costs.
- Even if compensation is awarded, there are various ways the defendant could make themselves judgement-proof or avoid paying it.
So we are a long way from seeing a single penny, let alone larger amounts.
You may remember a while back I did a series of posts on how Mozilla was protecting Germans by going after the operators of “subscription trap” websites based in Germany. I’m pleased to say that the German government has now joined the fight.
A few days ago, the German Ministry of Justice passed a legislative proposal (PDF; link in German) for an amendment to the German Civil Code. The title is “Draft Law for the enhanced protection of consumers against online subscription traps”.
Here’s the first paragraph:
Many consumers use the Internet to obtain information in an easy manner or to make use of cost-free services such as downloads of freeware. In doing so, they often fall victim to so called cost- or subscription traps (…) Shady undertakings intentionally conceal the fact that they charge for their services by means of a confusing or misleading presentation of their websites. For example, an offer on such a website will be praised, in a graphically highlighted form, as “free”, while only in the small print, or hidden in the General Terms and Conditions, is information provided about the costs of the provided services. This information is moreover often provided in small or pale print, hidden in a footnote or will only become visible on the computer screen after the consumer has scrolled further down. Consumers can therefore only recognise with difficulty that a service that is at first sight cost-free will result in costs after all.
That’s the problem in a nutshell.
When the law passes, persons or entities making commercial offers to consumers online which require payment will be required to do two things:
- Show a clearly visible, highlighted notice about all costs the consumer will incur when making use of the offer; and
- Make it so that, before contracting, the consumer actively has to confirm that he has read the cost information.
If a website does not satisfy these requirements, the contract will be void.
This proposal will now be introduced into the German “Bundestag” (the “lower House of Parliament”). Once it has been approved by the lower chamber, it will then need approval from the “Bundesrat” (the Federal Assembly, or “upper House of Parliament”). That may take approx 6 months. Our German contacts say the motion has strong support, so it is rather unlikely that it won’t become law. However, it could be amended along the way.
The Mozilla Public License 1.1 is not compatible with (any version of) the GPL – that is, you cannot put MPLed code into a GPLed binary. The alpha 3 draft of the MPL 2 has opt-in GPL compatibility which can only be chosen at the time the software is first licensed (section 11.2).
I personally believe that most or all groups who are currently licensing their software under the MPL (only) would not mind, or actively desire, GPL compatibility, and the new MPL should give them the opportunity to choose it. I think most free software developers see licensing as a pain, and license incompatibility as a double pain, and would much rather everything were upwardly compatible with everything else.
To test this belief, and so we can appropriately publicize the new version of the MPL when it comes out, I am creating a list of MPLed projects. If you know of an MPLed project please add it to the list. And I want to hear from those projects as to whether they are opposed to, in favour of, or indifferent to, GPL compatibility for existing projects being put into MPL 2. Have a discussion on your mailing list and let me know the outcome.
Particularly if you or your project chose the MPL specifically because it is GPL-incompatible, please contact me. I will treat your response in confidence if you wish.
I’m also looking to make a list of GPLed projects using MPLed libraries (with a GPL exception of some sort – or even without!). That list is at the bottom of the same wiki page. If you are a GPLed project and wanted to use MPLed libraries but couldn’t, I want to hear from you too.
Please spread the link to this blog post throughout the free software community – I want to make sure I’ve reached as many MPL-using projects as possible.
Note: this canvassing of opinion is not official and is not binding in any way on the MPL 2 drafting team.
Software licences, while important, can be a little dry. I have always thought it would be good if we could make them more readable and interesting. One day a while back, I decided to try this using verse.
So I proudly present my first effort – the BSD Licence (in iambic tetrameter).
We’ve published the first draft of our proposed changes to sections 2 and 3 of the MPL.
In particular, in what I’m sure will be a popular move, we’ve revised and simplified the notification and documentation requirements in section 3 (the part responsible for the boilerplate headers in every file).
We are very interested in feedback! Please do read and comment in the commenting tool.
Thanks to the sterling efforts of Michael Kohler, we now have a page listing the third party code in the Mozilla tree. This is important for licence compliance and so that downstream users of our code know what they are using.
We have attempted to make sure the information is correct, but we would greatly appreciate it if some core hackers could skim down the list with the following questions in mind:
- Have we correctly identified in which product/products each library is being used?
- Are you able to shed light on any of the remaining queries (marked XXX)?
- Is the list complete, to your knowledge?