What is open source?
Over the last few years, I’ve been a part of lots of discussions — across domains, from technology to journalism and education — about Silicon Valley and how technology business models are affecting other industries. Outside technology industry circles, there’s lots of talk about how open source software is a more respectful model.
What’s missing from many of these discussions is a thorough explanation of what open source software actually is, and why exactly it promises an alternative. In this post, I’ll talk about the history and mechanics of open source software, and then discuss some of these arguments.
How software became commercial
In the early days of computing, when the work being done was largely academic in nature, software was often built collaboratively between institutions and shared under a public domain license. Public domain means that all intellectual property rights have been forfeited: anyone can sell, copy, alter, and use the work as the basis of something new, and the original author can’t take back their rights.
Companies like IBM had a slightly more restrictive approach: they supplied their mainframe computers with the source code. If customers made changes to make the software work better or fix bugs, they could send them back to IBM. Because the value of the computer itself was so high, and there were so few of them, the software itself was not considered to be valuable on its own.
As computers became more widespread, there were enough of them to create a market. They still came with bundled software for specific tasks, but new companies started appearing, selling more sophisticated alternatives that could be installed instead. Commercial software, released under a more restrictive license, became the norm.
In particular, one change bit academic researchers. Bell Labs developed a powerful new operating system called UNIX, originally for use inside the Bell network of companies. AT&T licensed it free of charge to academic and government users in the seventies — until everyone was locked in. Then they turned around and started charging for updates.
The birth of free software
In 1983, Richard Stallman, an artificial intelligence researcher at MIT, decided to do something about this situation. He already had experience building community-driven software, having founded a powerful text editor called EMACS. However, this new announcement, a new UNIX clone that would be once again free of charge, was far broader in scope:
Free Unix!
Starting this Thanksgiving I am going to write a complete Unix-compatible software system called GNU (for Gnu’s Not Unix), and give it away free to everyone who can use it.
[..] To begin with, GNU will be a kernel plus all the utilities needed to write and run C programs: editor, shell, C compiler, linker, assembler, and a few other things. After this we will add a text formatter, a YACC, an Empire game, a spreadsheet, and hundreds of other things. We hope to supply, eventually, everything useful that normally comes with a Unix system, and anything else useful, including on-line and hardcopy documentation.
Together with his software, he published a definition of free software, defining four specific freedoms:
The freedom to run the program as you wish, for any purpose (freedom 0).
The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
The freedom to redistribute copies so you can help your neighbor (freedom 2).
The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
In 1989, the same year the web was born, he followed this up with the General Public License (GPL), a distribution license that legally codified these freedoms. The GPL arguably remains the standard — and most popular — free software license.
Free vs open source software
The problem was, outside of a relatively small group of hobbyists and academics, free software didn’t really go anywhere. As Eric Raymond, a free software developer, later noted:
It seemed clear to us in retrospect that the term ‘free software’ had done our movement tremendous damage over the years. Part of this stemmed from the fact that the word ‘free’ has two different meanings in the English language, one suggesting a price of zero and one related to the idea of liberty. Richard Stallman, whose Free Software Foundation has long championed the term, says “Think free speech, not free beer’’ but the ambiguity of the term has nevertheless created serious problems — especially since most “free software” is also distributed free of charge.
Most of the damage, though, came from something worse — the strong association of the term ‘free software’ with hostility to intellectual property rights, communism, and other ideas hardly likely to endear it to an MIS manager.
The clue is in that last sentence: Raymond was a hardcore libertarian (as well as a holder of some problematic opinions on sex and race), and felt that some of the principles of free software were too close to communism. Nonetheless, it was true that free software needed a makeover: it had not been a popular idea.
The term “open source” was designed as a callback to the early days of software, when source code had been bundled by default. The strategy was to sell Fortune 500 companies on using this software, rather than employ the grassroots evangelism that had been the bread and butter of the free software movement.
Raymond and his collaborators met with a developer called Linus Torvalds, who had developed a new UNIX compatible operating system kernel called Linux. He was on board with the idea, so the strategy focused on replacing proprietary operating systems with Linux.
The strategy worked: today, while “free software” remains a source of confusion (leading some to call it “libre software” instead), “open source” is a commonly-used phrase. And aside from on the desktop, Linux is the dominant operating system worldwide, appearing everywhere from supercomputers and web servers to Android phones. Perhaps ironically, it is almost always accompanied by GNU free software tools.
The main difference between free and open source software is politics. Both define roughly the same freedoms, but free software advocates like Richard Stallman argue that “open source” is too ambiguous a term, and could cover less-free distribution models. In turn, open source advocates like Eric Raymond argue that “free software” implies “free of charge”, making it very hard to make a living or build a business.
It’s all about distribution
Both free and open source software licenses are distribution licenses. This means that the software is distributed to you under the terms of that license, and it does not affect the original author’s exclusive intellectual property rights. If someone releases one version of a software product under an open source license, they are within their rights to distribute a subsequent version under a commercial license. However, because the licenses are perpetual, nobody can take away your rights to use a free or open source version of the software once it’s been distributed to you.
tldr: Releasing software as open source doesn’t affect the copyright or ownership of that software. It does affect how you can use it as a recipient of the software.
Free software vs capitalism
Despite its intentions, open source software has not been particularly lucrative. As Red Hat CEO Jim Whitehurst told The Information recently:
“People seem to take the free stuff and work around the paid stuff. You have to recognize that the early adopters are the people who really want free. They’re working hard to work around you. By the time you get people who might pay you who’d follow those early adopters, you’ve already lost them because the early adopters [have shown how to] work around your stuff.”
Despite this, Red Hat has become a relatively profitable business by offering business-friendly services around Linux. Last year it made $2 billion in revenue: not to be sniffed at. This success, alongside Google’s commercial success with Android, and the success of web services as a whole, have driven Linux’s growth.
There are but a handful of other successful open source businesses — all of which provide services to corporations. (This includes WordPress, which makes its core income from larger media companies, and its own, largely ad-driven, web service.) From the same article:
The key is that there has to be a way to make solid money off a technology if it’s going to break into the mainstream the way that Linux has for operating servers. Mr. Whitehurst notes that the desktop version of Linux never caught on for exactly this reason.
Linux is not a grassroots movement. Over 80% of contributions back to its codebase are corporate. The model is very similar to IBM’s source-sharing back in the 1960s.
A lot of people argue that open source is an answer to capitalism’s consolidation of wealth, and think of both the free software and open source movements as an antidote to late-stage capitalism. I don’t think this is true. Instead, volunteers are creating software for free that largely benefits large corporations.
The researcher and former VC partner Nadia Eghbal recently wrote a report in partnership with the Ford Foundation detailing the problem. The whole report is worth reading at length, but for example, she cites OpenSSL, a toolkit that underpins most web security:
There was enough to pay the salary of one developer, Stephen Henson. That meant that two-thirds of the Web relied on encryption software maintained by just one full-time employee.
Although billions of dollars of revenue rested on this software working properly, OpenSSL received $2,000 a year in donations, and Stephen Henson was barely making a living. This situation only changed due to a bug that threatened the security of every internet user, and the resulting international press that ensued. Even then, the initial round of donations amounted to $9,000.
The cash-edral and the bizarre
In 2006, researchers at the University of Cambridge found that only 1.5% of open source contributors were women (PDF link). The report noted that because open source software isn’t produced in an employment environment, discrimination that would be illegal in a business is rampant in open source communities. It recommended that both financial and social resources be devoted to encouraging women to participate.
Because of larger inequities in society, women are less able to contribute to open source software for other reasons. It takes a certain level of privilege to work on something for free. Some employers now check for an engineer’s open source contributions on GitHub before hiring, which perpetuates the tech industry’s imbalance towards affluent, young white men.
For these contributors, making money from their work is a far more radical act than giving it away. While it’s tempting to connect community software with community values, the reality is more nuanced. The idea that underrepresented groups should make their software available for free is far from empowering.
Free software on the web
There is a problem with data ownership on the web. Web services are opaque, and there is at least a perception that many of them are generating a competitive advantage by locking up your data. Companies like Facebook also employ widespread web tracking in order to sell targeted ads. For very good reasons, many people are upset about the trend towards less privacy and ownership.
The irony is, all of these services, including Facebook, are built on open source software. Because open source licenses involve distribution, these issues are actually orthogonal: you don’t install web services, so they’re never distributed to you. An open source license can’t save you from Facebook. However, open source software is a really useful contributor to its profit margin: imagine if it had to pay for all the system software on all those servers!
It’s not just larger corporations who are profiting. As Nadia Eghbal noted in her report:
The availability of free software components today (as well as cheaper hosting and cloud services, like Amazon Web Services and Heroku) means that a technology startup no longer requires millions of dollars to get off the ground. Entrepreneurs can conceivably release a product and find a market without spending a single dollar, then raise money from venture capitalists only after they’ve shown strong signs of demand.
Free and open source software has driven the current Silicon Valley tech industry boom. It’s notable that many open source contributions are made outside of this ecosystem, including in developing nations.
Of course, an open infrastructure that supports startups in San Francisco can also support startups in Bangladesh. However, I don’t think it’s unreasonable to suggest that support for digital infrastructure should be proportional to revenue, in the same way that support for social infrastructure is proportional to income.
Right now, the truth is, for both free and open source software, free means free. People largely use it because it doesn’t cost anything, rather than because of free software’s underlying values. This focus on free of charge directly impacts the volunteers who build it. It’s not a bad thing that all this infrastructure is available — in fact, it’s great! — but the lack of working compensation funnel is a problem. (Here’s one more link to the Ford Foundation report, which expresses this in a much more detailed way.)
How progressive is it, really, to waive recurring license fees for major corporations? Or even for universities with large endowments?
End-user open source alternatives
Back in 2003, I co-founded an open source social networking platform called Elgg. At the time, the press noted our choice of license and pointed out that you could run your own MySpace using our software.
This was a catchy way of getting attention, but the truth is that you couldn’t “run your own MySpace”, just as you can’t “run your own Facebook” today. The supposition that Facebook is its software is completely wrong. Facebook is its network. You could build a new open source platform today that had every single feature on Facebook — although it would be quite an undertaking — but you still wouldn’t have the same effect. The thing that makes Facebook special is that everyone is already on it.
Software released under a free or open source license is not inherently better. It isn’t inherently more secure (largely due to funding issues — think back to that OpenSSL story). And as I’ve argued, it isn’t inherently more socially beneficial.
And then there’s software for non-technical end-users: people like you and I who want to use software, not build it. (Okay, I build software too, but I don’t want to build all the software I use.) I’m talking email clients, blogging software, to-do lists, office suites, etc.
It takes millions of dollars to create high-quality end-user software experiences. User experience isn’t something you can throw together, and it takes both a lot of work and a huge amount of listening and product iteration to get it right. Because end-user open source software doesn’t always have the same level of corporate buy-in that infrastructure does, open source software usually can’t reach the same level of user experience.
Two major exceptions are Firefox and WordPress. Both are heavily ad-funded. So if your intention is to find an alternative to privacy erosion or consolidation of capital, how much of an alternative are they? That’s not to say that you shouldn’t use them — there are fantastic reasons for using both — but the reality is, once again, more nuanced than the rhetoric.
Elgg didn’t displace MySpace or Facebook. But it is still thriving, because it found a niche as a corporate intranet tool. The governments of three nations use it as an internal social network for their civil servants, as well as Fortune 500 companies and startups wanting something as the basis to build a new social platform. Guess what? That’s where the money is (even if it’s one-off project money, rather than the sustainable subscriptions web services enjoy).
A lot of good is going on
I knew Elgg would be successful when non-profits in Colombia got in touch with us to tell us they were using it to organize combine resources. That’s awesome. Oxfam used it to educate volunteers, and hundreds of universities used it to teach. Because it was released under an open source license, a lot of people were able to use it for free to do good things.
Open source has transformed computing. It created opportunities that proprietary software never could have, and has accelerated the growth of the tech industry.
It is, however, not a magic bullet. It is disproportionately built by privileged, white men, and doesn’t live up to the progressive ideals that it is often sold on. That’s not a reason to not use open source software, but is is a good reason to continue to evolve the idea, find ways for people to be fairly compensated for their work, and create new frameworks and methodologies for working together.
The software industry, like its products, is always changing. By embracing the flaws in current models, we can iterate on them and make better things.
The core idea in both free and open source software is a beautiful one: make things together, for everybody’s benefit. It’s something to strive for, and I have a lot of hope for the future.
If you enjoyed this post, click the heart below (really!) and follow me on Twitter.