The Impact to Open Source Software

Posted by Vanessasaurus on April 20, 2020 · 19 mins read

This is a crosspost from VanessaSaurus, dinosaurs, programming, and parsnips. See the original post here.

Back in 2019 I started to think about Open Source Transparency and made a distinction between traditional open source and this new kind of Business Open Source or commercial open source, something I saw as an artifically created open source community complete with marketing, branding, and a large supply of company-paid developers. To summarize, the dangers of open source business models come down to how you go about it. You can alienate a previous group of core developers, or even an entire community:

The problem is that as soon as a project takes on a business model, that’s making a statement that the maintainers behind the project have changed their incentives.

It’s the loss of community and common vision:

I believe that the fundamental component, the magical feeling that we get from open source, isn’t because of business models, expensive conferences, or external incentives. It’s the people. It’s the culture. It’s having fun with your tribe and working on something that will survive because it’s great. I am free.

And ultimately I concluded that all other things aside, the factor that determines the survival of a community is the heartbeat:

It’s the community spirit that gives a project its heartbeat.

Artificially created communities wouldn’t have that heartbeat, they would be more like robots that are pretending to be living. So why are these points important now?

Open Source in 2020

If you haven’t noticed, we’re under quarantine, and living through a pandemic. I’d like to think that we will look back on this in ten years and recall our mistakes, and what we’re learned, but that time seems far away right now, and I suspect a lot of this will be forgotten, other than perhaps changing the convention of a typical handshake to do something else. If you are someone like me that cares deeply about open source, other than worrying about your friends, family, job security, the economy, and whether or not you have an extra pack of toilet paper under the sink, I suspect that you might also be thinking about open source software.

The reason is because I think such a crisis brings to the surface the true community and sustainability of a project. There could be several interesting outcomes for open source projects depending on these variables, and that’s exactly what I want to talk about today. The determinents of these outcomes I believe come down to many factors, including how the project was started, the number of actual community maintainers that exist, and the incentives for continued contribution by both industry and individuals. Our current Coronapocalypse is the perfect testing ground for the strength of an open source project. Let’s talk about these different cases that I anticipate, or have actually seen, or can speculate on hypothetically. I am not taking the time to collect data to back this up, this is all speculative.

Open Source Software Has an Upper Hand

Off the bat, since working on software comes down to sitting at a computer and coding, software development has the upper hand. This is a much different story than so many careers, products, companies, or services that you simply cannot perform sitting at home by yourself. I want to state this upfront, because it’s a clear business advantage to be working on software than say, running a restaurant or store front.

No Change for Healthy Open Source

The Diversified Portfolio Case

An OSS project that is widely distributed across developers and not “putting all eggs in one basket” by mostly being supported artificially by a company (I think) has a much higher liklihood of making it through.
We can think of it like a diversified portfolio - if you invested all in one stock (one kind of developer) and that developer needs to work on other things or can’t be supported anymore, you are out of luck. If you are diversified and have lots of people, well then it’s a different story. Maybe some of the project maintainers need to work on other things, or even lose their jobs, but the diversity of the community gives it strength. This is the best outcome, and what I suspect to be the case for the strongest open source communities.

Survival Model for Taxed Developers

The Runner with a Broken Toe Case

There are two ways to think about survival mode - from the standpoint of a company, and from one of an individual. Let’s start with a company. I think that smaller companies that maintain an OSS project alongside some open source or other kind of business model are likely to be suffering during this time. If people are overall spending less and doing less, it’s likely that demand for a smaller company product has gone down, and the company might be going through other financial hardship. What happens when push comes to shove? The company might need to focus on it’s core product, away from the extra open source offerings, and possibly even need to let people go. The company is in survival model. The OSS they might have maintained is understandably an afterthought.

Now let’s talk about survival mode for an individual. This is an entirely different beastie, because while a company is arguably very economically driven, the individual is an emotional being. Surival mode for a person means figuring out how to take care of yourself, adjust to new routines, and manage stress levels and worry. All else staying the same for the company, if the individuals that make up that company are in survival mode, which I’d find it hard to think that most aren’t, the time that people devote to open source almst has to change. If you’re an open source developer in the wild, you might just not have bandwidth. If you’re an open source developer at a company, even if an OSS project is the only thing that you are still working on, by way of having this new routine, levels of stress, sleep, or even sickness, you are in survival mode. Also understandably, the open source development can take a hit.

I call this the “Runner with a Broken Toe” case. Why? Well, I happen to be runner, and I happen to have quite a nack for walking into things, to the degree that I’ve broken a long toe on my left foot at least five times since high school. I don’t compete anymore, but I still consider myself a middle distance runner because I like to run fast. A 20-30 minute tempo run that gets my heart rate up, or even shorter intervals that are faster, drives a lot of my well being and happiness, and ensures that my dinosaur brain is relatively sharp when I get back to programming. So what happens when, every couple of years, I gracefully walk into a chair, my toe turns purple, and it’s elevated yet still unbearable to walk, or even fall to sleep on the first day? This is a perfect example of survival mode, because I need to continue being a productive, healthy, and happy person despite my injury. This requires some mental strength and compromise, and an obvious change in routine. I figured out early on that there isn’t much you can do for a broken toe, but you can use the buddy system so that your toe is splinted by being taped to another toe. With that fix, after a day or so I’ve always been able to (carefully) walk. And in the mean time I can bike or do other forms of exercise. Then after a few days to a week, I can try very carefully jogging, again with a very sturdy split. I don’t think I’d be able to do this if it wasn’t a toe on the outside, because toes get less essential as you go outwards.

Anyway, the point is that you are hit with something crappy, you adapt, and you survive. And you learn for the next time. For example, my highly technical solution was to wrap the base of my chair in towels. Maybe for open source software, this might mean diversifying your community to make it more robust to change.

Summer Vacation

The Sleeping Beauty Case

The survival mode case suggests that either a company or individual needs to make changes to survive. Implied in that is having power to make decisions and react. But what if modifying your routine isn’t enough? What if you really need to shut things down until the crisis has passed? This is the Sleeping Beauty case. Sleeping Beauty didn’t choose to be put into an eternal sleep, and the inhabitants of her kingdom didn’t either, but it’s what needed to be done to survive. Unlike the Runner with the Broken Toe case, adaptation is not an option here. The circumstances warrant shutting things down until further notice. For software, this might mean that a company redirects an entire (previously) open source team to work on COVID related projects. It might mean that an individual needs to prioritize their family in the evenings over open source projects they might have contributed to. The good news about this particular case is, as we know, Sleeping Beauty wakes up in the end, and her kingdom celebrates. I’d even go as far to say that given a vibrant community that is forced to take a nap, it might wake up even more motivated than before. If you are part of an open source project that has taken a hit, the fairies might be sprinkling dust on your project for a while, but it’s not forever. The software will wake up again after the event has passed.

Acquired Because Something had to be Cut

The Peanut Butter and Something Else Case

If an open source project was being supported by a larger entity, given that the larger entity needs to consolidate resources or the project business model has started to suffer, it could be the case that it is acquired. This is the peanut butter and “something else.” case. Let’s say our software is peanut butter, and it’s great peanut butter - all natural with no added ingredients, but somehow still creamy. We’ve been producing peanut butter and apple jelly sandwiches for our open source business model, and things were going fairly good. But as soon as the Coronapocalypse started, our peanut supplier was stressed for workers, increased prices, and people started eating more beans and gasp making their own bread and not eating it with peanut butter. Since we could no longer be supported, a larger company ate us up again. But this means different people are in charge, and they aren’t okay with the fact that peanuts are more expensive.

Let’s make the peanut butter taste better by adding some “all natural” sugar and then it will be more appeling to children.

These new maintainers might not care as much about the peanut butter and apple jelly community. In fact, this company manufactures marshmallows, so they change the recipe, find a way to increase profits, and make this recipe going forwards a trade secret. From the business standpoint, this seems like a smart thing to do. But it’s come at the cost of the original community that really cared about natural peanut butter and apple jelly sandwiches. I hope you see how this applies to software - when the core leaders and maintainers have a change in who runs the show, and changes the priorities for development, this could mean an irreversible change that isn’t great for the open source community.

Potential Death of a Project

The Graveyard of Software Case

A quick visit to the Google Graveyard will likely bring a theoretical tear to some of our eyes - these are projects that varied in popularity, but ultimately had the same fate. The graveyard is even a little bit dark because some of the “dates of death” are in the future (e.g., Google Hangouts is set to go away in December 2020). My greatest sadness is still Google Reader, which was killed almost seven years ago. Or ice cream afficionados can visit the Ben and Jerry’s flavor graveyard and mourn the flavors that just didn’t survive the harsh realities of supply and demand. But I digress! The point here is that this is could be viewed as the worst outcome - if there is an OSS project that completely dies, that means that development does not continue, and any community around it is essentially closed down.

But wait, most of these aren’t actually open source projects! This is where there is a bit of a silver lining for truly open source software. If a company goes under that maintains OSS, the good news is that if it’s valued enough, granted that the source code is under version control like GitHub, the community can step in and take care of the project. Are there likely to be a few rough years figuring out the community structure and possibly finding additional developers? Sure. But just by way of being open source, and having a strong community, it’s not a death sentence for OSS if the main supporting entity goes under.

Summary

The takehome point, I think, is that in times of economic and other crisis, it’s the community that comes out more strongly than any kind of open source business model you could come up with. It’s not to say that open source business models don’t work (there are several large companies that have made it work and are flourishing) but I’d also argue that those same companies place a high priority on the communities that they serve, and strive to make decisions with the community in mind, and definitely not make choices that come across as being hurtful to the communities or people in them.

In the face of these hard times, I hope that people can still feel optimistic about open source software. I watched this video last night, and while I don’t think that the points are off (yes, open source projects likely don’t have a large profit motive and would be first to be cut) I think that the implication is that we are talking about open source projects that are under this new “commercial open source” and must exist with a business model. I can think of many academic or research oriented projects, some even supported initially by large companies, that will survive not because they have a profit motive, but because they have enormous strength of a community behind them. This is what I’d like to add to the conversation - the community that cares a lot about a project cannot be overlooked. The project might go Sleeping Beauty dormant for a while, or Runner with a Broken Toe adaptive to survive for a bit, but the strength and open source heartbeat is still alive and well.

What to do? If you are going through one of these scenarios, try to reflect on how you feel about it, and what it might mean for the project or you, longer term. In many cases it’s probably just a blip and things will go back to normal, in other cases more complex incentive structures and loyalties might be revealed that cause you to step back and think about the path you’d like to take in the future. Along with self reflection, it doesn’t hurt to reach out. See how people are doing, and ask if they want to talk, or get help with something. That’s the power of open source. We could talk a lot of time about business models and money, but that’s not what it’s really about. Open source is about community. But that’ just my opinion, you might think differently.