Another example of a defective software product with an egotistical maniac at the helm (Mark Shuttleworth)?
> What exactly are these fatal Ubuntu flaws?
Unity? Upstart? Mir? The Amazon Shopping lens? A general failure to listen to the very community Canonical markets as a selling point? A terminal case of Not-Invented-Here syndrome? An inability to prevent any Ubuntu-derived device (Ubuntu for Android, Ubuntu TV, and Ubuntu's mobile edition thus far) from being more-or-less commercial flops stuck permanently in development hell until they become vaporware?
SmartOS runs just fine on AMD CPUs. KVM support for AMD hasn't been merged to illumos-kvm yet (mostly just due to time), but you can do your own builds with it (https://github.com/jclulow/illumos-kvm/).
But Triton containers don't run in KVM anyway. They run natively on the OS with no VM. So you can download and run Triton on AMD today, just as you can with Intel CPUs.
It's not a different architecture. SmartOS is x86 based, as are the Linux binaries.
What lx-brand zones do is present an alternate system call table to the binaries executed inside the zone. Those "lx" calls are compatible with the Linux system call table and get mapped and/or translated to illumos kernel system calls. Binaries don't know the difference.
The problem with the GPL is that it presupposes its own supremacy and refuses to work with other free licenses. Two prime examples are MPL and CDDL (which was based on the MPL). Both of which GNU regards as free software licenses, but says to not use them because they don't bow to the FSF.
The binary in memory linking clause is the most harmful thing to ever happen to free software. It destroys collaboration and restricts user freedom. It causes partisanship and infighting within our communities and prevents good ideas, the best ideas, from being freely shared (breaking both freedoms 2 & 3!). GNU has declared war on other licenses for far less than that.
Can we all admit that the in memory linking clause makes GPL non-free software? We'd all be better off to realize it.
License incompatibility happens when two licenses has different conditions which both need to be happen in order stay in compliance.
Its very easy for a license to fix this. They can either use common conditions, or they do like GPLv3 and have a list of additional conditions which may be added in order to be compatible with other licenses. MPL do not have that, nor does CDDL, and thus we have the situation where they are incompatible with most other copyleft licenses.
I don't see why it's on the CDDL to fix. CDDL is a file based source license, the resulting binaries can be freely linked against binaries with different licenses. Section 3.6 explicitly says so!
The primary difference between MPL 1.1 and CDDL 1.0 with MPL 2.0 is that sections 1.7 and 3.3 of MPLv2 explicitly bow to GPL, a concession made by Mozilla to attempt to end this nonsense. Section 3.7 of MPL 1.0 and 1.1 (3.6 of CDDL) are clauses that imply GPL compatibility, without explicitly naming GPL. That wasn't good enough for the FSF, thus, MPLv2.
MPL was chosen as a template for CDDL because sections 3.7 (CDDL 3.6) gives it a quality like BSD, that the binaries can be larger works with different license terms while the rest of the license retains the copyleft qualities of the source code. Thus, CDDL would have "all the advantages of BSD, all the advantages of GPL".
Any supposed incompatibility is in the legal opinion of the FSF, who never stated their reasons, only the final conclusion, preventing healthy discussion on the matter.
Since the FSF and GNU identify all versions of MPL and CDDL to be "free" and "copyleft", why is the burden on CDDL or MPL? The FSF could have solved this by explicitly naming MPL/CDDL in GPLv3 (as they did with AGPL).
The MPLv2 was specifically designed to be compatible with as many FOSS licenses as possible. It was not possible to make it compatible with GPLv2 however, because the GPLv2 is incompatible with any license that has explicit patent clauses (which I would consider to be a historic accident and a serious issue with GPLv2).
That issue was resolved with a specific section in the MPLv2 that allows licensing the code under (L)GPLv2+/AGPLv3+.
1.12. “Secondary License”
means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses.
The MPLv1.0/v1.1 allows automatically upgrading to any later version of the MPL, in section "6.2. Effect of New Versions. ". Therefore (IANAL etc.) any code published under MPL is compatible with GPLv2+.
>Both of which GNU regards as free software licenses, but says to not use them because they don't bow to the FSF.
CDDL is and was created with the purpose of being GPL incompatible, because Sun did not want Linux to be able to use ZFS and DTRACE which were technical crown-jewels of Solaris.
>The binary in memory linking clause is the most harmful thing to ever happen to free software.
(usual disclaimer, not a lawyer, etc.). CDDL is file based - basically saying "if you modify this file, and distribute the software, you must provide the source code to the modified files".
Sun's intent (as far as I understand) was to appease OEMs by allowing them add additional files to Solaris (think device drivers, etc.) without requiring them to give away the source to their IP.
Yes that was indeed the case, Sun Solaris was losing hard to Linux and they were trying to go the open source route to get back on track (OpenSolaris), however since they (rather obviously) did not want to hand over their key technology advantages like ZFS and DTrace to Linux (their main competitor to which they were losing), they needed to release them under a non-GPLv2 compatible license to prevent Linux inclusion.
They were initially waiting for GPLv3 to be finalized (which would have been fine since Linux is GPLv2 ONLY) but it took too much time so they created CDDL which was, of course GPL incompatible.
License proliferation was a problem largely supported by the OSI. IMHO there are really only 3 free/open licenses necessary - GPL, LGPL and BSD (or MIT). Anyone else is trying to be open or free while also supporting some other agenda.
If you want it both ways, go dual lincense with GPL and a commercial license. Just be up front and honest about it.
There are a few other variants. Affero, as noted, also the Mozilla Public License, which applies on a file-by-file basis and allows for proprietary code to be integrated into a MozPL licensed work as a whole and distributed.
But otherwise, yes: GPL, LGPL, BSD/MIT are the principle cases.
We know. The culture in Unix was always sharing source and user collaboration. When AT&T finally tried to exert control there was a large movement within the community to go free of AT&T code. GNU and BSD were both a reaction to that.
The rise of x86 and the availability of free Unix (in the form of BSD or GNU) was destined to destroy the proprietary Unix market. In 1991 neither BSD nor GNU had kernels booting on x86, leading Linus to eventually release Linux in August.
Linux had the luxury of being the only readily available Unix-like kernel on x86 for several years.
The USL v BSDi lawsuit slowed BSD efforts for nearly two years while Linux gained mindshare and features (specifically x86 features & drivers). Once the suit was settled out of court development took a long time to regain momentum.
Net/2 was released in June of 1991 (before Linux!), so if the USL lawsuit hadn't happened, we might all be running that instead.
That is just playing futurology. We will never know.
Just like some of us would have liked that Apple would be just as successful with BeOS instead of NeXT, but we will also never know.
In 1993, I learned UNIX on Xenix system. Coherent being the other option.
Linux only became production quality when the likes of Intel, IBM and others started supporting its development. As far as I am aware they never supported BSD like that.
All of the technologies that illumos (and Solaris) is now known for (ZFS, Dtrace, crossbow, zones, RBAC, SMF, FMA) were developed by small teams of engineers taking charge. And nearly all of the developers of those technologies are now in the illumos community and notably not at Oracle.
Specifically, Dtrace is primarily the brain child of Bryan Cantrill of Joyent (co-developed with Adam Leventhal of Delphix and Mike Shapiro who left Oracle in 2010) and Jerry Jelinek of Joyent was one of the primary developers of Zones. Matt Ahrens and George Wilson, co-developers of ZFS along with Jeff Bohnwick, are now at Delphix with Adam. Though, as far as I know, Jeff is no longer involved with ZFS development.
All major features of Solaris 11 were developed in OpenSolaris. Solaris 11.1 major features are improvements to SMF, the installer, and the addition of ASLR. Major features in Solaris 11.2 are "kernel zones", OpenStack and SDN [1]. That's very little to show for five years of development.
Your response seems to imply that there aren't still teams working on Solaris that can deliver large new pieces of functionality.
You also seem to be unaware that many of the "major features" you talk about in past releases were designed and implemented by people that are still working on Solaris today and sometimes in those same areas.
Also, I have no idea why you place kernel zones in quotes -- kernel zones was actually a massive project. Not a simple variation of existing zones technology. It provides true virtualisation of Solaris on Solaris with minimal overhead compared to alternatives.
Solaris has lots to show for five years of development if you understand the engineering effort required and even more is coming -- just wait until 11.3 and Solaris 12. You'll see things from Solaris you never expected. It's bit insulting to imply that bringing things like OpenStack to Solaris wasn't a significant effort. Many of these technologies are Linux-centric and required significant engineering effort from an architectural and technical perspective to provide an integrated solution.
Solaris also has interfaces and functionality that is not available in other Solaris-based distributions; especially in upcoming releases.
And illumos has interfaces and functionality not available in Oracle Solaris. That's Oracle's decision, not ours.
I didn't mean to imply that there aren't talented and smart engineers working on Solaris at Oracle. I am, however, underwhelmed by 11.1 and 11.2, which I see as a management problem, not an engineering one. But the point I was making is that when the illumos community talks about Dtrace, zones, ZFS, etc, you can't discount that and say "no, that was Sun" because the people who were the primary developers of those technologies are now with illumos. Saying that Bryan, Adam and Mike can't take credit for Dtrace is just silly.
> Solaris has lots to show for five years of development if you understand the engineering effort required and even more is coming -- just wait until 11.3 and Solaris 12. You'll see things from Solaris you never expected. It's bit insulting to imply that bringing things like OpenStack to Solaris wasn't a significant effort. Many of these technologies are Linux-centric and required significant engineering effort from an architectural and technical perspective to provide an integrated solution.
I think that I can hold the following opinions simultaneously without contradiction:
- It's an impressive amount of technical work.
- It's not really an impressive technical work, per se: OpenStack already works well on Linux, whereas DTrace, zones, ZFS, etc. were and still are innovative. This makes them categorically different. (I definitely admit that my use of the phrase "still being developed" was definitely wrong, but I was replying in the context of the article and of SmartOS in general.)
- If Solaris were still free software, there may well be interest in porting OpenStack to Solaris from anyone other than Solaris engineering. Which, unfortunately, means I'm less inclined to take the hiring rampup positively: I now wonder how much of that work could have been done in the community.
- It's cool for your customers that you're doing this. (I admit I don't understand why someone would be a Solaris customer for any use case other than running other Oracle software, but that's not really relevant; there are quite a few customers, whether or not I understand them.)
- It's not really relevant for people who aren't your customers. Even keeping Solaris closed-source, it's still possible to deliver innovative features. OpenStack isn't one.
This may be less true for other features, but it's why I look at Solaris' current marketing, which is heavily touting OpenStack, and it doesn't cause me to be impressed with Solaris' pace of innovation.
I'm having trouble figuring out what kernel zones are. (Which might be part of the reason that it's not getting the respect it may deserve in general, or why 'bahamat put it in quotation marks, in specific.) It sounds like... KVM or lguest (both using virtio), but plugged into the zone framework and management tools? If so, then again it'd be certainly an impressive amount of work, but less-than-impressive work, compared to Solaris' past glory (DTrace, zones, ZFS, etc., none of which had even remotely comparable features on other OSes for quite a while after their invention by the Solaris team). And since SmartOS has had KVM anyway since its inception, I'm curious how kernel zones in fact stack up.
To be fair, I also work in enterprise software and specifically in systems/OS stuff, and I spend a good chunk of my time doing hard, low-level systems work that's cool for my customers, not really relevant to anyone else, and very rarely innovative in a global sense. I'm reasonably happy with what I do, but I'm also okay with the fact that nobody outside my management or our press releases will ever call 90+% of my work innovative, even though I put a lot of high-quality work into our product. A lot of enterprise software work is making a great product for people who aren't using a different, also-great product because of unrelated reasons. It's an honest and fun way to make a living, but we shouldn't call it more than it is.
But your point stands well. Oracle only had a paltry 7-8 months of contributions.
In my opinion, and I really don't know who would share this view, since Sun opened Solaris, illumos is now what Solaris was intended to be; it's not the illumos community that forked Solaris, it was Oracle.
> It's not that he rejected the pull request...it's that when he was overruled by Isaac some hours later, he unilaterally reverted Isaac's commit. (And, it must be said, sent a very nasty private note to make clear that this was no accident.)
Rolling back the commit or disagreeing is and was not the issue. It was his attitude and behavior after reverting the commit.
Either way, it's still just an issue of someone being stubborn about a PR that neither helped nor hindered the actual code.
If that's a fireable offense in your company, your HR processes are broken. Especially with no management in place to set any expectations on the topic.
Why can't systemd developers/apologists take responsibility for their bad design and horrible decisions?