The H2 Database License is dual licensed under the MPL 2.0 and under the EPL 1.0 with this addendum:

However, nobody is allowed to rename H2, modify it a little, and sell it as a database engine without telling the customers it is in fact H2. This happened to HSQLDB: a company called 'bungisoft' copied HSQLDB, renamed it to 'RedBase', and tried to sell it, hiding the fact that it was in fact just HSQLDB. It seems 'bungisoft' does not exist any more, but you can use the Wayback Machine and visit old web pages of http://www.bungisoft.com.

I have no desire to rebrand the H2 database, but I am curious if this addendum is compatible with either the MPL 2.0 the EPL 1.0. My reading of the MPL and the EPL is that this addendum is not compatible with either license.

The MPL says this:

Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and

The EPL says this:

a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.

  • The addendum seems to conflict with both of these excerpts. If the addendum does conflict does it still make sense legally?
  • Also this part of the addendum seems legally ambiguous "nobody is allowed to rename H2, modify it a little, and sell it". Do you guys think it is legally valid?

To add more detail to this, the MPL 2 FAQ states that the only restrictions the MPL places on modifying and distributing MPL licensed code are:

  • You must inform the recipients that the source code is made available to them under the terms of the MPL (Section 3.1), including any Modifications (as defined in Section 1.10) that you have created.
  • You must make the grants described in Section 2 of the license.
  • You must respect the restrictions on removing or altering notices in the source code (Section 3.4).

It seems clear that the MPL 2 allows another person to make any changes they want to MPL licensed code (including changing the name of the product) and distribute it as long as they make the code available and don't change the license or copyright on the original code.

  • Can you explain with more clarity why you think that the addendum is incompatible with the two clauses you quoted? – Robert Harvey Apr 7 '15 at 14:52
  • @RobertHarvey Thank you for your response. I edited the question to try to make my question more clear. – John Cashew Apr 7 '15 at 15:11
  • 2
    I'm voting to close this question as off-topic because it is primarily about legal advice. – Robert Harvey Apr 7 '15 at 18:41
  • Is this question not exactly on topic for the "licensing" question tag? – John Cashew Apr 7 '15 at 19:10
  • 2
    I'm voting to close this question as off-topic because it appears to be about a legal interpretation of a license text beyond what can be expected to be known by a programmer – Bart van Ingen Schenau Apr 8 '15 at 10:07

A software license tells you two things:

  1. What you can do with the software
  2. What you cannot do with the software

However, a software license does not offer any guarantees. Specifically:

  1. It doesn't prevent anyone from suing you, even if you follow the license in good faith, and
  2. It doesn't prevent said person from winning in court, if they do sue you.

The only important consideration is this: is the license legally enforceable? As I am not a lawyer, I can't answer that question with any certainty. However, it seems clear to me that H2 does have the right to specify conditions: specifically that you cannot make some non-trivial modification to their code and pass it off as your own product with a different name. This is both reasonable and fair.

Whether the resulting license can still be called MPL or EPL is an open question. However, note that both the MPL and EPL already contain provisions that could be interpreted to mean what H2 states in starker language :

  1. The MPL uses the language "Larger Work." A Larger Work means a work that combines software covered by the MPL with other material. It is generally understood that such a Larger Work is an application that uses the MPL-covered work to perform functions that facilitate the operation of the Larger Work as a whole, not a trivial wrapper or some minor modification that merely results in the same program with a different name.

  2. The EPL uses the language "Derived Work." A Derived work is a work incorporating the original covered software, but it is a new work. Derived works are generally understood to be "transformative;" that is, the new program contains substantially more functionality than the covered software.

So what's the bottom line? A case could be made that, by modifying the MPL and EPL licenses with H2's "No lamers" manifesto, they are changing the licenses in such a way that you can no longer call them MPL or EPL. But, at the end of the day, they don't want you to make some trivial change to the code, change the license and call it your own. So you shouldn't.

tl;dr: Don't be a lamer.

| improve this answer | |
  • Thank you for your response. 1) To reclarify - I have no intention of rebranding H2 and my question is not whether doing so would make someone a lamer. – John Cashew Apr 7 '15 at 16:23
  • 2) I think it is unclear that a "Larger" work can not be trivially larger, in fact the MPL says it "means a work that combines Covered Software with other material, in a separate file or files". – John Cashew Apr 7 '15 at 16:23
  • 3) It is not possible for any legal agreement to prevent someone from suing you and winning, however I believe that using license that is internally consistent and clear can significantly reducing the chance of someone bringing a merit-less lawsuit against you or winning such a lawsuit. – John Cashew Apr 7 '15 at 16:24
  • 4) I think it is not accurate to state that "Derived works are generally understood to be "transformative;"". From copyright.gov/circs/circ14.pdf - Common derivative works include translations, musical arrangements, motion picture versions of literary material or plays, art reproductions, abridgments, and condensations of preexisting works. Another common type of derivative work is a “new edition” of a preexisting work in which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work. – John Cashew Apr 7 '15 at 16:27
  • 1
    Actually, what it says is that "nobody is allowed to rename H2, modify it a little, and sell it as a database engine without telling the customers it is in fact H2." I would imagine that retaining the copyright notice would alert the user to the fact that it is still H2. – Robert Harvey Apr 7 '15 at 19:56

Not the answer you're looking for? Browse other questions tagged or ask your own question.