The sudden death and eternal life of Solaris (2017)
dtrace.org
dtrace.org
Sources for 4.1.4 leaked, but of course that's without official blessing... And Oracle's lawyers probably make up more than half the company.
I've always wondered how much *BSD love is SunOS Lost Causeism. I think maybe most younger people (@ my old age) just never really got it.
I suppose everybody feels like too much other core "UNIX" stuff came from BSD - vi, TCP/IP etc. Plus the SVR4 vendors typically insisted that you pay separately for C/C++ compilers etc...
Older SysV and SysIII derivatives were a total crapshoot. Depending on vendor, you could have or not have any number of important things: sockets, tcp/ip, nfs, the list goes on.
SVR4 finally started to heal the rift between ATT and BSD systems. It made Unix applications radically more portable.
Interesting, I always thought that AT&T SVR4 was the reference implementation, and that Solaris was the Sun hybrid that was basically AT&T SVR4 with the BSD compatibility added to support legacy SunOS applications.
Yes I was aware that both AIX and HP-UX were originally SVR3 based, and my experience with both of those showed that they were very inconsistent with each other (eg. AIX 4.1 through 4.3, vs HP-UX 10.0, 11 etc).
> SVR4 finally started to heal the rift between ATT and BSD systems. It made Unix applications radically more portable.
Agree and this is one of the reasons that I liked it - it feels like an earlier attempt at creating a "standard" much as Linux is considered today, albeit a fairly closed source one by modern considerations. Of course I wasn't there at the time, but my first UNIX experiences as a teenager were on XENIX, so that probably coloured my perception somewhat.
That is correct. When I was working on one of the early SMP UNIX flavors at Encore, the SVR4 code we used as a base was from AT&T. The only thing we got from Sun was NFS source - for which they'd accept patches, and apply them to their own version of NFS, but then ship the next version back to us with our own changes stripped back out. Such a lovely bunch of people.
e.g. The Sun sockets support was in the base SVR4 kernel and libc.
SVR4.2 was not released until 1992 however[1].
Solaris may have been the SVR4 "reference platform" for SPARC hardware, but the other official hardware platform at release was the mainstream x86, which Solaris did not support until 2.1 in 1993.
Also I have a bunch of SVR4 install floppy images here, and for some reason I don't believe it installs TCP/IP support by default. I should go back and check now.
[1] http://www.unix.org/what_is_unix/history_timeline.html
[2] https://en.wikipedia.org/wiki/Solaris_(operating_system)
That is simply not true. Most of Sun's competitors at the time used an AT&T base augmented with STREAMS-based TCP/IP from Lachman or similar. I worked on one such. My colleagues at Sequent, Pyramid, Masscomp, etc. were all in essentially the same boat. NFS was the only commonly-included piece from Sun.
If you were using SVR3 or earlier, you may have needed extra stuff.
SunOS 4 was old and crusty but it wasn’t shithouse buggy, and some folks were very reluctant to migrate even after Solaris got a lot better.
And can we even talk of GNU/Linux monoculture when you've got a few working distros - e.g. Void, Alpine - with non-GNU userland, or distros with completely different userspace models - try to compare Ubuntu, Gentoo, Nix, GoboLinux, etc.
Do you have init (systemd-init, sysvinit, openrc), network management (systemd-networkd, NetworkManager, connman), dhcp (systemd-networkd dhcpcd, etc), audio (pulseaudio, pipewire, raw alsa + dmix, etc), graphics (X11, wayland), desktop shell (gnome, KDE Plasma, XFCE, i3) debate in the windows world ? No because except for the last you cannot ever change how it is done yourself on windows, while on the "GNU/Linux" ecosystem everyone is free to come with its own better idea for $SYSTEMCOMPONENT and put it in the open marketplace of competing ideas.
FreeBSD is OK, but very lacking in manpower. Every time I install a desktop package these days, I see multiple warnings about how this or that dependency has no maintainer.
With so much attention these days on Docker and other halfway measures involving namespaces, it’s not really Unix that’s the platform anymore. Linux is the platform for a variety of network and desktop applications.
Regarding Docker - it’s like saying it’s not Linux that’s the platform anymore, it’s the hypervisor. Linux is just one of the layers.
Kinda sad, I think Sun was a fairly innocent victim of the dot-com bubble bust.
So fck larry fcking ellison, and I hope the horse he rode in on throws him and then kicks him square in the nuts (I have nothing against the horse).
"This company is very straightforward, in its defense. This company is about one man, his alter-ego, and what he wants to inflict upon humanity -- that's it! ...Ship mediocrity, inflict misery, lie our asses off, screw our customers, and make a whole shitload of money. Yeah... you talk to Oracle, it's like, 'no, we don't fucking make dreams happen -- we make money!'"
"You need to think of Larry Ellison the way you think of a lawnmower. You don't anthropomorphize your lawnmower, the lawnmower just mows the lawn, you stick your hand in there and it'll chop it off, the end. You don't think 'oh, the lawnmower hates me' -- lawnmower doesn't give a shit about you, lawnmower can't hate you. Don't anthropomorphize the lawnmower. Don't fall into that trap about Oracle."
-- Bryan Cantrill
Oracle serves to make money in whatever sleazy way they can get away with, improving the world has nothing to do with it.
Oracle is well known for arbitrary and complex licensing that have the effect of locking customers to Oracle under threats of audits.
Recently it has taken to pushing customers via licensing changes on to its own Cloud environment. Its incumbency in F100 companies ensures a vendor lockin that is only slowly deteriorating.
Oracle's record of acquisition and product EOL is also well known. It's responsible for the fork of Hudson to Jenkins, the collapse of Solaris, the API court case with Google (attempting to use copyright on API definitions to stop new implementations), the fork of MySQL to MariaDB, etc etc
I have used VirtualBox for a decade for my VM on Ubuntu - it just worked better than VMWare for me (I recently bought a VMWare licence, but went back to VBox).
Ages ago I even tried to pay Oracle for it, since they documented that they wanted USD50 per seat, but when I emailed them they had no way to accept the money!
Oracle strikes me as a deeply disfunctional organisation.
Sure, they're deeply dysfunctional, but all big corps are pretty dysfunctional about money.
I was working for a company purchased by a Fortune 500, and had a bill from a company purchased by Oracle. Between their Accounts Receivable, and our Accounts Payable, once it took about 3 months to pay the quarterly bill. Only some of the dysfunction was Oracle's fault. :P
As a long-time VBox user myself, a neat thing I figured out almost by accident the other day: you can port VBox images to QEMU/KVM trivially on Ubuntu (and then use Virtual Machine Manager for the VBox-like graphical front-end).
Just unarchive the OVF file from VBox, then use QEMU to convert the resulting VMDK file to your format of choice (such as qcow2). Import your new disk image into VMM and done!
Oh yes, I think Oracle is evil, in a way worse than the worst years of M$. And larry ... is clearly the responsible party.
In my ethos, good capitalism is good itself and for everyone. Wise leaders play for the "long game" and this benefits them, their shareholders, and everyone else. This was the pattern of Sun. In particular Sun, even in the years when the UNIX wars were not very nice. larry (and bill) are simply diseased vultures who trade short term personal gain for mass global loss. Someday, while old larry will be fine, his shareholders will have nothing but a bag of sh*t.
How do you figure? The OpenJDK project maintains the language specifications, and reference libraries, and even a JVM.
Oracle is now, just another JVM vendor that takes OpenJDK and compiles it for convenience and/or a support contract - if that's your cup of tea... along with Azul Systems, Red Hat, IBM, AdoptOpenJDK, Amazon, SAP, and more. Some of these vendors also offer proprietary JVM's that claim to focus on some particular problem or offer specific features above-and-beyond reference JVM's.
But... for all, OpenJDK project is the standards body - and is not controlled by Oracle.
It isn't very open if you get sued for implementing a compatible API.
Google was sued for Android's use of a copy of a specific implementation - not for implementing something compatible. Specifically - Android made use of a copy of parts of an Oracle/Sun implementation of Java, instead of writing their own or using OpenJDK (which wasn't mature at the time of the alleged offense).
This was all back from a time where Sun owned Java outright, and offered licensed use. Times are quite different now for the Java ecosystem.
> Not, however, if you call it "Java" (tm).
No, you cannot make a new programming language and call it Java. I think you'll find similar trademark protections on any language.
You also couldn't make a new JVM and call it "HotSpot", because Oracle owns that trademark too - but you can call your custom JVM anything else you want. So long as it followed the OpenJDK specifications, it would be compatible with Java bytecode and run Java programs just fine.
make no mistake: the case was about whether an API can be copywrited, or whether it's public information like a phone book. as far as I know, Google's implementation was independent.
Nope, they were sued (and prevailed [1]) because of them re-implementing Java APIs. The 'copy of a specific implementation' rhetoric concerned a 9-line snippet [2] which was laughed out of court by Alsup. Here's the contested piece of code:
private static void rangeCheck(int arrayLen, int fromIndex, int toIndex {
if (fromIndex > toIndex)
throw new IllegalArgumentException("fromIndex(" + fromIndex +
") > toIndex(" + toIndex+")");
if (fromIndex < 0)
throw new ArrayIndexOutOfBoundsException(fromIndex);
if (toIndex > arrayLen)
throw new ArrayIndexOutOfBoundsException(toIndex);
}
Here's Alsup's reaction to the claim [3 (look through the thread for a quote or find Groklaw on archive.org)]:Judge: We heard the testimony of Mr. Bloch. I couldn't have told you the first thing about Java before this problem. I have done, and still do, a significant amount of programming in other languages. I've written blocks of code like rangeCheck a hundred times before. I could do it, you could do it. The idea that someone would copy that when they could do it themselves just as fast, it was an accident. There's no way you could say that was speeding them along to the marketplace. You're one of the best lawyers in America, how could you even make that kind of argument?
The case has been documented ad infinitum et delirium, look it up.
[1] https://www.theguardian.com/technology/2016/may/26/google-wi...
A cherry picked Java 8 flavor, with partial support for Java standard library, incomplete mapping of JVM bytecodes into DEX bytecodes (required for some Java 8+ features), that forces Java library authors to either constrain themselves to such Android Java flavor, or provide two implementations of their libraries.
Nowadays I call Android Java as Android J++, as homage to Google succeeding where Microsoft failed.
A subset of Java with partial support for the standard library is the the lingua franca of Android, forcing a fork on the Java community for any library author that wants to target standard Java and Android Java.
They should have seen the writing on the wall and done something to differentiate themselves meaningfully before the PC wave washed over them. They failed to do so, and could barely afford to keep the lights on at the scale they operated afterwards.
It's true that PC's (amd64) became capable workstations around the same time, or shortly after. And that didn't help.
But for the time, the RISC UNIX Workstation was NOT overpriced. If you compare your $1500 core-i7 machine of today to a $30,000 RISC machine of 2001, the later would seem overpriced. But not at all if compared to the $1500 Dell of 2001 running Windows NT 4.0. Remember, things changed very rapidly. And the dot-com burst before Linux and amd64 really happened.
In a way, both Linux and x86/amd64 have turned the PC into the UNIX workstation of the 90's and 2000's. And with ONE dominant, excellent, kinda-sorta SVR4 OS too (Linux).
We didn't give Sun a single penny in what would have been fertile land for their machines, if not for GNU/Linux and dirt-cheap powerful PCs.
One of the places I worked shared a building with a legacy hosting provider that had nothing but racks of Sun hardware. I had applied to work there first, with nothing but self-taught GNU/Linux knowledge and they laughed me out the door for not knowing anything about "real UNIX". Then I ended up getting a job just one floor below them at younger hosting company, 100% GNU/Linux, and we ate their lunch. It was a microcosm of what was going on everywhere, Sun was doomed.
You sound like you're gatekeeping system administration.
Well not all of us, but being a sysadmin excited about Unix/Linux on commodity hardware didn't mean much if your boss thought the OS, the hardware or both weren't ready for production workloads.
I showed my boss two floppy Slackware and he dismissed it as not relevant. Years later we were having the same arguments about Solaris on Intel which weren't helped by Sun's on again off again Intel support. My point is sometimes it was the IT management gatekeeping.
It turns out, evolution doesn't optimize for architectural beauty. Maybe there was a dinosaur out there with an amazing, lean, clean body structure, yet here I am, happily carrying around my appendix ;) Evolution is ruthless.
Quantity has it's own quality
This was a shallow dismissal even in the first dotcom boom. Nowadays, when it's in half of phones, most consumer smart appliances, literally every internet company, and even cars, it's just wrong. Linux is the default work tool whether you like it or not.
Back in 2001 we had a build farm for Zeus Webserver that targeted something like 20 different versions of commercial UNIX. All of them are now effectively dead, including some spectacular failures like HP-UX on Itanium.
> flood of kids who overnight became "system administrators", which along the 1.95 trillion USD being wiped out caused the market to crash
No, this is just revisionism. There are very few companies that could have become a success if it was just for having a more expensive server and sysadmin from Sun. At best you might have prevented them from forming at all, along with a bunch of others who did go on to succeed.
The cheap commodity hardware is better for the business because you can get results that are as good or almost as good for far lower costs.
Worse for you, we are starting to obliterate "root" as a concept. There are vast swathes of machines, physical and virtual, where no human has ever logged in as root at all.
Yeah, that's precisely the reason why my TV is so slow and why I have to press buttons on the remote twice or thrice because Linux on ARM is losing events. A toy operating system not fit for production. Linux never evolved into something more mature, and considering what kind of people work on it, never will. They aren't engineers, they're amateurs and it shows. Luckily illumos continues to develop so I can run a real operating system which doesn't have such performance problems... in production.
Solaris was never suitable for embedded devices. Illumos won't even run on ARM. Linux's strength is its versatility: from small embedded systems to big iron.
There is an unfinished port of illumos to ARM.
Solaris was traditionally used for embedded applications (such as flight control systems in airplanes) and it is ideal for embedded applications because it has miniscule memory and processor requirements.
Solaris may have been used for embedded applications, but was never "ideal" for them. We called it "Slowaris" in the 90's for a reason. Those 3 to 5 minute boot times really got to you...
As somebody with formal education and experience, I _want_ that to be true, because I want to be hard to find, hard to replace, and really expensive… but just me wanting something to be true unfortunately doesn’t always make it true.
"Unreliable" PC hardware is a myth. It was once true, in the early 90's. Today, even low end x86 are rock solid and last for years, running trouble free.
The writing was on the wall you at least 97 , and the Unix vendors looked at it and just kept doing the same thing. They were already dead, but the dot.com collapse finished them a little faster I suppose.
If I recall correctly, adding the second PPro 180MHz chip added around $2k to the price. Call it $7-8k all in.
The 200MHz PPro had a SPECInt92 value of 366[0]. You can find a list of other SPECInt92 values here[1]. So it was, indeed, faster than many systems, but not the fastest. Value for money? Yeah, it had it.
There were x86 versions of SVR4 UNIX available commercially, so it's quite plausible that you could do an apples-to-apples comparison. I'm sure one is out there, but I don't have the time to find one.
It's worth noting that in 1994, Eric S. Raymond discontinued his "PC-clone UNIX buyers guide" because he had switched to Linux, and didn't think that UNIX had a future. [2]
I think it's still fair to say that the dedicated UNIX workstations had a certain panache that made "real" engineers want them, badly.
[0] https://www.hpcwire.com/1995/11/03/200-mhz-intel-pentium-pro...
[1] http://performance.netlib.org/performance/html/new.spec.cint...
* dropped x86
* dropped the free C compiler
* and Linux became sufficiently stable
in other words, around 2000-2002From 1998 or so, my home 486dx2 with Linux was faster and a hell of a lot cheaper than my Sun workstation at work.
Linux even outperformed illumos in ZFS!
And considering I know how fast illumos is because I ran Solaris and Linux on the same hardware, I'll just stick with running SmartOS, thank you very much: for example, Solaris would regularly peak to 85 MB/s while Linux could barely muster 55 MB/s on the same hardware... HTTP response times are up to 10x faster on Solaris; and so on, and so forth. I've never seen Linux max out 40 Gbps per second and saturate the switch, but I sure as hell did do that with Solaris 10 on a DELL server, of all the shitty hardware out there. I've also never been able to get Linux to deliver anywhere close to 100 MB/s with NFS, while SmartOS regularly delivered over 433 MB/s, while peaking multiple times at 533 MB/s; that's faster than our EMC SAN was at work! So yeah, I'll stick with what doesn't break backwards compatibility and is blazingly fast... Solaris and SmartOS for the win. Good luck with GNU and Linux. You'll need it.
>No sorry, but that's incorrect.
WRONG! It is factually correct that Linux beats illumos in performance.
>I saw the bug requests myself when the database was still accessible, and I read multiple accounts from engineers working on performance improvements at Sun Microsystems
As did I, and the former lead performance engineer at Joyent says Linux beats illumos: https://news.ycombinator.com/item?id=16382456
>who I trust far more than anecdotal, arbitrary claim from you here in "Hacker" "News" of all places, which has meanwhile become notorious.
Hopefully you trust the anecdotes of the lead performance engineer that worked on illumos LOL!
>And considering I know how fast illumos is because I ran Solaris and Linux on the same hardware, I'll just stick with running SmartOS, thank you very much:
I also ran it with the same hardware, and Linux beats it in pretty much every category. You can continue to use your Slowlaris based OS and live in the past. Your prerogative. https://www.phoronix.com/scan.php?page=article&item=opensola....
>for example, Solaris would regularly peak to 85 MB/s while Linux could barely muster 55 MB/s on the same hardware...
AHAHAHA I got more performance from my junk server on Linux 10 years ago, easily beating Solaris, regularly peaking around 100 MB/s.
>HTTP response times are up to 10x faster on Solaris; and so on, and so forth.
I got 40x response time increases on Linux; and so on, and so forth.
>I've never seen Linux max out 40 Gbps per second and saturate the switch, but I sure as hell did do that with Solaris 10 on a DELL server, of all the shitty hardware out there.
Wow, so slow. We had to get special switches specifically because Linux would over saturate way past 40 Gbps. Never had that issue with Slowlaris.
> I've also never been able to get Linux to deliver anywhere close to 100 MB/s with NFS, while SmartOS regularly delivered over 433 MB/s, while peaking multiple times at 533 MB/s; that's faster than our EMC SAN was at work!
AHAHAHAHA Slowlaris could barely make it through a day without NFS crashing. We were regularly peaking in the 800 MB/s range with Linux, that's faster than Slowlaris crashing on the EMC SAN at work!
>So yeah, I'll stick with what doesn't break backwards compatibility and is blazingly fast...
Ah, so you'll stick with Linux! Awesome!
>Solaris and SmartOS for the win.
Winning the dunce award for antiquated OSes, yep.
>Good luck with GNU and Linux. You'll need it.
Good luck with the OS that runs the fastest super computers in the world, all of HFT, etc.? Yep, we'll need luck to leverage the best platform to push us into the future. Thanks!
Not just cheaper, but faster, too. Before Linux really took off, there was a time when it was starting to look like Windows was going to become the only player in town. I kept trying to make a case for Unix (that is, Solaris back then) and the deeper I dug the less convincing my case became. Sun & Irix hardware was orders of magnitude more expensive with worse performance than PCs no matter how I measured it. You can go on and on (and I tried) about how the hardware architecture is upgradeable, how it’s more fault tolerant, how it’s better tuned to the OS, but at the end of the day the only thing the Sun hardware had going for it was you could run the Unix toolchain on it.
To make anything work you’d have to install the whole GNU ecosystem in a build root which became old pretty quickly.
Solaris from what I recall was opinionated in the BSD vs. SysV department, in terms of what commands were provided on the shell and what their usage syntax was. GNU was more user-oriented and tried to make things familiar to everyone regardless of which camp you were from. So the GNU userspace made more people happy, and the license combined with source distribution didn't prohibit installation everywhere.
My memory is fuzzy from that era, but I clearly recall working for a software company writing control panel software to manage apache installs across both Solaris and GNU/Linux, whenever a new Sun box was spun up GNU was immediately installed so everyone could login to any machine and find it behaved more or less the same as they worked at the shell. bash, coreutils, gcc, all the goodies, you couldn't make your x86 GNU/Linux boxes look like Solaris for everyone, but you could go the other direction trivially. Sun was basically user-hostile, GNU makes it very apparent, especially in the transition period.
Apparently on their Oracle-hate rage, everyone is eager that besides an initial offer from IBM, later withdrawn, no other company bothered one second to buy Sun assets.
So had Oracle not bought them, even the later killed products would have died on the spot, and in spite of their openness, as talking is cheap, no one else would actually bother to pick them up.
Naturally hating Oracle is easier.
GNU/Linux, BSD Unix, and MacOSX slowly took marketshare away from Sun/Oracle. Expensive SPARCStations no longer were affordable.
ZFS on Linux, the dubiously licensed mess that it is, now drives most of the bug tracking and patches.
Joyent, once deeply committed to illumos, is now primarily a Linux company, because Samsung has no particular need to hold onto Solaris.
Solaris is even sadder and deader today than the author foresaw :(
* If you are upper level management at Blue Chip company "Initech", the last thing you want to be dealing with is a smaller B2B provider, with a hipster name like "Data Badger". Being smaller means more risk (not necessarily but thats the culture). You want the big safe boring companies.
* Big corporates are still wined and dined by Oracle's sales teams etc. Yes you might have to do your mandatory HR training about bribes and corporate gifts, but this stuff still happens under the table. Its business, it might not be ethical, but its business.
* Cronyism etc. management tends to circulate around companies closely connected with each other. A Microsoft manager might float to Vodafone or JP Morgan. When they get there, they are more likely to throw any of their old MS colleagues a bone when it comes to service contracts etc. This is why networking is so important in LinkedIn for corporate careerism.
* Did I mention sales already, yes, but these big companies have large sales and marketing budgets. Those buzzwords are expensive you know!
* Those sales and marketers target managers and people with a high influence / low technical understand co-efficient. Don't get me wrong there are smart managers out there that know their stuff however they are generally a rareity. So they tend to drink the kool-aid from the big tech corporates e.g. "Hey Bob, I think Microsoft's Foobar Cloud Hypervisor, can streamline our data acquisition and increase synergy in the business".
* When you take your first hit of Oracle's software or services, you are effectively tied into service contracts which make it painful to leave but easy to extend. You might spend £200million for a 5 year contract, then three years in you see a new technology offering for an extra £4million etc. That's relatively pennies to what you've already sunk into the service contract.
* Marketing and branding which you picked up on in your post. There is a reason you see IBM or Oracle advertised a lot in the Financial Times, Economist, New Scientist etc.
Hope this explains why Oracle et al. are dominent in the industry.
hahaha! Thats a great name for a company :-)
:-)
Also, there is the similarly themed https://dbeaver.io/
A great, open source tool btw.
It's next to impossible to wean yourself away from these products in many jurisdictions.
Even Google runs Oracle. And Amazon did till recently.
Also a bunch of random things in section 2 of your Linux manpages started out as Sun-introduced APIs back in the day.
But a bunch of stuff has been ported or integrated elsewhere. Zfs runs well out of the box on freebsd and as a module on linux. "Containers" are a big thing now where zones might have applied. Etc.
We've definitely regressed despite the buzzwords and hype.
At the time, many UNIX vendors were sparing, warring even. But Solaris is one of the best, purest SVR4 implementations. On top of that it had a very unique and excellent driver model (one of the first), true multi-threaded kernel, and extremely good compiler. And it ran on an extremely well designed post-RISC CPU (UltraSparc). CDE was ... not really the point...
Sadly, while it powered that dot-com bubble, that success led to the failure when $50,000 Sun workstations and servers became available for $0.01.
If you're going to fail that is the honest way to do so, in my book.