I have this repo on my GitHub https://github.com/bortek/EZ-WifiBroadcast which is based on Raspbian OS image plus has additional code developed initially by a person which we call here Creator. The code was then taken as a base and developed a lot further by another person, let's call it Continuer. The code contains 3rd party code taken from some other drivers. Now Continuer has stopped the development and kinda left the project.

Some parts of the code include headers stating copyright (or developed) by Creator and Continuer and that the code is distributed under GPL2 license.

The project has been restarted and is now actively being developed/reworked by several other Contributors as well as via Pull Requests from others who forked the code previously and somehow enhanced it.

Now I am trying to get some structure here and feel like we need to establish the license terms for the code being developed. But I do not know how to proceed. I was first thinking about stamping the code with Apache or MIT license but that would be from stamping time and forward. What will happen to the previous code and what right do we (as a project) have to do with the code. We are not planning any commercial activity out of this, this is done purely on our free time and will.

  • The code started as GPL2, so GPL2 it must remain. That's the whole point of the GPL license! – curiousdannii Oct 26 '18 at 12:01

As you know, GPLv2 requires that if a work under the licence is distributed, modified or not, the whole work must be distributed under GPLv2 (GNU GPLv2 s2b). Only the rights-holder, or if there are multiple contributors, all of them acting in concert, may relicense the work. Although it sounds as if you have made some contributions to this project, if you release the modified work you are required to do so under GPLv2. If you don't like that, you need to start from a different work, under a different licence.

You may not simply relicense the entire work under MIT or Apache, because you are not the sole rights-holder. If you do so, you're committing a copyright violation against the existing rights-holders, and they would have standing to sue.

  • Thanks for your answers. That clarifies and simplifies things. I will need to clarify about GPL2 license in the project. How do I in best way establish a CLA for the project, is it required when using GPL2? I know there are cla bots available but it feels cumbersome to accept cla for each PR that either repo contributors do or those who forked it. – bortek Oct 26 '18 at 13:34
  • 1
    @bortek a CLA is never required. Having one can simplify the process of re-licensing, but in this case it won't help, since you're building on top of an existing GPL work - no amount of agreement amongst present and future contributors will enable you to relicense. By the way, feel free to accept this answer if you're happy with it. – MadHatter Oct 26 '18 at 14:20
  • the purpose of CLA in this case was not for re-licensing but for the contributed code to be accepted as part of the one main code and co avoid future potential claims from the contributor that the project is owning his/hers code and for some reason could ask to remove it. Which will be quite hard to do. I will accept the answer if I find the accept button :) – bortek Oct 26 '18 at 16:47
  • 2
    @bortek: As long as you comply with the terms of the GPL, the license is effectively irrevocable. This means that a contributor can not effectively ask you to remove their contribution. – Bart van Ingen Schenau Oct 26 '18 at 18:51

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.