Posted by chmaynard 9 hours ago
They were quite fun.
But can confirm, buying Sun was PITA.
I got to see a server installed via crane because they couldn't go up in that building's elevator.
Oracle expressed the opposite. Within a year or two Larry killed OpenSolaris, let the MySQL, Hudson and OpenOffice communities fork away, sued Google over Java, and watched Gosling and most of the engineers who embodied Sun walk out.
The part that rankles the most, and undermines many a retrospective I think, is that Larry the lawnmower turned out to be a better steward of Java & MySQL than Sun was. Coldbloodedness is a survival trait.
Ultimately, the leadership of the company needs to bear the responsibility for the outcome -- and I think it's pretty telling that Sun's executive leadership basically went on to do more or less nothing after Sun. I loved Sun -- but it was a breeding ground for engineers, not executive leadership.
(perhaps it doesn't do your rather full blog post justice to compare it to something considerably less complete like a comment thread)
> Ultimately, the leadership of the company needs to bear the responsibility for the outcome
I emphatically agree. Maybe it goes without saying but with Sun, multiple generations of leadership, I think.
ZFS was pretty unrivaled for long term storage for a long time. Solaris zones were containers before they were cool. Dtrace is pretty neat. Etc.
Maybe they could have survived with their OpenSolaris push driving low end adoption and high end customers buying their hardware. Pretty sure they would have had to migrate to x86, but they were dabling in that.
Maybe make some low end commodity x86 servers. Sell enterprise a fully engineered big ass database server and a bunch of commodity web servers. Doesn't have to be exceptionally priced, just good enough to let customers have single vendor server purchasing instead of getting the big stuff from sun and the little stuff from dell or hp.
More systems consulting? Sun had great engineers, but you don't see too many war stories about them fixing stuff for customers (maybe they keep quiet though).
Both of these are supported on Linux now. The kill-on-ECC is handled by hwpoison: https://www.kernel.org/doc/html/v5.1/vm/hwpoison.html and the hot-swappable RAM has been present for quite a bit longer.
I'm not terribly surprised that Linux grew support for poisoning pages eventually (and I appreciate the link!), but I believe Solaris had memory retirement in Solaris 10 (2005), and Linux got page poisoning in 2009. If you were running workloads where it would be important, then Solaris was better for you at that time, unlike the claim from the poster above that
> once Linux was stable, running Linux on commodity hardware was just a better solution than anything Sun could offer.
I think only a curmudgeon would claim Linux wasn't stable in 2005. Although certainly the userland could use less churn. :P
There was (and still is) a bunch of niche Linux kernels. I remember reading about a team that used Xen to do triple-redundancy with voting for Linux. They virtualized _all_ the non-deterministic IO paths (including rdtsc) and observed the outgoing network packets, ensuring that they are completely identical. I think this was around the mid-2000-s timeframe.
But yeah, it was all super-niche. The consensus now is that you should design your systems to be fault-tolerant and self-recovering, rather than depending on perfect hardware functionality. And for everything else IBM still exists.
But as some sibling comments indicate they already had a lot of the software infra for distributed computing the way it eventually came to be done today, with SOA/microservices, service discovery, or serverless lambdas etc. via frameworks like EJB or JXTA. They were admittedly pretty cumbersome, like the contemporary equivalents COM/DCOM, and made the fundamental mistake of trying to abstract away the fallacies of distributed computing, but also solved most of the common problems involved.
Potentially they could have pivoted to monetizing that software infra even if it got deployed on arbitrary hardware, which may have tided them over until they could spin up their own cloud service, even if it was a fast follow to AWS. However Sun seemed committed to making their expensive servers their primary business model and relegated the software to “loss leader” complements.
If they had just looked at how services were being developed on Linux + commodity servers, they’d have seen they already had offerings in that space that could be monetized.
Sun could've been the "Apple" of x86 Unix: it just works.
That was my guess back then, and it's my guess now. Someone please correct me if I'm wrong and you know for certain why.
Solaris was pretty bare bones, out of the box. I spent days customizing it. Even early Linux distros, like Slackware, were in better shape.
Open source Solaris as early as possible.
Really compete with MIPS, ARM, Motorola, etc. in the embedded space. Don't even try to make it a huge financial win, just get the SPARC architecture and dev tools out there with good Linux support.
Consistently support Solaris x86 and frequently release new generations of Intel and AMD workstation-class hardware.
Partner with TSMC for SPARC production a lot earlier.
Since we're just having fun here: acquire Nvidia in 1999, at which time it was pretty obvious workstation graphics was going to be commodified, and Sun could have bought them with their pocket change.
I saw the end coming for Sun when I had a dx2/66 at home running Linux in the late 90s. It was brilliant.
The fault is always upper management not doing their job. Even if one department really would be that bad (which again they are not), upper management allowed them to be that bad.
[1] https://en.wikipedia.org/wiki/Xerox_Alto#Software
[2] https://en.wikipedia.org/wiki/Bravo_(editor)
Sun's heyday was in the boom. The fish were jumping in the boat. So naturally they were building bigger and bigger boats.
There was always the one-off ideas that might have gone here or there, but that core server cow just seemed like an endless source of cash. Thus they neglected the workstation market and ironically, the market for anything bigger than one single server rack. They didn't understand horizontal scaling, and the rise of cheap-but-replaceable consumer hardware like how Google did things was alien to them. They poo-poo'ed Linux, they killed and then unkilled Solaris x86, and a number of other things.
I do miss Sun though. As far as engineering goes, they were a very serious company full of serious engineers. Basically the polar opposite of 10X tech bros and startup culture.
When Solaris x86 was unkilled (and then became increasingly important as x86 eclipsed SPARC), there was damage done that I don't think we ever fully repaired.
Later, in grad school I went to work at a startup… google. For me it recaptured everything I liked about Sun. And had the same CEO.
> They didn't understand horizontal scaling
What of Jini, JavaSpaces / Linda, JXTA, "grid computing"?
Were they too early? Dismissed as (Bill Joy's) hobby projects?
At the time, I was very enthusiastic. Especiall grid computing. So much so that when cloud computing arrived, I couldn't recognize the sea change. Square peg, round hole.
We even POC'd some Jini support. Demo'd for hardware manufacturers, customers, our dealer channel. Customers loved the idea.
But like UPnP, Jini failed to get traction.
As for JXTA (peer-to-peer), although I didn't gave any skin in that gane, I really expected it to vecome the norm. eg My brother (for his ISP) POC'd video delivery in anticipation. But that got mooted pretty quick.
Arguably, AWS Lambda (et al) was is "dumb" grid (run anywhere in asandbox) and the OpenClaw agentic (madness) is the "evil" incarnation. (I'm aware of efforts like Emerald AI (et al) to make a "smart" grid.)
DHTs—Chord paper was 2001—started popping up. The big software vendors looked at the architectural (if not legal) success of Napster & the other P2P networks and were invested in finding legitimate applications. Open standards were seeing real adoption left and right.
But it didn’t happen. Maybe simultaneously too late in the Internet’s evolution and too early.
Too late because the big kids were involved. Especially Microsoft, who would never allow any standard they couldn’t EEE to emerge. Too early because the players like Google who later could muscle through core infrastructure standards weren’t there yet.
And now it’s likely too late, with mobile embedding a client-server model with the weight of 10B devices.