Skip to main content

Would more than one license be confusing?

5 replies [Last post]
Joined: 2005-12-12

I had this reaction the other day when I saw that JRuby is licensed under a tri-license: 'Distributed under a tri-license (CPL/GPL/LGPL)'

My first reaction was, what does that mean?
1. Does it mean that all licenses are in effect at once?
2. Does it mean that there are 3 separate identical code bases each with its own special license?
3. etc...

If Java was issued under more than one license how could you make it clear what this means and the ramifications for collaborating with others. Can a person with the CPL code collaborate with a person with the GPL code?


Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Joined: 2006-06-30

We were originally licensed under GPL/LGPL because some of some folks concerns with the GPLs more restrictive clauses. We added the CPL when the RDT (Ruby Development Tools) guys wanted to be able to bundle JRuby with their code, which necessitated an Eclipse-friendly license. In retrospect, it would have been easier to just relicense everything under an MIT or BSD-style license, but those are the breaks.

The idea is that you can choose which license you want. If you choose to use GPL, you're using JRuby as GPL. If you have to use a more permissive license, you have LGPL and CPL to choose from.

I think three licenses is probably too much, but multiple licenses in general doesn't seem too confusing. I think in most cases a single license can solve all problems, but in cases where one license already exists but doesn't meet a given project's requirement, adding a second license seems valid.

Joined: 2003-06-06

How do you handle contributions? The main problem I see with dual licensing is that few open source licenses are mutually compatible (for example, GPL is not compatible with BSD) so when multiple licenses are in use you can't re-combine contributions down both licensing paths.

Joined: 2004-05-05

I'd handle contributions as they are handled now, with a joint copyright. That would allow either party to license the contributions as they see fit, and for example dual license them downstream.

As another mechanism, I'd suggest having contributors give Sun a license to relicense their contributions under (open source) licenses of Sun's choice, or as another alternative, license their code to Sun under suitable open source licenses.

Joined: 2003-06-18

Dual-licensing is widely used .. e.g. MySQL is dual licensed.

One thing it seems to allow is for a 3rd party to build a propriatary application based on the open source project. They would go to the "owner" of the open source project and do the licensing agreement for the closed version of the project in order to have the rights to redistribute a closed source application using the technology. e.g. someone bundling MySQL in a closed source application would to to the MySQL team for a license that lets them do so.

Isn't the rest of your question about license compatibility? I don't know much about that, but doesn't that white paper by Simon Phipps answer that partially?

Joined: 2005-12-12

That's one of the questions, how does it affect developers ability to communicate with each other.

It does appear to be some doubters out there about dual-liscensing:

though, that seems to be more about having situations where the source has a proprietary and an open source license. There doesn't appear to be a "multiple open source licenses for a product are bad" theme.