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.
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.
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.
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 :)
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.
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.
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.
Namely RTOS, Zephyr, NuttX, mbed, and Arduino compatible bare metal implementations.
Common to all of them? None of them is GPL licensed.
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!
Unfortunately, when it comes to hardware support, only the most popular OSes actually thrive :(