views:

581

answers:

5

I would like to start a project using the GPLv3 license; utilising existing GPLv2 code and Apache License, Version 2.0 code.

Please keep answers here specific to Apache License, Version 2.0 licensed code transitioning into a piece of GPLv3 licensed code. Thanks.

What are the encumberances in changing a piece of Apache License, Version 2.0 licensed code into a piece of GPLv3 licensed code?

A: 

Duplicate.

TraumaPony
http://stackoverflow.com/questions/107716/what-are-the-encumberances-in-changing-a-piece-of-gplv2-licensed-code-into-a-pi <- the other Question is in regards to GPLv2 not the Apache License
_ande_turner_
+2  A: 

I'm not a lawyer, but my understanding is as follows.

The Apache v2 license would seem to allow you to have a separate license (e.g. GPLv3) for your modifications:

You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

But remember that you still have to make it clear that you are using Apache licensed code:

You must give any other recipients of the Work or Derivative Works a copy of this License; and

You must cause any modified files to carry prominent notices stating that You changed the files; and

You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works;

Adrian Mouat
+7  A: 
Marcelo Morales
+3  A: 

You can't change the license of somebody else's code. OTOH, if you own the copyright of the code in question, you can release it under whatever conditions you wish.

The answer by "Marcelo Morales" provides a chart describing licenses which are compatible with GPLv3, which is the question you should be asking. E.g. you can use Apache 2 licensed code in your project, however the Apache 2 licensed part remains under the Apache 2 license and the whole package can be released under GPLv3 as Apache 2 is compatible with it.

janneb
+2  A: 

In general terms, the copyright owner can choose how his/her work is licensed. The copyright owner of the work can choose to release it under a commercial license today, then open source it tomorrow.

So, the copyright owner may take an Apache licensed work and re-license it under GPL v3 without any problems. What they can't do however is prevent people who obtained the work under Apache license terms from forking the code and continuing to use an Apache licensed version (the same applies for GPL).

Essentially, the question then becomes: Do you (or your company) own the copyright on the Apache licensed work? There are a number of possible scenarios:

  • I hold copyright on the entire work - Then you may freely relicense the work.
  • I hold copyright on parts of the work and the other copyright holders are willing assign their copyright to me - If all of the copyright holders assign their rights to you, you then own the entire work and you're free to relicense.
  • I hold copyright on parts of the work and the other copyright holders are willing to allow relicensing - If all of the other copyright holders agree, then collectively you can relicense the entire work.
  • I hold copyright on parts of the work and the other copyright holders are NOT willing to assign their copyright or relicense - In this case, you may remove the portions of the work you don't own and replace with a fresh implementation that you hold copyright over.
  • I do not own copyright on the work - The Apache v2 license does not require you to assign copyright to a third party and explicitly states that it does not limit your ability to distribute the work under additional or different license terms, so this is unlikely. However, work completed under a Contributor License Agreement may result in this situation.

In short, the Apache v2 license does not forbid relicensing of a work by it's owner. If you own the work in its entirety there's nothing to stop you from relicensing it. If you only partially own the work, you will need to seek agreement from the other copyright holders before you can relicense it.

Jim OHalloran