I had to look up ‘SmartOS’ and ‘OmniOS’ because I had no idea what they are.
NOTE: This isn’t meant as an insult; it’s just that often people use terms as if they were universally known. He had hyperlinks to some of the more obscure items on the list but not the key items.
This shows you how licensing problems and marketing are intertwined, and can kill off developer recognition of even OSes that are significantly advanced technically.
Since the kernel and coreutils are GPL there aren't any sue-happy lawyers waiting to pounce upon CEOs saying "We use Linux", the broad family of Linux kernel based OSes (Debian, RHEL, Ubuntu, etc.) have generally gained the marketing term Linux.
I feel that Solaris missed out on this in a shockingly bad manner. Perhaps ex-Sun/Joyent folks can correct me if they feel I'm wrong, but it seems that the Solaris "family" of operating systems has always been way harder to understand than Linux-based, mostly open-source systems. Do I want illumos, OpenSolaris, or OpenIndiana? Or do I actually want Oracle Solaris? Which is the one that Oracle will not try to sue me for?
So here is a broader lesson for people trying to open source their OS, if there is ever a grand project like Solaris. Make it all open source at once, and use a copyleft license like the GPL. Otherwise you risk this kind of breakdown where there are N different operating systems that are vaguely related to and worked on by the same people, but you can't name them in a coherent manner or rely upon broad similarities.
My thinking is that the one-way opening of source code due to the GPL ensures that a company cannot reverse its overall stance on taking an OS open (like Oracle-Sun did with Solaris); and forces it to think in an open-first way (for lack of a better term).
If Solaris source had always been available under the GPL, it would have removed the incentive for Oracle-Sun to sue other people for announcing support for OpenSolaris or RedSolaris, or whatever. Of course they might have done that anyway, but in 2020 they would have been more likely to donate it to the Apache Foundation or something. Or we could have had the competing Solaris Foundation, promoting its Sun-centric technologies like dtrace, zones, and zfs as first-class alternatives to the corresponding Linux technologies.
Obvious disclaimers: Not a lawyer and not necessary good at predicting alternate futures :)
There’s nothing in GPL that prevents or prohibits closing later versions. This is also true for the CDDL. The reason Oracle was able to close Solaris after it had been open is that Sun had required a contributor license agreement that assigned the copyright for your code to Sun before they would accept your changes. This would work even for the GPL.
The CLA is actually what initially prompted the illumos fork even before Oracle closed the gate.
Joyent initially had a CLA on Node.js for business reasons that (as far as I know) everyone in engineering disagreed with. When we were finally able to make Triton (née SmartDataCenter) open source we also eliminated the CLA for node.
We now have contributions from many people under the MPLv2 in Triton, and we are no longer the exclusive copyright holder which means that it is pretty much impossible\* for Samsung to close it again.
* We would have to either rip out all those commits or get every contributor to either relicense or assign copyright to Joyent.
A company that owns its code can release version 1 under the GPL and version 2 under some proprietary license just fine. We actually see this in the recent “commons clause” debacle, where previously free software became proprietary.
I’m surprised. They were massive names in the OS scene until recently. Their lineage can be traced back to Solaris and share many of the cool technologies that Sun developers pioneered. So much so that for the first few years of SmartOS, Linux felt like a hobbyist platform in comparison due to its lack of dtrace, containerisations, ZFS, etc.
Linux has come a long way since, which is a large part of the reason why SmartOS has become less relevant. The latter being a great shame because competition breeds innovation and we are losing a lot of interesting interesting Unixes from the public consciousness.
Edit: oh come on. I post this and it almost immediately gets negative karma despite being both factual and informative. A perfect example of the rife abuse of peer moderation on this site. I honestly don’t think I’ll bother wasting my time on here any more.
The downvotes might be for the slightly bombastic tone. SmartOs and IllumOS never felt “massive” to me, particularly compared to Linux. They might have had some nice tooling inherited from Solaris, but they were never particularly appealing for people who were not invested in the Solaris ecosystem - which had already been effectively wiped out by Linux by the time IllumOS and SmartOs appeared.
Or maybe the downvotes are related to the rather fanatic behaviour of some readers of this thread – I got downvoted for mentioning I hadn’t heard of those OSes, only to be then voted up; and downvoted elsewhere when I told somebody to cheer up because they had been downvoted for essentially making the same comment. It’s pretty frustrating, to be honest: “try to cheer somebody up, get punished for it” isn’t the way things are meant to be.
+1 for your reply and to cheer you up. I also got down-voted to hell for posting that rather innocuous comment — don’t let it get to you.
As for the element of surprise, not everybody moves in the same circles. You might be deep into server-grade operating systems, or DevOps, or other branches of information technology that are far from my daily experience. I haunt the areas associated with theoretical computer science, applied mathematics, finance, and the ins-and-outs of the (European) payments system. Each of our haunts are so vast that it’s easy to be erudite in general and yet still pretty ignorant of things others take for granted.
Your comment reminds me a bit of the relationship between Clojure and JavaScript.
Back in 2014, Clojure-based web development had all kinds of groundbreaking ideas that massively improved quality of life: immutable data structures, hot code reloading (figwheel), decoupling of state and view (devcards), with all the benefits that come with functional programming.
The JavaScript ecosystem has since closed the gap and has a lot of great libraries or tools that do these things, and it's just _so popular_ that it's hard to make the business case for Clojure(Script).
Personally, I still think Clojure has a lot of really smart people contributing to it. It's exciting to see tools like libpython-clj enable Carin Meier's work around leveraging bleeding-edge Python Machine Learning libraries in Clojure, and something in my gut tells me that Rich and Co. are on the right track with spec while the JS community pursues TypeScript instead.
It's true that every project needs a community if it's going to survive, and because the internet makes it so easy to share ideas, being the birthplace of good ideas is not enough to ensure your survival.
I'll be interested to see what the landscape looks like in another half a decade!
I did a lot with SmartOS and, eventually, Linux got good enough. But also, Kubernetes won everything, ZFS ended up in everything, and dtrace ended up in most things. It was a thing of beauty but I can't say I ever felt like I properly understood it.
NOTE: This isn’t meant as an insult; it’s just that often people use terms as if they were universally known. He had hyperlinks to some of the more obscure items on the list but not the key items.