Maybe while they're at it they can add a real package manager too.
Maybe while they're at it they can add a real package manager too.
EDIT: I'm wrong, didn't realize homebrew-dupes actually is meant to replace the OS X utils.
EDIT: you edited :)
Can someone please remind me again why the MacBook is such a preffered machine for software development? For years I've been told, "You get a shell!", and "It's UNIX under the covers", etc.
Except that the shell userspace is antiquated, and the UNIX flavor is BSD rather than Linux. Meaning that I'm just as out-of-sync with my target server as if I were on a Windows machine, I still have to run Docker through a VM layer, etc.
Don't get me wrong, the hardware is excellant. But the software is even more locked-down and less customizable than the MS world... and just skipping the middle man and installing Linux directly is a 10x better developer experience than both.
> Can someone please remind me again why the MacBook is such a preffered machine for software development?
For me, the greatest battery life and trackpad money can buy.
Few people use advanced features of those utilities. As a result, these two points don't make any difference. At least for me.
The comparison with Windows simply doesn't work. Unix software compiles on OS X out-of-the-box. It doesn't on Windows. The conventions (pathnames, line endings, CLIs, time zones) are either the same or compatible, on Windows they're not.
Also, OS X/macOS meets the Single Unix Spec: https://en.wikipedia.org/wiki/Single_UNIX_Specification#Curr...
It's easy to get more up-to-date software with package managers.
Nit: GNU. Linux doesn't have a userspace. It's a kernel.
*i have had problems with python. i always have problems with python.
But personally, I changed my coreutils over a year ago to the GNU ones (via symlinks), and I force link every single package, I've never had a single issue.
Though our use cases may be different, and you may have issues. In which case you can just `brew unlink $package`.
They won't, they don't want to touch any GPLv3 code.
--- edit ---
They all have their own version of the "GNU core utilities". BSD make instead of GNU make. less(1) is dual-licensed (I think) so everybody uses the same (OpenBSD has forked it recently though). FreeBSD's default shell is tcsh, OpenBSD uses a fork of pdksh. If you want bash then you have to install it from ports.
Most of OS X's userland comes from FreeBSD (except for bash and make) and I think they keep it reasonably up to date.
A lot of GPLv2 code now uses GPLv3 (all the GNU tools obviously) and Apple (and others too) doesn't want to ship GPLv3 code.
Almost all of the userland comes from FreeBSD. Even stuff that Apple could take directly from OpenBSD for example.
They are able to distribute GPL v3 code because they way it is packaged complies with the terms of the license.
titan:~/src/bsd/freebsd-ports geofft$ find . -name Makefile -exec grep LICENSE.*=.*GPLv3 {} + | wc -l
1456Give it a few more years and there will be no one left at Apple that has any clue what bash is.
Contrary to those who suggested Brew, I stand by your request: de-installing anything that went in as a .pkg is a .pita and Apple doesn't provide, as best I can tell, any mechanism short of the author providing its own "Uninstall.app" to remove software.
I've gotten very close by scripting some of the `pkgutil` output, but it's nowhere near `apt-get remove` and friends.
I just hope they will not start screwing with /usr/local
They can't upgrade to recent GNU tools (bash is the one most people complain about) because of the GPLv3. And I feel their developer manpower is better spent on fixing OS bugs at this point. These issues are better fixed by developers less encumbered by the closed-sourceness of OS X.
They can but it is their choice not to use GPLv3 tools.
They just don't see it as worth the energy for them to use it.
I can't disagree with that strategy (if no one is really pushing you to do X, why bother), at Google we do the same with android mostly, but for different reasons:
We don't use GPLv3 because the OEMs/etc don't want it, and rip it out anyway :)
Similarly, i expect in Apple's case, they don't use it in parts they may keep common to ios/macos because then they can't keep them common.
In any case, the TL;DR is that there aren't open legal questions or magic things they are waiting to play out. They've made their choice and have been sticking by it.
They're not. After you enable the Linux subsystem you get the userland from Canonical under Ubuntu's license, Microsoft ships WSL and CLI shims triggering the download of the Ubuntu userland.
I'm curious why you think it opens up legal questions, etc. They've pretty definitively stated they just don't want to use it. There are no vague or mysterious questions they are waiting to get answers to or anything like that.
It's a real pity, because Apple's popularity is sending some message that GPLv3 is poisonous, when it reality it's only a problem for them because they chose to make it a problem for themselves.
Doesn't Linus' refusal of GPL3 damage its reputation much greater than Apple?
[1] http://www.computerworld.com/article/2544276/network-softwar...