Wandering Thoughts archives


I do not like Unix's fossilization

I like Unix, but I'm not entirely happy with the modern world of Unix, and not for the reason you might expect. Instead of disliking the changes from the old days, I find it distressing to see Unix slowly fossilize.

Unix should be picking up new good ideas. It should be adopting better ways of writing shell scripts, adding more little programs, and all of that. Yes, things like seq and (GNU) stat and (GNU) date and time are not in the Posix specification and all that, but they're useful and I think that they're in the Unix spirit. That they are so strongly resisted makes me sad.

(I'll grumpily note that traditional Unix is really short of good ways for shell scripts to extract various sorts of information about things around them in ways that are easily usable by shell scripts. Yes, you can sort of parse 'ls -l' output and the like, but you shouldn't have to; ls -l is designed for human consumption, not for shell scripts.)

You can argue about whether these new ideas are strongly resisted, but I think that they are. Linux distributions adopt them fairly widely, but then they don't tend to migrate to FreeBSD, OpenBSD, and so on, and Solaris and AIX are of course more or less completely hopeless; most of the people running Solaris now don't want any changes, and Sun is happy to oblige. On the other hand, OpenBSD has been fairly successful at introducing commands to make shell scripting more secure and getting them widely adopted (eg, mktemp), so maybe there is some hope.

(One argument is that many of the things that aren't propagating are GNU tools, which have both licensing and cultural issues as roadblocks. OpenBSD has easier licensing for everyone to adopt, and people who care about this probably tend to feel culturally closer to it.)

unix/UnixFossilizationBad written at 01:07:05; Add Comment

Page tools: See As Normal.
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.