Defining "sustainable" for an open-source project
Bradley Kuhn of the Software Freedom Conservancy (SFC) first heard the term "sustainability" being applied to free and open-source software (FOSS) four or five years ago in the wake of Heartbleed. He wondered what the term meant in that context, so he looked into it some. He came to SCALE 17x in Pasadena, CA to give his thoughts on the topic in a talk entitled "If Open Source Isn't Sustainable, Maybe Software Freedom Is?".
After wondering what was meant by "sustainability", Kuhn looked up definitions of it, first in Google, then in Wikipedia, which is freely licensed, unlike Google's dictionary. Both definitions agreed that "sustainability" is maintaining a balance between resource usage and future needs, particularly with respect to the environment—all of which sounded good to him. So his first thoughts about FOSS sustainability were that people were working on software to help the environment be more sustainable, perhaps by writing forest-management software or software to assist activist organizations. But that is not what was meant.
Money
There is no clear definition of "FOSS sustainability", he said. The closest he could get to one, though, is that maintainers of FOSS don't get paid enough money and/or are not paid often enough. So FOSS sustainability is about changing that situation, which he is in favor of; much of his career has been spent figuring out how to ensure that people get paid to write FOSS. The idea that the sustainability folks have is that we should be putting money into FOSS projects like the way venture capitalists (VCs) put money into software startup companies. That kind of money infusion would fuel the rapid growth of these projects. He is not a fan of that model for building software, but it is the standard way that the industry funds new software.
He tends to think of FOSS projects more like restaurants than like VC-funded startups. FOSS projects are often a labor of love, much like many restaurants. Most restaurants do not make incredible amounts of money; they are generally considered successful if they can continue to pay all of the employees and cover the other expenses without much left over. There are counterexamples, however, including chains like McDonald's that make bundles of money. Just as with restaurant food, he doesn't want "McDonald's software"; he would much prefer the "local restaurant version of software" that is crafted for its community.
After Heartbleed, a large number of companies "freaked out" about open source, but it was different than the usual freak out. Historically, companies got concerned when they realized that there was open-source code in their infrastructure and products. This time it was concern that the "crazy free-software hackers" working on the code that went into their products were not being supervised or controlled. That led to the companies thinking that maybe they needed more control over these FOSS projects, so that, hopefully, situations like Heartbleed did not recur.
He noted that he would be somewhat critical of companies and the organizations they form in this part of the talk. He said that along the way he has been accused of being a communist and of hating capitalism. He does not hate capitalism, but believes that a good culture has a counterbalance to "unbridled capitalism". We learned through the early days of the industrial revolution that allowing free rein to capitalism had some terrible effects on society, so constraints and watchdogs were added into the mix. Unfortunately, in his view, pushing back against unbridled capitalism has been lost in the US; but it has also been lost in the FOSS world, he said.
Watershed
Heartbleed was a watershed moment for companies and FOSS; lots of money suddenly became available to be pushed at FOSS projects due to Heartbleed. That process had already started before Heartbleed for other reasons, but the security incident really accelerated the process. Companies wanted to channel money to FOSS projects as a means of controlling them, Kuhn said; the companies couldn't simply hire all of the developers, which is the traditional way to gain control of a project. Much of this money has been funneled through the trade associations (e.g. the Linux Foundation and the Eclipse Foundation) that have been created by companies with an interest in FOSS.
Even after all the "oodles of money" that were aimed at these projects, it still did not make FOSS sustainable. There are still meetups and an annual conference devoted to the topic of open-source sustainability. "The problem has not been solved", he said. He asked: is more corporate money what we need? Is this really a money problem? He is not completely convinced that it is a money problem.
He gave one example to illustrate how much money he is talking about. In 2013, he attended the OpenStack party at OSCON. It featured food, cakes and cupcakes with logos from OpenStack members, and a giant open bar where you could get artisanal mojitos, margaritas, and other drinks. While he did admit to getting in the cupcake line more than once, the party was "really over the top" and not what he had come to expect from parties in the open-source world. In addition, there was a giant table with hundreds of small Fiji water bottles, which certainly failed on the environmentally sustainable metric. The party obviously had an enormous price tag.
That led him to look into the Form 990 for the OpenStack Foundation. All non-profit organizations in the US have to file a Form 990 with the tax authorities. The most recent he could find for OpenStack was 2016 [PDF], which showed it had spent nearly $30 million for the year. In fact, OpenStack had a loss of $6 million in 2016, which is roughly six times the SFC annual budget.
He dug further into the form, noting that there were fairly large outlays to several other companies and organizations, including law firms, web-site development companies, and others. Around $250K was sent to another trade association, the Linux Foundation, for "community development", which is also not getting code written. The list of the highest salaries showed a number of executives in the organization, with salaries ranging from $200K to $400K, who were not part of developing the code according to several OpenStack developers that Kuhn talked to.
As noted on its 990, the OpenStack Foundation is a trade association, which is a 501(c)(6) organization in the US; it is something that is formed by a group of companies to promote common business interests. A classic example of this would be the Pasadena Chamber of Commerce, which gathers up money from various businesses in the city and uses that to promote the city, provide maps for tourists, and the like; it is "totally reasonable activity" that helps local businesses.
These 501(c)(6) organizations have become the most popular model for non-profit work in the FOSS world; there are many examples of these organizations in our community. Trade associations exist to promote the interests of the for-profit companies that are the members of the association; those interests may or may not align with the interests of the community or the general public.
If you contrast that with the 501(c)(3) designation that is used for charitable non-profits, the difference is striking; 501(c)(3) organizations are set up to promote the public good, not the interests of a smaller group, but to "do things that help everybody". He noted that he is biased, because he works for a charitable organization, but he does like that when he gets up every morning he goes to work to "help everyone equally": individuals, companies, hobbyists, the employed and unemployed, commercial concerns, non-commercial entities, and so on.
Historically, organizations in the FOSS world have been charities; the first, the Free Software Foundation, was started that way back in 1985. "That was the way you formed organizations in our community for a very long time", he said, "until companies said 'let's put money together to influence this stuff'". In the 1990s and 2000s, a lot of free software was written sustainably.
But the free software in those days was not written in the VC style, with growth graphs that "look like hockey sticks". The projects grew slowly but surely; Linux is a great example of this, he said. Historically, Linux was a slow-moving project with a relatively small number of participants, but that has all changed. Linux also used to be a counter-culture project, but is no longer in his view; beyond that, the project is shunning counter-culture influences, which is troubling to him.
Kuhn feels that there is "kind of a 'slash and burn' attitude toward open source" these days. Companies have come to open source, but want things to work the way they are used to things working: with startups, rapid growth, and so on. An interesting thing about slash-and-burn agriculture is that it works great in the short term: the burned vegetation makes great fertilizer for next year's crop. But for long-term sustainability, it is terrible. This is a new problem for FOSS that was not really present before. Thinking in terms of this quarter's numbers and how to accelerate growth are, arguably, not even sensible for for-profit companies, but they are likely not at all right for most FOSS projects.
Slow, steady growth
As a kind of counterexample, he pointed to the phpMyAdmin project, which is a PHP program for doing MySQL administration via the web. It is a long-running project that was started in late 1998 and joined SFC in 2013. One of the things that SFC does for its member projects is to try to help them become sustainable. It does that by helping the projects raise money and to use it in a sustainable, not slash-and-burn, fashion.
The phpMyAdmin project raised $16K in 2013 and spent none of it on development. The next year it raised almost double that, but only spent $3K on development. That continued for the next few years; income kept going up, as did the money spent on developers, but the money spent was always a fairly small fraction of what was brought in. By 2016, the project was funding three developers for part-time work for a total of $21K.
He noted that the contractors doing the work were in places where they didn't need a tremendous amount of money to live comfortably, so they were willing to work for substantially less than normal US wages, in part because they got to do something they loved to do. But Kuhn did note that they were each making more than his wife does at a domestic violence shelter, though her position requires a Masters degree. Her boss supervises 40 people and has been working in the field for 40 years but, at $60K, makes less than nearly any software developer he knows.
He is a bit disturbed by this notion that salaries have to be at the high levels expected by US developers, which seems to permeate the FOSS sustainability effort. He said that he is often accused of wanting developers to starve, but that is not true at all: he wants people to get reasonable pay for reasonable work, to have health care, be able to live a comfortable middle-class life, and so on. But if being sustainable as a project means paying salaries at Silicon Valley levels, it simply will not work—it is not something we should bring back to FOSS, he said. We should look at what people need to live comfortably, while working on something they enjoy.
PhpMyAdmin is doing an "amazing job" building that kind of project, Kuhn said. It is not a "jet-setting project" with a high profile yearly conference; there is an annual developer meeting that has around 20 attendees. It is written in a language (PHP) that is relatively unpopular, doesn't have wildly over-the-top parties, and doesn't pay "giant salaries" ($500K, say) that some people are getting to work on open source. He thinks it is great if people can get those kinds of salaries, but the idea that we should strive to pay those kinds of salaries is highly problematic.
However, phpMyAdmin is a good example of doing sustainable FOSS. This is what SFC has been trying to do for its projects, though he again noted that he is biased since that is where he works. Instead of the accelerating growth pattern favored by much of the software industry today, phpMyAdmin has had slow, steady growth that is modeled after many free software projects that came before it.
OpenStack and phpMyAdmin are simply the examples that he used; there are others that fall elsewhere on the continuum of different funding and spending models. The point he is trying to make is that a sustainable project may not necessarily follow the VC-style path, with huge salaries and hockey-stick graphs; that may well not be the right path for a lot of projects. Many long-term FOSS projects have found a way to be sustainable without going down that road.
FOSS projects as small towns
He finished his talk with an extended metaphor based on the movie "It's a Wonderful Life". Kuhn would like to be known as "the George Bailey of free software" after he is gone, he said with a grin. Bailey is the protagonist of the movie who spends his whole life in a small town keeping the local bank afloat so that townspeople can buy and build their own homes, rather than rent them from the villainous Mr. Potter. Kuhn warned that his talk contained spoilers for the film, which was released in 1946; he noted that he is "a little bit obsessed" with the movie.
Potter owns nearly everything in the town, except Bailey's bank; in the FOSS world, we have our Mr. Potters, Kuhn said. These are "corporate tyrants" that exist within our world, but there are far more people like Sam Wainwright, one of Bailey's childhood friends. Wainwright is kind of a jerk, but a successful one who is, at least ostensibly, still a friend of Bailey's. At the end of the film, after the townspeople raise the funds necessary to keep the bank solvent, Wainwright offers an advance to cover the loss. At that point, it actually isn't needed and, as a loan, comes with strings attached. Wainwright is well-meaning and Kuhn thinks there are a lot of well-meaning people in FOSS who are pushing money into open source, "but there's strings attached".
He would like to see a diverse world of how free software is developed. He works for a charity and raises money from "townspeople" who like the work that the projects are doing—it may not be much money, but can be enough to sustain a project like phpMyAdmin. He would like to see more of that being done in the FOSS world. If all of the money to develop FOSS comes from large for-profit companies, the software will have a tendency to only focus on the computing needs of those companies.
It is a paradox that more and more FOSS is being created, but that it is getting harder to avoid proprietary software in our lives. Kuhn and his SFC colleague Karen Sandler gave a keynote at FOSDEM this year on just that topic. The problem is that much of the FOSS that is being created is in very specific domains, solving problems that companies have.
As a community, we need to consider ways to prioritize the needs of the general public, not necessarily the needs of big business, he said. While it isn't a perfect analogy, most FOSS projects are kind of like small towns. They are a small community of people who are working together for the most part. Small towns, like FOSS projects, have various problems but, given the option, he would choose a small town over a corporate campus any day. Small towns need George Baileys, however, so he would like to see lots more of those in FOSS—and fewer Sam Wainwrights and Mr. Potters.
The slides of the talk are available, as is a YouTube video.
[I would like to thank LWN's travel sponsor, the Linux Foundation, for
travel assistance to Pasadena for SCALE.]
| Index entries for this article | |
|---|---|
| Conference | Southern California Linux Expo/2019 |
