LWN.net Logo

On the dual-license model

When people go looking for successful free software business models, the dual-license approach tends to turn up near the top of the list. With this model, a company releases a software component under a copyleft-style license so that all may make use of it. This company also offers the same software (or, perhaps, an enhanced version of it) under a paid, commercial license, allowing other companies to incorporate it into their products without the need to make their own code available. This model will clearly be most successful for software which works as a building block for larger systems. The dual-license model has been employed by companies like MySQL AB, Trolltech, FSMLabs, Sleepycat Software, and others.

The dual-license model can look like the best of both worlds. The free software community gets high-quality, supported code - and often good documentation as well. Developers get paid for working on that code. The company which makes all this happen gets to stay in business. That company's customers get (1) the use of the code in their proprietary projects, and (2) an immediate indication of what it is costing them to keep their own code non-free.

This model is not suitable for every project, and it is not without its disadvantages. One of the strongest of those, perhaps, is the disincentive it presents to potential contributors. A dual-license company can only accept contributions which it will be able to sell under its commercial license; in practice, that implies copyright assignments or some other form of explicit permission from each contributor. Some developers are happy to contribute code under such conditions - those contributions improve the free version of the package, and the developer still probably gets much more back than he or she ever could contribute. But others are less interested in contributing code which can be taken proprietary for somebody else's exclusive commercial benefit.

Another potential snag in the dual-license model was highlighted this week when Oracle announced its acquisition of Sleepycat Software. Like Innosoft (acquired by Oracle last year), Sleepycat provides a transactional engine for MySQL's database offerings. MySQL gets that code under a dual-license arrangement which, in turn, allows MySQL to include it in its own dual-license products. The result is that Oracle now controls two important components shipped by MySQL.

Sleepycat CEO Mike Olson says that neither the free software community nor Sleepycat's commercial customers should be concerned about this acquisition. But Mr. Olson spoke a little differently after the Innosoft acquisition:

Speaking at the Open Source Business Conference, SleepyCat CEO Michael Olson said he believes Oracle's takeover of Innobase, the Finnish developer of InnoDB, a discrete open source transactional database technology that ships with MySQL, is an acknowledgment of the growing importance of open source and of MySQL in particular. "Any attempt to disrupt a competitor is an acknowledgement that the competitor matters," Olson said. "And I think that acquisition was in significant part an attempt to disrupt MySQL's business."

(Thanks to Jim Thompson for the pointer to that article).

It is worth noting that neither acquisition can do immediate harm to the free software community. The code which was released under a free license remains free and cannot be taken back. The worst-case scenario would appear to be that developers could be taken off the projects, slowing or stopping the development of that code.

The situation might be a little more perilous for MySQL AB, however, and its customers as well. Oracle is now in a position to change the licensing terms for both database backends, or even to make them unavailable for dual-licensing altogether. And that points out an important aspect of the dual-licensing model: if you buy into the proprietary side of dual-licensed software, you are very much in the proprietary software world. And, at that point, you can be impacted by policy changes by your supplier - or by their suppliers as well.

Buying proprietary access to dual-licensed software may still be the best path for many companies. It can enable the use of high-quality, community-reviewed software at a reasonable price. But dual-licensed software should not be seen as free software with some commercially inconvenient strings removed. It is proprietary software, with all the risks that come with the proprietary model.


(Log in to post comments)

On the dual-license model

Posted Feb 16, 2006 5:08 UTC (Thu) by jbellis (guest, #14804) [Link]

As I commented over on Josh Berkus's blog when he took the same position:

The problems you point out are really problems of corporate-owned source, not a dual-license model. Even if the InnoDB product had been pure BSD-licensed like PostgreSQL, they or the new owners, as the copyright holders, would still be free to take the next version to a different, proprietary model.

On the dual-license model

Posted Feb 16, 2006 8:53 UTC (Thu) by davidw (subscriber, #947) [Link]

Sure, but existing users would be free to integrate the BSD-licensed model into their own proprietary or whatever licensed works, and even take the BSD version forward under comunity development. With GPL licensed code, that can happen as well, but you lose the possibility of relicensing.

Not everyone sees that as a bad thing, but there is a lot of code out (Apache, BSD, Postgresql, Tcl, etc...) there that has a very liberal license for the express purpose of seeing it as widely used as possible, and there is an argument to be made for this position for some kinds of code.

GPL and linking

Posted Feb 16, 2006 5:50 UTC (Thu) by proski (subscriber, #104) [Link]

I wonder if the GPL linking clause has ever been tested in court. Although GPLv2 says in the last paragraph that it "does not permit incorporating your program into proprietary programs", this paragraph is located in an appendix, after the "terms and conditions" part. Also consider that GPL positions itself as a license, not as a contract, and you may wonder how the linking clause can have any effect on other works, unless there is a clear precedent establishing that linking to a library always creates a derived work of the said library.

I see that serious money is changing hands in the assumption that GPLed libraries can dictate the license to the software linked to them. I'm sure Oracle has lots of lawyers that looked into that issue. Can we consider the latest Oracle investments as a confirmation that the linking clause in GPLv2 would likely hold in the court of law?

As for the Sleepycat license, it doesn't say anything about linking at all, but I think the same rules should apply to it.

GPL and linking

Posted Feb 16, 2006 8:19 UTC (Thu) by khim (subscriber, #9252) [Link]

Can we consider the latest Oracle investments as a confirmation that the linking clause in GPLv2 would likely hold in the court of law?

No. This clause is almost totally irrelevant to dual-licensing model.

I think you are mixing issues. Consider two samples.

1. I created nice MegaPuperProgram - and it can use libreadline if it's already installed on target system. I do not distribute libreadline itself. Can I distribute my work legally ? Who knows. It's not clear if my work is derived work of libreadline or not. Especially if my program is perfectly functional (but without command-line editing, of course) without libreadline.

2. I've created my SuperPuperProgram and have put MySQL in the same package (may be on the same CD or merely in the same box) and claim that even if my SuperPuperProgram is not usable without MySQL it's not GPL-violation (since I've used old LGPL'ed mysqlclient drivers or something). Hmm... Interesting. Box with SuperPuperProgram and MySQL is clearly derived product of MySQL. And you can only distribute MySQL in package if it's "mere aggregation". But if your program is not functional without MySQL... then how the hell can you call it "mere aggregation" ?

Think about it: when dual-licensed MySQL (or QT, or something else) is used you are firmly in situation number 2 for 99% cases. Where "linking clause" of GPLv2 is irrelevant. If you are distributing box with two totally unrelated packages (Apache and Bash, for example) - you are still distributing something derived from Apache and Bash (think about verses collection - you need specific permissions from all copyright holders and if poet B is loathing poet A and does not want to see such collection - you are stuck; no linking - verbs are totally independent from each other). Then. How the hell you can distribute RedHat Linux at all ? Oh, it's easy. With GPLv1 - you can not. With GPLv2 - you can since "mere aggregation" exception clause was added fifteen years ago. But it's kinda hard to claim that MySQL and your SuperPuperProgram are merely aggregated on the same media if your SuperPuperProgram is unusable without MySQL...

In short: dual-licensing model depends on differerent part of GPLv2. On limits for "mere aggregation" clause - and that's totally different story. This is why clarification about inability to use dynamic linking to avoid GPL requirements is in appendix: it's just explanation, not something required by GPLv2 machine - it'll work just fine without any appendix at all.

Derivative works vs Compilation works

Posted Feb 16, 2006 11:16 UTC (Thu) by hummassa (subscriber, #307) [Link]

What defines derivative work on many jurisdictions is not the presence of
a work inside another, but the process of a transformation that made the
first work become the second one.

Classical example of derivative works: translations. You get Harry Potter
and the Goblet of Fire and re-write it in Kadiweu. The original book is
transformed until you get the derivative work.

The right to *make* (not only distribute, but *make*) derivative work is
one of the monopolized rights by the copyright owner, and it can be
granted to a third party under any terms the copyright owner deems fit.
Like: "yes, you can make a derivative work of my book if you sacrifice
your firstborn under the blue moon".

Other example: fanfics. When you get the body of work of Star Trek, for
instance, and transform it, making another story that re-uses the
characters and mise-en-scene, you are transforming a body of work into a
new body of work (the Trek universe containing your story). Many
publishers close their eyes to fanfics that are made not-for-profit, but
don't try to publish a Trek book without Paramount's permission!

Ah, and once you have the permission to make the the derivative works --
albeit the copyright of your work is Yours -- you still have to follow any
dispositions by the original work's copyright owner about its
distribution, etc. (THAT is how the GPL works)

Now, the act of distributing a number of copyrighted works in a collection
or compilation has completely different implications. For example, when
you distribute a compilation work, you must still abide to the licensing
terms of each individual work, but you are not the copyright owner of the
compilation -- you are the owner of the abstract "selection and ordering"
that you have defined to compile the works.

All in all, your program being functionally dependent on mysql or not does
not define a derivative work (the principles of abstraction, filtration
and comparison would weed out -- in principle [this can be held not true
for some special cases] -- the derivation), and IMHO, any aggregation is
"mere", independently of functional dependence -- this, because, legally,
the set of "your work + mysql" is just a compilation work.

Oh $DEITY

Posted Feb 16, 2006 10:15 UTC (Thu) by hummassa (subscriber, #307) [Link]

There is no "GPL linking clause".

I defy anyone to find anywhere in the license text of the GPL that
mentions "linking". Even the "incorporating" in the non-normative last
paragraphs is absolutely incorrect. I have explained, than complained,
then ranted, and now when I look at myself talking about this, I *know* I
look like a drooling madman.

I'll try to calm down and explain (again):

1. The FSF GPL FAQ is the only semi-authoritative place where it's said
that you can't link, either statically or dynamically, your
GPL-incompatible-licensed program with a GPL'd library.

2. The argument used to uphold the forementioned FAQ opinion is weak. The
problem is that the GPLv2 has an error in its content, in the following
segment of clause #0:

""" The "Program", below, refers to any such program or work, and a "work
based on the Program" means either the Program or any derivative work
under copyright law: that is to say, a work containing the Program or a
portion of it, either verbatim or with modifications and/or translated
into another
language. """

Let's analyze it.
a "work based on the program"
is "the program or a derivative work under copyright law";
that is to say (== explaining) "a work containing the program or a portion
of it (...)"
==> which is blatantly false!!! This is not the definition of "a
derivative work under copyright law".

3. As the GPL states in its clause #0, next paragraph:

""" Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted (...) """

It is, at the very least, least implicitly allowing the distribution of a
GPL-incompatible-licensed program that links DYNAMICALLY with a
separately-distributed GPL'd library: because the GPL will not restrict
"the act of running the program" (where the "program" is in fact the
library).

4. IOW#1: The GPL has a serious error in its formulation on clause #0 and
one of the stuff they should do is correct it for the v3.

5. IOW#2: For all practical LEGAL terms, license a library under the GPL
is very similar to license it under the LGPL (Derivative works of the
library must still have their source distributed -- to whomever one
distributes as binary -- etc., ie, must be GPL'd also, but a "using
program" does not /per/ /se/ has this requirement)

Oh $DEITY

Posted Feb 16, 2006 10:52 UTC (Thu) by k8to (subscriber, #15413) [Link]

Are we free to understand this article is authoritative legal advice?

Or, less snarkily, why do you believe you can give an authoritative legal opinion on the license text when others who are legal experts are not in agreement with you?

It is easy to accept that the matter is not made entirely clear by the license text. It is very difficult to accept your conclusion.

As authoritative as possible, considering:

Posted Feb 16, 2006 11:33 UTC (Thu) by hummassa (subscriber, #307) [Link]

IANAL, but I have worked for two years as a paralegal in a DA's office, I
have legal training, and I researched Brasilian copyright law (and 17USC)
for use in criminal prosecution of copyright infringers.

The only _real_ authoritative answer will come from a superior court in
your jurisdiction. Maybe I should have disclaimed all that -- for the
100th time? Ok. Now it's done.

Oh $DEITY

Posted Feb 16, 2006 19:13 UTC (Thu) by ekj (guest, #1524) [Link]

He's basically rigth, even though he words it provocatively.

The basic point is: No license has the power to define what "derivative work" mean in the context of copyrigth law.

Only a judge can do that. And if a judge says that X is not, according to copyrigth-law, a derivative of Y, then there is absolutely nothing the author of Y can do to affect X. The license for Y is simply irrelevant in this case.

Oh $DEITY

Posted Feb 23, 2006 13:17 UTC (Thu) by Wol (guest, #4433) [Link]

Which is why the GPL v3 addresses this directly ...

v2 was not written by a lawyer. I don't know whether v3 was, but if it wasn't it had a lot of legal involvement in its drafting.

Cheers,
Wol

GPL and linking

Posted Feb 16, 2006 15:00 UTC (Thu) by mattdm (subscriber, #18) [Link]

I wonder if the GPL linking clause has ever been tested in court.

It's very telling that it has been successfully enforced without going to court -- going to court is what you do only if there looks like there might actually be a question.

GPL and linking

Posted Feb 17, 2006 1:12 UTC (Fri) by giraffedata (subscriber, #1954) [Link]

It's very telling that it has been successfully enforced without going to court -- going to court is what you do only if there looks like there might actually be a question.

It's telling, but not as much as this suggests. These successful enforcements are merely settlements. Both sides gave up something, in recognition by each of the possibility he would lose in court. In the settlements I've heard about, the copyright owner didn't get royalties, which he would be entitled to if the GPL really said everything he claimed. All he got was for the alleged infringer to stop infringing.

In such a case, I don't think the alleged infringer really gives up much in the settlement, so he might actually be 90% convinced he's right, but it just isn't worth the 10% risk to go to court.

A few years back, I read a quote from FSF's Eben Moglen, the foremost enforcer of GPL, about all the fact that GPL had never been to court because of all these settlements. He said the alleged infringer always says, "we don't know GPL means we can't link, because no one's ever lost in court" and Moglen replies, "but do you want to be the first?" That makes the choice not to defend sound more like a fear of litigation than a solid belief that FSF's interpretation is right.

GPL and linking

Posted Feb 23, 2006 13:20 UTC (Thu) by Wol (guest, #4433) [Link]

There's also something called "intent". And something else called "precedent".

It is widely accepted that the intent of the GPL is to control linking. There is a lot of precedent that that is the way it is interpreted.

If the judge was unsure which way to rule, then they would look to intent and precedent, and in that case they couldn't do anything except come down in favour of the FSF.

Cheers,
Wol

GPL and linking

Posted Feb 23, 2006 16:50 UTC (Thu) by giraffedata (subscriber, #1954) [Link]

I don't think either precedent or intent help us here.

Several postings here say there is no precedent at all for the linking question. I.e. no authority has ever ruled on it. If you know of a precedent, please post it.

As for intent, I think it's pretty clear that the intent of a person who distributed object-code-only code that links to GPL code was to link and still not violate copyright. The intent of the guy who licensed the GPL code to him may have been for him not to link, but why is his intent more important?

In criminal law, intent of the perpetrator is important because we don't punish people for innocent actions. In contract law, the intent of the parties is relevant to the extent that all parties have the same intent. In ambiguous statutes, the intent of the legislature is sometimes called in to disambiguate. But I don't see any room for intent in deciding whether I have permission from Linus to distribute his kernel code along with an object-code-only program that links to it. It's the permission he actually gave, not what he intended to give, that matters.

GPL and linking

Posted Feb 24, 2006 18:44 UTC (Fri) by Duncan (guest, #6647) [Link]

Isn't it the case that it has now been enforced in (German) court, several
times, as Harald Welte and the Netfilter core team have aggressively
enforced their rights with the various hardware manufacturers that used
it? Google on court netfilter .

Apparently, the German system has a pretty short clock on things, so once
an alleged violator is notified, they have to respond rather quickly or
find themselves in court. It cuts down on the stalling tactics and causes
many companies to comply right away. Those that don't get dragged into
court and ultimately have to comply or face no longer being able to sell
their product in Germany (the entire EC??). It has happened to several
that dilly dallied too long, at least one of which apparently got beyond
the preliminary injunction to the permanent injunction -- backing the GPL.

Of course, a German court isn't a US court, or a Japanese court, or... but
to say the GPL hasn't been tested in court, blanket statement, is now
factually incorrect.

Also of potential interest is that the English version of the GPL is the
only official version. Other translations specifically state that they
aren't official, and that the English translation is to be considered
legally authoritative, should there be any discrepancy. Thus, it was
specifically the English version of the GPL that was held valid.

Duncan

On the dual-license model

Posted Feb 16, 2006 10:30 UTC (Thu) by duck (guest, #4444) [Link]

It seems that Oracle even tried to buy MySQL. This, of course, is always
an option if you want to get rid of a competitor. In a way this is how
Microsoft "innovates" and keeps competition low - just buy the young and
innovative companies before they start to hurt you.

http://news.com.com/Oracle tried to buy open-source
MySQL/2100-7344_3-6040197.html?tag=nefd.lede

Cheers

Peter

On the dual-license model

Posted Feb 17, 2006 1:39 UTC (Fri) by roelofs (guest, #2599) [Link]

Or Oracle tried to buy open-source MySQL, even. ;-)

Greg

On the dual-license model

Posted Feb 23, 2006 13:27 UTC (Thu) by Wol (guest, #4433) [Link]

But dual-licensed software should not be seen as free software with some commercially inconvenient strings removed. It is proprietary software, with all the risks that come with the proprietary model.

Actually, that's wrong. The LSB has been looking to update its guidelines on what software can be included in the LSB. And it's quite easy to come up with a dual-licence licensing regime that supports the four software freedoms.

That's the position I was arguing for - and it would let eg Qt into the LSB under a dual GPL/proprietary licence. In the MySQL example here, if eg InnoBase was under this sort of licence regime, MySQL would be able to fork it and continue using it both commercially and Freely. The big problem would be the hassle of maintaining it until they'd written out all the original code.

Cheers,
Wol

Copyright © 2006, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds