1

There is library OpenCl.NET licensed under Eclipse Public License. I want to fork it to change some errors and add some functionality.

Is it possible to license my changes by Apache 2 license?

  • there is not enough details about that library to answer this. What is its license? – gnat Feb 13 '15 at 13:51
  • 1
    @gnat Eclipse Public License. Abbreviation ‘EPL’ is quite common and even less ambiguous than, say, ‘GPL’ with ‘GNU’ omitted. – Dmitry Alexandrov Feb 13 '15 at 13:53
  • As for the question; the title is misleading (of course, you can not change the license from a more restrictive in some points to a less restrictive); but the body (whether it possible to cover your changes by ASLv2) may be rephrased as ‘Is ASLv2 EPL-compatible?’; and that is valid and interesting question; but why on earth it bothers you? Why don’t you want to cover your changes (which are not so drastic, I guess) with the same EPL? – Dmitry Alexandrov Feb 13 '15 at 14:13
  • @DmitryAlexandrov It was a bit hard to understand EPL then I read that for a first time. – buldo Feb 13 '15 at 17:31
  • The license states "...must be made available under this Agreement". It's this license, not this or some other, so I don't see how one could possibly think there'd be another option. – Damon Feb 13 '15 at 17:45
5

I am not a lawyer. You should get one, if you are concerned about possible legal issues.


The title of questions (‘Can I change license?’) does not match its body (‘Is it possible to license my changes by Apache v2 license?’).

Of course, you can not change the license. Even most permissive free software licenses, such as Expat and 2-clause BSD licenses¹, do not allow changing the license of original code – they only allow sub-licensing, i. e. basically covering it by another less permissive license in addition to original. Eclipse Public License v1.0, does not allow sub-licensing sources under different terms² (so it should be considered copyleft license); and even if it did, ASLv2 is more permissive; thus no, you cannot take OpenCl.NET, modify it, and redistribute it under Apache License.

As for whether it is possible to cover your changes by Apache [Software] License v2, this may be rephrased as ‘Is ASLv2 is compatible with EPLv1?’, and according to EPL FAQ the answer is yes. So yes, you can attach ASLv2 to your changes, and incorporate them into the original library. The result of as a whole might and should be considered as covered by EPL.

However, I do not understand, why you don’t just use the same license as original library does.


¹ Well, there is an ultimately permissive license – WTFPL :-), it do allow changing the license.
² § 3: When the Program is made available in source code form: a) it must be made available under this Agreement...

  • This advice feels dangerous to me. I'd definitely consult a Lawyer before traveling this route. At best I might feel safe distributing diffs/patches under my own license, but trying to attach another license to someone else's source code without their explicit buy-in seems ill-advised. – tjd Feb 13 '15 at 17:08
  • 1
    @tjd Ⓐ I actually said nothing about attaching another license to someone else’s work in the third paragraph of my answer, since Buldo wants to apply a license to his own work. Ⓑ However, the situation indeed might be generalized – you might want to include someone else’s ASL-covered work into EPL-covered product; and yes, you would still allowed to do it. Copyright holders gave you quite explicit permission, see § 4 of ASLv2. (Note also, that those who use, say, Expat license do not make the permission so explicit, however you are still allowed to attach another license above Expat.) – Dmitry Alexandrov Feb 13 '15 at 18:13
8

From the EPLv1.0

  1. REQUIREMENTS

A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:

a) it complies with the terms and conditions of this Agreement; and

b) its license agreement:

i) effectively disclaims on behalf of all Contributors all
   warranties and conditions, express and implied, including
   warranties or conditions of title and non-infringement, and
   implied warranties or conditions of merchantability and fitness
   for a particular purpose;

ii) effectively excludes on behalf of all Contributors all
    liability for damages, including direct, indirect, special,
    incidental and consequential damages, such as lost profits;

iii) states that any provisions which differ from this Agreement
     are offered by that Contributor alone and not by any other
     party; and

iv) states that source code for the Program is available from such
    Contributor, and informs licensees how to obtain it in a
    reasonable manner on or through a medium customarily used for
    software exchange.

When the Program is made available in source code form:

a) it must be made available under this Agreement; and

b) a copy of this Agreement must be included with each copy of the Program.

Contributors may not remove or alter any copyright notices contained within the Program.

So a basic "I AM NOT A LAWYER" interpretation is that you can only distribute the source code under the EPL. Object code can be under a different license under certain conditions.

  • @Buldo asked a very unclear question, which consists of two essentially different ones: ‘Can I change license?’ and ‘Is it possible to license my changes by Apache 2 license?’. It seems, that you addressed the first and ignored the second; but, I think, it would be better to state it explicitly. – Dmitry Alexandrov Feb 13 '15 at 15:42
  • The second ‘Is it possible to license my changes by Apache 2 license?’ Is sort of covered by the first. "When the Program is made available in source code form: a) it must be made available under this Agreement; [the EPL] ". – Jaydee Feb 13 '15 at 15:45
  • Do not they require opposite answers: the first – no, the second – yes? (See my answer below.) – Dmitry Alexandrov Feb 13 '15 at 15:58
  • The statement in the license looks pretty clear to me "a) it [the source code] must be made available under this Agreement;". Of course the changes could be made available independently under any license. – Jaydee Feb 13 '15 at 16:56
  • 1
    The question then becomes, if I change the code a little bit, is it still "the Program" as referred to in the license? Or are derivative works considered to be independent entities from "the Program", and thus this would not apply? The definition of "the Program" from the license may be relevant. (Yes, this is pedantic, but alas, such is the nature of licenses.) – jpmc26 Feb 13 '15 at 17:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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