OpenSourcePhysics / tracker

Video analysis and modeling tool built on the Open Source Physics framework
GNU General Public License v3.0
206 stars 52 forks source link

The GPL is not a EULA (and its disclaimers do not protect you) #58

Open cincodenada opened 1 month ago

cincodenada commented 1 month ago

I just reinstalled Tracker on a new machine and noticed that the installer requires me to scroll through the entire GPL and then say I agree to it in order to use the software. This is tedious and in fact contravenes the GPL itself.

See details below on that if you like, but the short version is, as an end-user, I am annoyed having to scroll through and performatively agree to a license that literally says I don't have to agree to it to use the software. I do understand that the disclaimers (namely, sections 15-17) may be desirable to have users agree to before using the software, but as explained below, technically the current setup doesn't even guarantee you that.

You could probably get away with just reproducing sections 15-17 and having the user agree to that, since it's pretty boilerplate, but technically given the "in its entirety" stuff, I think extracting and repurposing just those sections would be in violation of the GPL. Instead, I would suggest dual-licensing it with a license that does place restrictions on usage of the software. The FSF has a nice list of licenses that are compatible with the GPL to choose from - my suggestion would be something like the BSD 3-Clause or the shorter 2-Clause, both of which are succinct, widely used, have a similar disclaimer, and unlike the GPL, do bind the user based on mere usage of the software.

I do think it is still useful to mention the GPL, so my suggestion is to replace the current license text with the GPL-compatible usage license of your choice, and then update the introduction text to something like:

Please read the following License Agreement. You must accept the terms of this agreement before continuing with the installation.

Additionally, modification and redistribution of this software is licensed under the GNU GPLv3.

Perhaps with a note about the GPL being available in the source if they so desire.

I'd be glad to work up a pull request to the above effect if that seems reasonable. Thanks for all your work on this excellent tool, and now I'm off to measure some stuff :)

The Details

Here is section 9 of the license I am supposed to have read through, emphasis mine:

  1. Acceptance Not Required for Having Copies.

You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.

Given that, turning around and asking me to accept the license to simply use the software is a little silly. The GPL is not a EULA, it defines terms and conditions for redistributing the software, not using it, and thus the GPL is entirely irrelevant to folks who are merely using the software. And I am of course not a lawyer, but because of section 9, it seems like you're on shaky ground if you are depending on any disclaimers in the GPL itself: a straightforward argument would be that I agree with the license, in that I am agreeing that none of the conditions in the license (including the disclaimers) apply to me, because I am not redistributing the software. Which is a silly kind of agreement, but that's lawyering for you.

nickkolok commented 1 month ago

Well, when we talk about dual-liensing, the things turn to be very complicated. You can't just take a bunch of code authored by many developers and put it from GPL to GPL+BSD. That's not how copyleft works.

Moreover, I believe that the mention of GPL is very important in order to make Open Source more popular. However, I suggest:

a) Do not require the user to scroll the entire text of the license (thus, remove the most annoying and time-consuming part of the problem)

b) Replace the button "I agree" with a button "Continue" (that technically does not force the user to accept the agreement)

dobrown commented 1 month ago

Which installer did you use? I’m not aware that any of them require one to scroll through the GPL before accepting.

On Wed, Jul 24, 2024 at 12:14 PM Ell Bradshaw @.***> wrote:

I just reinstalled Tracker on a new machine and noticed that the installer requires me to scroll through the entire GPL and then say I agree to it in order to use the software. This is tedious and in fact contravenes the GPL itself. Here is section 9 of the license I am supposed to have read through, emphasis mine:

  1. Acceptance Not Required for Having Copies.

You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.

Given that, turning around and asking me to accept the license to simply use the software is a little silly. The GPL is not a EULA, it defines terms and conditions for redistributing the software, not using it, and indeed, most of the GPL is entirely irrelevant to folks who are merely using the software. And I am of course not a lawyer, but because of section 9, it seems like you're on shaky ground if you are depending on any disclaimers in the GPL itself: it seems a straightforward argument to me that by saying I agree with the license, I am agreeing that none of the conditions in the license (including the disclaimers) apply to me, because I am not redistributing the software. Which is a silly kind of agreement, but that's lawyering for you.

Anyway, to bring things back to earth: at the root of it, as an end-user, I am annoyed having to scroll through and performatively agree to a license that literally says I don't have to agree to it to use the software. I do understand that the disclaimers (namely, sections 15-17) may be desirable to have users agree to before using the software, but as stated above, technically the current setup doesn't even guarantee you that.

You could probably get away with just reproducing sections 15-17 and having the user agree to that, since it's pretty boilerplate, but technically extracting and repurposing just those sections seems like it would be in violation of the GPL. Instead, I would suggest dual-licensing it with a license that does place restrictions on usage of the software. The FSF has a nice list of licenses that are compatible with the GPL https://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses to choose from - my suggestion would be something like the BSD 3-Clause https://directory.fsf.org/wiki/License:BSD-3-Clause, which is succinct, has a similar disclaimer, and unlike the GPL, does bind the user based on mere usage of the software.

I do think it is still useful to mention the GPL, so my suggestion is to replace the current license text with the GPL-compatible usage license of your choice, and then update the introduction text to something like:

Please read the following License Agreement. You must accept the terms of this agreement before continuing with the installation.

Additionally, modification and redistribution of this software is licensed under the GNU GPLv3.

Perhaps with a note about the GPL being available in the source if they so desire.

I'd be glad to work up a pull request to the above effect if that seems reasonable. Thanks for all your work on this excellent tool, and now I'm off to measure some stuff :)

— Reply to this email directly, view it on GitHub https://github.com/OpenSourcePhysics/tracker/issues/58, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXIBFAZ3TPZJSU63PPRSQ3ZN74I5AVCNFSM6AAAAABLNDESAGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGQZDQMRZHE4TAMI . You are receiving this because you are subscribed to this thread.Message ID: @.***>