3 ms·
While I generally agree with the author that the userland monoculture isn't helpful for portability, that argument belies the fact that most people I've worked
by don-code 5y ago
While I generally agree with the author that the userland monoculture isn't helpful for portability, that argument belies the fact that most people I've worked with _want_ those extra features that GNU gives them. I started using Linux and IRIX around the same time - but I actually didn't really "understand" the difference, because someone had gone out of their way to install the GNU userland.
That's something the article leaves out: while GNU and Linux are many times seen as a unit, there's a rich history of installing the GNU tools on other Unixes, because of the extra functionality they offer.
There is, of course, the argument against portability. At my last job, as the only Linux user on my team, I more than once wrote shell scripts that only worked for me - as soon as someone on macOS ran them, they'd run into a missing feature on `sed`, or a different calling convention on `date`. Which is why, at my current job, I'm very begrudgingly a macOS user - it makes me a better coworker.
- mplanchard 5y agoThis has always been a problem for me as well, but we’ve pretty much solved the issue at my current job by using nix to manage the development environment. With nix-shell and direnv, we can know that anyone working on the project is using the same versions of coreutils, sed, grep, make, etc. The learning curve on nix is a little steep at first, but it’s been worth it: we’ve got devs running five distributions of Linux, plus a couple on MacOS.
- spinax 5y agoOne of the first things we did on Solaris installs was install the GNU userland (it's been so many decades, I forget the specifics - packaged somehow, not ./configure; make) so we could get GNU sed and awk (and bash and vim) amongst all the other things. My anecdotal experience matches yours, we wanted those GNU features on our Solaris experience, they were/are useful extensions.