How to Relicense an Old Project

How to Relicense an Old Project

3 pointsby gradschool0 comments

Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Sole copyright holder means you can relicense the existing code too, not just future code. You aren't amending the old grant — you're issuing an additional one. Anyone who already has a GPLv3 copy keeps it forever, but the same code can also be offered under MIT. Worth being explicit about that, because "relicensed going forward" reads to most people as "the old commits are still GPL-only," which would make the revival much less useful.

    On making it known when you no longer control the repo: publish a dated statement that names exactly what it covers — ideally the commit SHA of the tree you're relicensing, since the surviving fork's history gives you a stable identifier even though you don't own it. Sign it if you can, then open an issue on the fork pointing at it. The downstream question is "can I rely on this?", and a signed statement naming a SHA answers that in a way a README edit doesn't.

    One thing that surprised me building tooling in this area: the relicense will not propagate to anything automated. If the project was ever published to a package registry, the license metadata on those releases is fixed — registries record what was declared at publish time. A scanner resolving a pinned version will keep reporting GPL-3.0, correctly, and whoever ran it has no way to know a statement exists. If people are going to depend on the revived project, cutting a new release under the new license is what actually makes it visible downstream.

  • If you wrote all the code, you can change the licence. But if you have external contributors, everyone must agree to change it.

    If someone forked it in github, or have a copy at home or in gitlab, even press the history button in github, they can continue using the old licence for the old code, and "fork" the project and modify it using the old licence.

    You change the licencee only for the future code.

    Beware that changing it to MIT means that tomorrow Amazon can launch a hosted version and earn millions and not send you a dime. I like MIT and I'm not worried about Amazon for my projects, but many people don't understand this side effect.