5 ms·
So they don't use Linux, bash, or GCC?
by panzi 1y ago
So they don't use Linux, bash, or GCC?
- HideousKojima 1y agoLinux is GPLv2, not 3
- KingLancelot 1y ago[dead]
- vinceguidry 1y agoApple doesn't ship any of these anymore.
- koiueo 1y agoAnd guess what application developers install immediately after getting their MacBooks? The GPL licensed git. If I'm forced to use MacOS, I'm fine installing git, GNU make or whatever I want for myself. But I don't see any downsides in Apple being unable to distribute those applications together with their OS.
- vinceguidry 1y agoLast time I was forced to use MacOS, I did all my work in a Linux VM. And still hated it.
- kstrauser 1y ago> And guess what application developers install immediately after getting their MacBooks? The GPL licensed git. Why would they do that? I didn't, because macOS ships with version 2.39.5 as /usr/bin/git. You're free to upgrade to a newer version, of course, but the included one is recent enough for most uses.
- koiueo 1y agoDoes macOS include git? Oh. My bad. I concluded from the previous comment that Apple doesn't ship bash because it's GPL and hence doesn't ship anything GPL. And my point was: this is fine. Even if it was true. But as this is not the case, I see even fewer arguments against GPL licenses.
- kstrauser 1y agoApple shies away from GPLv3 code. They ship a ton of GPLv2 code, though. And as you mentioned, even if they didn't, it just takes a moment to install Homebrew and get whatever else you want. Apple doesn't stop me from installing a new Emacs.
- vinceguidry 1y agoSure, Apple won't stop you. But the defaults matter. If you're writing a shell script and you want it to run on MacOS, you need to target the ancient version it's actually shipping, or you have to tell your whole team to install a later version. If your servers are running Linux then you'll be dealing with platform inconsistencies all day long. Ask me how I know.
- zamadatix 1y agoChange "use" to "distribute" (what the license cares about) and you're bang on.
- trelane 1y agoThis is a huge difference. The GPL and its flavor are explicitly not about use. They place zero restrictions on use. Unlike, say, just about all proprietary software. It only governs distribution and especially prevents distributors from locking their users in, and from placing restrictions on their users' use of the software.
- chungy 1y agoIf you count AGPLv3 as a "flavor" of GPL, then it absolutely does place restrictions on use.
- trelane 1y agoDepends on your definition of "user"/"use" and "distribution" really. If the service provider is the "user," and performing actions with it on behalf of the ultimate user is "use," and not "distribution," then you are technically correct. It restricts the service provider from forcing their customers to be dependent on the them and/or restricting the end users' use of the service, like the GPL does for proprietary software the user runs on their machine. I personally disagree that running something on behalf of a user makes you the end user, but there's always the GPL if you think that.
- layer8 1y agoNot in their products. Internal use is fine, but where it gets dicey from a legal point of view is when you distribute GPLv3 binaries as an integrated part of your product.
- Tijdreiziger 1y agoMany vendors use Linux in their products. Think: smartphones (Android), routers, smarthome/IoT devices, other embedded devices.
- jlokier 1y agoLinux in Android is GPLv2 not GPLv3. The v2-v3 difference is a big deal to some. Linux developers made an intentional decision to stick with GPLv2 and to remove the "or later version" option, so you can't include it into GPLv3 projects as you can with most other GPLv2 software. GPLv3 avoidance is why Apple ships ancient versions of Rsync, Bash and Make on its current OSes instead of the current versions, and replaced Samba with its own inferior SMB service.
- GuinansEyebrows 1y agoNotably, macOS ships mainly BSD-derived userland utils and for the rare GNU software, it's GPLv2 stuff (hence zsh as the default shell, while shipping bash 3.whatever for compatibility).
- int_19h 1y agoFrom my past experience, it goes something like this. If software is GPLv2, it's penalized relative to more permissive options when it comes to picking one. In practice it means that it's avoided unless it's "too big to avoid", or because the very nature of what you're doing requires it - this is the case for e.g. Linux and R. If software is GPLv3, it's considered radioactive and is avoided at all costs, even if it means rewriting large amounts of code from scratch.