You can add any message you want into your GPL program. Also, a GPL program does not have to be free.
This has nothing to do with the GPL. You can say in your program that 'by using this software you agree that you're a a cat' and license it under the GPL.
That does not mean the GPL relates to cats in any way.
You can add all the extra restrictions you want, but they effectively won’t do anything. Expecting both the GPL and the additional restrictions to apply is a violation of section 7 of the GPL.
> All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term.
If I put the GPL in my software and add a file next to it that says "Also you can't use this software if you make more than $100k/year", I've pretty clearly added an additional clause that's incompatible with the GPL.
If I say "Please don't use this software if you make more than $100k/year" I haven't added an additional clause, just communicated a desire. I'm as annoyed by parallel's citation nag (particularly since I don't plan on ever publishing a scientific paper), but it does not impose extra requirements.
I think I agree with you: if you put in requests that have no mandate or attachment to "or this changes your rights under the license", there's no issue.
But I was responding to the comment upthread "You can add any message you want into your GPL program". If you add a message that says a user of the software must do something / must agree to additional terms / etc, that additional text is not compatible with the GPL. I'm not a lawyer, so I have no idea whether the result would be that the restriction doesn't count and the software is GPL'd, or that the software isn't viably GPL'd because the GPL+clause isn't a valid license for somebody to use.
Author of software package can revoke his license. Author can provide same package under multiple licenses, for example: GPL and proprietary license, like QT. Author may say that user A may use GPL license only, while user B may use proprietary license only.
Eh, this is kind of right but also not really responsive to the thread.
For one thing, if the author provides the source with a GPL license to user A, and user A sends it to user B, user B has the software under a GPL'd license. The normal reason for dual licensing GPL/proprietary is so that user B can pay money to bundle the software in a non-GPL-compliant way. The author can stop licensing future releases under GPL, but they can't revoke the GPL on already-distributed software.
For another, this isn't what's happening here. GNU Parallel is released under the GPL, and the author is affixing what is debatably an additional term to the GPL'd release, under the claim that it doesn't count as an additional restriction because it's "academic tradition". By the same token, I can add a clause to my software saying that rich people can't use it, because it's "hippie tradition" to stick it to The Man.
It basically means that clause doesn't do anything. If it is phrased as a request, rather than a requirement then it doesn't violate anything for sure.
The author of Notepad++ for example is famous for adding all kinds of statements associated with the software and in no way is that part of the license.
On the other hand, if your license.txt states to i.e. not use the software for evil aka JSON famously did then yes, it is part of the license.
The message isn't part of the license, and it's phrased in a way that wouldn't be binding if it were.
It says "please cite" and "feel free to not cite if you pay".
It doesn't say "must cite" or "you may only not cite if you pay".
IANAL, but it doesn't seem like it would interact with the GPL at all. So the worst that could be said is that the implementation is annoying or in poor taste.
Software cannot be distributed with a clickwrap agreement under the GPL. Requiring the user to affirmatively agree to a contract is a clickwrap agreement even if the terms are non-monetary. The old “you are making a second agreement, not the one the software is distributed under” approach.
Notionally the GPL allows you to disregard this but it may or may not be binding depending on your jurisdiction, and it’s certainly distasteful and against the absolute spirit and most likely the text of the GPL. This is an incompatible term being forced on the end user and the entire license might well be void.
did you ignore all the stuff before that about the implication of using that option and what the user agrees to by using it?
this is like saying that a user doesn't actually agree to anything just because they clicked "accept" in a EULA. you're just clicking buttons in software, it doesn't obligate you to anything!!! but actually yes that is most likely fairly binding in a lot of jurisdictions.
that is, again, literally the definition of a clickwrap licensing agreement and you cannot do that in GPL software, even if it's non-monetary. Requiring the user to submit a selfie in a funny hat would not be permissible under the GPL either. You can't limit what the user does with the software and how, or else it's not GPL.
it's open and shut, clickwrap agreements completely subvert and nullifies the moral stand the FSF is trying to make. And it doesn't matter how innocuous it seems, it undermines the whole point of the exercise.
fortunately the GPL includes a "severability" clause that basically allows you to ignore this and grants you a license regardless. but it is not a good look, it is not good behavior, and if every GPL'd package started adding random clickwrap agreements with big "IM A DOODOO HEAD IF I IGNORE THIS" parameters the whole ecosystem would degrade.
Arch and others are not only allowed but actually morally and practically in the right for stripping these messages, and it doesn't reflect well on Ole at all that he then goes on and throws more tantrums because he doesn't like the consequence of the license he chose.
If he wants to go proprietary, or BSD (which requires acknowledgement!), that's fine, but he's being a child and the terms he are adding are utterly uncompliant with GPL, and it's unprofessional for FSF to even humor him on this. If there were a hundred Oles the FSF would have a real problem on its hands, it's only because he's N=1 jerk that this is remotely tolerable.
It doesn't look like it obligates me to do anything. It contains a request to cite, not a requirement:
If you use programs that use GNU Parallel to process data for an article in a
scientific publication, please cite:
Tange, O. (2023, July 22). GNU Parallel 20230722 ('Приго́жин').
Zenodo. https://doi.org/10.5281/zenodo.8175685
This helps funding further development; AND IT WON'T COST YOU A CENT.
If you pay 10000 EUR you should feel free to use GNU Parallel without citing.
More about funding GNU Parallel and the citation notice:
https://www.gnu.org/software/parallel/parallel_design.html#citation-notice
To silence this citation notice: run 'parallel --citation' once.
[edit]
This is really similar to the kerfuffle where the maintainer of Home Assistant asked distros to not repackage HA; it's a request, a bit at odds with community norms for libre software, but one that people are legally free to ignore.
You cannot include a message that requires the formation of a binding contract. This is the old “you can fire someone for no reason but not any reason”, and if the message your product shows is a prompt forcing the user to agree to a binding contract, its not GPL compatible.
I agree that in this case it’s likely not enforceable/binding especially since the GPL specifically allows you to ignore those terms. Hopefully that’s legally binding in your jurisdiction vs the other party.
But it’s a straightforward clickwrap agreement, even if the terms are non-monetary the GPL simply doesn’t allow these at all. Can’t place any stipulations on how the user uses the software.
You can add any message you want into your GPL program. Also, a GPL program does not have to be free.
This has nothing to do with the GPL. You can say in your program that 'by using this software you agree that you're a a cat' and license it under the GPL.
That does not mean the GPL relates to cats in any way.