Posted Mar 14, 2012 2:28 UTC (Wed) by mjg59 (subscriber, #23239)
[Link]
By whose definition of non-free? Debian and Fedora certainly consider it free software.
Sadly ...
Posted Mar 14, 2012 3:02 UTC (Wed) by geofft (subscriber, #59789)
[Link]
The thing you link to satisfies the FSF Free Software Definition, and is even easier to satisfy than, say, the LaTeX Project Public License, which also satisfies the Free Software Definition, despite having requirements that (according to the same FSF) make it a "nuisance" to use those rights in certain ways.
Do you have a particular definition of "non-Free" in mind? It's hard to discuss whether it satisfies that definition without knowing what the definition is.
Sadly ...
Posted Mar 14, 2012 5:45 UTC (Wed) by ldo (subscriber, #40946)
[Link]
No it doesn’t. May I draw your attention to Freedom 3: “The freedom to distribute copies of your modified versions to others”.
Sadly ...
Posted Mar 14, 2012 5:56 UTC (Wed) by geofft (subscriber, #59789)
[Link]
Yes, I see it. The license explicitly grants me "permission to distribute binaries produced by compiling modified sources", which satisfies the most pedantic reading of that rule, in that it applies to the software and not its source code.
A more useful, non-pedantic reading would acknowledge there is no practical distinction between distributing modified code and distributing patchfiles. The cases where there is a distinction (and there certainly are such cases!) are those like Pine, where source patchfiles could be distributed, but modified binaries could not (and even unmodified binaries could not be generally redistributed). Pine was nonfree, not because of the restriction that you had to distribute modified source in the form of original source plus patches, but because of the constraints regarding distributing the binaries -- what Freedom 3 refers to as "your modified versions".
Sadly ...
Posted Mar 14, 2012 11:03 UTC (Wed) by nye (guest, #51576)
[Link]
There are other practical distinctions. For example, this license does not allow you to re-use any code in another project, unless you structure that project in terms of a modification to gnuplot.
It's explicitly designed to minimize code re-use, which to my mind makes it non-free in effect. That it technically satisfies the definition seems more like a bug in the definition to me.
(Also, it requires the modifier to attach their meatspace address to any modifications, which is a fairly nasty restriction for many, though not in itself non-free.)
Sadly ...
Posted Mar 14, 2012 18:04 UTC (Wed) by geofft (subscriber, #59789)
[Link]
Good point, I had failed to consider reusability in other software
In fairness I think the FSF definition does a bad job of mandating it / making it clear that this is important (as do the Debian, OSI, etc. ones), but it's certainly something I personally think is very important to "free" software.
Not GPL
Posted Mar 14, 2012 14:49 UTC (Wed) by man_ls (subscriber, #15091)
[Link]
Apparently it's free software, but in a weird way. The package would be much more useful if it was licensed under the GPL (or 2-clause BSD for the non-copyleft folks). See e.g. how github has created a social model around forking git repos.
Not GPL (because it pre-dates the GPL)
Posted Mar 14, 2012 19:11 UTC (Wed) by sfeam (subscriber, #2841)
[Link]
Perhaps I should step in here as a gnuplot developer with a bit of historical perspective. The "weirdness" you see is due to the evolution of the concept of open source and open licensing terms over the past three decades. When you read the gnuplot license, you should be aware that you are reading a document from more than 25 years ago.
Gnuplot has been distributed under this same license for longer than the GPL has been in existence. Gnuplot version 1.0 was released by the original authors in 1986, and a much expanded version 2.0 incorporating contributions from a larger development group came in 1990. Up to this point there was no connection to the GNU project or the FSF. The "gnu" part of "gnuplot" is purely coincidental according to the original authors. Although this was all before my involvement with gnuplot and therefore out of my direct knowledge, my understanding is that starting about that time early versions of gnuplot with this same license were hosted as part of the GNU project even after GPL1 was drafted. If anyone has specific documentation to support or contradict this, I would appreciate having a copy for the project records. To my knowledge, no connection to the GNU project or to the FSF continued past the point where gnuplot moved to being hosted on SourceForge, but again this was before my direct involvement so I am hazy on the exact timeline.
Several years back we (the current gnuplot team) made an effort to contact as many early developers as we could find to see if there was a more modern license that everyone would agree to. As you might imagine, we failed to track down everyone. Furthermore, even among the people we did get responses from there was no such universal agreement that would allow a license switch for the existing body of code.
We did introduce guidelines encouraging dual-licensing for any new self-contained modules or subsystems contributed to gnuplot, and if you look you will see that several of the new terminals are dual-licensed GPL and one is dual-licensed to BSD. This works nicely for individual terminal support because each terminal type (i.e. output mode) is a module that can be configured in or out of the program when building. It doesn't work so well for contributed modifications to the core plotting code.
Last year (2011) a review by Debian identified a single problematic file in gnuplot, dating back to contributed 1980s freeware code whose license restricted commercial use. This file was used only to support dot-matrix printers and similar 1990s vintage output modes. As a result, these devices are not configured or supported by default in gnuplot version 4.6.
Bottom line? There was no intent to choose a "weird" license. Rather there was a very forward-looking intent 25 years ago to release code under what we would now call an open source license. The GPL did not yet exist as a model.
We might have a separate, interesting and perhaps flame-attracting, discussion about how well the GPLv2 or GPLv3 would have meshed with gnuplot's original design intent, but absent a time travel device to provide Thomas Williams and Colin Kelley with an advance-reading copy this is a moot point. Spilt milk under a bridge never crossed.
Not GPL (because it pre-dates the GPL)
Posted Mar 14, 2012 21:03 UTC (Wed) by man_ls (subscriber, #15091)
[Link]
Well, thanks for the detailed story (which I had read but did not remember quite right). Your efforts to switch licenses are appreciated. And don't think I am looking a gift horse in the mouth; gnuplot is still my package of choice to generate graphics, and now even more so. Thanks for maintaining it and making it grow!
Not GPL (because it pre-dates the GPL)
Posted Mar 15, 2012 6:48 UTC (Thu) by geofft (subscriber, #59789)
[Link]
Thanks for the history! Having a policy of licensing new code under a free software license in the modern sense sounds like an excellent way to deal with this issue.
Not GPL (because it pre-dates the GPL)
Posted Mar 15, 2012 8:12 UTC (Thu) by eupator (guest, #44581)
[Link]
> When you read the gnuplot license, you should be aware that you are
> reading a document from more than 25 years ago.
This is not true. Gnuplot was actually relicensed in 1998, for version 3.7 (the previous license didn't permit to distribute modified binaries at all). It is a bit sad that such an obnoxious clause was introduced at the time when the benefits of free software should have been already obvious.
Not GPL (because it pre-dates the GPL)
Posted Mar 15, 2012 16:39 UTC (Thu) by sfeam (subscriber, #2841)
[Link]
I apologize for implying incorrectly that the full text was unchanged since 1986. You are correct that the original Copyright notice was expanded later. To my non-lawyer's eyes the change constituted a clarification to the original terms rather than a substantive change, but you can judge for yourself. Here is the entire text from the source distribution for version 2.0, dated 1990:
* Copyright (C) 1986, 1987, 1990 Thomas Williams, Colin Kelley
*
* Permission to use, copy, and distribute this software and its
* documentation for any purpose with or without fee is hereby granted,
* provided that the above copyright notice appear in all copies and
* that both that copyright notice and this permission notice appear
* in supporting documentation.
*
* Permission to modify the software is granted, but not the right to
* distribute the modified code. Modifications are to be distributed
* as patches to released version.
*
* This software is provided "as is" without express or implied warranty.
You are correct that the clarifying clauses that follow this in the current Copyright notice were added in 1998. They make it explicit that the restriction against distributing "the modified code" applies to the source code, not to the resulting binary executable. I can imagine that the omission of a separate statement in the original text about distribution of binary executables left room for paranoia if one were so inclined. The additional clauses were added at about the time this exact issue came up with regard to the pine license, right?
You call the clarification itself "an obnoxious clause", and imply that the result is non-free, but that is a far from universal opinion. Equivalent limitations requiring a distinction between the original code and any modifications to it appear for instance in perl's Artistic License. The FSF may dislike licenses that take this approach but hey, also there are lots of people who dislike the GPL. And as pointed out at the start of these comments, even the FSF Free Software Definition categorizes the current gnuplot license as "free". To declare that it is "non-free" or "obnoxious" is IMHO staking out a position on the radical fringe of GPL advocacy. It is quite true that the gnuplot license is not the same as the GPL. As to which is "more free", let's not re-fight the GPL/BSD wars on another front. In practical terms, gnuplot's license allowed things that the GPL would not, such as linking to less-free or non-free versions of PDFlib to generate pdf output (no longer necessary since gnuplot now uses libcairo for pdf generation, but I'm digressing...).