As side projects go, few have succeeded quite as spectacularly as Linus Torvald’s attempt to create a new, free operating system. In 1991, he termed his project kernel “Freax,” a name soon eclipsed by another: “Linux.”
In the past twenty-five years, Linux has grown and grown (and grown), overcoming resistance and legal threats from Microsoft and other proprietary-software vendors. Between 2005 and 2015, more than 12,000 developers contributed to the Linux kernel, committing changes at a rate of 8 per second.
According to the Linux Foundation, 98 percent of the world’s supercomputers use Linux, and 8 out of 10 financial transactions are handled on Linux servers. That’s in addition to 1.3 million Android smartphones activated each day (Android is based on Linux). It’s even used on the International Space Station.
But perhaps the most interesting sign of Linux’s continued inroads is the ability to access Ubuntu Linux’s user space and Bash via Windows 10. You will be able to run apt, ssh, rsync, find, grep, awk, mysql, python, and much, much more from the Windows 10 command line, not in a container or virtual space. “Here, we’re talking about bit-for-bit, checksum-for-checksum Ubuntu ELF binaries running directly in Windows,” Dustin Kirkland, a member of Canonical’s Ubuntu Product and Strategy team, wrote in a recent blog posting. System calls to Linux syscalls are translated into Windows OS syscalls.
A few years ago, if you wanted to experiment with Linux, you had to buy a new PC. Now the cost has dipped to as low as $5, thanks to the Raspberry Pi Zero (don’t forget the $30 worth of cables). You can also install VirtualBox on a Windows machine, download Ubuntu desktop (or other Linux desktop), and start experimenting.
Microsoft has even created an extension for Visual Studio that lets you create code for Linux and debug it from your Windows PC. It’s definitely not the 1990s anymore, when Microsoft was highly antagonistic to the existence of open-source software.
Linux and The Internet
Approximately 75 percent of the servers that power the web are Apache and Nginx, running mostly on Linux (the other 25 percent are Windows powered IIS web servers). That’s not counting the rise in cloud services and container technology, such as Docker, which was a Linux-only technology until recently. (Fun fact: CERN in Switzerland, where Tim Berners-Lee invented the web http protocol, has over 20,000 servers running Linux.)
Internet of Things (IoT)
Linux is a bit of an odd beast; there are literally hundreds of distributions, with Ubuntu, Red Hat, and Suse among the big names. Thanks to the open-source ethos, anyone is free to take components of the platform (Kernel, System Libraries, and System Utility) and create their own distribution. That said, most are based on particular families: Debian, Knoppix, Gentoo, Pacman, Arch, Mandriva, Slackware, RPM, Slax, and others.
Some of these distributions are very small; NanoLinux is 14 MB, but Tiny Core Linux (which NanoLinux is based on) has 9, 15 or 72 MB distributions. The Boot2Docker Linux, used for running Docker containers on Mac or Windows, is just 27 MB in size.
How much of a part will Linux play in the Internet of Things is hard to say, because devices generally embed the Operating System. However, for small devices typically powered by ARM CPUs, “traditional” Linux can be too large, which has sparked the rise of “real time” operating systems such as FreeRTOS. While Linux can ably serve in IoT “gateway” devices such as routers, there’s an increasingly popular Linux distribution for embedded devices, OpenWRT.
The tech industry abounds with Linux-related jobs, from mobile development to Linux Systems Engineer. Although Linux never managed to seize a commanding portion of the traditional PC market, it has expanded quickly in other silos, from servers to smartphones. It’s not going anywhere anytime soon, which makes knowing it a valuable proposition.