It leads to exactly the sort of problem pointed out by the GGGGP comment - Apple shipping an ancient version of bash because of license incompatibility. Apple cannot open source all of their software. They'd go out of business. So instead we have GNU folks high-fiving because they stopped Apple from using their work without giving back, but millions of users are also prevented from using their work.
Was that good for bash?
Brew? Well that has no signing support and no supply chain integrity. Hundreds of people have access to push whatever they want to a git repo and anyone is free to forge commits and backdoor all brew users as they like. It is worse than NPM.
At least on Windows you can install WSL and then get access to APT which checks RSA author signatures on everything regardless of mirror.
MacOS only provides signed packages via their app store. The end. If you want software they don't offer like a modern version of bash, you have to get it from untrusted sources like Brew that risk compromising your system.
download source code ./configure make sudo make install
seems to work for lots of software. By default it should install in /usr/local/<bin/lib> but I've done this for lots of OSS software (e.g. postgres and nginx) on Mac with few problems.
Yes, sometimes you have to pursue the odd missing dependency and build that too (e.g. openssl or readline), but I've always managed to build from source in the end without brew or (what's the other one called?).
No matter the risk, every engineer I know uses brew.
MacPorts is the other one and it at least uses some crude bulk openssl signing, but the higher barrier to entry means fewer packages so devs don't use it.
You sure have some lopsided idea if you think that the goal of opensource is to protect the "freedom" of the businesses, who want to make money from free labour. FSF opensource license exists to ensure freedom for the end consumers of the software.
I get that the FSF sees it differently, but honestly I don't see how the GPL helped anyone in the case of Apple and bash. It's not like Apple was making significant changes to bash, refusing to contribute them back and making a fortune on the backs of the FSF. Are contributors to the zsh project being exploited by Apple's evil plan to put their work in the hands of many more users? If I find a bug in my Apple-supplied copy of zsh, am I prevented from fixing it like RMS and the printer driver? No.
That is the goal of FSF opensource projects - protect the rights of the developers and users to review and modify code.
> The end consumers got better software as a result.
I disagree. If they don't have access to the accompanying source code, it is an inferior product.
> I don't see how the GPL helped anyone in the case of Apple and bash.
Thanks to FSF license, any user can ask the distributor to provide the source code of an FSF licensed app. In our example, that's Apple and they cannot refuse to give you the source code of bash along with the modifications they have made. Which brings me back to the point that needs to be emphasised - GPL and other FSF license was not designed to help businesses and corporates. It's aim is to ensure the freedom of developers and user to review and modify code is preserved.
> If I find a bug in my Apple-supplied copy of zsh, am I prevented from fixing it like RMS and the printer driver? No.
Yes, if Apple refuses to give you the source code of their customised zsh, then you are indeed being prevented from fixing any bug or adding any new feature! I hope you finally understand - FSF license ensures that Apple (or anyone else) cannot refuse you the source code. Other opensource license don't come with such guarantees.
I agree with the overarching preference for GPL over MIT, but this point is one of the most insular HN-bubble comments I've seen since the Dropbox comment. Most users – hell, most developers – do not give a toss about having the source code for software that's shipped with MacOS. I have never spoken to anyone who's wanted or needed the source code for Bash or Zsh.
I've been developing FLOSS for several decades now, but I rarely compile stuff from source anymore (except my own projects). However, the availability of the source code for the tools I use is very important to me, even if I never exercise it myself.
In addition, general access to the source code is important as a learning tool for programmers, if only "to see how it's done". You may never build such code, but being able to take a look at it can be an important foundation in the continuing education of software developers.
We're not discussing whether the source code for XNU/Darwin/Mach/MacOS itself ought to be open, which is another question entirely. (Obviously everyone would sooner it be open than not open, in a first-order analysis, but, as with medical patents and the like, a proper analysis would have to ask whether it would even have existed if its source code were to be open.)
[0] Or rather a non-moot point, for the pedants.
The overwhelming majority of XNU/Mach was created as open source. It is quite unlikely that macOS would exist today if those components had not been created under an open source license.
I was replying to this remark:
> Most users – hell, most developers – do not give a toss about having the source code for software that's shipped with MacOS.
It might be in-bubble, but "I have never spoken to anyone who..." is a poor heuristic for evaluating the superiority/inferiority of a product.
I have also never spoken to anyone who needed a repair manual for a truck, but I can probably agree with the statement that truck companies that publish comprehensive repair manuals are better than truck companies that don't.
Similarly, I can guess having the source for bash or zsh probably helps people who work with them more closely than I do.
∃x→¬P(x) is a poor response to ∃x→P(x), but a good response to ∀x→P(x). In this case, the parent commenter was claiming - in context - that all end users need or benefit from having the source code to their software, so it is relevant to say that that statement is true of absolutely nobody I know.
If he were making the abstract statement that publishing the source code might benefit some people, that would be another thing. In reality, I don't think it makes any difference whether Apple bundles the source code to these programs, when the source code, by definition, is openly available, and can be accessed much more easily by Googling it much more quickly and easily than by searching for it somewhere in /usr/lib.
If source code were available for the end-user applications that come with macOS, I'd give them a try, too.
That is your prerogative for your own software. FSF's goal, likely shared by the author when they picked the license, is not and has never been the maximal popularity of their own software. You may not like their goal or see it as valuable, which is a reasonable question of values, but that does not make their strategy poor for achieving what they care about, which, I repeat, is not "popularity," nor even "better software for end users," strictly speaking. Confusion arises when people subconsciously project their own goals/values on FSF and then evaluate FSF's strategy under that pretense. GPL is a very effective tool for accomplishing what FSF wants, and the trade-off with popularity is very much deliberate, not some surprising side effect.
They are primarily a hardware company with really great solutions for many problems, so it’s not like iphones or macs wouldn’t sell. Hell, in a way not providing decent support for other manufacturers devices could be viewed as anticompetitive (why can’t I goddamn send a file over BT to android in 2021?)
The Android Open Source Project and ChromiumOS have hardly made Google go out of business.
Would any significant percentage of Apple fans see an "Apple open sources MacOS" announcement and suddenly throw their Apple gear in the garbage?
Of course not. They pay for the support reputation and the pretty well marketed aluminum they can't impress their friends without.
They’re both different cases, but, IMO, still apply.
If Apple open-sourced their platform, Microsoft could choose to offer Windows Services for Macintosh, and hardware manufacturers could offer cheap hardware that runs Mac OS.
Microsoft could follow up by stopping offering Office for Mac OS or to by letting it (further) fall behind the Windows version. Adobe could follow suit.
This same dynamic would apply to Macs as well, of course. In fact, this very thing came this close to killing Apple in the 90s. They licensed MacOS to clone makers, who immediately took the high-end high-margin market, and left Apple to develop MacOS and sell low-margin, entry-level machines. It took the return of Steve Jobs to turn the company around. They were weeks away from bankrupcy. He immediately killed the clone makers, begged/threatened Microsoft into giving them bridge funding, and started work on the candy-colored iMac.
As for Android, well, it's nominally open source, but an awful lot of the stuff you need to ship a competitive OS is actually closed and closely guarded by Google. It's a bit more open than Darwin, but not much. If you stick to ASOP, you've basically got Froyo.
So, yeah, Chromium and is for real, and again it's a bit more open than WebKit in that it also includes the app chrome, and not just the web engine. But coincidentally, Google benefits from an open, standards-based web; it doesn't threaten their revenue at all. Go figure.
This fact has not killed Google because Google controls the App Store that has all the proprietary social media apps most people want.
Apple could dictate their App store and cloud services are only licensed/supported for use on Apple branded devices just like Google does and still keep the overwhelming majority of their market.
Open source won't kill a monster as big as Apple, but this rabbit hole is kind of moot because Apple will always maximize profit, consumer freedoms be damned.
A forcing function would need to happen like some of the scattered mandates in Europe that only open source software be used in some education, government, and critical infrastructure environments to avoid lock-in.
If enough did this Apple would have to open source or else lose support contracts to those that do.
That's what I will be pushing for longer term.
I don't think that is a good characterization of FSF philosophy. Better characterization is maximizing freedom for the [end-]user, as opposed to, for you, the developer, or other parties involved.
> millions of users are also prevented from using their work.
That is extremely weird to blame on GNU (sort of akin to "victim-shaming"). First, how are they prevented exactly, when the can download whatever GNU bash they want themselves? Second, it is Apple's deliberate choice to boycott and not to ship the software due to a perceived burden on them (or rather their active desire to keep unreasonable control,) than a legitimate concern imposed by the GNU GPL license. If any user is deprived of anything you got to blame Apple first for doing so.
It looks to me like the FSF takes the freedom to redistribute software fairly seriously. Yet the GPL explicitly forbids redistribution unless certain conditions are met. In other words, they limit freedoms 2 and 3. Given how seriously they take freedom, you'd think they have a good reason for limiting it. They do: to maximize the spread of freedom, even if it is limited. RMS, for example, wrote[1] "I make my code available for use in free software, and not for use in proprietary software, in order to encourage other people who write software to make it free as well."
RMS also wrote an article called Why Open Source Misses the Point of Free Software[2]. But I'm not missing the point of free software. I understand the point very well. I just have different values. I don't care if other people who write software make it free. I want to maximize the value and utility of the software I write, and restricting freedom gets in the way of that.
Here's the thing: the FSF is basically trying to make the world safe for coders. All software should come with source code, so that everyone can tinker to their heart's content. But most people can't do that. Being able to modify the source is useless to them. Heck, even downloading and installing it is difficult. I guarantee you that the number of people who could install bash—even a binary distribution—is dwarfed by the number that could use it to run command-line tools. They'll just use whatever shell comes with the system. And if the FSF won't let Apple ship bash, they'll ship something else. So yeah, the FSF is preventing people from using bash. They think it's justified. I don't.
[0] https://www.gnu.org/philosophy/free-sw.en.html#four-freedoms
[1] https://www.gnu.org/philosophy/pragmatic.html
[2] https://www.gnu.org/philosophy/open-source-misses-the-point.html