mmitch / gbsplay

gameboy sound player

Home Page:https://mmitch.github.io/gbsplay/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unclear licensing situation (GPL)

ullenius opened this issue Β· comments

Which version of GPL is it licensed under? It does not explicitly state, nor does it include the licence.

  • GPL 2 only?
  • GPL2 and any later version ?
  • GPL3 ?

This affects compatibility with other licences.

It's GPL v1, at least according to the more verbose copyright file in the Debian package.
It's been over 15 years, but I think the Debian package can be trusted on that, because I was involved in the packaging.

I think we should clarify by sprinkling every mention of "GPL" with "v1" and include the full license text as well.

I think we should clarify by sprinkling every mention of "GPL" with "v1" and include the full license text as well.

Done. #26

Wow, thank you very much! πŸ‘

commented

From the GPL v1 itself: "If the Program does not specify a version number of the license, you may choose any version ever published by the Free Software Foundation."

commented

Fun facts :)

Our GPL note predates the GPLv3 release (late 2005 according to https://en.wikipedia.org/wiki/GNU_General_Public_License).

I suspect we would have meant GPLv2 or later, but as mmitch said it's so long ago we'll never know without a time machine. :)

The first commit (1.1) was:
revision 1.1
date: 2003-08-21 23:35:04 +0200; author: ranma; state: Exp;
branches: 1.1.1;
Initial revision

Copyright notice was added two days later:
revision 1.11
date: 2003-08-23 10:31:38 +0200; author: mitch; state: Exp; lines: +8 -0;
added copyright notice

Or in the git import:
commit 33d300a
Author: mitch
Date: Sat Aug 23 08:31:38 2003 +0000

added copyright notice

diff --git a/gbsplay.c b/gbsplay.c
index 26c2d6f..23e41bd 100644
--- a/gbsplay.c
+++ b/gbsplay.c
@@ -1,3 +1,11 @@
+/* $Id: gbsplay.c,v 1.11 2003/08/23 08:31:38 mitch Exp $

    • gbsplay is a Gameboy sound player
    • Licensed under GNU GPL.
  • */

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>

From the GPL v1 itself: "If the Program does not specify a version number of the license, you may choose any version ever published by the Free Software Foundation."

Hmm, should we have chosen something other than V1?
IANAL but technically we should be able to go back before d80f134 and choose something else if we really wanted to.
I don't know the finer differences between V1, V2 and V3, so currently I'm all comfortable with our V1.

@mmitch Please consider changing the version!

The main issue with limiting it to V1 is that it makes it incompatible with mostly everything, including V2 and V3.

GPL1 only

  • Cannot be used in GPL2 projects or vice versa ❌
  • Cannot be used in GPL3 projects or vice versa ❌
  • Incompatible with LGPL 2.1 ❌
  • Incompatible with LGPL 3 ❌
  • Code licensed under Apache License cannot be used in gbsplay ❌

GPL1 or any later version

  • Full GPL2 compability βœ”οΈ
  • Full GPL3 compability βœ”οΈ
  • Full LGPL 2.1 compability βœ”οΈ
  • Full LGPL 3 compability βœ”οΈ
  • Allows code from Apache License to be used in gbsplay βœ”οΈ

GPL2 only

  • Compatible with LGPL 2.1 βœ”οΈ
  • Not compatible with GPL1 ❌
  • Not compatible with GPL3 ❌
  • Not compatible with LGPL 3 ❌
  • Code licensed under Apache License cannot be used in gbsplay ❌

GPL3 only

  • Not compatible with GPL1 ❌
  • Not compatible with GPL2 ❌
  • Not compatible with LGPL 2.1 ❌
  • Compatible with LGPL 3 βœ”οΈ
  • Code licensed under Apache License ca be used in gbsplay βœ”οΈ

Summary

  1. The main problem with choosing V1 only is that it makes it incompatible with
    mostly everything.
  2. Almost nobody uses V1.
  3. IMHO there's no benefit whatsoever to using V1 over version V2 legally (IANAL).
commented

I've changed it to "GPL1 or any later version" in commit ac57c84.

@ranma That's great! πŸ‘