ttfunk
ttfunk copied to clipboard
License
I've noticed that TTFunk gem doesn't have a license listed on Rubygems. So it doesn't have it in the gemspec.
LICENSE states that GPL 2 or GPL 3 applicable, as well as "Matz's terms for Ruby". The LICENSE is the same as the one we have in Prawn, yet that one says in Readme it's "a slightly modified form of the License of Ruby". And indeed there are more differences than simple wording. This means that we can not use plain Ruby license. Also Ruby has switched to MIT some time ago but that's not really a problem.
Another issue is that we distribute font files with TTFunk and it's not covered by license in any way. Though, original Ruby License does (partially) cover third-party copyrighted assets. For instance, DejaVu Sans' license mandates that the license must be redistributed with the font.
- Should we switch to vanilla Ruby license?
- We should fix fonts licensing.
- We should include licensing information in the gemspec.
- No.
- Please do.
- Use the same wording we do in Prawn.
- Could you please share the reasoning?
- OK
- Prawn misses licensing information from gemspec, too. The question was about the gemspec, not Readme.
And also, it's not even remotely correct that Ruby has "switched to MIT" license.
It switched from a dual license between matz's terms and GPLv2 to a dual license between matz's terms and BSD license.
That's what I meant. They switched from GPL to MIT in their dual license.
@cheba No, they didn't! They switched to 2 clause BSD license
Let's please not waste time on another licensing issue for hypothetical reasons. I don't want to track down consent from whoever has contributed to TTFunk, and I want to keep the licensing uniform across Prawn's existing projects.
If we replace these dependencies at some point, it's fine to do MIT license.
But this is a waste of time otherwise.
The modification we made to Matz's terms was to change "GPLv2" to "GPLv2 or GPLv3". This is necessary for GPLv3 compatibility.
Yeah, OK. Anyway, it's not GPL anymore.
In any case, the question was not about changing the license(s) but about how to list them in gemspec. Since the license is modified Ruby license it would be wrong to list it as Ruby. So what should we call it for it to be accurate and not misleading at all?
The actual words Matz wrote is called "The Ruby License": https://en.wikipedia.org/wiki/Ruby_License
This is correctly identified as RUBY and is what we use, verbatim.
Our triple licensing scheme RUBY, GPLv2, GPLv3 is different than that of the Ruby language, which is now RUBY, BSD.
But the RUBY license we use verbatim, and that's the correct name for it.
--- LICENSE-ruby 2015-12-01 15:24:18.000000000 +0200
+++ LICENSE-ttfunk 2015-12-01 15:23:02.000000000 +0200
@@ -1,6 +1,10 @@
-Ruby is copyrighted free software by Yukihiro Matsumoto <[email protected]>.
-You can redistribute it and/or modify it under either the terms of the
-2-clause BSDL (see the file BSDL), or the conditions below:
+ttfunk is copyrighted free software produced by Gregory Brown along with
+community contributions. See git log for authorship information.
+
+Licensing terms follow:
+
+You can redistribute ttfunk and/or modify it under either the terms of the GPLv2
+or GPLv3 (see GPLv2 and GPLv3 files), or the conditions below:
1. You may make and give away verbatim copies of the source form of the
software without restriction, provided that you duplicate all of the
@@ -17,32 +21,28 @@
b) use the modified software only within your corporation or
organization.
- c) give non-standard binaries non-standard names, with
- instructions on where to get the original software distribution.
+ c) rename any non-standard executables so the names do not conflict
+ with standard executables, which must also be provided.
d) make other distribution arrangements with the author.
- 3. You may distribute the software in object code or binary form,
- provided that you do at least ONE of the following:
+ 3. You may distribute the software in object code or executable
+ form, provided that you do at least ONE of the following:
- a) distribute the binaries and library files of the software,
+ a) distribute the executables and library files of the software,
together with instructions (in the manual page or equivalent)
on where to get the original distribution.
b) accompany the distribution with the machine-readable source of
the software.
- c) give non-standard binaries non-standard names, with
+ c) give non-standard executables non-standard names, with
instructions on where to get the original software distribution.
d) make other distribution arrangements with the author.
4. You may modify and include the part of the software into any other
- software (possibly commercial). But some files in the distribution
- are not written by the author, so that they are not under these terms.
-
- For the list of those files and their copying conditions, see the
- file LEGAL.
+ software (possibly commercial).
5. The scripts and library files supplied as input to or produced as
output from the software do not automatically fall under the
Paragraph 4 from the Ruby license would be actually good for TTFunk case as we actually have those files. Yet, we don't have it in TTFunk (Prawn) license.
Paragraph 2c, I believe, was changed for GPL compatibility.
Other changes to the Ruby license are mostly wording which doesn't change meaning much, or whitespaces.
In any case, we do not use Ruby license verbatim. At least not the latest version of RUBY license.
OK, do whatever you want with this @cheba.