In part 1 of this blog series, we discussed Linux’s rise as a cornerstone of IT, and how the Linux Foundation has been at the long standing center of the broader open source community, serving as the catalyst for Linux’s growth as one of the most essential pieces of software infrastructure used all over the world. We also flashed back to the 80’s to discuss the Unix wars and in this blog, we’d like to cover other types of 30-plus-year-old technology, many which we still rely on to get our jobs done—some that go hand and hand with Linux, and others that don’t.
We continued our conversation with a few of our VMware engineers and an open source strategy director to see what they had to say.
Old Friends: Linux and GCC
The GNU Compiler Collection (GCC), a free software and mass collaboration project that Richard Stallman released in September of ‘83 is still around, but a competitor has emerged called LLVM. (LLVM is a collection of modular and reusable compiler and toolchain technologies, which has proliferated into an umbrella project consisting of several subprojects, many of which are being used in production by a wide variety of commercial and open source projects—the C compiler portion is called Plane). The Linux kernel was formerly compiled on GCC but can now be compiled LLVM.
“GCC forked for a decade and it turned into the compiler egcs,” VMware Open Source Engineer Steven Rostedt says. “Together again as one compiler—now, that’s the power of open source! And as long as there’s one person maintaining it, it lives. It doesn’t depend on one company or funding. That’s why I love open source.”
GNU C Library (glibc)
The GNU C Library, commonly known as glibc, is the GNU Project’s implementation of the C standard library. It was started in the 1980s by the Free Software Foundation for the GNU operating system. Most applications link to glibc.
“C is still popular for systems programming,” Rostedt says, “and it’s compiler is written in C. C is flexible and robust because there’s nothing hindering you. I like to think of it this way: with great power comes great responsibility—that’s C. But no one wants to program in it because it’s very dangerous; it doesn’t protect you from hurting yourself—security and overflow bugs are commonplace. If you’ve written more than a hundred lines of code, you can bet there’s a bug in it.”
Python: A Trusted 30-Year-Old
Thirty-two-year-old Python and Linux are both technologies that despite their age remain fundamental and popular. According to The State of Octoverse 2019, a ranking based on the number of contributors to repositories tagged with the respective primary language, Python “slithered” past Java for the first time to become GitHub’s second most popular language (JavaScript, for years, continues to rank number one.) A second tally, JetBrain’s Python Developers Survey 2020, depicted 85% of its respondents use Python as their main programming language.
Dawn Foster, VMware Director of Open Source Community Strategy, writes Python scripts using the CHAOSS Project’s Augur software to create custom metrics dashboards for VMware’s most active open source projects. Augur is a software suite for collecting and measuring structured data about open source project health and sustainability. It is a prototype implementation of the CHAOSS Project with focus on making sense of data using human centered data science strategies.
“My goal is to make it as easy as possible for our maintainers and other stakeholders to quickly get information about the project health of our leading open source projects. This helps us understand where a project is already doing well and provides us with opportunities to improve, but it’s important to interpret these metrics in light of the unique needs of each project, since each open source project is a little different.”
What’s Your Choice of Text Editor, Emacs or VIM?
Oh, the editor war is still alive and well! It continues to rage right alongside the tabs versus spaces debate.
Emacs is a family of text editors that are characterized by their extensibility, customizable, self-documenting, real-time display. Development of the first Emacs started in the mid-1970s, and work on its direct descendant, GNU Emacs, continues actively today.
Vim is a free and open source, screen-based text editor program for Unix. It is an improved clone of Bill Joy’s vi. Bram Moolenaar, Vim’s author, derived Vim from a port of the Stevie editor for Amiga and released a version to the public in 1991. Vim is designed for use both from a command-line interface and as a standalone application in a graphical user interface.
When we asked our Open Source community inside VMware which editor they preferred and why, a resounding cheer for Vim boomed throughout the chat room. As an indicator of how present this debate remains, it only took 90 seconds for someone to chime in on the query, and within 30 minutes there were more than 80 responses.
Here’s the flavor of what we heard:
“Vim’s modal editing fits my brain—I’m either editing code or writing code, I’m rarely conflating the two. I tried Emacs for a while, even evil mode, and whatever the other vim-emulation mode is, but even the most basic things like splits and tabs were unsupported/worked incorrectly.”
“I prefer Vim because it’s ubiquitous. Any system I log into has it, and it works efficiently across laggy ssh connections. When I started working in open source—it’s powerful editing modes, search and replace, regex, vertical selections, integration with various code analysis tools, and deep customization options—suited the type of system level work I did.
“Using Vim, I save multiple seconds a day not having to move my hands away from the keyboard to use the mouse. It keeps my shell muscle memory in practice because I set my shell to use vi keybindings and command mode— inside vim is basically a shell. I also found its keybindings and modal command/insert distinction were more intuitive than Emacs.”
But not everyone is an Emacs fan, are they? One developer in favor of it reported:
“If you get really good at Emacs, you can move very quickly and reference/edit many files at the same time with minimal complexity. This was especially useful in the days before windowing systems, which it was designed for. Plus, it can even edit filenames and browse through files from the same interface. Emacs is highly extensible and there are high-quality add-ons for everything from Docker to JIRA.”
And another:
“For solo work on my own machine, emacs is awesome. I love that I can use it to unify the UX of almost all the different systems I need to interact with. This allows me to seamlessly combine features on those systems to build unified workflows that suit me personally.”
The Storied History of Databases: SQL and PostgresSQL
SQL Server, put into use in the 1980’s, is one of the most widely deployed database platforms in the world. Many organizations have dozens or perhaps hundreds of instances deployed in their environments. It’s rich application capabilities and low costs of x86 computing, has led to a wide variety of SQL Server installations ranging from large data warehouses with business intelligence and reporting features to small, highly specialized departmental and application databases.
Steven Rostedt had just written a SQL parser to make it easier to modify tracing inside the kernel on the same morning I solicited his opinions for this blog. His opinion on the perpetuation of SQL? “Everyone is familiar with SQL and it will probably never go away.”
PostgreSQL is a powerful, open source object-relational database system that came into being in 1986 and has more than 15 years of active development. It provides a proven architecture that has earned it a strong reputation for reliability, data integrity, and accuracy. PostgreSQL is fully ACID compliant, has full support for foreign keys, joins, views, triggers, and stored procedures in multiple languages. It supports storage of binary large objects and has native programming interfaces for C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC, and more, and outstanding documentation features.
The Unix-like Operating System: FreeBSD
The first version of FreeBSD was released in 1993 and is used today to power modern servers, desktops, and embedded platforms. Like Linux, it too, enjoys a large and devoted community helping it to thrive more than 30 years after its introduction. VMware Principal Engineer Mark Peek, a seasoned developer of all stripes, who runs the Intersource Project at VMware, had this to say about FreeBSD: “VMware continues to deliver BSD tools to select customers, enabling them to interoperate. For instance, one VMware customer, a provider of AI solutions that enables more efficient data collection, uses FreeBSD in all of their appliances and relies on VMware to run those virtual appliances on top of their VMware stack which they sell to their own customers.”
There Wasn’t Always a Handful of Browsers Up for Grabs
Hard to believe the browser interface has been around for 30 years, an arduous existence fraught with contention and lawsuits. There are currently 5 widely used browsers—Chrome, Safari, Edge, Firefox and Opera—but initially there was only one—the World Wide Web (WWW). It was introduced in 1991 by Tim Berners-Lee, who was working at CERN, a European nuclear research agency. It was the only available internet browser available to the public. In 1994, the name was changed to Nexus Browser to eliminate confusion between the software and the World Wide Web.
Remember Mosaic Communications and Mosaic Netscape 0.9? A lawsuit settlement with the NCSA resulted in a name change for the company and the browser. Netscape Navigator entered the market and dominated throughout most of the 1990s, peaking at 90% in 1995.
Microsoft bundled Internet Explorer with Microsoft Plus for Windows 95, in 1995. IE won over most internet users in no time, which brought antitrust charges against Microsoft for preventing computer manufacturers from uninstalling IE and installing other browsers. (Despite the case settling in 2001, IE prevailed for three more years, peaking at 95% of the market in 2003.)
And that’s the end of our trip down memory lane!
The Future of Open Source is Now
The 30-year anniversary of Linux is reason to pay tribute to the key cornerstones that built the technology universe we live in today. Technologies that have stood the test of time, navigating a path of evolution and change, all the while improving. Open source changed the rules, it changed perspectives. Golan Levin, associate professor of computation arts at Carnegie Mellon University, says of the technology, “The free sharing and teaching of open source is incompatible with the notion of the solitary genius.”
He’s right. For at the soul of its movement, open source has given rise to organizations that thrive on volunteers and collaboration and created ecosystems that have positively impacted billions of people around the world and nearly every industry. That profound and all-encompassing long-term trend that the software industry saw in the early 80’s? It’s no match for open source, the bright shining star that will continue to burn long into our human experience.