Aves Libre presents a "Terms of Service" display and requires moving an "I agree" toggle before the app can be used. This intends to be a contract that limits the rights of the user, modifying the license to one that fails the Free Software and Open Source definitions (and DFSG).
Agreed. The code is published under 3-clause BSD, so it's entirely proper for anyone to fork and remove the non-Free terms clickwrap stuff. That's what I think you are saying.
I don't want to enter into the legalities of forking without those terms, but I'd just like to strongly assert or echo that the app, as it stands, with those ToS, which explicitly apply directly to using the app and not to any online service connected to it, are absolutely, squarely incompatible with software freedom and the app as it stands should not be in F-Droid.
Are we talking about these terms? If so, which is the restriction we're having issues with? Here are the full terms:
“Aves Gallery” is an open-source gallery and metadata explorer app allowing you to access and manage your local photos and videos.
You must use the app for legal, authorized and acceptable purposes.
So we're having issues with the first – or with the second paragraph? The first just describes the app. The second has 3 points: forbid it to be used in illegal things (come on), and two terms without explanation that could (and probably should) be interpreted in the same way. So to put into other words: you shouldn't engage in illegal activities either (as it's, hm, illegal to do so ), not access unauthorized material (but I repeat myself) – and both would be unacceptable.
This is followed by a disclaimer as almost all FOSS licenses carry it (as-is, no warranty etc), a privacy policy, and contact information.
So is it the toggle that hurts? Shall we ask upstream to make it a popup instead? Or…
TL;DR: aren't we over-reacting a bit? Or did I miss something? I'll fairly admit should I be wrong here.
The issue is exactly with You must use the app for legal, authorized and acceptable purposes. and the requirement to move an "I agree" toggle to make continue work. Disclaimer, statement of privacy practices, etc. are all fine.
I don't think we are overreacting. The line of what is Free and what is not is pretty clear, and the F-Droid main repo has a social contract with the users to only provide Free Software (or Open Source, but that distinction is not relevant in this case).
What if the user is asked to agree to "I will not create or distribute derivative works"? This is a contract term that negates freedoms granted by the license, and it's even more clearly a deviation from the requirements of Free/Open-Source.
So if the "must" text changes to "The author intends for this app to be used for lawful purposes." and there is no "I agree" checkbox, and just continue, then all is ok. Or even "The author requests that you use this app courteously and kindly." It just can't be a restriction, and not one that the user has to do something to "agree" to, in a way that someone might claim was entering into a contract.
There are lots of reasons to think this isn't a valid contract, and that it's vague and unenforceable. That might be true, but it's not ok to ask people to do something that might or might not be a contract and then tell them not to worry because someone else thinks it is probably not enforceable.
The issue upstream was quickly closed, and I am now banned from commenting on it, so it doesn't look like we can ask upstream much.
I thought it was clear that the issue is with "You must use the app for legal, authorized and acceptable purposes".
"Legal" depends on jurisdiction, and it's a restriction that is for your country to impose, not for the app writer. "Authorized and acceptable"... why would I interpret them in the same way as "legal"? First, if they meant the same, they would be redundant, and they wouldn't be stated; second, "authorized" is much more specific than "legal", but also much more generic when nothing is actually specified. It could mean authorized by the author, but since that's not specified, it basically means we aren't safely authorized to do anything with the app. "Acceptable" is even worse.
The author freely states that they are not a lawyer. They really shouldn't introduce terms like these, then, because a lawyer would definitely take issue with them... and so should we, absolutely, and trivializing this as "come on, it just means stay legal, and it goes away when you leave the dialog" is really not the right route in my opinion.
F-Droid can guide developers who are making their software proprietary without quite realizing or without realizing the implications, and I believe this has happened many times, and has been productive. But this is not the case: the developer clearly stated they're not interested in changing the state of things.
The freedom to run the program means the freedom for any kind of person or organization to use it on any kind of computer system, for any kind of overall job and purpose, without being required to communicate about it with the developer or any other specific entity. In this freedom, it is the user's purpose that matters, not the developer's purpose; you as a user are free to run the program for your purposes, and if you distribute it to someone else, she is then free to run it for her purposes, but you are not entitled to impose your purposes on her.
So, given that, can a developer impose further restriction with the software remaining free, even if those restrictions are about legality? Let's continue reading, this time the section about export regulations:
Sometimes government export control regulations and trade sanctions can constrain your freedom to distribute copies of programs internationally. Software developers do not have the power to eliminate or override these restrictions, but what they can and must do is refuse to impose them as conditions of use of the program.
This is crystal clear to me. Again, the state decides on legality, while a free software developer should not, and, emphasis, must not impose further conditions, even just "legal use", on the use of the program.
This doesn't mean you can use programs illegally; it just means for something to be free software, it must not act like it has jurisdiction on you beyond an OSI-compliant copyright (or rather, copyleft) license.
Even the OSI definition, which is intended to be more brief and centered on whether a license fits or not, states about "fields on endeavor" that
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.
Is genetic research "acceptable"? Is it "authorized"? It may be unacceptable in the author's eyes, depending on what it's doing, and it may be unauthorized by some overseeing entity. But that's not the program's business at all, and the OSI states that making it the program's business fails to meet their definition of an open-source license.
Here is an example of something that is now illegal in a well-known jurisdiction (well-known for its legal history, anyway):
The UK will treat online images of immigrants crossing the Channel as a criminal offence
On 17 January, the United Kingdom (UK) government announced that online platforms will have to proactively remove images of immigrants crossing the Channel in small boats under a new amendment to be tabled to the Online Safety Bill. The announcement, intended to bolster the UK’s hostile immigration policy, has been met with concern among the British public and charities working with people on the move.
Am I allowed, by the author's understanding of "legal" and "illegal" and hence by the ToS, to store such images in Aves Libre, considering the app can be used to share them on social media? As I "must use the app for legal, authorized and acceptable purposes".
Does it depend on whether the author or myself are in the UK? How do I determine the former? How do I determine anything about these vague ToS? They are bad. They are nonfree. That's why no OSI-approved LICENSE file will include that sort of bad stuff.
Even if we decide for me it's not illegal, is it authorized? Is it acceptable? The UK lawmakers clearly seem to think it's not. What does the author think? Am I supposed to ask the author every time such an issue pops up, before I hit the "Share" button in their app?
My 2 centers as an F-Droid user (and FOSS developer)
Someone(tm) can fork and provide a "Aves Actually Libre"
F-droid can patch the tos screen, removing the "You must use...", and removing the "I agree" toggle.
I believe it's not F-Droid's responsibility to do this, but certainly, someone (TM) is encouraged to do so and submit the TOS-less app to F-Droid.
It can be removed.
Sounds like the only pertinent course of action.
TL;DR: aren't we over-reacting a bit? Or did I miss something? I'll fairly admit should I be wrong here.
A TOS prompt is already user-hostile, even disregarding its contents... also, I find the author to be somewhat disingenuous, claiming that he is "not a lawyer and don't care about these issues", yet taking the time to put in that TOS dialog.
The JSON license is widely considered non-free for what seem to me quite similar reasons: "You must use the app for legal, authorized and acceptable purposes." vs "The Software shall be used for Good, not Evil".
So whilst I agree that this seems overblown, I believe that these ToS do result in the app being non-free (which I assume was not the author's intention).
The JSON license is a slightly modified variant of the MIT license, but that variation has led it to be rejected as a free-software or open-source license by several organizations. The change is a simple—rather innocuous at some level—addition of one line: ""The Software shall be used for Good, not Evil."". Up until recently, code using the JSON license was acceptable for Apache projects, but that line and the ambiguity it engenders was enough for Apache to put it on the list of disallowed licenses.
Crockford added a clause to the JSON license stating that "The Software shall be used for Good, not Evil," in order to open-source the JSON libraries while mocking corporate lawyers and those who are overly pedantic. On the other hand, this clause led to license compatibility problems of the JSON license with other open-source licenses, as open-source software and free software usually imply no restrictions on the purpose of use.
This is a copy of the MIT License with one important addition: "The Software shall be used for Good, not Evil." This has caused companies issues when using JSON, Douglas Crockford, the author of the JSON specification refuses to change this part of the license. The Free Software Foundation consider this license as non-free for that addition.
Not doing evil is a good thing and I try to do that myself, but having to get a legal opinion that everything I do is not evil would make it impossible to get anything done.
It is likely that few would admit to using the JSON-licensed code for "evil" (however that is defined), but that isn't really the crux of the matter. Legal departments are understandably leery of how others (and courts, in particular) might interpret the clause. It is quite ambiguous and corporate legal teams go to great lengths to avoid that kind of thing when they can.
And that's the issue. I don't really have a problem with the conditions in the ToS (and would assume most users of the app don't), but unfortunately they do seem to have legal consequences and make the app non-free.
But is removing the app from F-Droid the best solution here (since the author seems unlikely to change the ToS)?
Or is there is some middle ground where it's marked with an Anti-Feature instead?
Or is there is some middle ground where it's marked with an Anti-Feature instead?
That's not possible, imho.
TL;DR thread is simply "app is not licensed under an FSF or OSI accepted license". So not sure what is there to except when this is about the core tenet of F-Droid.
Devs have the choice to choose whichever license they wanted, this dev chose one that is not compatible with F-Droid.
I've overlooked such license issues in the past too, and then walked back when I noticed my mistake.
As a comparison, I just updated SunTimes. There are new features and it had a multi-screen info process that one has to click "NEXT" on a bunch of times. Screens (except first/last) allow you to change settings (dark/light, font size, nothing troublesome). Note that "NEXT" is not "I agree"! The last screen has "About" with a statement that it's GPL3 with a link to the LICENSE file in the upstream repo. And then "Privacy:" with a "SunTimes does not [a list of bad things]." and a link to a Privacy wiki page upstream. Then one gets a button "FINISH". All of this is 100% ok and not discourteous to the user.
IANAL either but since I wrote a long post here on why I thought the original ToS was definitely nonfree, I will comment now that in my understanding, this new wording (which I personally still consider "peculiar") would no longer make the app nonfree, and it would be suitable for inclusion in F-Droid.
I'd like to see the concept of sliding a toggle to agree go away, but with this change, it doesn't seem like there is anything one is agreeing to. So with this change, I will decline to object further and call it a good outcome.
Thanks – and yes: since 5 team members (including the 2 "maintainers" of this repo) gave their thumbs up, I hereby happily declare the issue solved – and close it. Thanks to all who helped with it, including shedding light on the many facets of it!