Capability Based Security is about 50 years old. It was getting added to MULTICS when UNIX took off. Fuchsia, Genode and GNU Hurd are all based on it. None of them are ready for use yet.
When you open an application, and pick a file to edit, the application is using a dialog box get your file choice. It then directly accesses the file. There is nothing enforcing your choice, we all just hope the program works as intended.
When you do the same thing in a capability systems, the operating system is using its own dialog box to get your file choice. The operating system then enforces your choice, and gives a capability for only that one file to the application. Your application has zero permissions to access anything else.
I hope I've made it clear why the rush to capability based systems is on.
Bryan doesn't see the bigger picture, but he has quite valid points anyway. It's not just old code, it's the broken model underneath it.
There is a race to get something usable to market. I hope something open-source wins.
They also break already existing applications and workflows – there are e.g. quite a few file formats around that don't work with the "pick a single file and that's all you can access without pestering the user once more" model: - separately stored subtitles (media players currently automatically look for those when opening a video, but with strictly sandboxed file access that would no longer work) - playlists (opening a playlist should likely implicitly allow that application to also access all the files referenced therein, but of course the OS can't be expected to understand each and every filetypes intricacies) - multi-part videos - multi-part archives - HTML documents with links to other documents and/or separately stored resources (media files/CSS/JS) - any other kind of multi-file file format
Along the same lines, download manager extensions in Firefox have become semi-useless since the switch to webextensions, because there's no way to download multiple files elsewhere than the OS downloads folder without asking the user for each and every file.
OS are often pronounced dead. Maybe they won't be as relevant as today, but even that is questionable.
Same with programming languages. C is dead and it died many deaths. Javascript is also dead.
I worked with mobile code, also with the serverless kind. That certainly is not the future. No, sir, it isn't. MacOS may be the most endangered here, but even that is currently unlikely. Because there actually isn't a use case they cannot offer.
UWP on Windows was capability based. Not an OS, but the same principles applied. It was heavily restricted. It is also basically dead. But really dead, not like C or Javascript...
Nope, not even close... those are not capability based systems. They are regular systems with with some access flags bolted on top.
I fully expect that that this isn't going to be a strictly consumer phone / desktop OS thing, I expect that servers might even end up as some early adopters depending on what the roll out ends up looking like.
When I looked at their application delivery section of their docs, it seemed very likely to me that I was looking at an entirely new app layer of the web in general.
I know that the industry likes to place themselves as an intermediary and later opens their hands. So it would really need to offer much...
Seems like the best strategy is to not do these kind of things until wide adoption. Microsoft, Apple and even some Linux distros did such things.
IoT isn't a craze, it's a buzzword. We've been building net-connected units for decades and will do so for decades more.
We need a decent small flexible OS/RTOS that's beyond Linux. Zephyr has been a disappointment in this respect.
I would prefer a combination of Genode+seL4. (but the lack the workers to move as fast as Google)
Or even [some distro]+on top of Linux + on top of seL4.
Google scares me ATM...
As much as I hate saying this but I'm so sorry but the reality is, Fuchsia is going to replace Android and ChromeOS and the Zircon kernel will probably be optimised to be used on Google's own Silicon; super-seeding the need for using Linux anyway.
If you're already worried by Fuchsia, are you already afraid that Google will stop contributing to Linux? Possibly. But this only concerns Android and ChromeOS. Linux should be fine on the server. However, it's just that it has no path to the desktop commercially.
> But isn't it a good thing? Should we run all jump ship ASAP?
Change is very good.
The obsession of the Unix philosophy and its clones had a great 50 year run; with Linux almost in its 40th anniversary. It's time to move onto modern and secure alternatives with a clean slate. Not another Unix clone or another Linux distro.
> super-seeding
supersede : To take the place of; replace or supplant.
> Change is very good.
Hmmm. Not always and not for everyone. Evolution is good, but not for the 99% of extinct species. Still, better adapted systems persist. The real danger is local maxima. Which is why predators are needed. Still, lots of infrastructure is based on outdated technology, generations behind the bleeding edge, for the very reason that it works predictably. And we want infrastructure to work for a long time.
Fuchsia is acting as a compatibility bridge to migrate over the fragmented Android arena you see before you onto a unified system that Google can push updates seamlessly just like it did recently; starting with the Nest Hub. It was invisible to the user and was updated without warning or fanfare.
In this context, it is better to replace this 'outdated technology' than to keep fixing the existing system because it is riddled with hidden bugs and holes. Perhaps this cannot be solved with the Unix philosophy (or in its clones) as it is riddled with holes and legacy oddities. This is why technologies like Rust exist to eventually replace C/C++ and Fuchsia exists to eventually replace Android.
Unix had a good run (and is not designed for security in mind). So it is time for a clean slate.
My point is the wider evolutionary context. Otherwise I don't have anything new to add to the discussion. I don't disagree with your main idea except its aspect of totality. Even Lunduke said as much. There will still be pockets, there will still be extant lineages.
So yes, Fuchsia is likely to take off, and some small companies will move to it, but don't expect any Fortune 500 company off windows/linux in the next 20 years...
Like aren't we moving to a world where the only application in your web browser?
At-least that's how it's felt to me the past 15 years, I guess we're not quite there yet ;)
Yeah, right after they've tossed z/OS.
(turns back to his COBOL coding sheet...)
TLDR: Linux has had a good run, but change is coming.