10

It's common for projects to state a particular license and then attempt to apply some caveats that remove some of the freedoms offered by that license. I'm wondering if there is any legal basis for this.

Real world example:

My understanding is that the Apache license permits reuse of the code with no modifications at all (subject to other restrictions e.g. trademarks). Thus this request feels like a caveat/reduction/alteration to the main Apache license because it is attempting to remove a freedom expressly offered by the Apache license. Is there any legal validity to this? i.e. if I used the project under the AL2 license, is there any legal reason why I should comply with the request in the second bullet point?

As this is essentially a legal question, I'm looking for examples of where this situation has been examined before (e.g. has been tested in court) or references to the opinion of legal experts in this area. Opinions on whether honoring requests outside the license file proper is a polite thing to do or a standard practice among developers are potentially interesting but out of scope.

7
  • 8
    One thing is a license that describes legal rights & duties. The other is just documentation which describes opinions.
    – GACy20
    Nov 28, 2022 at 16:20
  • 6
    Your "real world example" is pretty confusing because it isn't an example of what you're asking about. The "we do ask ..." statement is merely a polite request unrelated to the license; it's not an attempt at applying a caveat to the license. If you're asking about statements like "This project is licensed under the GNU GPL except that you may not blah blah blah..." then you should definitely remove the pdf.js example from your question (and presumably you'll want to add a different example to replace it). Nov 29, 2022 at 18:09
  • @Tanner-reinstateLGBTpeople thanks for pointing that out the ambiguity - I think the example is appropriate but it was the language I'd used in the question that was incorrect. I think @ lofidevops improved the title in a way that hopefully clears this up? Nov 30, 2022 at 14:14
  • @Tanner - I'll help. Wrote a generic form2email processor, slapped a GPLv2 license header on it, and underneath that a comment saying "hey, if you do end up using this i'd appreciate some acknowledgement". Should this ever go to court (I personally don't care how it is used, so it never will afaik) it would have to only be over the GPLv2 and related issues since the license itself states that the license can't be modified and terms/conditions changed. Then you get into a copyright issue on the license, not the code...
    – ivanivan
    Nov 30, 2022 at 14:32
  • 1
    Most of your question makes it sound like you're interested in the second thing; the example makes it sound like you're interested in the first thing; most of the comments that you've posted make it sound like you're interested in the second thing; and the new title of the question (which wasn't written by you) makes it sound like the question is asking about the first thing. Nov 30, 2022 at 14:52

3 Answers 3

29

No, this is not a legally binding requirement. The pdf.js authors are absolutely aware of this which is why it is phrased as a request, not a requirement.

In this context, downstream authors are being asked to modify the UI so that end-users do not confuse the downstream version with the regular Firefox UI.

5
  • 4
    Any idea why such a request is even there? I mean, the authors can certainly ask me to kindly flip my website upside down every Thursday if I use pdf.js, but what is the point here? That they want to encourage people to tinker with the code, hoping to attract contributions instead of passive usage? Sounds kinda double-edged in that it might mean that most instances of pdf.js out there are going to be non-standard/half-broken in subtle ways. So how is wanting to use tested upstream code "being a dick"?
    – TooTea
    Nov 28, 2022 at 20:07
  • 14
    @TooTea: What I think you may be missing here is that this request is specifically about the UI. They are asking that potential reusers modify the UI so that it does not look identical to that of the browser, because if it did, then it might confuse or annoy the end user, or cause the user to believe that the UI is part of the browser rather than part of the website.
    – Kevin
    Nov 28, 2022 at 20:43
  • 8
    @TooTea This makes more sense if you read the entire request, rather than the sentence the OP quoted. It says "The viewer is built on the display layer and is the UI for PDF viewer in Firefox and the other browser extensions within the project. It can be a good starting point for building your own viewer. However, we do ask if you plan to embed the viewer in your own site, that it not just be an unmodified version. Please re-skin it or build upon it." (Emphasis in original)
    – user71659
    Nov 29, 2022 at 1:04
  • Just to be clear, pdf.js was just an example. I've seen this pattern on many different projects. I do see @TooTea's point of view, but this question was firmly about the legal position so let's not get too hung up on what does or doesn't constitute being a dick. Nov 29, 2022 at 7:51
  • @TooTea - look at point 4 of the Open Source Definition - opensource.org/osd - and consider that if the license can force a name change for derived work, that isn't much different than forcing a style change (hey, your stuff can't look/act like it is my direct product). But then again, that is a derived work, not a straight redistribution.
    – ivanivan
    Nov 30, 2022 at 14:37
6

There's nothing about an open-source licence that would make it "legally invalid" to add extra conditions to that licence.

The copyright holder can grant permission to use/redistribute/modify on any terms they choose. In many cases they choose to do so under the terms of a common licence like the GPL or Apache licence. However someone could also choose to add extra conditions: you may do whatever you like under the terms of this licence, except XYZ.

That's not in principle invalid. It does mean it's not just the GPL, or Apache; it's GPL-with-exceptions or Apache-with-exceptions, etc. And that in turn might mean it's no longer free/open source by the standards of the FSF or OSI. But as long as the conditions are legal in themselves they're still binding.

Having said all that: this only applies if the copyright holder is actually intending to make these conditions binding. In the example you give, it doesn't seem like that's the case: it's not attached to the licence or referred to from there or anything, and it's not phrased as a binding requirement. It's just a request which you have every right to ignore, but may choose to obey out of courtesy/gratitude.

Presumably it's done in this way precisely because it wouldn't be open source if it was made part of the licence itself. They'd rather people not use the unmodified themes in that way, but it's more important to them to ensure that the project is open source even if that means risking that people do so nevertheless.

5
  • 1
    I think your intro is phrased a little confusingly: "There's nothing about an open-source licence that would make it "legally invalid" to add extra conditions to that licence." No, it wouldn't be invalid or impossible, it just wouldn't be open source any longer. You do describe that somewhat along the way but I think it ought to be highlighted more at the beginning of your answer.
    – ecm
    Nov 29, 2022 at 17:26
  • @ecm Counterexample: If I take a 2-clause BSD license and add a non-endorsement clause, I get the 3-clause BSD license, which both are considered OSI and FSF open source licenses. I could take the GPLv2 and add a clause that says physical distribution of the source code is not necessary if you can get it over BitTorrent, which is one change the GPLv3 did. It all depends on what exactly what you add.
    – user71659
    Nov 29, 2022 at 22:13
  • 1
    @user71659 I think the OP is thinking more of adding clauses like "Don't use this code as part of weapons systems" or "people on the sex offender registry can't download this". Those clauses might be legal to add to your software license (check local law), but they would make your software other than open source. Nov 29, 2022 at 23:11
  • 1
    There's also an important caveat that if the work being licensed is not wholly original, then the author will have to abide by their own upstream licenses. So adding exceptions to a license might not be legal (e.g. if your work is a derivative of somebody else's GPLed work then you normally only have permission to distribute the derived work under the terms of the GPL; you cannot unilaterally choose to impose any other conditions).
    – Ben
    Nov 30, 2022 at 5:30
  • 1
    @ecm Yes, that's true, and so I did mention that — but the point I was trying to get at is that it's not legally invalid to release your own work under a non-open-source licence. OP was asking if such a licence is legally valid, and it is; the things that might lead someone to avoid it are extralegal i.e. a desire for the work to be open-source. (obviously excluding situations where it is legally required to release under an open source licence, i.e. derivative works of GPL-licenced works.) Dec 7, 2022 at 11:22
6

If a project uses a particular license, then this license is the legally binding document. It cannot be amended by informal documents (such as project documentation) which are not expressly mentioned in the license itself.

Of course, authors can introduce caveats in the text of the license. Note that doing so would effectively change the license, which in turn implies using a different name for it. Using the original license name on a modified license text will likely be a trademark violation, and even if it's not, it would arguably constitute deception, which means such a license may effectively be unenforceable.

2
  • 4
    Another caveat is that having a file called LICENSE in a repository does not necessarily mean that it applies to all files in the repository.
    – jpa
    Nov 29, 2022 at 17:06
  • @jpa Sure, each file can have its own copyright statement and refer to the license that applies to it (or include the license text). This is especially important on online repos like Github, which allow access to individual files. Dec 1, 2022 at 14:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.