Endless OS: A Remarkable Linux Distribution Unlike Any Other

Endless OS 2.6.4

So, last week I was researching new methods of package management and came upon Endless OS.

At first glance one might quickly conclude Endless OS (EOS) is an average Distro.

Well, it isn't.  In fact, this Distribution is completely unique from any other.

Let me explain.

OSTree: A New Package Management Paradigm

OSTree was written by the Gnome Project.  Despite its provenance, the application is agnostic and can be used with any Distribution.  From the Gnome OSTree wiki page:

"OSTree is a tool that combines a "git-like" model for committing and downloading bootable filesystem trees, along with a layer for deploying them and managing the bootloader configuration.
OSTree is like git in that it checksums individual files and has a content-addressed-object store. It's unlike git in that it "checks out" the files via hardlinks, and they should thus be immutable. Therefore, another way to think of OSTree is that it's just a more polished version of Linux VServer hardlinks."

Endless OS developers saw fit to seize upon the opportunity to be the first commercial Linux Distribution which employs OSTree.  What does that mean for the target market's end user?  From their vantage point they won't notice or care.

In fact, the entire Desktop presentation is quite professional and equals the polish of that seen in Chromebook's ChromeOS, without any reservation.  It is that good and with simplicity and ease of use combined succeeds in doing Google's Chromebook one better in my opinion.

Endless OS, The Company

From Wikipedia:

Endless Computers, Inc. is an American company founded in 2012 that developed a desktop computer that comes with its own Operational System. The computer can be connected to TV or computer monitors, old and new. It comes with more than a hundred free apps that can be accessed without an internet connection. The content is curated from open source providers such as Wikipedia, Libre Office and Linux educational games. Endless is headquartered in San Francisco, California, with offices or presence in Rio de Janeiro, México, Guatemala, China, Taiwan, UAE and India.
The company has a team of advisors that includes 2006 Nobel Peace Prize winner Muhammad Yunus, designer David Kelleyand Nicholas Negroponte of the One Laptop per Child initiative.

That should tell the reader the level of collaboration, scale of this organization and the degree to which they plan to make Endless Computers a world-wide success.

I have no doubt that this company will succeed where the One Laptop Per Child initiative failed, particularly with Nicholas Negroponte's guidance.

The EOS Desktop

So, let's talk about the Desktop.  It took me a few days of trial and error to get the raw Endless OS gz image to work in my ThinkPad's Virt-Manager qemu-kvm environment.  First, I converted the raw image file to qemu's qcow2 format with qemu-img.  Then, I imported the qcow2 file.

Turns out, the img.gz file provided at the Endless support page would not boot unless I set the qemu display type from qxl to vga or cirrus.

At that point, it bootstrapped into the Desktop and 'first time' user mode where one can define their user name and password.  That then is followed by a screen which lets the user watch a tutorial on how the Desktop works -- a nice professional touch.

So, from what I have gleaned thus far, Endless OS is forking on their github site many of the Gnome Shell Desktop components and applications, but providing (GPLv2 requirement) the changes upstream to the Gnome Project.

Essentially, you have a Gnome Shell with EOS committer 'enhancements'.  The 'top bar' is moved to the bottom of screen.

I won't go over the Desktop's functionality other than to say it's designed to ensure 'Joe Average' will have no difficulty navigating and using it.  After all, it's Gnome Shell with EOS enhancements.  A lot of input from Red Hat went into the design and usability of Gnome Shell to result in what it has become today.  It has outgrown its 'bleeding edge' early 3.0 days and is now mature and stable.

The EOS Application Repository

From the Desktop, one can click on 'More Apps' to reach the screen shown (left).

While the number of applications presented is roughly 100 at present, plans for the future include employing FlatPak (formerly xdg-app) application 'bundles' to facilitate organizing and managing applications as the github binary library continues to grow in number and size.

Despite the foregoing, Endless OS support qualitatively exercise special care in which applications will be made available to end users.

The basic needs for a newcomer to computing are there.  Word processing, spreadsheets, Evolution Email, Gmail, Gimp, Skype, Chromium, Terminal, File, Printer, Simple Scanner apps are found in Utilities.  Add to that categories for Education, Games and Resources rounds out a nice mix of software to which the user can avail themselves.

Adding an application only takes a few seconds, unlike traditional Linux remote repositories.  All applications are present in the computer's OSTree binary tree and when an application EOS is merely adding a Desktop Icon launcher to it.

Unlike Endless OS, Google's Chromebook ChromeOS, applications are remote and must be installed from an Internet connection.  In many countries, access to the Internet is still problematic and the target market includes those who simply don't have the financial resources to pay for internet access.

Thus, the local cache of apps is perhaps the prime differentiator for choosing Endless over another operating system such as ChromeOS.

EOS Desktop Settings

Click the Endless button on the bottom status bar and then settings, sends the user into Gnome Shell's control center application.

EOS Updates

From the Desktop Settings screen, clicking on the Details icon will send the user to the default application associations.  In the 'Overview' mode, shown is a link 'Check for updates now', which if clicked will so cause EOS to check for any updates on the Endless website, download, and update accordingly.

EOS Security

As for security, it is direct side benefit of OSTree that Endless bootstraps into an application  sandbox.  In addition, Chromium, the web browser incorporates its own sandboxed namespace, a recent enhancement which replaces the former SUID.  Together, this makes Endless OS a safer choice for everyday computing needs.


So, what have I missed?

Well, needless to say, there's a lot going on 'under the hood' insofar as Ostree is concerned.  But, I leave that 'meaty' topic for another day.   Once I have thoroughly wrapped my head around it and can be in a position to talk intelligently about it, I will perhaps write more in-depth about the finer points of ostree and the long-range implications of its use in the Linux ecosystem.  

Overall, I think EOS succeeds in making a high-quality commercial Distro that offers locally cached applications.

Is EOS a trend or a 'one-off' technology mutation?  I would say it is most definitely a trend.  And, I would expect another one or two companies will attempt to utilize OSTree in year 2016.

Will the non-commercial Distro community at large see the virtues of OSTree and be swayed to make a wholesale switch to replace remote repos and traditional package managers?  I am not so sure.  Given the technical hurdles, and the lack of resources for many solo Developers, it will be a slow process of change for them, at least initially.  But, who knows the future?  Really.  I could be wrong.

Canonical Ltd. have their sights set on the package manager proliferation problem and are now offering their own solution called Snap.

Clearly, Red Hat's Atomic.io and rpm-ostree initiatives indicate their serious investment in this realm  and naturally they have the resources to advance and migrate to using OSTree on a larger scale.

Interestingly, at last check the other day, I wasn't able to find a reference to EOS at Distrowatch.com.

I think that will do it for now.  Thanks for reading.  -- Dietrich


Post a Comment