Busting Major Myths Around elementary OS

Daniel Foré
Nov 18, 2016 · Unlisted

If you thought we’d dropped off the face of the planet, you probably missed it: we have moved away from Medium and started publishing on our faster, open source, and privacy-respecting blog at blog.elementary.io. We’ve kept this blog post unlisted here on Medium for posterity, but all recent and future posts as of November, 2019 are exclusively hosted there.


The open source desktop landscape is complicated. There are many distros, many desktop environments, and so many things to know about each of them. We often see folks fall into some of the same pieces of misinformation when reporting on or commenting about elementary OS. So here’s a look at some of the major myths around elementary OS and what the actual facts are.

“elementary OS uses GNOME Shell”

Image for post
Image for post
GNOME Shell’s Overview

This is a pretty easy mistake to make. GNOME has been around a long time and there are quite a few distros that just ship with a modified version of it. But, elementary OS ships with our own home-grown desktop environment called Pantheon. Just recently, Pantheon has been recognized in both the freedesktop.org menu specification and in AppStream.

Unlike GNOME Shell, Pantheon is made up of a number of individual components. The panel, window manager, and dock are all separate programs, as are many other small helper programs like the Polkit Agent which handles authentication dialogs. In GNOME Shell these are all part of a single monolithic program. We believe that our choice of architecture makes the desktop environment more robust and ensures that others are able to benefit from our work by remixing it into their own distributions.

Another major notable difference between GNOME Shell and Pantheon is choice of programming language. Pantheon is written in Vala, while GNOME Shell is written in JavaScript (Specifically, GJS). Just to reiterate, these are totally separate unrelated code bases and are not derived from each other at all. We’re committed to using a single language across our entire desktop and apps. This allows us to share code, enforce a consistent code style, and ensure developers writing their own apps can learn from and adapt our code to new purposes.

“elementary OS is just a skin for Ubuntu”

We maintain over 90 distinct open source projects. These include our desktop environment Pantheon and its components like the panel, window manager, app launcher, settings app and plugs, and system indicators; over a dozen apps like AppCenter, Music, Calendar, Calculator, Camera, Photos, Videos, Code, and Terminal; libraries like Granite; daemons and agents for services like Parental Controls and Polkit; patches for upstream projects including unique configurations; code that puts all of that together into the final disk image; and then of course our system stylesheet and icons which extend past the freedesktop.org specification and provide 3rd party developers with a more expansive set of assets than what comes with Ubuntu.

But it doesn’t stop with providing things on top of Ubuntu. elementary OS is not a remixed Ubuntu disk image. Instead, we build elementary OS images from metapackage seeds, just like Debian. This gives us the ability to tailor an experience that not only changes little things like showing password feedback asterisks in Terminal, but big things like using LibInput instead of xinput for better touchpad support.

“elementary OS is made to look like macOS”

Image for post
Image for post
A Typical GNOME 2 desktop

Pantheon was originally developed to be a successor to GNOME 2, the desktop environment that we shipped in the first version of elementary OS. Many of the decisions about the layout of the desktop come from that heritage, including an applications menu at the top left, indicators with a session menu at the top right, and a place to switch between apps and workspaces at the bottom of the display. The first few iterations of our desktop included multiple docks or panels in different styles, sizes, and positions, but in the end we kept a single dock at the bottom of the screen. While at first glance it might look similar to the one found in OS X, the behavior of our dock is quite different, especially with regards to our hide mode which doesn’t steal screen real estate away from apps while you’re working.

Some things you won’t find in elementary OS are the iconic “traffic light” window buttons or a global menu. We also have chosen to make much wider use of colorful iconography in a style derived from Tango!, which is quite different from both the hyper-real app icons and the flat symbolic toolbar icons you’ll see in macOS. We’ve avoided trends like translucency, extra gloss, and over-flatness and instead have opted to take a number of more timeless notes from things like Material design, emphasizing the use of light, shadow, and color to help break up an application’s layout and provide clarity.

“elementary just forks other apps and doesn’t write their own”

There are two other apps that might loosely qualify as forks: Files and Music. Both of these were originally developed for elementary OS, but the development team split over technical disagreements. In both cases, elementary gave up the original names to the developers who left.

On to the misconceptions! Switchboard (aka System Settings) is not a fork of GNOME Control Center. elementary maintains a compatibility layer that allows Control Center panes to be displayed, and we currently only ship 4 out of 22 of these by default. The major difference being that Switchboard is designed from the beginning to be extensible and modular, making it easier to reuse and re-mix in new fledgling desktop environments, but also that our Switchboard panes contain settings that are unique to our desktop environment and applications. We don’t need to carry extra external apps to supplement or deal with settings that don’t apply.

“elementary writes their own apps for no good reason”

Image for post
Image for post
Pantheon Files’ column view

First and foremost and most important to our users, elementary apps have features that the other apps don’t. Files has the column view and our smart pathbar. Terminal has backlog search, smart copy/paste, and until recently was the only Terminal app to support notifications. Scratch is built around auto saving. And, all of the aforementioned apps make use of Granite’s tab bar widget which gives them some free extra features like Undo Close Tab, Close Other Tab, and Duplicate Tab. Building our own apps using complex widgets from a common library means that our users can expect features to translate across all of our apps. Every app is also built to adhere to our Human Interface Guidelines. Using common design patterns means you can learn one app and that knowledge applies to other apps as well. It’s part of what makes elementary OS so easy to pick up for people new to it. Building our own apps also gives us the ability to create unique system features like Privacy Mode and gives us special insight into how to make a desktop environment and platform that makes it easier for third parties to develop powerful and feature-full apps.

But it’s also important to bear in mind that we don’t go our own way unless necessary. We make it a point to use and contribute back to standard libraries and avoid writing things that have already been written. And if one of our upstreams comes up with a better solution, we’re happy to retire our code in favor of it, a prime example being the several utilities and widgets that we’ve retired from Granite. We believe that having multiple implementations of a library makes sure that interests are diverse and the library will remain useful to more than just the original authors. We also recognize that development resources are scarce and precious. Focus is the key to success and it means saying “no” to time sinks.

“elementary OS is for noobs or dumbs down their apps”

It’s worth mentioning that elementary OS itself is developed with elementary apps. Scratch, Files, and Terminal need to be good development tools, because they’re the ones that we use every day. The people that develop elementary apps are using them for pro user cases and we think about how to make the system more powerful out of the box by including useful tools like Parental Controls and Firewall settings. But we also think about how to make the system more lean and usable by removing clutter and distractions that get in the way of doing meaningful things.

“elementary doesn’t allow other distros to use Pantheon or their apps”

Image for post
Image for post
Pantheon running on Manjaro

This is patently false. All of our desktop code is licensed under the terms of the GPL. That means that we explicitly allow anyone to reuse, remix, and redistribute this code. We also work directly with developers who are interested in porting our code to run on other distros. There are preliminary working versions of Pantheon available on Arch and Fedora, with efforts underway to port to Gentoo and Suse among others. Also of note, several of our apps are currently available in upstream Debian.

“elementary OS holds back updates”

“elementary doesn’t contribute to upstream projects”

We also have several downstreams and we work with them regularly, for example Xubuntu who uses a derivative of elementary icons. In fact, Humanity (the Ubuntu icon set), is derived from elementary icons and many downstreams use derivatives of those icons like Mint. We’re also happy to see that other distros have started picking up useful tools like our Captive Network Assistant.

Something else we’ve done pretty recently is to revitalize the development of valadoc.org. We fixed broken features, gave it a massive visual overhaul, and now serve the site over HTTPS. We’ve also joined the Snap Format technical oversight board. So we’re very interested in participating in technologies that benefit the wider open source ecosystem.

¯\_(ツ)_/¯


We’d like to say thanks again to our supporters on Bountysource and Patreon, those who’ve purchased a copy of elementary OS or merch from our store. Every contribution helps make all of this possible, and we wouldn’t be here without you! If you’d like to help improve elementary OS, don’t hesitate to Get Involved!

elementary

We design and develop the fast, open, and…

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store