For those who haven't heard about Fuchsia, it's a brand new operating system by Google that's been under development since at least 2016, and may someday replace Android (though this is only speculation). Heck, someday it may be used as a web server, however, that doesn't appear to be Google's intention for Fuchsia. Though Fuchsia is still a work-in-progress and it appears its primary target is mobile or IOT devices, it has some people uneasy about the long-term success of Linux on the server.
Despite the enormous potential of Fuchsia, I'm betting on Linux. Linux has essentially won the competition amongst its rivals to become the de facto web server operating system. So why are some Linux users uneasy about Fuchsia? The reasons are both philosophical and technological, rooted in the spirit of free software and the technical potential of microkernel architecture. Let's briefly revisit the 80s to understand these issues better, then explore Linux's place in a post-Fuchsia world.
Free Software, GNU and Linux
In 1983, Richard Stallman had the bold vision of building a world where corporate entities didn't decide what software users ran and what they could do with it. He believed in free software, or the idea that if you received software–whether for free or for a cost–you should have the freedom to use, modify and redistribute it as you wish. In pursuit of this dream, he began writing a free and open source operating system called GNU.
By 1990, Stallman and contributors had implemented much of the core functionality of GNU. The only piece left to code was the kernel, which is the most low-level piece of an operating system that interacts with the computer's hardware. In 1992, Linus Torvalds released the Linux kernel as free software, and it was integrated into GNU, realizing Stallman's vision of a free operating system. This operating system was called GNU/Linux, but most people just call this OS and its derivatives 'Linux.'
Fast forward almost 30 years, Linux-based operating systems power most of the Internet, and businesses that have invested in Linux have reaped incredible rewards from the freedoms it provides. No single corporate entity controls Linux, but countless organizations have benefited from it. The Linux kernel powers Google's Android OS, the majority of Amazon Web Services, and has been fully embraced by Microsoft, both in their Azure Cloud and in the Linux Subsystem for Windows. So what does Fuchsia OS offer that Linux doesn't?
Fuchsia and the Microkernel
Much of the anticipation surrounding Fuchsia revolves around its microkernel architecture. To understand what's special about microkernels, it's helpful to compare them to monolithic kernels like Linux.
In Linux, the kernel is a single large process. You can imagine the kernel as a stack of interdependent services, which manage file systems, interprocess communication, drivers, etc. These services are all tightly coupled, and if any of them fail, the entire kernel panics, throws up all over itself and crashes the machine. Applications run on top of the kernel as separate processes in an area referred to as "User Space."
Compare this to a microkernel. In a microkernel, almost everything except interprocess communication and scheduling are processes that exist in User Space. These processes are independent and loosely coupled, meaning if one crashes, the system can continue operating and potentially even restart the crashed system without restarting the entire system. The stability benefits of this–especially in a server environment–are hard to overstate. File systems could potentially be swapped in real time without restarting the server. This kind of stability is incredibly desirable on the server.
It's not hard to see why Linux users–specifically sysadmins tasked with maintaining Linux servers–might be uneasy with their operating system's long-term relevance. This unease is compounded by the fact that Fuchsia is being bankrolled and developed by Google, the exact kind of corporate entity that Stallman was trying to prevent from deciding what software ran on our digital devices and what we were allowed to do with it. Even though Fuchsia is free software, Google's control over the project still makes some in the Linux community uncomfortable.
Time for Kernel Panic? Not Yet.
It's somewhat unlikely that Google will use Fuchsia as a server technology: it's much more likely to be used as a replacement for Android and Chrome OS. But what if Google did decide to use Fuchsia on the server?
Despite Fuchsia's modern microkernel architecture and Google's immense development resources, I'm not worried about the long-term sustainability of Linux on the server. Why?
Software Architecture Doesn't Win: Business Value Does.
While it's easy to imagine that businesses are eager to embrace new technologies, this is rarely the case for big businesses.
Take WordPress, for example. This blogging platform from the early 2000s has grown to power 35% of sites on the Internet, and its market share continues to grow with enterprise businesses and bloggers alike. This happened in spite of WordPress accumulating 15 years of technical debt, using procedural architecture and being powered by the clunky PHP language. Where modern development rejects global state and side-effects, WordPress has been powered by these concepts since it's inception.
In fact, WordPress's success may be a result of these very things.
Businesses value stability. WordPress's success has largely been driven by its vast community and by introducing few breaking-changes from version-to-version, even if it means embracing less-than-perfect architecture. This has made it a safe bet for businesses and bloggers alike to depend on year-after-year, knowing it's unlikely they'll have to incur the cost of rearchitecting their entire stack for years to come.
All the while PHP, the language that WordPress was built on, has become the punch line of countless developer jokes because of its comparatively slow performance and inconsistent API. Yet, despite there being much more elegant web tools to choose from in 2019 (Ruby on Rails, Django, .NET, Node.js, Elixir), PHP still powers almost 80% of sites in the Internet because of its ubiquity, support and legacy. Businesses will continue to use PHP because it is a safe bet.
If you need further evidence that performance and architecture alone aren't the deciding factor when picking technologies, consider that W3Techs reports Apache powering 42% of web servers compared to Nginx powering only 31%, despite Nginx's superior performance.
In the case of WordPress, PHP and Apache: more powerful and performant alternatives have been available for each of these for over a decade, yet these alternatives have failed to overtake these technologies' dominant marketplace positions because of the business value they each offer.
Linux has an almost 30-year legacy, a thriving community and is a safe business bet. It will benefit from the same traits that have kept WordPress, PHP and Apache thriving, despite Fuchsia's potential architectural improvements from its microkernel.
Linux Supports Older Hardware. Fuchsia Probably Won't.
With all the hype around containers and cloud hosting, it's easy to imagine that any company worth their salt has migrated their software off of physical servers to the cloud and containerized their applications. This is simply not the case. Many businesses have invested heavily in their legacy hardware and are unwilling to upgrade to modern servers or cloud-based alternatives in the near-or-long-term future.
Fuchsia is a from-the-ground-up, fully modern operating system. As a result, it is unlikely it will support legacy hardware. One of Linux's strong selling points is its exceptional support for legacy hardware, sometimes long after manufacturers have decided a product has reached its end-of-life.
Tech Giants and Big Business are Invested in Linux.
Amazon, Microsoft, IBM and countless others have invested billions in Linux, and the companies that use their Linux services often have invested millions. These investments can take years of planning and execution, and companies will try to extract as much value out of these expensive investments as possible. Even if these companies were to introduce Fuchsia OS into their newer infrastructure, they'll likely continue to run Linux alongside Fuchsia.
Monolithic Kernels are Typically More Performant Than Microkernels.
Monolithic kernels are very performant. While this comes at a cost of some stability, performance matters on the web. Though it is possible that Google finds a way to keep Fuchsia as performant as its monolithic counterparts, it's likely that it will have some of the performance drawbacks as other microkernels.
While I've argued that software architecture is rarely the deciding factor when picking technologies, reduced performance can certainly be enough to dissuade an organization from migrating their infrastructure to a new platform.
Fuchsia Isn't a Safe Bet.
It is well-known in the tech community that Google regularly kills its own projects, even after investing a great deal of time, money and talent into them.
Don't believe me? Visit killedbygoogle.com. You can see the graveyard of Google projects that were supported by the tech-titan for years–sometimes for over a decade–that were eventually discontinued and abandoned.
Linux-based operating systems have been supported by the community from their inception. Even in open source projects, Google products are heavily reliant on their staff engineers, and they can fall to the wayside as soon as Google stops supporting them.
Knowing all of this, how comfortable could a CTO be recommending that her company invest heavily in migrating their core infrastructure to a platform that may be discontinued in only a matter of years? Would the benefits be worth the risk?
It would likely take over half a decade before large companies would feel comfortable migrating to a Fuchsia OS server, and it still won't be worth it for many companies because of the reasons previously listed.
Betting on Linux
I believe that if Google chooses to invest in Fuchsia OS, it will be a good thing for both consumers and free software advocates alike. We've learned a lot in the almost 30 years since Linux was created, and the cycle of innovation should continue. With Google pushing Flutter as a cross-platform development solution for Fuchsia, Android, Linux and others, it's my hope that we see downstream benefits of software on the Linux desktop that wouldn't be available otherwise. Linux will almost certainly continue to thrive alongside Fuchsia.
Linux has earned its place on the server by providing dependable business value, and it's unlikely that a new microkernel-based operating system would sway a majority of enterprise businesses, many of which are running battle-tested monolithic PHP applications on Apache and older hardware. Linux is a good business bet.
Whatever happens with Fuchsia, Stallman's vision of building a world where corporate entities don't decide what software users run and what they can do with it is safe with the GNU/Linux operating system.
Top comments (12)
I can't get past that 80 percent of websites are still using php
It's wild, right? I imagine a lot of it is maintaining legacy applications. But as someone who has done a lot of WordPress development and uses Laravel from time-to-time, I can tell you that the PHP community is still really active.
Taylor Otwell–the guy behind Laravel–announced on Twitter not too long ago that he's made $10 million on software in the past five years, and I think most of those were just paid tools related to Laravel. It's hard to imagine those kinds of numbers if PHP weren't thriving.
I also think about this tweet sometimes 😅
Is Taylor misdirection around revenue vs profit?
I don't think he had any misdirection. The word he used was 'sold.' I probably should have used the same world as well. It's still a big chunk of change. Here's his tweet:
1) Most people still won't understand. Indignantly repeating yourself does nothing to change that. Your own assertion it's a big chunk of change seems to indicate you don't understand it.
2) It's a worthless statement without knowing how much was spent + how much time to get such a figure or what the distribution is.
Knowing how much one guy has sold, doesn't tell you anything about the viability of investment. If you're a programmer you need to understand investment in order to understand sustainability and suitability.
7 years of data in github.com/laravel/laravel/graphs/... suggests > 400 people have contributed just to the core project. Not to count the blog posts, services provided.
I'd sooner get to know the viability of an ecosystem for all those involved with a multi-modal distribution rather than see how it's benefited one individual
I'm actually on a team working to create a de-googled variant of Fuchsia, we had a lot of privacy and security concerns as well.
That's really cool! I'm really excited about Fuchsia on mobile. Does your de-googled Fuchsia have a website or repo where I could learn more about it?
It's is mainly frond end right now, but we have de-googled most of zircon.
That's fantastic. I hope this project does well!
There's also RedoxOs, a new microkernel OS that is "real" open source software and seems promising to me
Whoa, I'd never heard of Redox. This is super cool, thank you for sharing!
Well i was just passing by googling around and thought to stop here for a moment before i get back in car for the groceries i was heading to ... I believe its high time the author and anybody influenced by this article should take the example of Nokia and it being head of Symbian consortium. Nokia basically deprived motorola, sony-ericsson, samsung to acquire 1st level citizenship in Symbian ecosystem. At top of my mind i am recalling that RealPlayer etc 1st level citizenship privileges Nokia kept only for its own superior built of Symbian. So when Android arrived, all three above spat back and jump the boat/gun of this more equality giving religion.
Same is the dilemma with Linux since 80s if i take author's date and time. RedHat broke $1bn revenue mark i guess around 2014. Now it gobbled up everything around leaving other glorious FOSS systems in a Nokia vs others type relationship. SUSE the next best/biggest thing is as clear as sun example. with revenues so meager everyone doubts if it will be ever be able to get a lover or climb itself to even 10% of RedHat's revenues. IBM's takeover of a FOSS champion has own heracies (rest aside what modules they have outsourced to indian callcenters to further develop them). Anyway any big FOSS is under wings of RedHat and inturn IBM (nokia of FOSS). Amazon etc all have ARM cpus ready too and they know their Linux variant dont have much left to acquire from FOSS world. Google knows this desperation and frustration. Thay can also come up with their own ARM asic like every tom, dickle harry and on top they know that better too just like when MS went on to custom design ARM for their custom windows even server and DB or customised (AMD) gpu for xbox or hololens; they totally rocked!!! (though satya has till today left/leaving no chance to ruin MS; 1st kept pidepipering MS behind his chakra-engine, couldnt preempt mediaplayer vs winamp/vlc, backtoback fails of msn-msngr/office-communicator/lync/skype, couldnt keep pushing winCE or buy qnx to help winpho, let python creep over our faces to fang ps, couldnt make ps using most of dos syntaxes). Now back to point; Google working with all ARM vendors over android can dev more adv ARM architecture... the most difficult part is/was what they have already journeyed i.e Fuchsia.. so to circumvent all the above said *nix clutter brewing since 80s (head/man/less/tail/cat/touch/finger/sed) .. Fuchsia running on ARM motherboards (think 100s of flagship smartphone motherboards in a briefcase) basically whole datacenter under ur table in a box is the next big thing and IBM/RedHat/Nokia are nowhere there! Nokia not even needed to be in the slashes here it died along with its arrogance n now is HMD pawning everything it had to more righteous owner; MS.
I am no fan of google i am just seeing things nokia/symbian way (the last north/south poles flipping disruption).