6 ms·
Not at all. As a single example - macos comes with an extremely outdated version of GNU bash (3.2) from 2007. And yes, this has consequences in that many moder
by wubrr 3y ago
Not at all. As a single example - macos comes with an extremely outdated version of GNU bash (3.2) from 2007. And yes, this has consequences in that many modern bash scripts depend on bash 4+ (current latest GNU bash is 5.2+).
- foldr 3y agoZsh has been the default shell on MacOS for ages now. If you need a more modern bash then you can easily install it using brew or other common package managers. This is a total non-issue.
- wubrr 3y agoOf course shipping a very outdated tool with your OS is an issue. And the fact that you need to use 3rd-party package managers to update/replace it is also an issue. But if you want to contend that anything that is solveable via customization/3rd party packages is a 'total non-issue', then I fail to see how you could argue that Linux isn't superior to MacOS in every single way.
- karolist 3y agoIt's not an issue even if you say it is. Takes 1 minute to setup brew on a fresh Mac, third party or not who cares when it's open source, apt is also open-source and in the same sense a third party someone develops, you just get that with the base Debian like systems, if we start counting the minute wasted to setup brew then you waste more time to install Debian in the first place, Macs come pre-installed.
- wubrr 3y agoIt literally is an issue, and the fact that you're pointing out a potential solution should make that obvious to you. Many software companies (including FAANGs) have basically given up trying to support building/running most of their software on mac for these exact reasons, and they have really tried - dedicating hundreds of experienced engineers to the problem.
- karolist 3y agoI call BS on the FAANG statement. I work at FAANG and 80% SWEs use MBPs, actually if we go by literal meaning of FAANG company list, they do not even focus on desktop software and are mostly web companies and the tooling is all backend where SWE machines do not do any heavy lifting.
- wubrr 3y agoYou work at FAANG and you can run your entire stack on MacOS? Which FAANG? Or you mean, you work at FAANG and you can run your web application which is 0.01% of the stack on your mac? > they do not even focus on desktop software and are mostly web companies and the tooling is all backend where SWE machines do not do any heavy lifting. The web frontend/ui is a relatively small portion of the development that goes on at typical FAANG. And the reason the macs 'do not do any heavy lifting' is because they literally can't - most of the complex backend systems, low low level/high performance code, etc can't be run on macos.
- saagarjha 3y agoThe complex backend code isn’t going to work on your little laptop either. This is a stupid position to take, because people care more about whether they can spin up a development environment, not run all the code that goes to production.
- wubrr 3y ago> The complex backend code isn’t going to work on your little laptop either. Of course it will if it's a linux laptop. Companies even give exceptions for linux laptops for exactly this reason. > This is a stupid position to take, because people care more about whether they can spin up a development environment, not run all the code that goes to production. You think being able to run the code you're working on is not a requirement for a good development environment? Or you think nobody writes this code, it just magically appears in production when you deploy your html page? Lmao.
- wredue 3y agoDoes brew still require mangling OS permissions?
- foldr 3y agoNo. This is answered on the Homebrew installation page: https://docs.brew.sh/Installation https://docs.brew.sh/Installation
- wredue 3y agoThat page appears to very much describe that it does, in fact, still fuck your systems permissions… I’ll never install homebrew as long as the dev continues this amateur hour bullshit.
- foldr 3y agoCould you explain what you mean by this? I don’t see it on the page, and I’m not sure exactly what you mean by “OS permissions”. See also here from 2016: https://apple.stackexchange.com/questions/253404/how-does-homebrew-no-longer-need-ownership-of-usr-local https://apple.stackexchange.com/questions/253404/how-does-ho...
- toast0 3y agoUsing tools from the base OS is really holding it wrong. Just like ftp.exe/Internet Explorer/Edge and Safari should only be used to download a usable browser, the Apple provided CLI tools should only be used to download the tools and versions of tools that you actually want. Otherwise, you have no way to control versioning anyway. When the OS version is tied to the version of so many other tools, it's a nightmare. Apple is trying to push you in the right direction by basically not updating the CLI tools ever, even when upstream didn't change the license to something unacceptable for them to distribute as in the case of bash.
- wubrr 3y ago> Apple provided CLI tools should only be used to download the tools and versions of tools that you actually want. Why? Why do I need to use 3rd party package managers, or manual installations from 3rd party sources to install common tools that aren't a decade+ outdated? > When the OS version is tied to the version of so many other tools, it's a nightmare. It doesn't need to be tied to anything. If the OS needs specific libraries/tools then they can be installed in a separate location. If there are new major versions of user-level tools (like bash) those should come by default, not some 15 year old version of the same tool, with the same license. Multiple linux distros have solved these problems in different ways 10+ years ago. > Apple is trying to push you in the right direction by basically not updating the CLI tools ever No, they are just neglecting the CLI ecosystem, the package management, and the many many outstanding bugs that have existed and been ignored for years.
- spacedcowboy 3y agoBecause the newer tools changed the licensing terms, and the corporate lawyers won’t let anything under GPL3 anywhere near anything if they can help it. GPL2 was viral, but the terms were easier to stomach. Apple is allergic to GPLv3 code because there is a clause in the license requiring you provide a way to run modified version of the software which would require Apple to let users self sign executables. This is a simple result of the GPL going where Apple will not, so OSX is stuck with whatever is MIT, BSD, Apache, or GPL2 licensed. I like the GPL, I license my open source stuff under it, but it doesn’t work for all cases. Apple is fine with not using software licensed under the GPL, when it conflicts with other company principles. Simple as.
- skuhn 3y agoUnfortunately this will never be fixed. It's not a technical problem. They refuse to ship software licensed under GPL v3, and bash 3.2 is the final GPL v2 version. I hate it.
- tcmart14 3y agoDidn't they stop 'shipping' bash by default awhile ago? Now the default shell is zsh?
- skuhn 3y agobash is still shipped on macos 14, the default shell is zsh since 10.15 in 2019.
- Someone 3y agoI wonder why they haven’t fixed it yet by removing bash and the other GPL-licensed tools. Even if they currently need one to boot the system, they have the resources to change that.
- iAMkenough 3y agoI refuse to drop Samba and go back to AFP
- Someone 3y agoAre you sure you’re using Samba? AFAIK, Apple removed that years ago (I think because it’s GPLv3 licensed) https://en.wikipedia.org/wiki/Server_Message_Block#Netsmb https://en.wikipedia.org/wiki/Server_Message_Block#Netsmb: “NSMB (Netsmb and SMBFS) is a family of in-kernel SMB client implementations in BSD operating systems. It was first contributed to FreeBSD 4.4 by Boris Popov, and is now found in a wide range of other BSD systems including NetBSD and macOS“ https://appleinsider.com/articles/11/03/23/inside_mac_os_x_10_7_lion_server_apple_replaces_samba_for_windows_networking_services https://appleinsider.com/articles/11/03/23/inside_mac_os_x_1...: “The upcoming release of Mac OS X 10.7 Lion Server will remove the formerly bundled open source Samba software and replace it with Apple's own tools for Windows file sharing and network directory services” I also think they complete removed AFP support.
- jlokier 3y ago> Why? Why do I need to use 3rd party package managers, or manual installations from 3rd party sources to install common tools that aren't a decade+ outdated? There actually is a reason. It's not lack of maintenance. It's because Bash 3.2 is the last version licensed as GPLv2. Bash 4.0 and later changed license to GPLv3. Apple decided it's not safe for them to ship any software with GPLv3 with macOS, because of stronger legal conditions in GPLv3. This is also the reason they stopped updating Samba. They changed the default shell to Zsh long ago. The old Bash is kept around, so that users who want to stick with Bash can still use it as their shell, and so that existing scripts for macOS (for example in installers) continue to work. If nobody cared about Bash, I expect they would have dropped it from macOS when switching to Zsh, rather than keeping the old version. So from a certain point of view, Bash 3.2 is the most recent version they can ship. As for other tools like "cp", "ls", "rm", "touch", etc. I agree they are annoying on macOS, when you are used to the versatile GNU/Linux command line options. I sometimes type options after filename arguments due to habit on Linux. macOS commands very annoyingly treats those options as filenames instead. And I miss options like "touch --date". However, this is not due to old tools. Those differences are just how up current (up to date) BSD commands work. They are just a different unix lineage than Linux. The GNU tools were intentionally written to be more user-friendly than traditional UNIX™ tools, which is why the command line options are generally nicer. GNU/Linux systems come with GNU tools of course. macOS never did because it is derived from BSD and comes with BSD tools (with Apple enhancements, like "cp -c"). You get the same on most other unix environments that are not GNU/Linux. People install the GNU tools on top, if they want the GNU command line experience instead of the default. Sometimes with the "g" prefix (like "gls", "gtouch" etc.). These days, even if Apple decided it's worth the technical fallout of switching from BSD command line tools to GNU, they wouldn't do it for the same legal reason as what keeps Bash at 3.2: The current GNU tools are licensed as GPLv3.
- Nullabillity 3y ago> So from a certain point of view, Bash 3.2 is the most recent version they can ship. Apple could choose to be GPLv3 compliant tomorrow, if they wanted to.
- 3y ago