My keynote this morning, Creating a Third Wave of Free/Open Source Software, was a lot of fun to do! Here’s the slides, and my notes are below. And here’s some notes from someone who attended the talk.
What does the free/open source software movement look like? We’re talking about a collection of:
- social and technical practices
- individual contributors
The collection on the slide is just a sample of things that fall under this umbrella, I could easily add 20 more.
First Wave: 1985
In 1985, Richard Stallman founded the Free Software Foundation, a non-profit organization. The primary activities of the FSF have included promoting the free software philosophy, sponsoring developers to work on their projects, and defending the GPL, their primary software license.
The seeds of this organization come from the hacker culture Stallman participated in at MIT in the late 1970s. This hacker culture valued things like experimentation, open access, and play—many of these ideas may have drawn you to FOSS as well.
At the time, the software people used generally ran on something called a time-sharing computer, where multiple people had access to the same system. The distribution of software for these systems was shifting to no longer include the source code—something that had been the default. Also, more and more of the systems Stallman encountered were locked down in ways that prevented open access.
In response to these increasing software and systems restrictions, in 1983 Stallman created something called the GNU Project. GNU stands for “GNU’s not Unix” which is a recursive acronym, a popular kind of hacker joke. You may be familiar with a number of operating systems that fall under the Unix header today, including Linux. The one Stallman referred to here was a proprietary family of systems created by AT&T at Bell Labs.
The first piece of software included in this project was a version of the Emacs text editor. Over the next few years it grew to include the GCC compiler, and Unix utilities such as ls, grep, awk, and make.
The philosophy around this work was stated in terms of four software freedoms. Note the framing. Who is this for?
- freedom makes it political
- it’s put in the context of people who had access to these kinds of computer systems
In order to protect these freedoms around all his software, in 1989 Stallman introduced the GPL, or GNU General Public License. This brought together the existing licenses that had been used for individual components of the GNU Project in the past.
Access to computers and to networked computer systems was increasing. While before new programmers generally only had access to computers at universities and businesses, now people with sufficient financial privilege were able to learn to program on a personal home computer. Many K12 schools began to invest in computer labs as well.
Also, services like email, Usenet, and IRC (starting in 1988) were allowing greater collaboration and knowledge-sharing between people who did have access to those networked computer systems.
Second Wave: 1998
Let’s skip forward. In 1998, the Open Source Initiative was formed to respond to opportunities around the release of the Netscape Navigator source code—you probably know it’s descendant, the Mozilla Firefox browser today.
Netscape Navigator was a popular commercial web browser, first released in 1994. In 1998, the business was suffering, and the source code was released in order to try to keep the project alive.
A group of people interested in the release of the Netscape source code, and what it meant for the Free Software movement, started to form around the idea of figuring out how to encourage more companies to release their source code in this way. In the end, they created the “Open Source definition” which outlined which kinds of source code licenses would qualify. The main thing the OSI does today is to promote this definition and to articulate which software licenses fall inside it.
No more copyleft: the biggest functional change from the previous Free Software guidelines is that copyleft, the practice of requiring derivative works to share their code, becomes optional in this new collection of licenses.
The other collection of source code that becomes increasingly relevant to this discussion is the Linux operating system, or GNU/Linux as the Free Software folks will tell you.
Linux is a Unix-type operating system originally designed for use on x86-based personal computers, rather than the mainframes we talked about before. It’s really come to define much of the open source ecosystem, initially because the software itself cost nothing, but now it’s just as much because it’s available on a large range of hardware platforms.
Many of our narratives about creating and contributing to open source begin from these three sources:
- Linux, including the kernel project and Linux distributions
- libertarian-capitalist writings such as The Cathedral and the Bazaar
- the work of Tim O’Reilly and O’Reilly Media, including their conference, OSCON
Related reading: http://thebaffler.com/salvos/the-meme-hustler
The situation that’s grown out of this is that open source is everywhere! but products that use open source software inside don’t have to be open themselves. Major companies like Google, Facebook, and Amazon build their code products on top of open source tools, including programming languages and operating systems. Yet the things they contribute back tend to reinforce their own needs, bringing developers into their own ecosystem, not the other way around.
Computers are everywhere and billions of people have access to the internet! Yet these systems are often not hackable or open to participation.
We’re feeling the pain of earlier choices
Free software movement historically hasn’t addressed the question of who gets to have those software freedoms: people who have access to computers, people who have the knowledge to understand and modify source code, people who have free time to participate Open source software has created a tragedy of the commons, and a system where companies profit wildly from our work, with no real obligation to support us — or to contribute to the communities that we participate in.
We have sustainability problems
Projects aren’t sustainable when the core developers aren’t able to cover their costs of living. They aren’t sustainable when they can’t find or train new contributors. They aren’t sustainable when they’re difficult for users to learn, install, or access.
We have burnout
Allowing companies to assimilate large amounts of open source software without giving back to the community, or to its contributors, creates significant power and economic imbalances. People working in the midst of that system tend to experience burnout and fatigue, and when it goes uncorrected they tend to drop out.
“Meritocracy” just isn’t
Works like The Cathedral and the Bazaar have propagated the idea that software development is a meritocracy and “the code speaks first”, which has the affect of marginalizing a large number of minority groups. and that’s before we get to the presence of outright harassment and abuse
We have a diversity problem
It’s no secret that the Free/Open Source Software world is not very diverse. Are women’s groups like Linux Chix or PyLadies enough? (no.) Diversity is not something for marginalized groups to solve on our own. And counting more heads may be diversity, but it’s not the same as inclusion or equal participation. We need to attack the structural causes of inequality.
We need to be paid
The amount of second shift and volunteer labor that keeps things running is draining the life from our communities, and making it difficult to learn from our past work and create better systems.
So how do we build software?
Active, intersectional inclusion
- center marginalized voices
- create welcoming communities and really define what that means so we can teach others
Fair compensation of labor
We’re seeing efforts to address sustainability and compensation through community funding models, and groups like Ruby Together. We need to bring the invisible unpaid labor of our communities and infrastructure out into the open.
Healthy people, healthy communities
Increasing focus on bringing mental health issues into community discussions. More openness about talking about the impact of health and disability in our ability to participate.
Effective business structures
We’re stuck with a capitalist system—for now! We need to share what works. We may have to accept a clearer divide between hobby and profession.
- codes of conduct
- Recurse Center social rules
- “we begin by listening”
- “we value all questions”
We could take another look at licensing. It’s a complicated and often arcane topic. It’s also the primary lever that’s been used to define and reinforce FOSS in the past. There may be ways to create licenses that better support our current needs.
Does the source code even matter?
Over the past 30 years, FOSS has come to stand for a wide range of political, social, and economic values. It’s worth asking at this point: is the distribution of source code still the most important part?
What will we call this next wave?
I have no idea (and that’s okay!). I know we can build it together, and I believe the solutions we need will be grounded in the needs of our most marginalized participants.