Hello, On Mon 20 Aug 2018 at 03:34PM +0500, Lev Lamberov wrote:
> first, I'd like to stress that my motivation is making clear for > myself several important (from my point of view) points and > improvement of dh-make-elpa. Thank you for your interest in working on dh-make-elpa! > The point I'd like to focus attention to is licensing of dh-make-elpa. > Currently, it is licensed under GPL-3+. It is based (and I'd say > heavily based) on dh-make-perl, which is licensed under GPL-2-only. > I've asked Sean Whitton about it on IRC and got the following answer: > > 23:45 < spwhitton> dogsleg: we don't actually derive code from dh-make-perl > -- dh-make-perl's code is included as a library. so I think the licensing is > okay. > 23:45 < spwhitton> dogsleg: there are very small number of lines that are > actually copied directly; probably less than copyrightable. Please ask participants' permission before quoting from IRC channels into permanently-recorded formats like the Debian BTS (in this case, I would have given permission). > I cannot agree with this summing-up. Namely, I cannot understand what > proportion of code should be to be considered copyrightable. IANAL, but AIUI, code that is less than ten lines long is not copyrightable -- the FSF do not require copyright assignment for contributions to GNU projects that are less than ten lines. Until reading your e-mail, I thought that the actual code copied from src:dh-make-perl into src:dh-make-elpa was less than ten lines. But it looks like I was wrong about that. > As it is put in manpages of dh-make-elpa(1), "a great deal of the > library code used by dh-make-elpa, and its object-oriented structure, > comes from dh-make-perl(1), written and maintained by the Debian Perl > Group." > > First, it is not clear what constitutes a library here. What this text means is that dh-make-elpa imports dh-make-perl as a library. That code is not contained in src:dh-make-elpa. > Second, classes from DhMakePerl are in fact used in DhMakeELPA (as > base classes): > > $ rgrep DhMakePerl > lib/DhMakeELPA/Config.pm:use base 'DhMakePerl::Config'; > lib/DhMakeELPA/Command/Packaging.pm:use base 'DhMakePerl::Command::Packaging'; According to the FSF,[1] the GPLv3 is not compatible with the GPLv2. So it looks like I am not allowed to derive classes from DhMakePerl and license the new classes as GPL-3+. I've updated d/copyright to license dh-make-elpa under GPL-2 only, since that's all that is permitted. > Nevertheless, let's take a look into some code. For example, > DhMakeELPA.pm. It contains only one subroutine, run, and the > difference with the same subroutine from DhMakePerl.pm is as follows: > > sub run { > my ( $class, %c ) = @_; > > unless ( $c{cfg} ) { > - my $cfg = DhMakeELPA::Config->new; > + my $cfg = DhMakePerl::Config->new; > $cfg->parse_command_line_options; > + $cfg->parse_config_file; > $c{cfg} = $cfg; > } > > my $cmd_mod = $c{cfg}->command; > $cmd_mod =~ s/-/_/g; > - require "DhMakeELPA/Command/$cmd_mod.pm"; > + require "DhMakePerl/Command/$cmd_mod.pm"; > > $cmd_mod =~ s{/}{::}g; > - $cmd_mod = "DhMakeELPA::Command::$cmd_mod"; > + $cmd_mod = "DhMakePerl::Command::$cmd_mod"; > > my $self = $cmd_mod->new( \%c ); > > return $self->execute; > } > > So, since almost the whole DhMakeELPA.pm is an edited copy of > DhMakePerl, is this part of code copyrightable? If so, then it should > come under GPL-2-only umbrella, not GPL-3+. I don't know if this counts as copyrightable or not. But the point is moot, because of the above. [1] https://www.gnu.org/licenses/license-list.en.html "Please note that GPLv3 is not compatible with GPLv2 by itself." -- Sean Whitton
signature.asc
Description: PGP signature