When is Open Source not Open Source?

At FOOCamp this weekend, I attended an impromptu gathering convened by Danese Cooper and Michael Tiemann, both of whom are board members of the Open Source Initiative. The topic was the recent attempts by some companies to pass off licenses that do not meet all the requirements of the Open Source Definition as so-called “open source” licenses. Michael first wrote about this here (his post was Slashdotted), and today he followed up with another post.

Three cheers for the OSI, for seeing that there is a real danger of the term “open source” being diluted into meaninglessness here, and doing something about it. And for those who are wondering what the big deal is, let me explain, starting with this clause from the Zimbra Public License (I don’t mean to pick on Zimbra; there are other companies doing the same thing, this was just the nearest example at hand):

However, in addition to the other notice obligations, (1) all copies of the Original Code in Executable and Source Code form must, as a form of attribution of the original author, include on each user interface screen (i) the original Zimbra logo, and once for each user session (ii) the copyright notice as it appears in the Original Code; and (2) all derivative works and copies of derivative works of the Covered Code in Executable and Source Code form must include on each user interface screen (i) the “Zimbra Powered” logo,, and once for each user session (ii) the copyright notice from the version of the Covered Code from which the copy or the derivative work was made. In addition, the original Zimbra logo or the “Zimbra Powered” logo, as appropriate, must be visible to all users, must appear in each user interface screen, and must be in the same position as and at least as large as the Zimbra logo is within the Original Code. When users click on the original Zimbra logo it must direct them to http://www.zimbra.com/, and when users click on the “Zimbra Powered” logo it must direct them to http://www.zimbra.com/powered. This obligation shall also apply to any copies or derivative works which are distributed under the alternative terms of Section 3.6 and this obligation must be included in any such license.

That clause makes the license not open source. If you don’t have the right to modify the code in such a way as to not display the logo, then you don’t have true freedom to fork. Perhaps the OSI could have written clause 3 of the Open Source Definition a bit more strongly, to make this utterly clear. Right now it says:

3. Derived Works

The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.

I wish it also said “The license may not restrict the functionality or behavior of derived works.” Then its meaning would be undeniable. But really, the meaning is already undeniable to anyone familiar with the traditions of open source: it means you must have the complete freedom to modify the source code, and to redistribute the modified version. If you don’t have that, you don’t have the freedom to fork, and you don’t have open source.

Anyway, the above in combination with clauses 5 and 6 below should put any doubt to rest:

5. No Discrimination Against Persons or Groups

The license must not discriminate against any person or group of persons.

6. No Discrimination Against Fields of Endeavor

The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

The Zimbra license discriminates against Zimbra’s competitors, because it forces them to do advertising for Zimbra while not forcing Zimbra to advertise for anyone else. In the Zimbra license, Zimbra Inc. is a special party, treated differently from others.

Finally:

10. License Must Be Technology-Neutral

No provision of the license may be predicated on any individual technology or style of interface.

The incompatibility between that and the Zimbra license is pretty glaring, no further comment needed.

The reason this matters is that open source, as a development methodology and as a culture, depends utterly on the freedom to fork. You can’t have open source practices without open source freedoms: the practices depend on the freedoms.

For example, take the issue of governance in an open source project. Many projects use the benevolent dictator model, in which one designated person gets to make the final call in controversial decisions. “Designated by whom?” the skeptic might ask. The surprising answer is “It doesn’t matter — because if anyone disagrees strongly enough, they can copy the project and take it in another direction.” In other words, benevolent dictatorship isn’t really dictatorship, because it depends completely on the consent of the governed.

Now try to imagine how this scenario would play out in the Zimbra development community. Zimbra (the company) starts out as the benevolent dictator, but eventually there’s some major disagreement between the company and an external developer, a disgreement in which the solution Zimbra decides on simply isn’t bearable to the external developer. (Perhaps it’s a disagreement about the size and placement of the logo on interface screens, coughcough.)

So can that external developer fork? Can she simply walk away, taking a copy of the code with her and striking out anew, in the traditional open source way?

Realistically, no. She can only do a restricted, crippled fork. She’ll never be able to get that Zimbra logo off her interface screens, because the license of the software she forked prevents her from doing so. This is discriminatory, and is an artificial restraint on any fork’s ability to attract its own developers. It’s hard for a fork to compete on its own merits if it must constantly refer back to the place from which it forked. It’s like being forced to wear a sign that says “Don’t take me too seriously, the real stuff is over at Zimbra, Inc.”

Now walk back the cat: since there can be no credible threat of a fork in the Zimbra development community, there is no pressure on Zimbra, Inc. to be a good benevolent dictator. Maybe they will be good stewards of the software anyway, or maybe they won’t, but the point is that the open source method depends on that pressure — the threat of a fork is an integral and necessary part of true open source development. Zimbra has eliminated that threat, and therefore is not doing open source. (And this is not just about the benevolent dictatorship model; it would be equally true with any other system of governance. In all open source projects, no matter how decisions are made, the threat of a fork is the ultimate guarantor of every developer’s right to empowered disagreement.)

Note that the OSI’s objection is not to the Zimbra license per se. The objection is just to Zimbra’s calling that license “open source”. They can use any license they want, but they shouldn’t call it open source unless it actually is. Freedom is freedom, and no amount of spin will change that.

So what should we do about this?

The term “open source” isn’t trademarked. Years ago, the OSI tried to register it, but it was apparently too generic. There may still be some legal angle available — perhaps false advertising, based on the generally-understood meaning of “open source”. I don’t know, I am not a lawyer, and the OSI has its own lawyers to advise it on legal strategies.

But there is public opinion. What Danese and Michael are proposing doing is organizing a lot of open source developers (and I mean “open source” according to the traditional definition, the one the OSI and I and most other open source developers I know adhere to) to stand up and, basically, say “All of us agree on what the definition of ‘open source’ is, and we reject as non-open source any license that does not comply with the letter and spirit of the Open Source Definition.” Their hope is that the threat of widespread bad publicity from the developer community may be enough of an incentive to get these companies to either stop calling their licenses open source, or change the licenses to actually be open source. I think this could actually work. Getting the open source blogosphere angry at you is bad for business and worse for recruiting; even just on business grounds it might be enough to persuade the companies to change their tactics.

13 Comments on "When is Open Source not Open Source?"

That clause seems to me to be not entirely dissimilar to this bit from the GPL:

c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

The GPL version doesn’t suffer from all of the flaws of the Zimbra license, but it’s not clear to me that some of your arguments (freedom to fork, advertising) don’t apply here too.

(That has, incidentally, never been one of my favorite parts of the GPL…)

That’s an excellent point, and I agree with you about not being too fond of that part of the GPL. However, there is a significant difference here: the GPL’s version does not discriminate for or against any particular party, it merely requires that the interactive interface, if any, be used to tell the user that this is free software and that it comes with no warranty (for those not familiar with this field, “free software” means the same thing as “open source”).

It’s one thing for your fork to be forced to announce that it, too, is or contains free software; that is a neutral, factual statement. It’s quite another for your fork to be forced to advertise for its competitors. Because the latter is so damaging to the credibility and viability of any fork, I think in practical terms it’s a much more severe restriction on freedom.

(I hope the GPL v3 has done away with this notification clause, though haven’t yet checked to see.)

d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.

The definition of “Appropriate Legal Notices” is higher up, but it’s basically the same thing, except you can put it in a menu item instead of in your startup screen. Which, now that I think about it, isn’t so bad, actually: the front-and-center nature is one of the main things that annoys me about the original text. So maybe I’m happy enough with the GPL v3 version.

I won’t argue that either version is as bad as the Zimbra license (or, to mention one of my pet peeves, the GFDL, which is worse in some ways than the Zimbra license), but I’m not convinced that mentioning the GPL is a neutral statement, either. (Factual, sure, but I’m not sure the Zimbra requirement isn’t factual.) Having said that, I’m having a hard time coming up with a coherent explanation of my doubts on the subject; I guess I have this feeling that the FSF is making users aware of their rights in this manner for political reasons, and that there’s a bit of FSF advertising in forcing programs to make visible the GPL; given that, “neutral” doesn’t seem like quite the right phrase to use. Not that there’s necessarily anything wrong with being non-neutral – I’m not neutral about quite a lot of things!

Well, here’s one way to look at it: the GPL is completely contagious, so the requirement is that the program inform the user of something that is 100% true — something that is as true for that user and that instance of the program as it is for anyone else and any other instance. On the other hand, the Zimbra requirement is less true the more diverged the derivative work is, yet the notice requirement has no provision for adjustment to meet this reality. As long as any non-trivial amount of the original Zimbra code remains in the product, you have to continue saying “Zimbra powered”.

The biggest problem with Zimbra is that its venture funded. This movement was all about anti-establishment and community. But the republicans are here to pillage the movement for capital gains … I am not a fan of any company that has green as its god. This movement is about the people and was created to fight the good war against the money hungry capitalists who sell what should be free. And now, all I see are company’s who are using the movement against itself. Shame on us for letting them. Choose Debian!

I couldn’t quite tell if your comment was meant seriously or as parody :-). In case it was serious, here’s a response:

I don’t agree, either about venture-capitalized firms or about Republicans (at least the ones I know). Other VC-funded companies have behaved scrupulously, both in labeling and managing their open source projects; there’s no reason Zimbra couldn’t do it too.

In fact, the term “open source” and the Open Source Initiative were founded partly to make free software more palatable to businesses (although there’s nothing inherently anti-business about the term “free software” either, and the Free Software Foundation is not anti-business or anti-money). Maybe the movement — and I do think it’s basically one movement, not two — is in some sense anti-establishment, for a certain definition of “establishment”, but that’s not the same as being anti-business / anti-market / anti-money.

Sure, it’s about community, among other things, but open source software also depends on corporate money, both private (VC) and publicly-traded. Much Linux kernel development is paid for by for-profit companies, acting in their own interests; OpenOffice.org is pretty much entirely funded by Sun; a ton of X Windows development is subsidized by corporations; Google both funds and releases a lot of open source software; the project I work on, Subversion, was started by and still receives significant development funding from CollabNet… Open source software would not be where it is today, nor would it be maintainable, without corporate resources. Actually, it’s been like that for a long time, it’s just that many users don’t realize it, I think.

So be anti-corporate, if you want, but don’t fool yourself: this wouldn’t be happening with purely volunteer labor. We left that world long ago.

This thread seems to be a dead issue at this time but I thought I might add this. It seems like Zimbra/Yahoo are in breach of their own OSS license by using the plethora of OSS software within their system and marking it strictly as their own with their 100% labeling (and display requirements).

For example, everytime I look at an open source Zimbra page I do not see the apache logo, or for that matter, mysql logo, spamassassin logo etc etc.

It is no coincidence that the Zimbra license is a good example. Zimbra is about as disingenuous as they come when it comes to claiming membership in the open source community. They were more than happy to help themselves to all of the free open source underpinnings that they used to create their product, and then claim that their product is open source but they only offer an extremely crippled version of it under a free license. And the license, as this article points out, is actually quite restrictive.

Disclaimer: I am a developer associated with a competing product [http://www.citadel.org]. I feel strongly about this subject because we have made the effort to distribute Citadel under a true open source license (GPL3, to be specific) and we believe that Zimbra ought to do the same.