I have a growing project which is a platform for 3D printers. The project contains printable parts and bills of materials. I defaulted to releasing it under GPLv3 without much thinking but since it's not software I'd rather have it under CC BY-SA.

When I release a new version of the platform some of the parts are modified to achieve new features.

Can I deploy a new version of my platform under CC BY-SA? previous versions will forever be under GPLv3 on GitHub. The tricky thing here is that the new CC version will contain parts from the previous versions and additionally the new, modified parts are based on the old GPL parts.

In my head the licence does not apply individually to each part as those are useless on their own - it's the whole platform that is versioned and licenced.

I have only accepted two commits, which fixed broken links in the documentation of the platform.

This all boils down to me doing something for the world, it's a passion project and I don't want it do be a legal nightmare.

  • 10
    Have you accepted any contributions to this project from others? (By which I mean code or other items capable of being covered by copyright, not financial or other contributions.)
    – MadHatter
    Commented Jul 18, 2021 at 11:11
  • Only two commits that fix broken links in the documentation of the platform.
    – McAbra
    Commented Jul 18, 2021 at 11:14
  • 5
    “since it's not software I'd rather have it under CC BY-SA” is a bit of a non-sequitur. GPL and CC BY-SA have differences that are pretty orthogonal to whether you apply them to software or content like 3D models. The “SA” part might actually be too restrictive. Consider whether this is really the license you want. Commented Jul 19, 2021 at 9:14

3 Answers 3


You have accepted two other small commits to this project, but apart from those you are the sole rightsholder in your work. Moreover, although IANAL/IANYL, because the two commits simply correct the target text of some links in the documentation, it seems likely that they do not qualify for copyright protection.

As we discuss here, as the sole rightsholder you are not bound by your own licence terms. Just because you offered the work to people last week under the terms of GPLv3, you are not required to do so next week: you could offer it under different terms, or put it into the public domain, or refuse to convey it at all.

What you can't do is take away the rights granted under GPLv3 to those who received the code from you under those terms. But changing the licence to CC BY-SA going forwards seems completely fine to me.

  • 3
    OP is also OK to stop distributing earlier versions under GPLv3.
    – fraxinus
    Commented Jul 18, 2021 at 20:02
  • 5
    @fraxinus I agree, and I don't think I said (s)he wasn't.
    – MadHatter
    Commented Jul 18, 2021 at 20:03
  • 2
    Lawyers have said otherwise: see the section at the end on revocability, in the UK, US, and EU (full disclosure: I wrote the article, but I did not give the talk).
    – MadHatter
    Commented Jul 19, 2021 at 17:55
  • 1
    @MichaelKay: Trying to withdraw the permission would likely run afoul of detrimental reliance
    – Ben Voigt
    Commented Jul 19, 2021 at 22:09
  • 5
    The rights cannot be withdrawn from people who have already received and used the work under the terms of the GPL, but they are not automatically granted to anyone who receives the same work under the terms of CC BY-SA. So, theoretically, the OP could re-release old versions under CC BY-SA terms and people who download those copies would be bound by CC BY-SA only. But, of course, the OP probably has no reason to do this. Commented Jul 19, 2021 at 22:25

As the accepted answer states, you should be fine doing this as you appear to be sole copyright holder. Were you not sole copyright holder, you would need either copyright assignment statements (this is actually one of the things that a lot of contributor license agreements include, but usually for different reasons) or explicit permission from each other copyright holder to change the license.

Your own reasoning is not quite correct, though. Each individual part of a project is under the license, whether or not it’s usable as-is without other parts, and any parts that are identical between the old (GPL licensed) version and the new (CC-BY-SA licensed) version are technically available under either license at the user’s discretion.

Font Awesome is an excellent example of how individual parts are separately licensed (albeit also a very good example of how not to run an open source project). They have three separate licenses, one for the icons (CC-BY 4.0), one for the fonts (SIL OFL 1.1), and a third for the ‘everything else’ (a standard OSI MIT license). None of these three parts are useful on their own, yet they still have separate licensing.

MySQL is probably the best example I can think of of something available under multiple licenses simultaneously. You can either pay Oracle for a special OEM-style license that lets you use it directly in your own proprietary projects, or you can use it under the GPL and deal with the implications of that (namely, that you can’t include it in a proprietary project without meeting the requirements of the GPL). The same principle applies when changing the license of a piece of code. As long as it remains unchanged it’s usable under either the old or new license at the user’s discretion.

  • 3
    This is inaccurate in its details. In order to have a license of a specific type, a person must obtain a copy which conveys that license. If the OP stops distributing it under a GPLv3 license, and starts distributing it under a CC BY-SA license then anyone who obtains a copy distributed as CC BY-SA license has a CC BY-SA license and not a GPLv3 license, even if the content of what is distributed is identical. In addition, anyone who obtained it under a GPLv3 license doesn't automatically get a CC BY-SA license. To get a CC BY-SA license, they must obtain a new copy, even if identical.
    – Makyen
    Commented Jul 19, 2021 at 1:34
  • 1
    From a practical standpoint, if the content is identical, then the copyright holder is going to be very hard pressed to prove that the person didn't obtain with whichever of the two licenses the person claims they obtained it as, but from a legal POV, you don't just automatically get the new, or old, license. Those licenses are separate contracts which have to be entered into through the method which grants the license (obtain a copy in a manner which conveys the license).
    – Makyen
    Commented Jul 19, 2021 at 1:34
  • 1
    [Note, given that it's on GitHub, the person could just view the repository at an earlier state and download a copy from an old commit state which is under the old license, even if that's identical to the version which is currently available and there's no intervening commit which changes that specific file.] Yes, this whole issue is something of nitpicking, but a new, or alternate, legal contract, the license, is not just auto-granted. The OP could make it more difficult to get a GPLv3 license by deleting the GitHub repository and recreating with the files only in their current state.
    – Makyen
    Commented Jul 19, 2021 at 1:34

Anyone who receives a future version will be able to use the rights granted by the GPLv3 or the rights under the CC BY-SA. A grant of GPLv3 rights is irrevocable. Here's what you agreed to:

A “covered work” means either the unmodified Program or a work based on the Program.

So all future versions of this software are covered works. That's what you agreed to when you placed those earlier versions under the GPL.

Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.

So you already agreed that every time you give someone a copy of a future version, they automatically receive a GPLv3 license from you.

All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met.

And that lasts for as long as you hold copyright on the works you chose to place under the GPLv3.

You can grant CC BY-SA rights in addition if you want. But you can't prevent people from treating future versions as GPLv3 releases if they wish to do so.

  • 6
    You are incorrect, or at least what you are saying is misleading. Anyone that receives a future version has the rights given under the license they acquired at the time. Someone else may give them an earlier copy that they received earlier under the GPL V3 and they can use that under that license. But if Alice is a new customer and receives the work under CC BY-SA, she does not instantly get the right to distribute the code or whatever under GPL V3, especially the modified bits that were never released under the GPL V3. Commented Jul 19, 2021 at 21:12
  • Let us continue this discussion in chat. Commented Jul 21, 2021 at 20:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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