Posted Mar 14, 2012 19:11 UTC (Wed) by sfeam (subscriber, #2841)
In reply to: Not GPL by man_ls
Parent article: Gnuplot 4.6 released
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.
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...).