> Does GNU not (at times) restrict the distribution of software
No, the GPL does not restrict the distribution of software. The GPL requires that source code be made available. That's not remotely the same thing. The GPL also doesn't have anything to do with manual curation. The GPL is also, while we're on the subject, not a platform. The GPL does not prevent you from running GPL-licensed code on another system, or building your own system that interacts with GNU code. Apple does prevent all of those things.
So ignoring that the GPL does not restrict the distribution of software[0] there's still this huge jump in logic you're making that starts with "here is a thing that resulted in good outcomes" and jumps to a completely separate concept and says "maybe this will also have good outcomes." But it's an Apples and Oranges comparison.
It's like saying, "the GPL has resulted in good software. Maybe an increased federal minimum wage will also be good." Those two things aren't related to each other.
> It seems self-evident that a lot of the privacy improvements in recent androids (like filesystem isolation in Android Q) probably would not have occurred without the impetus provided by Apple’s competitive pressure in this area
It is also self evident that concepts like filesystem isolation do not require gatekeepers to work. The web has better security than your iPhone. It just does. And it doesn't require mandatory curation to get those benefits. It is possible to build systems that have good sandboxing controls without closing down platforms and installing gatekeepers that decide who is and isn't allowed to make software. Filesystem isolation is a good example of that. We can do things like retire persistent device advertising IDs without an app store.
> it's not fair that GNU is restricting user freedoms because Microsoft isn't allowed to distribute code that links against GNU source
No, Microsoft can distribute code that links against a GPL library, in fact if they link against a GPL-licensed source they are required to do so with the code they link. The lack of restrictions in the GPL is the reason why the GNU and the OSCI don't recognize "source-available" licenses like SSPL, which do actually restrict user freedom. The GPL is a different thing. We actually do want Microsoft to link to GPL code, and sometimes Microsoft does release code under the GPL, and we're all usually happy about it.
[0]: In fact, if anything it's the opposite, it requires the distribution of software code (in some instances). The GPL is never going to tell you that you can't release something.
> No, the GNU does not restrict the distribution of software. The GNU requires that source code be made available. That's not remotely the same thing.
GNU says you can't distribute their source unless their license terms are met. That's a restriction on distribution, yes. For example, it's not legal to distribute kernel source alongside CDDL licensed code like ZFS.
If we were to apply your standard to Apple - Apple doesn't restrict what apps can get into the app store, they restrict what apps in the app store are allowed to do. You cannot request permissions you don't use, for example, but they don't say that "Facebook is allowed and Instagram is not". Any other application that does what Epic does would have been blocked too, that is the licensing requirement of Apple's software environment.
> It is also self evident that concepts like filesystem isolation do not require gatekeepers to work
I in fact never said they did, this is putting words into my mouth.
I said there would have been no market impetus on Android to offer them without Apple doing them first. Which is self-evidently true as well - why are those features only being offered in Android Q? Why did it take 15 years?
> So ignoring that the GNU does not restrict the distribution of software[0] there's still this huge jump in logic
It's not a jump in logic, I'm asking you a very simple question: are there situations in which restrictions in certain "user freedoms" (such as the ability to receive CDDL code distributed alongside GPL code) produce an overall better outcome despite small-scale negative outcomes from players who do not comply with the overall licensing requirements?
Just saying that is apples and oranges doesn't mean anything. Tell me why that's not true.
Ultimately it is a microcosm of the paradox of tolerance. "The only thing that cannot be tolerated is intolerance itself". And similarly "The only freedom that cannot be tolerated is the freedom to violate user freedom" is the basis of both GPL and the Apple store license.
If you want the app store where you can do anything, there is Android. Apple is attempting to provide a curated user experience. They aren't preventing you from buying Android, just doing a model they think is better for their users. And that's the freedom of contract in action. Their users have alternatives and are free to go elsewhere. Why don't you think they should be allowed to prefer that?
Would it be OK to sue the GNU Foundation and force them to dual-license all existing code as BSD because copyleft is "anti-competitive"? Why or why not? If not, why should Apple be forced to alter their license agreement to allow third-party stores?
> GNU says you can't distribute their source unless their license terms are met
Where? GNU says that you can't link against a GPL-licensed[0] source without meeting those license requirements. There are zero restrictions on distributing GPL code, and there are zero restrictions on distributing your own code. There are also zero restrictions on allowing users to link code themselves. You could distribute your source and separately allow users to link that code to other libraries, and you would not be in violation of the GPL.
> it's not legal to distribute kernel source alongside CDDL licensed code like ZFS
I can run ZFS on Linux. This doesn't seem to be a real problem. There are multiple tutorials online about how to build the kernel with ZFS support, and with FUSE many distros do offer out-of-the-box ZFS support.
What is a piece of software that I am not allowed to run on Linux because of the GPL? I can run completely proprietary NVidia graphics drivers on Linux. How is my freedom as a user being taken away? This is not a comparable situation.
In fact, the only ecosystem where this is actually a problem is the Apple App Store, which disallows developers from distributing their software in a GPL-compatible way.
> Apple doesn't restrict what apps can get into the app store, they restrict what apps in the app store are allowed to do.
So Apple will never ban my developer account? They'll only ban an app? They certainly would never threaten to remove a separate app like Unreal Engine from a separate platform like Mac over a legal dispute?
Come on, Apple doesn't have restrictions on what apps can do. They have restrictions on what developers can do. And Apple reserves the right to remove apps from their store for any reason.
> are there situations in which restrictions in certain "user freedoms" [...] produce an overall better outcome
Sure. And at the risk of being a little too sarcastic or petty, that's why I think we should have higher federal minimum wages. The GPL works, so it's obvious that sometimes some restrictions in some areas can produce good outcomes. So therefore, having a higher minimum wage, or requiring software engineers to be licensed, or putting a cap on how much money Apple can charge in its store will also work. It's the same principle. /s
Leaving the snark/sarcasm behind, the comparison you're drawing is inaccurate because:
A) the GPL doesn't restrict people the way you think it does
B) even the restrictions you think the GPL is imposing are wildly different than the restrictions that Apple is imposing
C) the motivations behind the GPL's restrictions are different than Apple's motivations
D) every major architect and proponent of the GNU system has treated Apple's approach to moderation as a restriction of user rights that should be opposed, and they're probably in a good position to understand whether or not Apple is on the same side as them in regards to user freedom
E) the GPL is not a platform or an app runtime, and it doesn't restrict anyone's ability to run other code on top of it
F) the restrictions Apple is imposing are not required to produce secure/private outcomes (which you seem to be acknowledging, you yourself say that you're not claiming gatekeepers are required to build secure features like filesystem isolation)
G) it's not clear even ignoring everything above that the upsides of Apple's moderation are larger than its downsides. In contrast, the effects of the GPL are honestly a lot clearer
H) the majority of the privacy outcomes that Apple is touting were invented on the web long before they came to the iPhone. We might as well ask if Apple is so great at moderation why their entire platform has lagged behind the web by almost a decade in terms of adblocking and app isolation.
> Ultimately it is a microcosm of the paradox of tolerance.
Only if you think the paradox of tolerance means that anybody should be able to restrict any freedom and attack any person as long as they can kinda justify one potential area where they might have a good outcome. Looking at the entirety of Apple's restrictions, it is absurd to argue that they are advocating for user freedom in general.
> Would it be OK to sue the GNU Foundation and force them to dual-license all existing code as BSD because copyleft is "anti-competitive"?
Do they control >50% of the entire commercial market, and do they impose barriers of entry into that market, and do they engage in anti-consumer lock-in behavior that makes it impossible to switch devices for many consumers without giving up access to credit cards, subscriptions, and hundreds of dollars worth of software? Is there strong evidence that being able to exempt themselves from their own requirements allows them to undercut competitor prices?
The GNU is not in the same position as Apple.
----
[0]: Quick note, it is GPL, not GNU. GPL is the license, GNU is the overarching organization and software collection.
No, the GPL does not restrict the distribution of software. The GPL requires that source code be made available. That's not remotely the same thing. The GPL also doesn't have anything to do with manual curation. The GPL is also, while we're on the subject, not a platform. The GPL does not prevent you from running GPL-licensed code on another system, or building your own system that interacts with GNU code. Apple does prevent all of those things.
So ignoring that the GPL does not restrict the distribution of software[0] there's still this huge jump in logic you're making that starts with "here is a thing that resulted in good outcomes" and jumps to a completely separate concept and says "maybe this will also have good outcomes." But it's an Apples and Oranges comparison.
It's like saying, "the GPL has resulted in good software. Maybe an increased federal minimum wage will also be good." Those two things aren't related to each other.
> It seems self-evident that a lot of the privacy improvements in recent androids (like filesystem isolation in Android Q) probably would not have occurred without the impetus provided by Apple’s competitive pressure in this area
It is also self evident that concepts like filesystem isolation do not require gatekeepers to work. The web has better security than your iPhone. It just does. And it doesn't require mandatory curation to get those benefits. It is possible to build systems that have good sandboxing controls without closing down platforms and installing gatekeepers that decide who is and isn't allowed to make software. Filesystem isolation is a good example of that. We can do things like retire persistent device advertising IDs without an app store.
> it's not fair that GNU is restricting user freedoms because Microsoft isn't allowed to distribute code that links against GNU source
No, Microsoft can distribute code that links against a GPL library, in fact if they link against a GPL-licensed source they are required to do so with the code they link. The lack of restrictions in the GPL is the reason why the GNU and the OSCI don't recognize "source-available" licenses like SSPL, which do actually restrict user freedom. The GPL is a different thing. We actually do want Microsoft to link to GPL code, and sometimes Microsoft does release code under the GPL, and we're all usually happy about it.
[0]: In fact, if anything it's the opposite, it requires the distribution of software code (in some instances). The GPL is never going to tell you that you can't release something.