Didn't Apple remove all GPL-based code from the whole iOS and macOS dev infrastructure at some point due to GPL licensing concerns?
I also believe Apple sticked for a very long time to an older version of GCC in the past, due to licensing concerns of newer versions of GCC [0]. That was, until Apple replaced GCC with Clang.
And I am not sure if GPL-based code can even be submitted to the AppStore [1][2]. As a dev I always avoided GPL-based code in my iOS apps with the exception of GPL2 licensed static libraries (which to my understanding are ok to distribute as part of an app without licensing concerns).
These days I think most big companies avoid GPL3-based code like the plague, thus limiting the spread of GPL-based software.
> As a dev I always avoided GPL-based code in my iOS apps with the exception of GPL2 licensed static libraries (which to my understanding are ok to distribute as part of an app without licensing concerns).
That... does not sound correct to me at all, unless they were actually LGPL2, and not GPL2.
1) So, Apple's issue with upgrading to newer versions of various projects--such as gcc but I think also very notably bash--was because of GPL3 in specific; but frankly the reason we need GPL3 is because of companies like Apple: it is a shame that all important code wasn't GPL3 from day one, as it might have prevented a lot of the worst issues we are dealing with currently. (It is actually my understanding that the GPL3 was released at almost exactly the same time as the iPhone was announced, which is certainly coincidental but historically "fitting".)
2) Chris Lattner--after he was working for Apple--actually got permissions to offer the copyright for clang over to the Free Software Foundation... which turned it down for (unfortunate) ideological reasons involving hating the idea of compiler libraries (as they undermine GPL compliance) and that Stallman claims to have missed the e-mail (due to incorrect usage of his e-mail client). This was, of course, before GPL3. But it demonstrates that Apple mostly hates GPL3... as GPL2 honestly barely matters in a world of locked bootloaders and pervasive codesign.
3) But like, part of the backstory here is important, as it helps explain--if you accept what I think are immoral goals from Apple as "ok in their eyes" (so you have sympathy or whatever... I clearly don't ;P)--the bad blood between these two groups and the deep suspicions that lead to some of these decisions: Steve Jobs actually had gotten bit before by the GPL, when Next decided to develop an Objective-C frontend and actively tried to circumvent the GPL by building it in such a way where users would link it later to gcc-as-a-library.
People disagree on whether this was a good result for GCC or not, partially on the grounds that the Objective-C frontend wasn't that useful without the Objective-C runtime library, and the GNU replacement for that was--until somewhat recently (by which I mean in the grand scheme of things, versus when this story started, as RMS can be found talking about in 1992 already this using the phrase "long ago")--always lagging so far behind as to be kind of useless (as Objective-C really "got good" much later, particularly with Objective-C 2.0). But like, that there was some kind of argument going on here that left scars on both parties--a scenario that specifically involves this specific project and player that are almost always cited as if without any "history"--is important.
And FWIW, Apple does actually take advantage of the fact that they don't have to release the changes they make to LLVM to prevent collaboration: as a particularly amazing example, they kept the arm64 backend for long enough that Google was forced to lead a community effort to write their own (which I do think they called aarch64, but maybe I'm misremembering) from scratch; but then, when the community was ready to begin mainlining it, Apple decided finally to release their arm64 backend and insisted that everyone work on merging them, which set everyone back on the 64-bit Android front even further. (And like, sure: why should anyone get to benefit from the work Apple poured into their backend? That's their competitive advantage, after all... except in a world of GPL that's the pact everyone is agreeing to: "Apple got to benefit from our work, so we should get to benefit from Apple's work". It certainly isn't like Apple developed LLVM... god I hope Chris Lattner was sufficiently compensated by them when they hired him and took over that project, but frankly knowing Apple I can't imagine he was :/.)
Chris Lattner was responsible for starting clang from scratch, driving the Objective-C 2.0 improvements done in preparation for the Swift work that was being started in the background, has Swift attached to his name.
His efforts have taken him to Tesla, Google, SiFive (which recently got some Intel love).
I guess he has been sufficiently compensated by his efforts.
Didn't Apple remove all GPL-based code from the whole iOS and macOS dev infrastructure at some point due to GPL licensing concerns?
I also believe Apple sticked for a very long time to an older version of GCC in the past, due to licensing concerns of newer versions of GCC [0]. That was, until Apple replaced GCC with Clang.
And I am not sure if GPL-based code can even be submitted to the AppStore [1][2]. As a dev I always avoided GPL-based code in my iOS apps with the exception of GPL2 licensed static libraries (which to my understanding are ok to distribute as part of an app without licensing concerns).
These days I think most big companies avoid GPL3-based code like the plague, thus limiting the spread of GPL-based software.
---
[0]: https://qr.ae/pG4YqQ
[1]: https://apple.stackexchange.com/a/59495/5640
[2]: https://www.fsf.org/news/2010-05-app-store-compliance