On Mon, Jan 5, 2015 at 7:02 AM, Tim Bradshaw <tfb(a)tfeb.org> wrote:
On 31 Dec 2014, at 22:42, Larry McVoy
<lm(a)mcvoy.com> wrote:
My view is Linux is pragmatic about stuff,
Solaris was dogmatic about it.
Yeah, the latter leads to better thought out stuff but the former tends
to be useful sooner.
I think that this is exactly right.
I'm mostly agreeing with the gist of this, although I'd shy away from
taking it as an absolute. I think the motivation for the dogmatic
behaviour stems from not wanting to utterly immerse in the "just hack it"
mindset. They were from the cathedral days and, from experience of the
previous iterations of it, participated in the contemporary bazaar mindset
with caution and reservation. One example is the penchant for (arguably
over-) applying higher level design to a problem instead of just doing
something myopic and 'good enough' to get through a minimum viable product
scenario. It's a gradient, not a slippery slope and finding the sweet spot
within it is, of course, an exercise in pragmatism.
[...] Solaris was making a lot of decisions which
smelt like ones that an
academic who didn't need to actually care about use in the real world might
make, while Linux almost never did that (it had/has other problems,
specifically long-term interface stability).
Even in SmartOS (Illumos-derived and vociferously "not-Solaris-anymore"),
which amplifies both the pragmatism and the 10000' view design tenets, I
still run into that. An a low-hanging example, while the rest of the
world's happily wheelbarrowing everything into /usr/local and one has to
"follow the rules" and use /opt, it's smacks of an unnecessary kick in the
eye that, unix dissenters could argue, just breaks shit for spite. I
understood it culturally -- for SVR4-steeped folks, it was a parseable
style pattern / smell -- when you saw a machine configured around
/usr/local, you braced yourself for an unbridled shitshow. We all kind of
stepped back and grew some pragmatism around that, though -- Joyent, after
much griping from me and my co-workers, came out with sngl containers to
stop this hubris so we could use Chef recipes more easily, albiet rather
late in the game (2012-ish). Now you can more readily build stuff as a
toddler builds with his blocks. The brilliant bit is that with SmartOS,
you now academic design, stability, speed and real world usability.
There's certainly a platform for debate, perhaps in another thread, around
the merits of understanding and engineering everything -vs.- building with
blocks.
The case that made me finally realise that Solaris Had Lost was ZFS, and
specifically ZFS consistency check.
There is (was in ~2010) *no way to check a zpool outside the kernel*, so if
you had a zpool which you thought might be damaged you
were supposed to
check it by importing it.
I'm afraid there's bias confirmation and a zeal for driving nails into
coffins happening here. Bear in mind that unix didn't even have fsck for a
decade after its release (it appeared after v7 released), while conversely,
zfs had the manual scrub command and other manual zfs recovery tools
(which, much like fsck and icheck, et al, admittedly required expert
knowledge to wield successfully) before it released. Yes, the default is
that the system will panic or pass over a zfs it can't mount, but that's by
design and when I was in that situation myself, even as a zfs noob, I
managed to figure out how to recover without damaging my pool. Would you
care to compare this experience to some of the battles we've all personally
waged with fsck? In the unix tradition, zfs is a designed and deliberate
iteration (innovation) on the filesystem concept, not a "pragmatic,"
good-enough, minimum viable product hip-shot, and the obvious fact that it
isn't what we're used to doesn't make it bad. While there are certainly
plenty of Solaris coffin nails, this ain't one.
Here's my favourite Solaris coffin nail: Oracle's last five years of
lawnmowing, almost zero innovative milestones and clueless customer base
and community erosion and desecration. I do now agree that Solaris is
finally and irredeemably dead. Their lack of understanding and stewardship
has tragically transitioned it from the being the definitive unix system
to, in essence, a proprietary firmware for expensive iron. But in the same
breath I'd also assert that Illumos and its derivatives have taken all the
good from it, continue to drive the fork forward in a wonderful variety of
ways, and are the repo- and distros-of-record for this flavour of unix.