Discussion:
GPLv3 source code with license check for some build configuration, DFSG ok?
Ben Finney
2018-02-15 01:59:35 UTC
Permalink
This seems to be a good use of the ‘debian-legal’ discussion forum.

Can you reply to this thread – note the Cc to ‘debian-legal’, please
subscribe there to follow if you like – with a copy of the exact text
granting license (“you may such-and-such under conditions so-and-so”).

More questions follow.
ultracopier's source code has a license check when built in ultimate
mode. However the source code is readily available, licensed under
GPLv3 and I plan to ship a non ultimate build into Debian. Is that ok
according to DFSG and thus ok to distribute in Debian?
You'll need to explain more of what “ultimate mode” means.

Especially we need to know what change in program behaviour would be had
by some recipient choosing to disable that check and redistribute it to
others.
I would say yes because the build Debian would distribute wouldn't be
restricted in use and its source code would be readily available and
free to be modified.
Note that the freedoms of the DFSG must be available to every Debian
recipient, whether direct or indirect. If not, the work is not DFSG-free.
I'm less sure about the ultimate edition (note that this would not
"You may not impose any further restrictions on the exercise of the […]
That is a significant concern, yes.

If the recipient can simply ignore the additional restriction, and there
is no effective change to the program behaviour, then that is not really
an effective restriction and we may as well just patch out the non-free
check.

If the recipient cannot simply ignore the additional restriction, then
to some extent the restriction makes the work non-free. Some other
resolution would be needed; plausibly, this would exclude the work from
Debian.

When you can describe more we can judge the conditions better.
--
\ “No matter how cynical you become, it's never enough to keep |
`\ up.” —Jane Wagner, via Lily Tomlin |
_o__) |
Ben Finney
Thomas Preud'homme
2018-02-15 22:15:52 UTC
Permalink
This seems to be a good use of the ‘debian-legal’ discussion forum.
Fair enough, removing -mentors then. Please CC me on reply as I'm not
subscribed to -legal.
Can you reply to this thread – note the Cc to ‘debian-legal’, please
subscribe there to follow if you like – with a copy of the exact text
granting license (“you may such-and-such under conditions so-and-so”).
Let's restate the facts for the -legal crowd.

I'm packaging ultracopier 1.2.3.6 which is under GPLv3 license. The source
code supports several build configuration, one of them being the ultimate
build. The ultimate build comes with a license check which terminates the
software if no key is input (ie. one hits the cancel button). For that reason,
I'm not building that configuration so that the binary program that is being
built is free from any usage restriction. There is no mention of any
restriction in the COPYING, README.sources or README file, even for the
ultimate edition.

The questions I was asking in the original thread on -mentors are:

- Is a non-ultimate build DFSG ok?
- Does the ultimate build respect the GPLv3?

I'm leaning towards yes (because no usage restriction, source available, GPLv3
which allow redistribution with or without modification) and no due to this
stanza in GPLv3:

"You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it."
More questions follow.
ultracopier's source code has a license check when built in ultimate
mode. However the source code is readily available, licensed under
GPLv3 and I plan to ship a non ultimate build into Debian. Is that ok
according to DFSG and thus ok to distribute in Debian?
You'll need to explain more of what “ultimate mode” means.
Especially we need to know what change in program behaviour would be had
by some recipient choosing to disable that check and redistribute it to
others.
Feature wise, the ultimate edition seems to only differ in the license check,
message with the version being embedded the word "ultimate" and the absence of
the following text in the UI: "Buy the Ultimate version to fund development".
The ultimate build seems to be limited to Mac OS and Windows only, ie it does
not build on Linux but that's only because of a macro check. It could
trivially be disabled.
I would say yes because the build Debian would distribute wouldn't be
restricted in use and its source code would be readily available and
free to be modified.
Note that the freedoms of the DFSG must be available to every Debian
recipient, whether direct or indirect. If not, the work is not DFSG-free.
Absolutely and I never mentionned anything Debian specific. The code is
readily available from the upstream website and I just choose to build one
specific configuration of that software, just like we do for all software with
configure options.
I'm less sure about the ultimate edition (note that this would not
"You may not impose any further restrictions on the exercise of the [
]
That is a significant concern, yes.
Only for an ultimate build, right? Ie. a non ultimate build does not have any
restriction in its usage and respect the requirement of the source code for it
being available.
If the recipient can simply ignore the additional restriction, and there
is no effective change to the program behaviour, then that is not really
an effective restriction and we may as well just patch out the non-free
check.
Given the differences mentionned above, I prefer to just use a non ultimate
build. The only difference except version number in some help string is to
encourage users to contribute to its development by telling them to buy the
ultimate edition. They are free not to do it so I think that respects the
DFSG.
If the recipient cannot simply ignore the additional restriction, then
to some extent the restriction makes the work non-free. Some other
resolution would be needed; plausibly, this would exclude the work from
Debian.
As explained, I do not intent to build the ultimate edition so there would not
be any usage restriction.
When you can describe more we can judge the conditions better.
Hope I've clarified enough. Thanks for your feedback.

Best regards,

Thomas
Dmitry Alexandrov
2018-02-18 03:02:57 UTC
Permalink
Post by Thomas Preud'homme
Let's restate the facts for the -legal crowd.
Interesting question. Still no any response? May some input from a passer-by (IANAL, IANADD) be helpful?
Post by Thomas Preud'homme
I'm packaging ultracopier 1.2.3.6 which is under GPLv3 license. The source
code supports several build configuration, one of them being the ultimate
build. The ultimate build comes with a license check which terminates the
software if no key is input (ie. one hits the cancel button). For that reason,
I'm not building that configuration so that the binary program that is being
built is free from any usage restriction. There is no mention of any
restriction in the COPYING, README.sources or README file, even for the
ultimate edition.
It is worth mentioning, that no closed list of places, where legal terms might be put, exists.

COPYING in sources’ root is just a canonical text of a model licence, which is usually a ‘headless’ one, where the essential condition is still missed: *what* is licensed.

That part indeed might be in README, though in fact many free programs do not have any single specific agreement attached to them at all. Instead each source file has its own: “This file is free software...” and so on.

Debian, by the way, reflects that style much more thoroughly than some other GNU distributions; you know, of course, ‘copyright’ file in packages is based on per-file analysis of sources rather than some general statements in documentation.

Despite the README, as you said, does state a licence for the whole program (GPLv3), the file that contains that key-checker might be still a place of special interest. Are there some ‘overrides’? Or anything else, that suggests that you are not free to simply remove it at all?

Webpage, where sources are downloaded from, is also important in my opinion.

I did a brief check of both these places:
— Key-checker is in ‘EventDispatcher.cpp’, as far as I can see; and this file explicitly mentions third GPL and nothing else, which does return you such a right.
— Download page is [0] — and I did not notice any further restrictions to GNU GPL there either.

[0] https://ultracopier.first-world.info/download-all.html
Post by Thomas Preud'homme
- Is a non-ultimate build DFSG ok?
- Does the ultimate build respect the GPLv3?
I will raise slightly more questions, if you permit:


— Are sources of Ultracopier, as downloaded from [1], are free? Are they under GNU GPL?

Given all the said, I cannot imagine a reason to say ‘no’ to either question.

The fact, that you are able to build something useless from them, should not alter it a bit. Indeed, it might be quite hard sometimes to build anything useful from sources, and nonetheless them remains free. :-)

[1] http://files.first-world.info/ultracopier/1.2.3.6/ultracopier-src-1.2.3.6.tar.xz


— Are builds (‘ultimate’ or whatever), as downloaded from the same site, free?

No idea. Sorry, I just do not want to download and run them to study the case, since I see no practical value in doing that — you are not going to go redistribute these very builds, but make your own.


— Are non-‘ultimate’ builds made from sources [1] free?

I did not build them, but if I understand right what you’ve said, non-‘ultimate’ versions show self-advertisement to users. That should not make them nonfree. Firefox does something similar, am I remember right?


— Are ‘ultimate’ builds made from sources [0] are free?

You said, that your are not going to build them for Debian either, yet it might be interesting to share some thoughts on the question as it might eventually help to understand other questions better.

You said, you have concerns regarding the no-further-restrictions clause of the GNU GPL:

| You may not impose any further restrictions on the exercise of the
| rights granted or affirmed under this License. For example, you may
| not impose a license fee, royalty, or other charge for exercise of
| rights granted under this License, and you may not initiate
| litigation (including a cross-claim or counterclaim in a lawsuit)
| alleging that any patent claim is infringed by making, using,
| selling, offering for sale, or importing the Program or any portion
| of it.

Let we compare it with another practice that is common for builds of free software for nonfree systems — they require you to read and accept a licence agreement to install and use the program. That is despite the fact that none of GNU licenses requires that. Quite the opposite: they explicitly release a user from that.

This is a obvious further restriction, is not it? Here’s what FSF thinks on this [2]:

| Can software installers ask people to click to agree to the GPL? If
| I get some software under the GPL, do I have to agree to anything?
| (#ClickThrough)
|
| Some software packaging systems have a place which requires you
| to click through or otherwise indicate assent to the terms of the
| GPL. This is neither required nor forbidden. With or without a
| click through, the GPL's rules remain the same.
| Merely agreeing to the GPL doesn't place any obligations on
| you. You are not required to agree to anything to merely use
| software which is licensed under the GPL. You only have
| obligations if you modify or distribute the software. If it
| really bothers you to click through the GPL, nothing stops you
| from hacking the GPLed software to bypass this.

You might found these examples incomparable: checkbox is a mere checkbox, while key is a substantial obstacle — you have to get it somewhere.

Yet, one might say quite the otherwise: key is a mere key, just find it somewhere, while a screen with a text of an agreement and a checkbox demands a legally binding action from you, an action which most people on this planet are not able to understand properly — their skills in English are even worse than mine. :-)

[2] https://www.gnu.org/licenses/gpl-faq.en.html#ClickThrough


— Does Ultracopier conform to DFSG?

Unless: (a) there are some non-copyright issues (trademark, for instance?) or (b) a piece of software, that is distributed under terms of GNU GPL in sources buildable with free tools, that does not conform could exist; the answer should be yes, I guess.


— Is Ultracopier suitable for Debian?

Given all the said, from a legal point of view, probably, yes.

However, if I recall correctly, there was at least one case — namely, ‘imapsync’ package — when a free program was even removed from Debian by request of its author that was willing sold it rather than let anyone download it gratis; and that was done as a mere act of a good will, without any legal grounds.
Ian Jackson
2018-02-19 15:07:18 UTC
Permalink
Post by Thomas Preud'homme
- Is a non-ultimate build DFSG ok?
- Does the ultimate build respect the GPLv3?
I think there is no legal problem. The questions are of ethics.

AFAICT from what you are saying:

The "ultimate" build is somehow superior.

The upstream authors have granted legal permission by using the GPLv3,
to disable the licence check. I guess that they would prefer users of
the "ultimate" build to pay them or something; this is probably mostly
"enforced" by providing users pre-built binaries, and hoping that
no-one will ship non-licence-enforcing binaries.

So I don't think there is any _legal_ problem with any of the options
you are considering.
Post by Thomas Preud'homme
Feature wise, the ultimate edition seems to only differ in the
license check, message with the version being embedded the word
"ultimate" and the absence of the following text in the UI: "Buy the
Ultimate version to fund development". The ultimate build seems to
be limited to Mac OS and Windows only, ie it does not build on Linux
but that's only because of a macro check. It could trivially be
disabled.
I think there is nothing very objectionable about that UI text,
provided it's not too intrusive. Indeed, GNU programs print
self-advertisements too (not asking for money, so that's perhaps a bit
different, but the same principle applies).

If the extra UI is an annoying nag then there should be a way to
disable it but IMO you can leave it enabled by default.
Post by Thomas Preud'homme
Given the differences mentionned above, I prefer to just use a non ultimate
build. The only difference except version number in some help string is to
encourage users to contribute to its development by telling them to buy the
ultimate edition. They are free not to do it so I think that respects the
DFSG.
Yes.

So, there is no problem, I think.

Personally, I would not simply disable the UI nag, even though we have
legal permission to do so. Upstream would probably find it annoying.

OTOH if there are actual _features_ in the "ultimate" version that
aren't in the standard version, they should be enabled in the Debian
package. It is OK for a Debian package to promote, to a limited
extent, the reasonable agenda of its upstreams - but we should not be
shipping crippleware.

HTH.

Ian.
--
Ian Jackson <***@chiark.greenend.org.uk> These opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.
Thomas Preud'homme
2018-02-19 22:48:11 UTC
Permalink
Hi,

Thank you Ian and Dmitry for the feedback,
Thomas Preud'homme writes ("Re: GPLv3 source code with license check for
Post by Thomas Preud'homme
- Is a non-ultimate build DFSG ok?
- Does the ultimate build respect the GPLv3?
I think there is no legal problem. The questions are of ethics.
The "ultimate" build is somehow superior.
The upstream authors have granted legal permission by using the GPLv3,
to disable the licence check. I guess that they would prefer users of
the "ultimate" build to pay them or something; this is probably mostly
"enforced" by providing users pre-built binaries, and hoping that
no-one will ship non-licence-enforcing binaries.
Yes, that's their strategy from what I can see. I guess the average Windows
user is less likely to compile a software from source to have a custom build.
So I don't think there is any _legal_ problem with any of the options
you are considering.
Post by Thomas Preud'homme
Feature wise, the ultimate edition seems to only differ in the
license check, message with the version being embedded the word
"ultimate" and the absence of the following text in the UI: "Buy the
Ultimate version to fund development". The ultimate build seems to
be limited to Mac OS and Windows only, ie it does not build on Linux
but that's only because of a macro check. It could trivially be
disabled.
I think there is nothing very objectionable about that UI text,
provided it's not too intrusive. Indeed, GNU programs print
self-advertisements too (not asking for money, so that's perhaps a bit
different, but the same principle applies).
I'm yet to find where it is in the UI so I guess that's quite discreet :-)
If the extra UI is an annoying nag then there should be a way to
disable it but IMO you can leave it enabled by default.
Post by Thomas Preud'homme
Given the differences mentionned above, I prefer to just use a non ultimate
build. The only difference except version number in some help string is to
encourage users to contribute to its development by telling them to buy the
ultimate edition. They are free not to do it so I think that respects the
DFSG.
Yes.
So, there is no problem, I think.
Personally, I would not simply disable the UI nag, even though we have
legal permission to do so. Upstream would probably find it annoying.
Agreed.
OTOH if there are actual _features_ in the "ultimate" version that
aren't in the standard version, they should be enabled in the Debian
package. It is OK for a Debian package to promote, to a limited
extent, the reasonable agenda of its upstreams - but we should not be
shipping crippleware.
There is no extra feature. I've uploaded the non ultimate build given the
general consensus here.

Best regards,

Thomas
Florian Weimer
2018-06-10 19:01:19 UTC
Permalink
Post by Thomas Preud'homme
- Is a non-ultimate build DFSG ok?
- Does the ultimate build respect the GPLv3?
I'm leaning towards yes (because no usage restriction, source
available, GPLv3 which allow redistribution with or without
What does upstream have to say about this matter?

The legal situation is a bit murky here, especially if the key prompt
contains a copyright notice, whose removal is forbidden by the GPL.
In general, the GPL does give permission to patch out things like key
entry fields and key checks, but the fact that you are able to infer
that the author likely intended something else makes the GPL
declaration somewhat doubtful (despite the curious construction in
section 7 of the GPLv3).
Ian Jackson
2018-06-13 12:30:56 UTC
Permalink
Post by Florian Weimer
Post by Thomas Preud'homme
- Is a non-ultimate build DFSG ok?
- Does the ultimate build respect the GPLv3?
I'm leaning towards yes (because no usage restriction, source
available, GPLv3 which allow redistribution with or without
What does upstream have to say about this matter?
The legal situation is a bit murky here, especially if the key prompt
contains a copyright notice, whose removal is forbidden by the GPL.
I don't agree with this analysis. The GPL does not generally forbid
removal of copyright notices; it requires their appropriate display
(see "Appropriate Legal Notices" in the definitions.)

OTOH we do not patch out copyright and self-advertising messages that
other programs print when started interactively, so we shouldn't do so
here either.
Post by Florian Weimer
In general, the GPL does give permission to patch out things like key
entry fields and key checks, but the fact that you are able to infer
that the author likely intended something else makes the GPL
declaration somewhat doubtful (despite the curious construction in
section 7 of the GPLv3).
I think s7 of the GPLv3 is a complete answer to suggestions that there
is somehow some implied additional restriction.

Ian.
--
Ian Jackson <***@chiark.greenend.org.uk> These opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.
Thomas Preud'homme
2018-09-24 21:28:22 UTC
Permalink
Florian Weimer writes ("Re: GPLv3 source code with license check for
Post by Florian Weimer
Post by Thomas Preud'homme
- Is a non-ultimate build DFSG ok?
- Does the ultimate build respect the GPLv3?
I'm leaning towards yes (because no usage restriction, source
available, GPLv3 which allow redistribution with or without
What does upstream have to say about this matter?
The license check is guarded by a preprocessor directive which was
hardcoded in one file but overridable in another one. When I asked about
it he said the hardcoded file had been fixed so it can now be overrided
when building which is a clear intent that the author want to allow the
license check to be compiled out. He provides on his website prebuilt
Windows binary with the license check enabled to fund his work and only
the source is distributed for Linux.

Best regards,

Thomas

Loading...