Unsung heroes fuel the software industry

Free, open-source software is the backbone of all modern technology

Ariana Goetting

A large portion of modern technology relies on open-source packages, or software and applications that are available to the public.

by Arjun Barrett, Asst. STEM Editor

 

Building a custom app or website involves writing, testing and maintaining thousands of lines of code. Even experts with decades of experience struggle to create software on their own. Since writing code can be difficult and tedious, programmers frequently use high-quality code from freely accessible codebases known as open-source packages, which help developers efficiently tackle common problems. In fact, building something as simple as a weather app without borrowing any open-source software would cost millions of dollars and years of work.

Most consumer software, including Excel, Chrome and YouTube, is closed-source, which means nobody can read the source code for those apps. Closed-source developers obfuscate the source code their programs use, either by compiling it to a series of numerical instructions that can only be understood by a computer or by blocking reverse-engineering attempts with minification and dynamic evaluation. Because the code is hidden, users of closed-source software don’t know what those programs are actually doing. If a company were to add a virus into a closed-source program that steals private user data like addresses or passwords, it would be next to impossible to tell. Installing closed-source software requires users to trust app developers with access to their entire digital identity.

On the other hand, open-source programs provide a copy of their source code, which allows software engineers unaffiliated with the original developer to see exactly what happens under the hood. Open-source software almost never has malicious code; if it did, a programmer who read the source code would notice. Since the code is public, anyone can contribute to an open-source project by filing detailed bug reports or suggesting improvements to the codebase via pull requests, which often include improvements such as bug fixes and performance enhancements. These community contributions make open-source projects faster, more secure and more up-to-date than proprietary alternatives.

After struggling with compatibility issues in Microsoft Office for years, computer science department chair Dr. Eric Nelson switched to a free and open-source alternative called OpenOffice.

“One of the reasons I stopped using Microsoft Word is I would write documents that were full of formulas and special symbols,” Dr. Nelson said. “Two years later, Microsoft would come up with another revision, and all my documents would break. I’d have to go back and redo all the figures and equations. So I switched to OpenOffice, and I haven’t had to do that in over a decade.”

Devon Govett is a software engineer at Adobe who maintains multiple major open-source programs, including a website development and optimization tool called Parcel. Parcel, originally released on Dec. 5, 2017, offers web developers the ability to create websites that work on even old browsers such as Internet Explorer while using features that are usually only available on modern devices.

“I created Parcel while working at Adobe because we were using it for a project at the time and were frustrated with existing build tools,” Govett said. “I worked on it [in] my spare time as a side project, but then it became something people actually used.” 

After three years of work, 150,000 lines of code and contributions from over three hundred people, Govett released Parcel 2 this year. The updated version is a complete overhaul of Parcel 1 with better performance, more customization and an even easier developer experience.

Parcel 2 already receives tens of thousands of downloads per week by developers seeking to create better websites. Atlassian, creator of the popular project management tool JIRA, uses Parcel 2 to improve its products. Microsoft employs Parcel 2 to optimize certain sections of their documentation website that contain technical information for developers using Microsoft products.

“The reaction has been super positive,” Govett said. “Parcel 2 has been in development for a really, really, really long time. The website you use to sign up to get a COVID-19 vaccine in California was built with Parcel, which is pretty cool.”

Some of the most popular open-source programs are software libraries. The word “software” usually refers to apps and websites, but developers write many other types of programs to make their own lives easier. Software libraries include commonly-needed functionality like user interface logic and ZIP archive generation so that developers don’t have to rewrite the same code every time they need to use it. These libraries are so pervasive that you used several just to read this article: BoringSSL encrypted your connection to Aquila, Zlib reduced the load time, and Blink rendered the page to display it on the screen.

Feross Aboukhadijeh is the founder and CEO of Socket, a software development firm that builds cybersecurity infrastructure for businesses. He also maintains over 100 open-source projects in JavaScript, the programming language used to build websites. Altogether, Aboukhadijeh’s code receives over 500 million monthly downloads.

“Nearly everyone in the world directly benefits from open-source software, whether they’ve heard of it or not,” Aboukhadijeh said. “The majority of servers on the Internet are powered by Apache, an open-source web server, and Linux, an open-source operating system. 95 percent of the desktops and servers at major Hollywood movie studios like Disney, Pixar, DreamWorks, and Sony run Linux.”

Open-source software is everywhere, including Harker. The home page of the Harker website requires nearly a dozen open-source libraries in the browser and potentially many more on the server. Every HarkerDev app is also built on open-source software.

“We use Kubernetes for our server,” HarkerDev member Kabir Ramzan (10) said. “That is open-source and is the base of all our applications. We have Koa, Handlebars, LDAP, Requests, TypeScript, all these different dependencies are open-source libraries. For any technology you are using, any application or any website, the underlying code is powered by open source.”

Despite the many advantages of open-source development, most programs today are closed-source. Software-as-a-service (SaaS) businesses, such as Adobe, would not survive if the source code for their programs were freely accessible: a user could compile and execute the source code for free rather than purchasing the program. Websites and companies that provide free software typically make money by selling private user information and displaying advertisements. If their source code were public, a developer could remove the monetization logic and publish an alternative to the original app or website. Companies also hide their source code to protect intellectual property. Anyone can copy, modify and distribute open-source programs, so any innovative algorithms or techniques the developer creates can be stolen by competitors.

These issues often make it difficult for open-source developers to earn money from their projects. For example, a data compression program called Zlib powers everything from PNGs and ZIP archives to websites and exists in virtually every modern computer, but the project has never made any money. Most maintainers have no obligation to work on open-source projects but rather choose to do so for their own enjoyment.

Fortunately, open-source projects have found new ways to generate revenue in recent years, either by acquiring corporate sponsors or by offering extra features for an added fee. Aboukhadijeh was able to monetize his open-source app Study Notes by allowing users to purchase access to essays written by students accepted into their colleges of choice. The rest of the platform is free to access, and its code is publicly available on GitHub.

“My business is doing extremely well in terms of making money, even while the code is available for free,” Aboukhadijeh said.

Some companies now embrace open source by sponsoring the developers of the projects they find useful. However, the majority of companies still use open-source code without paying the maintainers anything.

“In my case, [Adobe] pays me to do open source, which is a rare and lucky position to be in,” Govett said. “A lot of companies don’t really fund developers to work on open-source projects.”

Whether or not the programming community can resolve issues surrounding the recognition and monetization of open-source development, open source will undoubtedly remain a critical part of software development for years to come.

“The general public probably has no idea that most software is built on so much open source,” Govett said.