Hello and welcome to the twenty-first edition of Linux++, a weekly dive into the major topics, events, and headlines throughout the Linux world. This issue covers the time period starting Sunday, June 21, 2020 and ending Sunday, July 12, 2020.
This is not meant to be a deep dive into the different topics, but more like a curated selection of what I find most interesting each week with links provided to delve into the material as much as your heart desires.
If you missed the last report, Issue 20 from June 20, 2020, you can find it here. You can also find all of the issues posted on the official Linux++ Twitter account here or follow the Linux++ publication on the Destination Linux Network’s Front Page Linux platform here.
In addition, there is a Telegram group dedicated to the readers and anyone else interested in discussion about the newest updates in the GNU/Linux world available to join here.
For those that would like to get in contact with me regarding news, interview opportunities, or just to say hello, you can send an email to firstname.lastname@example.org. I would definitely love to chat!
NOTE: For those who are still running distributions with the Ubuntu 19.10 “Eoan Ermine” base, the end of life is coming up in just a short time (July 17). Please upgrade to 20.04 when you find the time as 19.10 will no longer be receiving security or any other updates after that date. Protect yourself–keep your system up-to-date!
There is a lot to cover so let’s dive right in!
As mentioned in the last issue, June was one of my busiest months of the year for me (and it looks like July will continue that trend). However, I’m happy to report that our wedding went off without a hitch. Of course, it wasn’t what we had planned at the beginning of the year, but the fact that we were forced to keep the festivities small was actually a blessing in disguise and fit our personalities much more faithfully.
It definitely feels weird having “tied the knot” after knowing each other for over a decade and spending seven of those years as a couple. We may have done things a bit unconventionally, but I was glad that our two year old boy was able to attend and provide some perfect comic relief as he made his way down the isle with Grandma. It was certainly a day to remember!
I feel so lucky to have had the love and support of my best friend beside me for so long and that we finally got hitched even in the unusual circumstances our world faces today. So, I want to dedicate this issue of Linux++ to my wonderful wife, Ashley Marie Londo (that still sounds weird!). Thank you for always believing in me and supporting me through the good times and the bad. I can’t wait to watch our family grow and look forward to the journey ahead! I love you, Ashley!
Onwards and upwards!
Linux Mint 20 “Ulyana” Available Now!
Well, after a bit of drama over the last few weeks, the Linux Mint team has released their highly-anticipated Linux Mint 20, codenamed “Ulyana”. Based on the Ubuntu 20.04 LTS release that came out earlier this year, Ulyana comes with quite a few improvements over its predecessors. Linux Mint is available in several desktop flavors including their homegrown Cinnamon, MATE, and Xfce.
Like Ubuntu 20.04, Linux Mint is a long-term support (LTS) release that will see continued support until 2025. Besides a ton of “papercut” improvements along with some really nice improvements to Cinnamon, Linux Mint 20 employs some really new and interesting features that feel right at home with the rest of Linux Mint’s helpful tooling system.
Possibly the most talked about feature of Ulyana is the addition of a new file sharing tool named Warpinator. The inspiration for Warpinator comes from a tool utilized by Linux Mint a decade ago, Giver. Giver allowed users to share files across the local area network easily. This tool was great because you could automatically see other devices on the network without any kind of configuration and could simply drop files to those devices (think AirDrop from Apple).
The Giver project was deprecated over 10 years ago and it was no longer included in the Linux Mint repositories. So, with Linux Mint 20, the team decided to reimplement the tool, as a much more modern utility with a nicer user interface.
Gone are the days of having to lug around external media just to transfer a couple files from one device to the next. This will obviously be a very popular tool for those coming from the Apple ecosystem and is just another shining example of how committed Linux Mint are to ensuring that their distribution is beginner friendly and highly usable.
Another killer feature that ships with Linux Mint 20 is greatly improved support for NVIDIA Optimus. NVIDIA has been known to be quite unfriendly to Linux environments to the point that even Linus Torvalds himself has cursed their name during a public event at Aalto University in Helsinki, Finland.
The primary issue with NVIDIA’s extremely popular graphical processing units (GPUs) is that the company refuses to open source their drivers, unlike their competitors Intel and AMD. Instead, NVIDIA releases what are known as binary blob drivers, which only provide compiled code in binary format instead of the full source code. This makes integration into open source projects like the Linux kernel extremely difficult to optimize and integrate with the rest of the kernel modules.
Therefore, Linux distributions have had a long history of battling with the mass amount of computers on the market that include NVIDIA’s products, especially high-performance systems. In response, free and open source developers have built a project called Nouveau, which attempts to reverse engineer software drivers for NVIDIA products, with a mixed bag of results and lower performance across the board than the binary blobs provided by NVIDIA.
Therefore, Linux distributions that wish to work across all platforms must include these binary blobs. However, up until recently, the work required to switch between utilizing the integrated graphics cards and discrete NVIDIA cards has been a pain in the rear.
In order to make this easier for newer users that wish to use their NVIDIA card for some tasks, but not all, the Mint team have implemented a new applet called “NVIDIA Prime”. This feature allows users to simply switch between their integrated GPU and the NVIDIA GPU with a click of a button in the system tray. Moreover, an option to run NVIDIA On-Demand mode was integrated, which allows users to render their session with the integrated GPU and offload appropriate applications to the NVIDIA card when necessary.
Consequently, functionality has been added to the application menu to allow applications to be launched using the NVIDIA GPU separately from the rest of the system with a drop-down menu option labeled “Run with NVIDIA GPU”.
Additionally, two new commands are available through the CLI to offload to GLX or Vulkan–
nvidia-optimus-offload-vulkan, respectively. In order to improve compatibility and simplify booting Linux Mint 20 in live mode without NVIDIA drivers, the Mint team has also added
nomodeset to “Compatibility Mode”.
Even though this is not necessarily ground breaking, as work similar to this has been pioneered by GNOME, in conjunction with System76 in their Pop!_OS distribution, it is still nice to see a wider variety of distributions integrating these functionalities within the graphical interface of the OS itself to make life even easier for their userbase. The wonders of free and open source software at work!
In addition to the new applications and functionality in Linux Mint 20 comes an updated version of their homegrown Cinnamon desktop environment to 4.6. The headline feature includes significant performance improvements to the default file manager, Nemo, by delaying thumbnail generation while navigating the filesystem. This is achieved by using generic thumbnail icons before the actual thumbnails are rendered.
This also has a clear effect on heavy disk I/O operations like transferring large video files to external devices. In addition, the option to set a custom display refresh rate different from the preferred rate has been added to the Display Settings menu.
Another major and highly appreciated improvement is that of the addition of fractional scaling in Cinnamon 4.6. With this new functionality, users are able to scale their monitors at percentages between 100% and 200% and can even set different values across different monitors.
Experimental fractional scaling was introduced in GNOME 3.34 (the desktop environment that Cinnamon was forked from back in 2011), however, the Mint developers have included the ability to alter scaling by 25% intervals instead of GNOME’s 100% or 200% only options.
There are some other smaller functionalities included in Cinnamon 4.6 like cycling through keyboard layouts by middle-clicking on the keyboard applet and support for custom commands in Cinnamon screensaver.
In addition to all of this, the Mint team has completely redone the Gdebi (a tool to install .deb files) interface and have provided a number of options available to the default Mint-Y theme (the addition of yellow colored folder icons, for instance). In fact, the Mint developers have integrated the ability to switch desktop color themes into the welcome application upon initial boot (and by launching the welcome application later).
Some other system-level improvements inlcude switching Mint’s Apturl backend from Synaptic to Aptdaemon, enabling APT recommends by default for newly installed packages, disabling
snapd by default and not allowing APT to install it (read more about that in Issue 20 here), VirtualBox live sessions having resolution increased to a minimum of 1024×768, and the upgrade to linux-firmware 1.187 and Linux kernel version 5.4 LTS.
So, I want to give a huge congratulations to the Mint team on what appears to be a great new release and wish them nothing but the best in the future!
There are a ton of other smaller inclusions in Linux Mint 20, so be sure to read the release notes that can be found here. If you would like to keep up-to-date with the Mint team, you can find them on Twitter, the official Linux Mint forums, or their news blog. In addition, if you would like to try out Linux Mint 20, “Ulyana”, you can find the downloadable images available here.
PinePhone postmarketOS Community Edition Revealed
A few months ago, PINE64 made a huge announcement that their first version of the PinePhone (since the BraveHeart edition) would be shipping with the popular Ubuntu Touch operating system by the wonderful folks at UBports. Not only that, the community-driven Linux hardware company also revealed that the phone itself would become a special “Community Edition” that would have Ubuntu Touch and UBports branding.
In that same announcement post, PINE64 also commented that there would be other Community Edition PinePhones being released in the future that would focus on a single mobile operating system like the UBports edition did.
Well, after a short wait, the next PinePhone Community Edition has been revealed–postmarketOS. For those who are unfamiliar with postmarketOS, the project is based off a minimal Linux distribution called Alpine Linux. Unlike Alpine, however, postmarketOS is heavily focused on the mobile phone space, especially as a real alternative to Google’s Android and Apple’s iOS. From their announcement post:
“postmarketOS was created to take a stand against the smartphone industry. Compared to what we see on desktop machines, smartphones have artificially short software update lifespans. You cannot even download updates for installed apps without logging in. And unless you are extremely careful, the downloaded (or even pre-installed) apps will turn the little device in your pocket into an advertising and malware-riddled combination of big brother and a slot machine.
PINE64 breaks tradition with that very industry. Their PinePhone is not just another Android based smartphone that inherits all of Android’s problems. Instead, PINE64 has focused on creating amazing hardware and encouraged many alternative FLOSS smartphone OS developers to port their project to the PinePhone.“
The postmarketOS team has been heavily involved with PINE64 pretty much since the beginnings of the PinePhone project and have been considered the “flagship” operating system for quite a while. postmarketOS supports two different environments including KDE‘s Plasma Mobile and Purism‘s Phosh (based on the GNOME Shell), which was originally created for their Librem 5 phone’s PureOS operating system.
However, the postmarketOS developers do say that they are only including the Phosh version of their operating system for the PinePhone community edition, due to the fact that it would be much more work to attempt to optimize both graphical environments. If you are a fan of Plasma Mobile, you can certainly download the latest postmarketOS Plasma Mobile edition and flash it onto the PinePhone at any time.
Now, the postmarketOS developers want to make sure that you know what you’re getting when you purchase their PinePhone Community Edition. From their release announcement:
“Before we get into the details: postmarketOS is in beta state. The parts to have basic smartphone functionality with phone calls, SMS, mobile data, Wi-Fi, and a touch friendly UI are there. But as of this writing, there are too many bugs to provide a reasonable user experience. We will fix as much as we can over the next weeks, until the device is shipped to everyone who has pre-ordered. More fixes and improvements will become available over time through software updates… Please have realistic expectations.”
I have to say–even though I do not own a PinePhone yet, watching the community come together like this around a product that could truly be transformational is awesome. Both Ubuntu Touch and postmarketOS have more than proven their capabilities as mobile operating systems and I am extremely excited to see how much they improve as these phones start making their way out to users and testers.
The only way to improve the products that we want to see in the world is to test them, report the issues we have, and support the companies spending their valuable time and resources in order to bring the lovely privacy, security, and freedom aspects of Linux to the smartphone market.
So, congrats to PINE64 and the postmarketOS developers on putting out another amazing combination of hardware and software. And for those that have already pre-ordered…we salute you. Thank you for your support of awesome initiatives like the PinePhone!
If you would like to read the official announcement post from PINE 64, you can find it here. If you would like to read the announcement from postmarketOS, you can find that here. In addition, if you would like to purchase a postmarketOS Community Edition PinePhone for yourself, you can do so here.
openSUSE Leap 15.2 Arrives
The openSUSE project has long been a shining example of how an enterprise Linux solution can be implemented into a free and open source operating system for users who are using desktops or small systems, without the need for official, paid support. The project started in October 2005 as a beta release for SUSE‘s official SUSE LInux 10.0.
It has continued on as a free and open source version of SUSE Enterprise Linux Server (SLES) and has two different modes of update delivery. The static release, known as Leap, brings major updates every 12 months (approximately). The rolling release, known as Tumbleweed receives continuous upgrades as soon as they are made available in the SUSE repositories and can sometimes serve as a testing ground for new and cutting edge software before it is included in SUSE Enterprise Linux.
Earlier this month, openSUSE announced the release of Leap 15.2, the next iteration in the static release series. With it comes a ton of new features and upgrades that have been tried and tested against the Tumbleweed repository. Of course, one of the most important upgrades is that of the Linux kernel itself, moving from version 4.12 to 5.3.18. This is the same kernel used in SUSE Linux Enterprise 15 Service Pack 2, allowing for the same security practices between the free and enterprise versions.
Some new improvements found in Leap 15 with kernel 5.3 include support for AMD Navi GPUs, new IPv4 addresses, RISC-V code improvements, and compatibility with Intel Speed Select, which is used in Intel Xeon servers. Therefore, Leap 15.2 is available for a variety of processor architectures including amd64, ARM (aarch64, ARMv7), and PowerPC. In addition, Leap 15.2 can be run on physical hardware, virtual machines (as the host and guest), and in many different cloud computing platforms like Amazon’s AWS (Amazon Web Services) and Google’s GCP (Google Cloud Platform).
In addition, the GNU Compiler Collection (GCC) version 9 is available with Leap 15.2 along with GCC 8 and GCC 7. GCC 9 introduces many new improvements across the board including improvements with the Fortran compiler and OpenACC support for the C and C++ compilers.
Moreover, the dehydrated client has been added to Leap 15.2. The dehydrated client is a relatively simple bash script for signing certificates with an ACME-server, which is currently only implemented through Let’s Encrypt (letsencrypt).
In addition, the default init system, systemd, continues on as version 234, which was implemented in Leap 15.0 and 15.1. However, many fixes and functionality from newer versions of systemd have been backported to version 234.
Snapper, the openSUSE tool for managing Btrfs and LVM snapshots, has improved support for scripting due to the new machine-readable output. Additionally, the libzypp plugin for Snapper has been refactored to remove Python dependencies, which should improve its usability in systems with very reduced package sets.
Moreover, the core configuration tool for openSUSE, YaST, has seen multiple improvements shipping with Leap 15.2 including splitting system configuration between
/etc, improved compatibility with the Windows Subsystem for Linux (WSL) platform, reworking of the YaST Network module to improve the stability of the module as well as keep the codebase consistent, integration for creating and managing a Btrfs file system that expands over multiple devices with advanced encryption technologies, a faster implementation of the Software Manager, functionality improvements to the NFS module, and the use of systemd timers to configure clock synchronizations in the NTP Client.
Other important software upgrades included in Leap 15.2 include PHP 7.4.6, LibreOffice Suite 6.4, Mozilla Thunderbird 68.5.0, Firefox ESR (Extended Support Release) version 68.5.0, VLC 3.0.7, Xfce 4.14, GNOME 3.34, Qt 5.12 LTS, KDE Plasma 5.18 LTS, Sway 1.4, KDE Frameworks 5.68.0, KDE Applications 20.04.2, and the latest version of Chromium.
Obviously, there has been quite a few improvements since the last release of Leap, and the upgrades listed above are only a fraction of what was implemented. Now, if you’re running openSUSE Tumbleweed, you’ve likely seen these improvements drop in periodically, however, if you’re on Leap, enjoy the awesome updates and useability improvements that come with 15.2.
I want to give a huge shout out to the openSUSE team who work tirelessly to continuously put out extremely high quality software in a very professional manner. Congrats on the release of openSUSE Leap 15.2 and I can’t wait to watch the future of openSUSE unfold!
If you would like to check out the official release notes for openSUSE Leap 15.2, you can find them here. If you would like to keep up to date with the openSUSE project, you can find them on Twitter, Facebook, and their official news blog. In addition, if you would like to try out Leap 15.2 for yourself, you can find all of the download options here.
Rolling Rhino: A Whole New Ubuntu World
Over the years, the rolling release style of system updates has been made popular by distributions like Arch Linux (and offshoots like Manjaro or EndeavourOS), Solus, Void Linux, KaOS, and openSUSE Tumbleweed. The idea of static releases comes from a time when Linux was mostly used on servers, however, some people still require having a stable operating system that doesn’t continually move the goal posts. However, with the rise of containers and container orchestration technology like Kubernetes for structured development and deployment environments, the need for having a stable, out-of-date host operating system becomes less and less important to a large portion of Linux users, software engineers.
Of course, when the uninitiated think of the rolling release model and stability, they often conjure up the idea of an operating system that constantly breaks and needs attention with every update. That may have been true even just a few years ago, however, these days rolling release distributions can be just as stable as their static counterparts (or by some accounts, even moreso). Some are more user friendly than others, but as a whole rolling release distributions have become much more robust to changes and breakages.
So naturally, with this shift in thinking from static releases to rolling releases, people have always wondered what it would look like to have a rolling release version of the most popular Linux distribution on the planet, Canonical‘s Ubuntu. Since its inception in 2004, Ubuntu has pretty much had the same release schedule all the way through–six month intervals between static releases, with LTS (long-term support) releases occurring every two years. So, what happened if you tried to turn Ubuntu into a rolling release distribution?
In a really cool discussion devised on the Ubuntu Podcast, guest podcaster, Stuart Langridge, and co-host, Martin Wimpress, came up with an idea. After answering feedback from their listeners about a possible rolling release version of Ubuntu ever becoming a reality, Stuart began describing how such a feat could work and Martin obviously took some notes. Since Martin is the head of the Ubuntu desktop team at Canonical, there was probably no one better to give the suggestion to. Later on, Sergio Schvezov reminded Martin that there is a development series for Ubuntu called
And, that’s how Rolling Rhino was born. The name “Rolling Rhino” (originated from Stuart) is a play on Ubuntu’s use of version codenames for each release that include a colorful adjective followed by an animal that starts with the same letter, which increments by one up the alphabet with every release (the last two releases were “Eoan Ermine” and “Focal Fossa” for example).
Rolling Rhino, however, is actually just a bash script that Martin wrote that allows a user of a daily image to opt into the
devel series and “roll” along the development build, receiving updates as soon as they hit the branch. It can be used with any of the official Ubuntu flavours, like Kubuntu, Ubuntu MATE, etc. Not only did Martin write the script for people to use, but he also did so live on camera!
Now, before you go out downloading this script and running it, there are a couple of caveats. First, you must have a daily build of Ubuntu (or whatever your flavour is), which can be found here. The script checks for your release version and if you don’t have a daily image, it will fail gracefully. From the Rolling Rhino GitHub README:
“If you use Rolling Rhino to opt-in to the
devel series you’re assuming support of your system, including taking care of PPA migrations, cleaning obsolete/orphaned packages and actively participating in any issue resolution for problems you may encounter via Launchpad using tools such as
If you still want to experiment with the Rolling Rhino script, you can install and run the script using the following three commands in your terminal:
$ git clone https://github.com/wimpysworld/rolling-rhino.git $ cd rolling-rhino $ ./rolling-rhino
Now you can see what it feels like to run a rolling release version of Ubuntu! I think everyone in the community would like to give a huge shout out and thank you to Martin for actually implementing this idea and explaining how it works via recording. This is some really cool stuff!
If you would like to check out the code, it is hosted by Martin on GitHub here. In addition, if you would like to witness the origins of Rolling Rhino, you can listen to the discussion that spawned it on Ubuntu Podcast S13E14 here. The video of Martin actually creating the
rolling-rhino bash script is linked below:
System76 Reveals Next Generation Oryx Pro with NVIDIA Graphics and Open Firmware
I’m not sure how many times I can continue to introduce System 76 on this publication. So, I’ll keep it short and sweet. If you are interested in Linux and specifically Linux-focused hardware vendors, please do yourself a favor and check out this company that has been working in this space for over a decade (if you’d like a quick refresh, check out the interview with System76 CEO Carl Richell in Linux++ Issue 9 here).
Recently, the Linux-first company made an awesome announcement that truly piques my interest. The news includes the release of the 6th generation Oryx Pro, an extremely powerful desktop-replacement laptop. Now, having owned a 5th gen Oryx Pro for nearly two years, I can tell you that this is one great laptop.
It has grown to become my daily driver (even over my actual desktop system) as the integration between their in-house Pop!_OS distribution and their especially tweaked hardware has provided by far the best out-of-the-box personal Linux system I’ve ever touched. Another reason I chose the Oryx Pro over some other high-powered systems out there was the seamless integration with NVIDIA‘s GPUs, as they were required for some intense, large problem space computation that I work on for a living.
So, as someone who wishes they could continuously buy the newest model every time they’re released, I was excited to dig into the new features for this next generation. First off, the new Oryx Pro ships with a choice of an updated version of Pop!_OS or Ubuntu–the latest 20.04 LTS release. Considering the massive improvements that have dropped with what is considered by many to be one of the best Ubuntu releases of all time, you can expect this bad boy to purr right out of the gate (Oh, GNOME 3.36, how you’ve made me love my Oryx even more).
The next massive upgrade you’ll see is in the firmware department. Yes, this model of the Oryx Pro is shipping with both System 76 Open Firmware (based on coreboot) as well as System 76 Open Source Embedded Controller Firmware! “But Eric,” you might say, “System76 has already been shipping those on their smaller models like the Lemur Pro.” And you’d be right, however, the important aspect involving this open firmware move is the inclusion of it on a system that uses an NVIDIA graphics card by default.
So, here’s the skinny, if you’ve been following Linux for the last decade, then you know that NVIDIA has received the wrath of many people in the open source community (including Linus himself). Why? Because instead of open sourcing their drivers for inclusion into the Linux kernel like Intel and AMD have done, NVIDIA refuses to give up their secret sauce and only provides binary blob drivers to be included for computers that run NVIDIA graphics. Pretty crappy, huh?
Well, it gets even worse. Even with steadily growing movements by open source hardware companies like System 76 and PINE64, NVIDIA has continuously refused the call. This makes implementing open firmware on systems with NVIDIA technology especially difficult, because the developers have no actual code to work with!
So, if you’ve continued to follow me through that jungle, that’s why this inclusion is so important. System 76 is starting to harmonize all their systems regardless of the ongoing problems with NVIDIA’s view on open source. That’s great news!
Of course, those aren’t the only aspects exciting about this new release. The Oryx Pro 6th gen can be maxed out like a monster including a 10th Gen Intel Core i7-10875H at up to 5.1 GHz with 16 MB cache, 8 cores, and 16 threads. In addition, the Oryx Pro comes with the choice of a 15.6″ or 17.3″ FHD (1920×1080) 144Hz refresh matte display, an NVIDIA GeForce 2060, 2070, or 2080 Super graphics card, up to 64 GB dual-channel DDR4 RAM, space for up to 2 M.2 drives (SATA or PCIe NVMe) for a total of 4 TB of storage, a 1.0M HD Video Camera, and an Embedded 3 cell Polymer battery pack sporting 73 Wh.
As far as networking is concerned, the Oryx Pro comes battle ready with Gigabit Ethernet and an Intel Wireless Wi-Fi 6 AX + Bluetooth card. And with all that power, this monster isn’t lacking on ports selection side of things where it includes a USB 3.2 Type-C with Thunderbolt 3, three other USB 3.2 ports, a MicroSD Card Reader, a 2-in-1 Audio Jack, an HDMI Display Port (with HDCP), a Mini DisplayPort 1.4, and a Thunderbolt 3 display connection.
All of that comes at a starting price of about $1,700 USD (without maxxing out all the hardware). I have to admit, I’m really excited that System 76 has conquered the open firmware with their NVIDIA machines, as I really love the coreboot capabilities of my Galago Pro and wished that I could have gotten that on my Oryx Pro. Well, for me–we’ll see what’s up in ten years. However, if you’re looking for a new high-powered laptop that runs Linux like a dream, you have to check out the new Oryx Pro.
Congrats to all the wonderful people at System 76 who continue to push the boundaries of what open hardware can and should look like. This release is a true winner!
If you would like to check out the official Oryx Pro webpage over at System76’s new website, you can find it here. In addition, if you would like to follow along and receive updates on System 76 themselves, you can find them on Twitter here or keep a close eye on their homepage here.
Serpent OS: A Truly Modern Linux Distribution
Not everyone in the Linux community has heard of Ikey Doherty. Ikey is an extremely talented programmer from the Republic of Ireland that has done some great work on Linux distributions in the past. Ikey began the Evolve OS project in 2013 as well as his new desktop environment that he wanted to keep fairly traditional, but extremely modernized. That desktop environment has grown into the phenomenon that is Budgie and Evolve OS grew into the wonderful and independently developed Solus distribution.
And, as if one massive accomplishment wasn’t enough in the distro world, Ikey was also responsible for a lot of the groundwork that has led to another completely independent distribution (but for a more professional cause)–Intel’s Clear Linux. In fact, if you look at the two seemingly different distributions, you’ll find quite a few similarities under the hood.
However, Ikey left his Solus project and Budgie desktop environment in the very capable hands of his core team in 2018 and hasn’t contributed to the project since. In fact, Ikey wanted to explore a completely different area of computer programming–game development.
Today, Ikey is the owner of his own company, Lispy Snake Ltd., and works on their open source gaming engine and framework, Serpent. So, why might we be talking about a game developer considering he left the Linux development life over two years ago?
Well, folks, it appears that Ikey is back and his days of Linux development are no longer at an end, however, this time with a twist. This time, Ikey isn’t appealing to the masses like with Solus, nor is he appealing to the enterprise as with Clear Linux. No, this time he wants to push the boundaries of what is possible by using only the most advanced technologies in the Linux ecosystem, and by extension, leaving behind those old, crusty software pieces that are “holding it back”. His new endeavor? Serpent OS.
From the about section on the Serpent OS website:
“In a nut shell, this is not ‘Linux for the masses’. This is a project setting out to use Linux as Linux should be. This will in turn help us to build a significantly advanced Linux distribution that is both modular and optimized for modern machines…
As we’re taking a distro-first, compatibility-later approach, our design decisions will allow us to take some bold steps. We’ll also be able to incorporate all of the more sensible design improvements in Linux distribution design over the last decade or so:
- No more usrbin split
- 100% clang-built throughout (including kernel)
libc, relying on compiler optimizations instead of inline asm
- LLVM’s binutils variants (
- Mixed source/binary distribution
- Moving away from
x86_64-genericbaseline to newer CPUs, including Intel and AMD specific optimizations
- Capability based subscriptions in package manager (Hardware/user choice/etc.)
UEFIonly. No more legacy boot.
- Completely open source, down to the bootstrap/rebuild scripts
- Seriously optimized for serious workloads
- Third party applications reliant on containers only. No compat-hacks
- Wayland only. X11 compatibility via containers will be investigated
- Fully stateless with management tools and upstreaming of patches
- Lots, lots more. We’ll blog about it.
As you can see, these are some pretty grandiose goals, however, there are few people I trust to accomplish a research task like this than Ikey. Now, keep in mind, this is cited as a research experiment of sorts. There is no guarantee that any of the above goals will completely come to fruition, but you can bet that the core team will do their best to hit each and every mark possible.
Also, this is a pretty fresh take on the Linux ecosystem. Usually, when you hear people complain about Linux, it’s a particular piece (like systemd, *sigh*), however, Ikey seems to think that there are multiple areas that are holding Linux back because of compatibility issues. Though this is not a distribution for everyone by any means, it sure will be interesting to see how much they can accomplish and what limits can be pushed. I do think that now, more than in a long time, the Linux ecosystem really needs to re-evaluate our position and technologies and start looking forward as much as possible. This project could definitely turn into a cataslyst or springboard for just that.
Only very, very early stages of work have been done so far on Serpent OS, however, if you would like to follow along with the developers on this journey, you can find Ikey on Twitter, the core team at #serpentos on Freenode IRC, and find the official blog posts here. In addition, the Serpent OS codebase is currently hosted in a GitHub repository here.
StarLabs Announces New Model & New Pre-Installed Options
Star Labs Systems is a relatively new player in the Linux hardware market, however, they are making some enticing computers for Linux users and enthusiasts alike. They have a very interesting history including conceptualizing the company while at a pub (you can learn more about the origins of Star Labs in Linux++ Issue 16 here).
Though not as well known as Linux hardware powerhouses like System 76, PINE64, or TUXEDO Computers, they are quickly becoming more visible in the space due to partnerships with many distributions and highly positive reviews from their userbase. Friendly competition is always welcome in the open source space, as it truly allows for creativity and innovation to come through.
One major difference that can be easily spotted between Star Labs’ offerings and other Linux dedicated laptops is that they actually build their own computer models instead of reselling Clevo chasis with different branding. This allows Star Labs much more flexibility and control over what they want to include in their systems and is very exciting!
Over the past month Star Labs has announced quite a bit of exciting news including the unveiling of their newest offering–the Star LapTop Mk IV. The new Mk IV comes with quite a few improvements over its predecessor, the Star LapTop Mk III and is definitely a heavy competitor with other Linux laptops in the same class.
Though the Mk IV starts out at $750, it can definitely be upgraded to become a true powerhouse. The system ships with Intel Core 10th gen processors (i7-10710u), up to 16 GB of 2400 MHz DDR4 RAM, a 13-inch 1080p Arch IPS matte display with 21% Haze and a hard coat that keeps your usage glare-free. For graphics, the Mk IV features Intel UHD 620 integrated graphics.
Moreover, Star Labs has optimized the setup of the Mk IV so that it is now nearly 200g lighter than the Mk III and is stated to have a battery life of around 7 hours, which is not bad at all for a Linux laptop in its class.
The Mk IV also features Star Labs’ own 480 GB Star Drive that boasts up to 3400 MB/s sequential read speed and 3000 MB/s sequential write speed. The Star Drive is over provisioned, which means that it includes extra capacity reserved by the SSD controller to manage read and write tasks. All in all, this feature increases the performance of I/O operations while also increasing the reliability and endurance of the drive.
As far as ports are concerned, the Star LapTop Mk IV comes with a USB-C port for simultaneous charging and data transfer. It also includes a DC Charging Jack, 2 USB 2.0 Type A, HDMI, a MicroSD reader, and a 3.5mm headphone jack.
Moreover, the Mk IV ships with a 60W USB-C power adaptor, which is compatibile with any other device that uses the USB PD (Power Delivery) standard. The power adaptor also includes an additional USB 3.0 Type A port that supports QuickCharge so that other devices can be charged at the same time as the Mk IV. Star Systems offers four different detachable plugs for the power adaptor including a US (Type A), UK (Type G), EU (Type F), and AU (Type I).
Some other nice features of the Mk IV include a backlit keyboard, a glass trackpad, dual speakers, and a function lock key.
However, the release of this magnificent computer wasn’t the only news that Star Systems has dropped recently. Though Star Labs’ products have shipped with choice of Ubuntu, Linux Mint, and Zorin OS for quite some time, recently, the company also included Manjaro into its pre-installed arsenal. However, the company isn’t stopping there. In the past month, they have reported partnerships with two other highly popular Linux distributions for pre-installation on their machines–elementary OS and MX Linux.
Watching their profile of available distributions grow is awesome and allows newer Linux users the ability to check out the different variety included in the distributions they offer and see which one fits best for them. In addition, this is the first hardware partnerships that elementary OS and MX Linux have made, which is extremely exciting for the developers and those that use their systems.
So, I want to give a huge congratulations to Star Labs on their newest Star LapTop Mk IV as well as the developers of MX Linux and elementary OS on their hardware partnerships. It will certianly be interesting to see what role Star Labs Systems takes in the Linux hardware ecosystem as they continue to grow and their visibility among Linux users is increased.
If you would like to check out the Star LapTop Mk IV, you can find information on its official webpage here. In addition, if you would like to keep up-to-date with the happenings around Star Labs Systems, you can follow them on Twitter, Facebook, Instagram, and their official news blog.
The Sudo Show: Newest DLN Podcast Hits the Airwaves
When open source technology and enterprise products combine, things can get a bit murky. Over the past two decades, open source software has proven its worth and is now utilized in one way or another by pretty much every business in existence. However, when I think back to pioneers of enterprise open source, my mind quickly shifts to two companies in particular–Red Hat and SUSE. Having bet their enterprise model on the viability of open source projects, namely the Linux kernel itself, they are truly a testament to the fact that open source software and enterprise products don’t have to be incompatible.
Thankfully, a new show on the Destination Linux Network (DLN), is attempting to bridge that gap for people who might not understand the intricacies of “enterprise open source”. Hosted by two Red Hat-ers, Eric the IT Guy and Brandon Johnson, the Sudo Show attempts to cover the vast arena of enterprise open source technology as well as important practices and philosophies like DevOps and company culture.
The show was announced earlier in June and has seen its very first episode entitled, “What is Enterprise Open Source?“. However, because the show is in early stages of development Eric and Brandon are looking for input from the open source community on the future direction of the show as well as the technologies that people would be interested in learning about from their unique perspective.
This is really exciting and a very unique idea that anyone looking to build their careers in open source software should definitely take a listen to! If you would like to learn more about the show, you can follow along with them on Twitter, their official website, and catch their podcast on any of your favorite platforms.
Below is a link to the first episode of the Sudo Show, for those who are interested:
Community Voice: Rudra Saraswat
This week Linux++ is very excited to welcome Rudra Saraswat, founder of the Ubuntu Unity Remix project, the UbuntuEd Remix project, and his own Linux distribution, Krob Linux. Of course, with this impressive amount of work, you would imagine Rudra to have at least a decade worth of development experience with Linux. Well, you would be wrong, as Rudra only has a decade of life experience total! That’s right, Rudra is a ten year old Linux developer, but is mature so far beyond his age. Ultimately, Rudra wants to transition into systems programming in order to work on projects like the Linux kernel itself. So, without further ado, I’m happy to present my interview with Rudra:
How would you describe Linux to someone who is unfamiliar with it, but interested?
“Linux is generally considered hard to use, but in reality it is quite easy. You just have to play around with it. It is completely free, unlike Windows, which you have to purchase. It is way faster than Windows or macOS and is secure. To those who do not know or care much about Linux and believe that they do not need it, I would like to tell them that they use Linux every day, whether they have an Android phone or use a Chromebook. If more and more people use Linux, it will also help in fixing bug #1 in Launchpad, namely, ‘Microsoft has a majority of market share’.”
What got you hooked on the Linux operating system and why do you continue to use it?
“I started using Linux (Arch Linux) at the age of 7. I used it as my old laptop was slowing down with a 3rd gen i5. Also, I’ve been developing Android apps using Java and XML since the age of 6. So earlier, on Windows, it used to take 10 minutes or more to build and test Android app code, despite changing just 1 or 2 lines, and the Android emulator was really slow on Windows (even with Genymotion). That’s when I decided to install Linux on my laptop.
I had also read that Arch Linux was extremely lightweight and that I could install it manually. I knew my way around cmd in Windows (like sh in Linux), so I decided that it was going to work well enough for me. I installed it through the live CD, installed some stuff onto it, and it worked very well and was blazing fast. My Android app builds were extremely fast now.
Later, I tried out Ubuntu and had a great experience with it, so I stuck with it. Then I started OS and kernel development in C and Assembly, and I found all the tools required to develop it in the Ubuntu repositories (such as nasm, gcc, mtools, qemu-system-x86, etc.). I had an old Precision tower, which I used for the intensive stuff and really had to persuade my mom to let me install Linux on it, as she thought that I would spoil the system (it had Windows earlier). She finally agreed to let me dual-boot it. So, now I was able to develop my OS on my Precision tower. I had started ROM development from AOSP and was glad to see that it would build well on Ubuntu.
These are just some of the reasons why I love Linux, started using it, and still use it today.”
What do you like to use Linux for? (Gaming, Development, Casual Use, Tinkering/Testing, etc.)
“I primarily use Linux for development, testing, video editing, photo editing, and my daily use. I also use FreeBSD. For Windows software, I use React OS.”
Do you have any preference towards desktop environments and distributions? Do you stick with one or try out multiple different kinds?
“I generally prefer Linux-From-Scratch, although I use Ubuntu on some of my systems due to the fact that it takes time for each LFS install. I’ve used other distributions like Fedora and Arch Linux in the past. I’ve also made and used basic Linux distributions with BusyBox, musl, GNU Make, etc. and have configured dpkg (it is broken in some installs, so I prefer to compile software manually). I’ve made a custom DE, which I use. I also like to use Unity7.”
What is your absolute favorite aspect about being part of the Linux and open source community?
“I really like the fact that there are many people like me who want to contribute in some way or the other, and that the whole community discusses and takes decisions. Also, you can easily ask for help and expect to get a reply, unlike the Windows and macOS communities.”
What is one FOSS project that you would like to bring to the attention of the community?
“There are many such projects and every day the list is growing due to active development in the community. Someday, a new release of the Linux kernel comes out, the next day the 8GB Raspberry Pi is announced. However, one FOSS project that really fascinates me is the LFS book (Linux-From-Scratch). It sounds like a theory-filled book, but it’s actually a project that is actively maintained. Believe it or not, it has Stable and Development releases, and it also has three variants! I would encourage Linux users who believe they have enough experience of compiling software and the Linux kernel to take a look at it.”
Do you think that the Linux ecosystem is too fragmented? Is fragmentation a good or bad thing in your view?
“I do believe that the Linux ecosystem is a bit fragmented, but I don’t really think it’s a big issue as people get to choose from among more distros and DEs and they can quickly get online help, if needed, to help them decide what would work best for them. But, first-time Linux/BSD users might get confused by the variety of options available. So, it depends on the circumstances.”
What do you think the future of Linux holds?
“I believe that Linux is going to be extremely successful in the future and will certainly topple Windows and macOS because of the variety it offers to all kinds of users. It has already toppled other OSes in the phone market.”
How did your adventure into developing for Linux come about?
“The first time I developed for Linux was when I created Krob Linux (Telegram group), the only KDE Plasma 5 distro for the Raspberry Pi 4. Since then, I learned how to make Ubuntu-based distros and Debian packaging.”
Where did the idea of bringing back Unity to Ubuntu come from?
“Like I said earlier, I had used Ubuntu 17.04 back when I was around 7-8 years old and I really loved Unity7. So, when Unity7 was discontinued by Canonical, I wasn’t happy and wanted to bring it back. I created this project to give Unity7 a new life.”
Since Ubuntu Unity Remix is a relatively new project, what has your experience been like with trying to build a vibrant community around the distribution? Has visibility of the project come organically or have you had to promote it a bit in order to build the community and gain some momentum?
“I had first posted about the Ubuntu Unity Remix on Ubuntu Discourse. Alan Pope was among the first few people to try it out (in fact, I was thrilled when he shared a screenshot of his system/VM running Ubuntu Unity Remix :)) and he retweeted our release post which helped in getting the community’s attention.
Thereafter, the Ubuntu Unity community gradually increased in size. It is a fact that Unity7 is still loved by many and people have stayed on Ubuntu 16.04 only for Unity7! I am really thankful to the community, our patrons, and donors for their love and support.”
Are there any Ubuntu Unity-specific features that you think sets it apart from other distributions? Even though it’s a new project, is there a particular “target audience” that Ubuntu Unity Remix is trying to reach?
“Ubuntu Unity aims to be as close as possible to Ubuntu and we do not plan to set up external repositories or provide additional software, as I am aiming for official flavor status for this remix. All advantages of Unity7 (HUD, Global Menu, etc.) that made it popular are still there, but in addition to that, I have tried to modernize Unity7 by adding Yaru + Papirus theming.
Apart from this, I regularly take input from the community (through polls) and try to incorporate their wishes. For example, I recently replaced Nautilus with the Nemo file manager, GDM3 with LightDM, etc. based on Twitter polls and also used the logo chosen by the community. Our target audience is mainly those who feel nostalgic, love the goodness of Unity7, and want it back.”
What is your favorite aspect of working on a project like Ubuntu Unity Remix?
“I really like to maintain this project, as it brings happiness to many people who love Unity7, including myself. There are bugs and challenges, but each bugfix release gives some satisfaction.”
Have you found any trouble with being a (significantly) younger member of the developer community, or has everyone been extremely helpful and encouraging along the way?
“People are mostly enthusiastic about younger people in the Linux community. However, there is one unhappy experience that I remember. I was kicked out and banned from a Linux Telegram group when the Admin got to know that I was 10 years old, maybe from the Internet (archive.org) or probably my username (@rs2009) gave away my age.
So, briefly, I had even changed my username and was really careful about my interactions with people. I was scared that I would be removed from the communities/groups. But, luckily, apart from that one unhappy experience, I haven’t faced any problems and people have largely been supportive, encouraging, and always ready to help an guide.”
Is there anything exciting planned for the future of Ubuntu Unity Remix, without giving too much away?
“I like to give surprises and have some planned for Ubuntu Unity :). All I would say for now is that I will continue to take input from the community and keep improving Ubuntu Unity.”
Do you have any major goals that you would love to achieve in the near future?
“As a side-project, I plan on creating a full Unix-like kernel in the future and I’ve started working on it already.”
I just want to wholeheartedly say thank you to Rudra for taking time out of his extremely busy schedule to prepare an interview with Linux++. It is really incredible to see the next generation of Linux developers rise up and produce some very impressive pieces of software. I’ve been waiting for a Unity Remix to become available and well-supported by the community and can’t say enough about how great of a person Rudra is. I really can’t wait to watch him progress over the years and I have no doubt that he will go on to do many great things in the Linux and open source world!
Exploring Linux History
In the previous issue, I released History of the Unix Family (Part 1) into the world, which covered the Unix-based operating systems up to the first release of the Linux kernel and the Unix Wars and Free Software Movement that helped push it to prominence. This time, we will look at the Linux lineage of systems as well as the aftermath of the Unix Wars and the impact on software that still ripples through to today.
So, how did an unlikely contender, which entered the Unix arena late in the game, grow from a computer science graduate student’s mind into one of the most powerful, flexible, and popular operating systems in existence?
Well, as with Unix, it all starts with an unlikely hero once again — Linus Torvalds of Helinski and his work on his Linux kernel.
History of the Unix Family: The Rise of Linux
“Hello everybody out there using minix –
I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them 🙂
P.S. Yes – it’s free of any minix code, and has a multi-threaded fs. It is NOT protable [portable] (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have :-(.“
Those were the harmless, unassuming words of the young Linus Torvalds on the comp.os.minix Usenet newsgroup as he breathed the very first public mention of the Linux kernel into existence on August 25, 1991 (as a side note, I was also birthed in late August 1991, which just goes to prove it was a great month in human history XD).
Two months later, Linus (at 21 years of age) released the source code for Linux 0.0.1 to the world, effectively introducing a freely available Unix-like operating system kernel. It included important software from the GNU Project, including their rewrite of the Bourne shell, Bash (The Bourne-Again Shell), and the GNU C Compiler (later renamed GCC for the GNU Compiler Collection).
Originally, Linus didn’t care for the name Linux as he thought it sounded too egotistical and instead opted for the name Freax, a combination of the words “free”, “freak”, and “x” (to pay respect to its Unix roots). However, when Ari Lemmke, a volunteer system administrator at Helinski University of Technology, was asked to host Linus’ project on their FTP server, FUNET, he felt the name Freax wasn’t appropriate and named the project “Linux” anyways. Eventually, Linus consented to the new name.
At this point, the GNU Project had made an immense amount of progress under the leadership of Richard Stallman. Conceived and implemented in September 1983, Stallman’s vision was to create a completely free and open Unix-like operating system by writing the vital pieces of software that made up a Unix system completely from scratch. By the late 1980s, most of the GNU system was complete except for one (extremely important) piece–the kernel, which lies at the heart of any operating system. Stallman’s decision to leave the kernel for last was to ensure that it could be optimized to work with the rest of the GNU stack seamlessly and would resolve many compatibility issues with their other programs.
However, when looking at designing a kernel, the GNU Project decided to go a different route than the Unixes and BSDs. Instead of the popular monolithic architecture, the GNU Project decided to build what is known as a microkernel, which effectively splits up the kernel into smaller, distinct programs that work together to give the functionality desired.
The microkernel concept actually followed the Unix philosophy much more faithfully–do one thing and do it well. In addition, this architecture would allow for the different components of the kernel to be separated in such a way that if one piece failed, the entire kernel wouldn’t crash, allowing for much greater stability.
In fact, this idea of the microkernel versus monolithic kernel became a surprising area of contention among operating system developers at the time. Andrew Tanenbaum, the developer of the MINIX operating system (of which Linux was partially inspired by) was extremely vocal about the virtues of using a microkernel in place of a monolithic kernel and got into heated debates with Linus (who chose a monolithic design for Linux) about his architectural choices on that same Usenet newsgroup where Linux was first announced.
Tanenbaum went on to say that Linux would be nothing more than a hobby project due to its perceived limitations in this area, however, it wouldn’t take long for him to be proved wrong.
At this time, the Unix Wars continued to rage on. Due to the divide of talented developers between AT&T’s UNIX System V standard and the BSD project, the stability of Unix started to come into question. The developers began competing to launch new features, more efficient power solutions, and improved performance, which left little time for them to worry about the stability of their systems. Consequently, this race for dominance ultimately hurt the viability of both operating systems in the industrial and commercial sectors.
Out in Silicon Valley, another company began making waves with their Unix and BSD-based operating system. It started with the 1985 removal of Apple Computer, Inc. Co-Founder and CEO, Steve Jobs, by his own board members. Leaving Apple behind, Jobs moved on to his next venture by founding a new company called NeXT, in order to compete with his former employer. In the late 1980s, NeXT began developing their own proprietary operating system, NeXTSTEP, for their workstation computers. NeXTSTEP was built as a hybrid operating system and was based on Carnigie Mellon’s Mach microkernel with source code from BSD.
In the early 1990s, Keith Bostic, a well-known BSD developer, proposed to release sections of AT&T’s proprietary code under the same license as their previous Net/1 release. In order to get around AT&T’s commercial license, the BSD developers began refactoring the important utilities to become void of AT&T code. They also wrote the first version of the BSD license in 1988 that was one of the most permissive licenses of the time.
In June 1991, Net/2 was released and became the base upon which two ports of the operating system to Intel 80386 architecture grew out of–the free 386BSD and the proprietary BSD/OS. Berkeley Software Design Inc. (BSDi), a company founded by former UC Berkeley researchers and BSD contributors Donn Seely, Mike Karels, Bill Jolitz, and Trent Hein, sold BSD/OS licenses for professional support and ran into some legal troubles with AT&T’s Unix System Laboratories (USL) in 1992. USL was born out of the break up of AT&T’s telecommunications monopoly, which allowed the company to sell their UNIX software and support and retained the System V copyright and UNIX trademark.
Shortly after 386BSD was released, two of the most important independent BSDs became initially based off of it–NetBSD and FreeBSD. Both offshoots were created in response to the lackluster development community surrounding 386BSD, which ended up phasing out soon after NetBSD and FreeBSD were established in April and November of 1993, respectively.
An injunction on the sale and distribution Net/2 (and BSD/OS) took effect until it could be determined if there were any copyright violations in BSDi’s source code. Consequently, a major halt on development of most BSD systems was put in place for nearly two years.
Meanwhile, at Bell Labs, the founders of Unix began working on a new research operating system in the late 1980s and early 1990s. Though Research Unix 7 became the last commercially available Research Unix system (and the predecessor to System V), the team at Bell Labs, including Ken Thompson, Dennis Ritchie, Rob Pike, Dave Presotto, Phil Winterbottom, and Brian Kernighan began experimenting with ways to improve the Unix architecture.
After working through Research Unix versions 8, 9, and 10, the Unix team at Bell Labs decided to take their ideas in a new direction and began work on the Plan 9 from Bell Labs (Plan 9 for short) operating system, which used Research Unix 10 for a starting point. The name was derived as a reference to the 1959 science fiction film, Plan 9 from Outer Space.
Plan 9 attempted to push the Unix philosophy of “everything is a file” even further with a network-centric filesystem and replacing the terminal I/O with a windowing system and graphical user interface known as Rio. In addition, the typical Unix shell was updated with the rc shell. Plan 9 was written in a special dialect of ANSI C and was heavily dependent on the use of complex input from the mouse (including “chording”) instead of the keyboard, like most Unix systems at the time.
On the other side of the world, Linus’ pet project, Linux, had gained a significant following with first tens, then hundreds of developers contributing to the source code. When Linux was first released, Linus had placed a more restrictive license than the GNU Project’s GNU General Public License (GPL) and didn’t allow for commercial activity to utilize Linux code in their proprietary software. However, Linus began to realize that a kernel wasn’t very useful to people on its own. In order to grow his operating system, Linus decided to re-license Linux under the GNU GPLv2 with the 0.12 release.
This proved to be one of the most important decisions made by Linus in the early days of Linux. After the re-licensing, GNU engineers began working on the Linux kernel in order to make it compatible with a wide range of extremely useful GNU software packages. This allowed for a fully functioning operating system to begin being distributed freely. In addition, the open nature of development allowed people from all over the world to contribute code to the Linux kernel, offering a diverse view on its architecture and functionality, and allowing for the code to improve and iterate much more quickly than operating systems built by single, proprietary teams.
This form of free and open source development had showed significant promise with the GNU Project and the non-profit organization that helped fund it, the Free Software Foundation (FSF), which was also founded by Richard Stallman in 1985. Many extremely talented software engineers (even those from large technology companies at the time) began volunteering their free time to improve and extend the functionality of the Linux kernel and the GNU software suite surrounding it.
One major advantage that the GPLv2 license had was that it required modifications of source code to be made available and pushed upstream to the Linux kernel itself upon request. This differed greatly from other popular free software licenses, like the BSD license, which basically allowed anyone to take and modify the source code as they saw fit with no return value to the upstream project itself. This allowed Linux to grow even more due to the companies who desired the technology contributing back to the project and growing ecosystem. Instead, BSD lost a lot of territory and possible improvements as corporations like NeXT (and later, Apple) took the BSD source code and turned it into their proprietary systems without so much as a nod.
The idea of a free and open Unix-like operating system became extremely important at this time with the massive licensing fees surrounding commercial UNIX systems as well as the legal issues plaguing BSD development. Simply put, Linux came precisely at the perfect time to take the world by storm. In fact, Linus has even commented that if the 386BSD or GNU’s multiserver microkernel, named the GNU Hurd, had been freely available and functional at the time, he wouldn’t have started work on Linux at all.
Early attempts by the GNU Project to make the Hurd a viable replacement kernel for a Unix-like system proved more difficult than originally thought due to some key architectural decisions by Stallman and company, including utilizing an advanced and, at the time, theoretical microkernel architecture utilizing the GNU Mach. However, even without their own functional kernel, the GNU Project and the Linux developers began to work very close and, in late 1991, the first Linux “distribution”, known as “Boot-root” hit the net.
Boot-root took its name from the fact that the system consisted of a two different floppy disk images (Boot & Root). One contained the Linux kernel itself for booting and installing the system and another for the GNU utilities and file system setup. However, the setup and installation of Boot-root wasn’t ideal and proved to be an extremely difficult process. To improve this process, other Linux distributions began popping up, such as MCC Interim Linux, Softlanding Linux System (SLS), and Yggdrasil Linux/GNU/X.
One of the most important events in early Linux history was the porting of the X Window System by Orest Zborowski in 1992, which allowed graphical user interface (GUI) support for the very first time. Without this extremely vital contribution, it is unlikely that Linux would have gained as much popularity and momentum as it did in such a short time span.
Of course, many corporations had already implemented proprietary Unix systems, so many software developers who became familiar with AT&T’s UNIX System V, Sun Microsystem‘s Solaris, IBM‘s AIX, Hewlett-Packard‘s HP-UX, Silicon Graphic‘s IRIX, Novell‘s Unixware, Cray‘s UNICOS and many more were eager to try out Linux as a free version of the software they loved.
In September 1992, the world would be introduced to the first company offering Linux support. Roland Dyroff, Burchild Steinbild, Hubert Mantel, and Thomas Fehr founded the Software and Systems Development Corporation, which became known as S.u.S.E. (in German: Software- und System-Entwicklung). The company started out by providing professional support to companies using commercial Unixes while also distributing early copies of Linux based on SLS.
SLS became the most popular distribution at the time because it was the first to include more than just the Linux kernel, GNU software, and common utilities–it also included an early implementation of the X Window System, for example. In many ways, SLS could be considered the first Linux distribution by today’s standards.
However, not everyone was happy with SLS. In July 1993, Patrick Volkerding decided to rewrite part of the SLS codebase to forge his own Slackware distribution. Around the same time, Ian Murdock, who was also dissatisfied with SLS, set out to create Debian, which saw its first release a few months later in December. Both Slackware and Debian blew up in popularity very quickly among the small, but burgeoning open source software community. In fact, S.u.S.E. began selling its first commercial Linux product in 1994–a modified version of Slackware.
In March 1993, the Common Open Software Environment (COSE) initiative was formed by what is now know as the “Big Six” (or “SUUSHI”) of the commercial Unix world–Unix System Laboratories (AT&T), Univel, Sun Microsystems, Hewlett-Packard, IBM, and the Santa Cruz Operation in order to bring the Unix community together against what had become a Microsoft monopoly over the corporate desktop, which was quickly bleeding into the Unix realm of technical workstations and enterprise data centers.
This partnership was quite different from previous commercial Unix relationships of the past in that it wasn’t formed as a coalition against other Unix vendors and it was focused on creating standards for existing Unixes, rather than improving technology for commercial domination of the Unix market. The COSE initiative led to two positive outcomes for the Unix vendors: the Spec 1170 which took into account all of the OS interfaces used by the major Unix vendors of the time, and a shared X11-based user environment and graphical user interface based on the Motif widget toolkit named the Common Desktop Environment. A few months later, the COSE would reform Spec 1170 into the Single UNIX Specification, which utilized the popular POSIX standard at its core.
In 1993, the Univel initiative brought about the purchase of AT&T’s USL by Novell. This allowed Novell to acquire the rights to the UNIX operating system and release their own version of UNIX based on System V called UnixWare, which borrowed source code from their popular NetWare network operating system.
Consequently, the USL copyright lawsuit was inherited by Novell and the company pushed to resolve the matter against the BSD codebase (backed by UC Berkeley and BSDi) in January 1994. The official ruling: Berkeley was forced to remove three files out of 18,000 and make changes to several more. USL copyrights were also added to around seventy files, however, they were allowed to remain freely distributed.
Even with the ruling in Berkeley’s favor, it was too little, too late. Linux was on a meteoric rise and had already made its way from small, hobbyist project to commercial product, thanks in part to the hundreds of developers around the world working to improve it. And, there was no sign of a slowdown in sight.
Even more rapid progress on Linux started with the creation of another distribution by Marc Ewing in early 1994. Ewing named his creation Red Hat Linux, after a time he wore a red Cornell University lacrosse hat, given to him by his grandfather, while attending Carnegie Mellon University. He released the software in October of that year in what would become known as the “Halloween release”. In 1995, Bob Young, the owner of ACC Corporation (a business that sold Unix and Linux software and accessories) bought Ewing’s business and merged into Red Hat Software, of which Young became the CEO.
In early 1994. Berkeley released the updated source code for BSD, which became known as 4.4BSD-Encumbered due to the fact that it contained the USL source license. Alternatively, Berkeley also released a version known as 4.4BSD-Lite that removed or altered all files declared by the ruling to have USL copyright in them. The developers also made some significant changes to the system and decided that this release would become of the future of BSD. In 1995, the a last revision of BSD would be released by Berkeley, known as 4.4BSD-Lite Release 2, and would mark the end of official BSD development at Berkeley as the Computer Science Research Group was dissolved.
Though the development of BSD left its birthplace, many enthusiastic BSD contributors attempted to keep the BSD embers aflame by adopting the open source development model that Linux had greatly benefited from with the NetBSD and FreeBSD projects. In order to diversify, the two projects took different approaches in what they wished to accomplish. NetBSD was heavily invested in making sure that the operating system worked flawlessly on a wide range of computer architectures, while FreeBSD went the route of becoming the commercial flagship and Swiss Army knife of BSD.
Also in 1994, the community based Debian distribution began trying to solve the issue of software installation, removal, and updating. In order to accomplish this, Ian Murdock wrote a shell script called “dpkg”, which allowed users to easily work with their own deb package format (with the .deb extension). This allowed the Debian developers to specifically package software in their own repositories to ease the burden on the user of installing packages from source, as was done prior to dpkg. Eventually, dpkg would grow significantly more complex, causing it to be rewritten in the powerful Perl programming language instead of shell. This allowed for the expansion of the tool so that many more useful features could be added with relative ease.
By 1997, Red Hat Linux had grown into the largest enterprise Linux distribution in the world. Red Hat became the only Linux distribution that the proprietary Common Desktop Environment (CDE) had been ported to due to its massive success with enterprise solutions as well as desktop users. As aforementioned, the CDE was the result of collaboration between the major commercial UNIX players back in 1993. In order to make CDE the “standard” graphical environment for all UNIX System V offshoots, the group of corporations agreed to each write certain functionalities of the Motif environment and bring them all together into a single, cohesive package.
Consequently, USL provided the desktop manager components and scalable systems technologies from their UNIX System V, HP built the primary environment from their own Visual User Environment (VUE), which was already utilized in HP-UX, IBM contributed the Common User Access (CUA) model from their OS/2‘s Workplace Shell, and Sun Microsystems integrated its ToolTalk application interaction framework and a port of the DeskSet productivity tools from Solaris.
By gaining the port of a very reliable and popular (for the time) graphical user interface, Red Hat Linux began to explode even more in the enterprise sector and really set its sights on system administrators. However, a few hundred miles to the east, another Linux company was starting to make waves. S.u.S.E. had started truly seeing the vast opportunities available for Linux vendors in the enterprise sphere, partly due to the success of Red Hat.
By 1996, they had moved away from their Slackware-based distribution and decided to build a new Linux-based operating system on top of a little known distribution called Jurix, which was developed and maintained by an employee at the legal department of Saarland University, Florian La Roche. La Roche joined the S.u.S.E. team and began work on YaST (Yet another Setup Tool), which would become a central utility featuring the advanced installer and configuration software for their shiny new product.
Later that year, S.u.S.E. finally unveiled their distribution to the world as S.u.S.E. Linux 4.2, with an odd version number that referenced the popular Hitchhiker’s Guide to the Galaxy. YaST also saw its initial release as 0.42 in the same vein.
In order to humanize the Linux operating system, Linus and other developers decided to create a mascot (or “brand character”) for the operating system kernel. This was quite a different step than commercial UNIX systems took, which provided nothing but a very technically oriented logo. They wanted the mascot to be friendly, fun, and recognizable–a nod to the open source development that Linux utilized and the general friendliness and fun attributed to being a part of the open source community.
In 1996, Larry Ewing created the first iteration of the Linux mascot, which was chosen as a penguin at Linus’ request. The mascot adopted the nickname, “Tux” from a suggestion by James Hughes, who recommended it stand for “Torvalds Unix”. In addition, Tux was also a shortening of the word, tuxedo, which reflects the natural coloring of penguins. In true open source spirit, Tux was created using a free software graphics package known as GIMP (GNU Image Manipulation Project).
Tux was inspired by an image that Linus found on an FTP site of a penguin figurine, which used was made in a similar style to the Creature Comforts characters that were created by Nick Park. For fun, Linus claimed that the original inspiration for using a penguin was due to his contracting “penguinitis” after being bitten by a penguin at the National Zoo & Aquarium in Canberra, Australia.
In 1997, Red Hat unveiled one of the most important features of their budding distribution–the Red Hat Package Manager (RPM). Though software package management wasn’t a new concept to Unix-like systems by any means, RPM actually improved upon the model by attempting to sort out dependency problems that come with installing software. By tracking the dependencies of specialized RPM packages (with the .rpm file extension), the open source package manager helped its users save a lot of time searching around for dependent software required by the packages they needed.
Though the first iterations were obviously not perfect, RPM was picked up by S.u.S.E. in 1997 and integrated into their own distribution. In fact, RPM became so popular that it was adopted by other operating systems like Novell’s NetWare, IBM’s AIX, and Oracle Linux. By this time, the advantages of using Linux for enterprise systems was becoming quite clear to many organizations. In only a few years, Linux started to take a shot at the Microsoft monopoly and as it’s development became more concrete. It really grew into the perfect operating system for enterprise servers.
Linux became a favorite of system administrators everywhere, especially those who had grown up with Unix. The free aspect of the operating system along with the relatively small price to pay for support compared to commercial licensing allowed companies like Red Hat and S.u.S.E. to grow into proper technology companies.
Though Red Hat and S.u.S.E. went the way of enterprise, another Linux distribution project, focused on free and open source software also began to rise in popularity amonst Linux hobbyists. Between 1993 and 1998, Debian grew into the mascot of a free and open source operating system. In fact, Debian was sponsored by the FSF for a whole year (1994-95), where it blew up in popularity and gained many contributors (over 200 by 1998).
Due to Debian’s commitment to the free software, it became the main operating system used by the growing free software movement throughout the 1990s. When Bruce Perens took over the project in 1996, he made some massive strides to put Debian out ahead of other distributions at the time. He led the conversion project from a.out to ELF and created a new Debian installer that could be run on a single floppy disc via the BusyBox program he created. Due to these massive improvements, Debian started to become known as one of the easier distributions to get up and working on a computer.
Another Debian-based initiative began in late 1998 that would attempt to see how far the project could go. Even though the GNU Hurd kernel wasn’t ready for primetime, many free software contributors and enthusiasts began trying to port Debian to the Hurd. The project became known as Debian GNU/Hurd.
On the other side of the world, Theo de Raadt, a core member working on NetBSD, was removed from the project after arguments with the rest of the core team. In 1995, Theo had his access rights taken away from the NetBSD source repository and went off to build his own. Theo’s fork of NetBSD 1.0 became known as OpenBSD and it didn’t take long until it caught on and made a huge splash in the BSD scene.
When Theo was contacted by a local security software company, Secure Networks (later acquired by McAfee), who were developing a network security tool for auditing codebases, OpenBSD shifted its ideaology to one of holding security at the highest level of importance, even over performance. Consequently, the OpenBSD developers re-implemented some key C standard library functions to be much more secure than their popular counterparts and took many other design directions to build as secure of a system as possible.
Though Linux began dominating the server market, Linux distributions rarely focused on the massive desktop computer market space, mostly due to the fact that there was no competitive graphical user interface that could stand up against the quality of Microsoft Windows. The truly revolutionary design of Windows 95 was a massive step in bringing the personal computer to a much wider audience than ever before. Of course, lower prices on hardware contributed heavily to the adoption of the personal computer, however, the intuitive and simple design of Windows 95 took the world by storm.
The other main competitors in the personal computing space were NeXTSTEP’s successor, OpenStep, which was developed by Steve Jobs’ NeXT Computers and Bill Joy‘s Sun Microsystems as well as the incredibly unique BeOS. However, in 1997, NeXT was acquired by Steve Job’s old company, Apple Computer Inc., and Jobs retained his position as CEO at the company he had previously founded. However, OpenStep wouldn’t be scrapped at all. Instead, Apple made the decision to combine OpenStep with the old application layer of Mac OS, which yielded the user-friendly OS X operating system. With NeXTSTEP as the base, Mac OS X would grow into the most popular BSD system on the desktop computer.
One reason that Linux failed to penetrate the desktop market was that the kernel developers themselves remained focused on server usage and catered to that instead of the desktop. However, this would soon change with an initiative by Matthias Ettrich, a student at the University of Tübingen.
Ettrich was unhappy about the inconsistencies in applications for Unix-like systems. Unlike Microsoft Windows, the graphical applications on Unix systems did not look, feel, or function alike because they were largely developed by small teams of different developers. In response, Ettrich made a decision that would push Linux into the modern era. That decision–build a desktop environment and application ecosystem that followed a specific set of guidelines.
His project, KDE, was originally named the Kool Desktop Environment as a poke towards the inconsistent and sometimes awkward CDE, which ruled the graphical user interfaces on Unix systems. Though Ettrich started the KDE project in 1996, its ideas and implementation would open up Linux (and Unix as a whole) to an entirely different audience–the casual computer user–and would forever alter the trajectory of Linux.
However, the KDE project used the proprietary Qt (pronounced “cute”) widget toolkit, which caused some members of the free software movement to look for alternatives. In 1997, Miguel De Icaza and Federico Mena chose to build their own desktop environment and application ecosystem using a completely open source widget toolkit, the GIMP Toolkit (GTK). At its founding, GNOME stood for the GNU Network Object Model Environment and used the GNU Lesser General Public License (LGPL), created by the FSF. Shortly after the release of GNOME 1.0, it was adopted by Red Hat and phased out the old CDE that it had been using prior.
In 1999, Red Hat went public. It was the defining moment of a decade long struggle that Linux faced to become recognized and respected in the larger software world. With Red Hat’s extremely successful IPO, it was clear that Linux was taking over and the train wouldn’t be losing steam anytime soon.
As the story of Unix moves into the 21st century, the myriad advancements in global communication truly started to make open source development an effective, efficient, and reliable strategy. The following two decades would be defined by a rapid surge in developer efficiency as well as friendly competition between different open source software projects to become the Linux standard. Though Linux gained enormous popularity throughout the 1990s, the next millennium would prove even more fruitful in a variety of different ways.
A ton of research went into compiling this presentation on the history of Unix (and Linux) and, of course, many minor (and even some major) details were inevitably left out, as this could truly be the subject of an entire book series. If you feel that I have misinterpreted any of this information, please feel free to reach out to me with your corrections and sources so that I can update it and make sure that the information is as accurate as humanly possible for future readers!
I hope you enjoyed this piece and I look forward to releasing Part Three, entitled History of the Unix Family: Modern Day Unix into the world soon!
If you would like to learn more about the very early history of free software and Linux, check out the 2001 documentary entitled Revolution OS linked below:
Linux Desktop Setup of the Week
This week’s selection was presented by u/Oldtechbloke in the post titled [DWM] First DWM rice. Here is the screenshot that they posted:
And here are the system details:
OS: Void Linux WM: dwm Terminal: Alacritty Theme: Nordic Icons: Papirus Wallpaper: Derek Taylor's GitLab Repository
Thanks, u/Oldtechbloke, for an awesome, unique, and well-themed dwm desktop!
If you would like to browse, discover, and comment on some interesting, unique, and just plain awesome Linux desktop customization, check out r/unixporn on Reddit!
See You Next Week!
I hope you enjoyed reading about the on-goings of the Linux community this week. Feel free to start up a lengthy discussion, give me some feedback on what you like about Linux++ and what doesn’t work so well, or just say hello in the comments below.
In addition, you can follow the Linux++ account on Twitter at @linux_plus_plus, join us on Telegram here, or send email to email@example.com if you have any news or feedback that you would like to share with me.
Thanks so much for reading, have a wonderful week, and long live GNU/Linux!