To Be Continuous: Open Source Economics
In this episode of To Be Continuous, Edith and Paul are joined by Sean Byrnes, CEO of Outlier.ai, and Nadia Eghbal. The group discusses open source economics, and examines several potential evolutions of adding money to the open source equation. This is episode #17 in the To Be Continuous podcast series all about continuous delivery and software development.
This episode of To Be Continuous, brought to you by Heavybit. To learn more about Heavybit, visit heavybit.com. While you’re there, check out their library, home to great educational talks from other developer company founders and industry leaders.
Edith: Nadia what do you like best about Open-source?
Nadia: I like that Open-source is where I feel I spend time with a lot of creative people, it’s sort of like creative talent at its best, then it feeds directly back into the rest of start-ups and technology and everything else that I love. It seems like everything starts with Open-source which makes everything magical.
Edith: Sean what do you like best about Open-source?
Sean: It’s the community I enjoy learning from other people, I enjoy being able to find people I wouldn’t be able to connect with that I have interests in common with, and the community that helps because I consider Open-source to extend beyond just ready lines of code to sharing ideas and sharing concepts and sharing solutions to problems. While I might not always use those same solutions I’m always inspired for new ways to solve other problems.
Paul: That’s super interesting because nobody said that they like how it supports their Silicon Valley start up through share cropping, or nobody said I like how I get paid to work.
Edith: Paul that comes later in the episode but this would be a great time for our guests to introduce themselves.
Nadia: I’m Nadia Eghbal, I’ve been writing recently and thinking a lot about how to support Open-source infrastructure. Originally I had a background in non-profits and impact investing and working with foundations, but most recently I was founder of a start-up and then I went into venture capital, and have sort of seen the system from all different sides. Would love to marry together all those different interests and topics, which seems to happen in Open-source.
Sean: I’m Sean Byrnes I’ve been writing software most of my life, I’ve also been a founder of companies and an investor. I would not consider myself an expert in Open-source and I don’t want to claim that pedestal but I have … I am the maintainer of some Open-source libraries which seem to be pretty popular, and I have contributed to others. I think that I’ve been lucky enough to know a lot of Open-source developers in my life which is by no means a majority of them but enough that I feel part of the community at least.
Paul: One of the topics that we were discussing just before the show started is this idea of how Open-source developers get paid, or if Open-source developers should get paid. Nadia it sounds like you’ve been talking about this for a while or thinking about this for a while, can you kick us off.
Nadia: Yeah, I actually have a new thought on this topic from Mikeal Rogers who runs the NodeJS Foundation. He said recently I think on the last post I had written that everybody gets paid for Open-source, and I think that’s a really great way to start thinking about it versus saying that nobody gets paid. In the end we’re contributing time to Open-source, and in the end somebody is paying you to have the time to work on Open-source. Whether it’s your employer and then you can work on Open-source full time at your job, or you’re full-time employed and that gives you the bandwidth to be able to work on Open-source on the weekends or whatever.
When you think about paying people to work on Open-source I think people bristle at the idea because they think that money is not involved in Open-source at all. What I really liked about Mikeal’s point is that
in the end money is actually really closely tied to Open-source, and we’re just not talking about it.
Sean: It’s interesting because my point of view is that it’s actually more nuanced, I agree with you 100%, but I think that it’s very nuanced in that a lot of people do get paid for Open-source. It’s not even that we aspire to wanting them to get paid because there’s lots of kinds of Open-source. It’s funny because on Medium Nadia and I had an exchange and I kind of quantified it into the 4 categories of Open-source the way I see them which is by no means the universal standard, but at least how I see the role there.
There are places where Open-source is part of your … A corporate product is part of the whole, like LaunchDarkly has Open-source SDKs. It’s not because they are doing anything, granted it reduces their sales friction if their customers can see the code before they integrate it into their app, that’s one kind of Open-source.
Second is what I call corporate Open-source, where there’s an Open-source project but there’s a company that sells services and products and stuff around it. Confluence does that for Kafka and Databricks does that for Spark. I think of the first companies to really make a good model out of it RedHat you can argue had mixed success but that’s another kind, where if there was a company whose corporate goal and sales is towards this project.
There’s the third kind which I call kind of like corporate marketing which is you take a project out of a company and you roll it out like LinkedIn did with Kafka.
Where actually the company’s maintaining it they just make it available, so Google with Angular and Facebook with React. Again there I think … You can argue why companies do this some of them do it for recruiting, some do it for marketing, and some of them do it because they’re very nice people. I think that the 4th category is where it’s a little bit weirder, where it’s what I call like the community where somebody started a project. Maybe it’s an individual maybe a few people to solve a problem. A lot of the most important Open-source projects today started that way, even Linux started that way, and it grew and it got bigger.
Then it became unclear because other people were using that project to build other companies and build other products and make more money. I think in that 4th category is where I think it’s less, because in the first 3 categories is usually pretty clear who’s getting paid to do what and where the money’s coming from. In the 4th category it gets very muddied very quickly because if I start something, and the metaphor I like to use is the Open-source library that I wrote was something called likelyJS which is a recommender system for node.js, where you can implement something like Amazon product recommendations.
I know that there are people in the world that are using that as part of companies and those companies are obviously making money because they’re using it to recommend products. The question is, in that world do they owe me anything for creating that which is underlying their products? Then in turn what do I owe the projects that I built likely on top of? Where does the flow of economics in that world go?
Paul: I have an interesting view on that, years ago I got involved in this project called PHC which was a compiler for PHP and there’s a couple of guys who had started this and I joined a year later, and when they started it they made it GPL. When I joined I argued we should change it from being GPL to BST, because if someone comes along and uses that technology to build something that’s cool, I would rather that happen that that not happen, and it might be that if it was GPL that it wouldn’t happen.
That essentially in sort of the … Related to likelyJS you decided by the license whether or not you were going to make it publicly available, or if you didn’t want people to build business on it you could have made it GPL or AGPL or something along those lines and you could have restricted it in any way that you wanted and you chose not to. There’s something implicit in that that communicates to people who are building their companies on it etcetera as to what your intent was.
Sean: That’s true although there’s a nuance in there which is that even the GPL suffers from this. Richard Stallman still complains about this today which is you could still use likely.js on a server to produce a service.
Paul: AGPL would work around that …
Sean: Sure and here’s other licenses that I could choose, but the majority of licenses out there today. Even then let me argue the counter-side not because I agree with it just because “Hey let’s argue because it’s more interesting, what’s up?” As an individual developer I don’t have the time or resources to go pursue … I’m not going to go sue somebody, really no come on, it’s not going to happen. I think you were right only in the act of releasing it as Open-source on GitHub.
I was making a decision that it’s possible for people to use this in ways that either I don’t intent; they could have used it on Silk Road to recommend drugs for all I know seriously. Or to make money on it in ways that I am not going to benefit from, and I made that decision knowing full well the impact of that. I would actually argue most developers do that. The question is whether or not there’s like remorse later on when it turns out, “Wait I really wish I hadn’t made that decision, I could go back in time.”
Paul: I think this is a common thing that people create a thing and then they say, if this is popular I could sort of keep it or I could … There’s value here that I could keep to myself or I could keep the value to myself or try to profit from it in some way, but they make what is essentially a marketing decision. I’m just going to release this, I’m going to see what happens to it, I’m going to see if it spreads and then if it spreads, I can then make a decision as to how possibly I can make money out of this, or I can get value out of this. At that point obviously the cat is out of the bag in terms of people actually using the software.
Nadia: I think it’s actually you should start from the principle like you said of … It’s really great when you give something away and then people can use it for whatever they want. Whether it’s for a hobby project, whether it’s for illegal drugs or whatever businesses whatever that’s kind of one of the coolest things about Open-source is that you can use it for whatever you want, and that’s what you signed up for. If you don’t want to do that then don’t license it that way.
At least the problems that I’m seeing or that I’m interested in are not really about sellers remorse I guess of I made this thing and now it’s really popular and how can I make money off of it, but I think it’s more really about investing back into the infrastructure that we’re all using and that requires some sort of maintenance and upkeep.
That’s why I like the term infrastructure and I’m trying to use it in that sense of things that don’t have a business model or a business attached to it. Like you literally could not charge for Python, it’s not going to happen, or the packaging associated with it or whatever. Still millions of people are using it to touch billions of people and you literally have one person working on a library or project. It seems like it’s in everyone’s best interest to make sure that it works properly.
Edith: I think Nadia made a really good point that
A lot of the fun of creation is the creation and the hard work is all the maintenance and the support and the documentation after.
So like Sean you basically got the fun.
Edith: Then you’re just going to be like …
Sean: If you think even back to the original like Cathedral and Bazaar essay from years ago, that was one of the fundamental topics of … Eric was inheriting, I think was called POPMail from somebody else. He had gotten tired of maintaining it and so he wanted somebody to take it over and he found Eric and Eric took it over. We as engineers we like creating and we like creating things in our free time and we don’t like maintaining them as much, and maintenance feels more like work. I agree with Nadia’s point that if everybody is driving economic value from it somebody has to be willing to step forward to support it.
I think the problem is that I also … It’s funny that you have a background in non-profit because I also have worked with non-profits, and I see the similar lament in non-profit companies which is that … Not non-profit companies, non-profit organizations where the person who starts it usually really wants to solve this problem, they’re usually very good at that. They’re not good at the fundraising and when in this case the non-profits it’s like raising grant money or getting donations.
They have a good mission and they have a good organization to go do it, and they had this lament which is why can’t they get more support to solve the problem they see in the way that they want to solve it. I see the same around maintainers of Open-source projects, and I think the challenge is going to be that I wonder if it is even possible for the general economy to support them to do what they want to do the way they want to do it, or if they are going to have start doing it the way the …
Paul: They have other options, they can start a consulting company, I think you’d call it a category 2 company or something like that to build around it and support themselves that way. Then their job isn’t what they wanted their job to be which is making cool software, their job is doing maintenance contracts for a big soulless enterprise.
Edith: You say that like it’s I mean, Soulless Enterprises is I mean …
Paul: I’m a big fan of Soulless Enterprises, but I’m just looking to sort of put the …
Sean: They have a lot of money, but you have to sell them.
Paul: If any Soulless Enterprise would like to buy CircleCI they should contact me for enterprise pricing.
Sean: Just mention the code OSS for 10% more.
Edith: By the way thank you wearing your LaunchDarkly t-shirt today Paul.
Paul: Always. Nadia and Sean had this conversation on Twitter a week ago which led to them being on the show. One of the tweets that got involved was from a @jacobian who’s one of the senior Python kind of people. What he said is, “OSS developers deserve to be paid, SV, Silicon Valley has made massive profits by exploiting free labor, this needs to end.” I think that there is this feeling in Open-source at least by a lot of people who end up on the maintenance side of things that there is a sort of a share cropping going on here, and that something needs to happen about that.
Edith: I think Nadia actually put this extremely well in the essay like I wish I had written that essay, it was brilliant, but what really fed this is the explosion of GitHub and that it’s really easy now to start an Open-source project.
Nadia: I feel like right now is just a time when we’re so used to thinking of Open-source in a certain way and things have kind of gone along as they have for so long, that we haven’t necessarily noticed or taken a step back that like the past 5 years look completely different from the past 30 years. Stuff is just not the same anymore, and in part it’s really … I think GitHub is a really a good thing because it means that Open-source kind of won in a way. Companies want things to be Open-source, they want to learn how to Open-source their own projects. They want to understand the whole thing.
Everybody’s defaulting to Open-source and that’s a really positive thing and the question is more of not like, “Oh we’re exploiting people and that really sucks,” but how can we help support that underlying layer that has helped make everything so great. They obviously need some sort of reinvestment back into it.
Edith: Yeah, one of the most fascinating things about the Cathedral and the Bazaar which was written 30 years ago is that they referred to Linus Torvalds as this charming guy. This charming personable guy who persuaded people through sheer force of will to work on his project. To go back to Sean’s like example about a nonprofit, and everybody in the studio right now is, “Wow that’s not …” by anybody’s perception now and I don’t know whether that’s just the grind down of having to keep maintaining a project or …
Sean: First I’d like to thank … I don’t know if his name is actually @jacobian but whatever it is thank him for his service and work on Python. I think no matter what we agree on here we can only agree that the people doing this are doing a service for the general community.
The problem I have with calling it free labor is that I find it … I think it’s misleading, and secondly I find it a little bit condescending that the intelligence of software developers that they’re just being taken advantage.
They’re somehow they have no choice. There actually is legitimate free labor being abused in the world, people who have no choice they have economic limitations, they have no options. The reality in software development is that no matter where you work in the world software developers are a highly paid profession, people who can make many doing this, maybe more in Silicon Valley than elsewhere but people can make money doing it.
It is a challenging profession and these people are smart and they understand the impacts of what they do. I think the question largely is I really do think it comes down to the fact that there are people who have done work that is now being used in other ways, and what is the rationale and the economic equality that they deserve for that. There’s equivalencies previously in history, it’s not like this is the first time in history that technology’s been used in different ways, you looked at the ways the telephone changed the economy and electricity changed things, these things fundamentally alter the way we function and they can be used in ways we didn’t intend.
You think to the original … All the original programming languages all came out of academic research. Then it was always going to be, university research has always been available to the public so as always as Nadia said back then it was obvious. Now we have companies, like GO is developed by Google, so what does that mean? Does that mean that the world changed? Like Java was developed by Sun Micro systems that worked out really well, but Java’s never really been Open-source.
Paul: To take his point a little more, I don’t necessarily agree with @jacobian’s point here, but I think the feeling that he’s trying to say is that there’s tons of these start-ups who are making millions and millions of dollars, and they’re building it on the “free” and I’m making a quotation marks which you can’t see.
Sean: They were great actually good flourish a nice wrist snap.
Paul: Companies are making millions of dollars on putting together, wrapping together Open-source libraries and Open-source technologies that are produced by people to whom they gave no money, and to whom they are sending bug reports and who are then shouldering the maintenance burden all for free relative to the companies that are using them.
Edith: I think a lot of Open-source was based on we call it take a penny leave a penny model where “I’ll use this project but I’m contributing back to …”
Paul: I think it was actually the take a penny, take a penny.
Edith: It was originally I’d say this very idealistic thing where it was coming out of universities. It was like you’re working on this part of the stack or work with proto-stack and we’re all getting paid by research grant so it doesn’t really matter. What’s changed now is that it used to be that using Open-source was very subversive thing, like it was stick it to The Man.
Paul: Now The Man is exploiting Open-source.
Edith: Yeah, Open-source has won the battle where you no longer have … I remember when I started out you had to fight to use Open-source.
Sean: I have a funny story about that which I forgot to tell at the beginning.
Edith: Now it’s a reverse now all of a sudden it’s like the big companies in Paul’s words the soulless corporations, who are filing the snotty bug reports. It’s like it’s bad enough to get a snotty bug report from a customer that’s paying you, but when it’s from somebody who doesn’t even give you anything? There are some legendary GitHub threads where basically somebody is like, “You don’t understand who’s the customer here.”
Nadia: Yeah exactly.
Sean: I’m not going to tell my finish story now because I would lose the moment, but I would say that again it comes back to me a feeling that there is this problem that exists where the mindset is I want to get paid for doing things the way that I want to do them. I think that that’s the challenge that I run into with this, which is they could ignore those bug reports. You could say listen I don’t care what you think. Literally a lot of these projects most Open-source I don’t have statistics, most Open-source projects have a single maintainer. It almost always is a single contributor if you’re very lucky you get a full from … There’s almost always one person’s that’s doing it. That person has the ability to do whatever they want even the most popular ones even though they probably wouldn’t do this they could in theory do whatever they wanted.
Edith: That’s the whole idea of the benevolent dictator.
Sean: The benevolent dictator for life, exactly, so my point is they want to get paid for operating this in the way that they want to operate this, and doing this in a way. Maybe that’s not the right model, maybe there’s a point where these things turn over. What happens today often I see, not for Python that’s obviously not going to go away, but for libraries and somebody will build one, and they’ll maintain it for a while and they get sick of it and a few will pop up.
Likely, when I wrote it was a very first and only recommendation engine for Node, now there are a dozen. I haven’t maintained it in a few years because frankly there’s better options available. That becomes a circle of life where the community is maybe not contributing to the original project, but creating new ones that pop up around it to replace and augment it and it becomes this kind of free flowing free form entity and community.
Paul: I find it very similar to the things that journalists are lamenting about, journalists are talking about the …
Edith: We used to get paid.
Paul: We used to get paid, we used to get paid a lot we were the arbiters of what content was and then all these people came along, and they started making content for free and that content isn’t the right content, or whatever complaint it is. A new technology the internet allowed anyone to write and lots of people wrote for free, and it devalued what they were doing and then the people who wrote from free found business models, whether it was like being able to get a job from writing or YouTube royalties or whatever the thing is.
There’s this really strong parallel that the people who are maintaining the big project are like, “We want to get paid for this how come no one’s paying us?’ The people who are maintain the small projects and who are building it for free, and are getting jobs out of it or are getting consulting out of it or whatever are like, “Fuck it I’m making billions of these, I do it because I like to write and I don’t care about your problems of maintaining Python.”
Nadia: Anti-shade, but I’m just saying that like there are plenty of and I think that’s sort of where all the fun and the creativity is happening is like, “I made this project and I’m going to put it out there,” and someone else might made another one and that’s cool and you can choose whatever you want. That really mirrors sort of like the information revolution in a lot of ways with content and journalism and other things where like music even where you can just like give it away, and now paid products can’t compete.
I think that’s actually okay in a pretty natural and expected development and we shouldn’t fight what’s happening. Then there’s still plenty of examples of projects like Python and its packaging or Ruby and its packaging or whatever that aren’t being supported at all, it seems like you can’t use a small project to explain why we shouldn’t support a big project because these big projects …
Paul: I think OpenSSL has a really good example. OpenSSL had one maintainer and it had some security issues with it that were basically … and everyone in the world was relying on it and then everyone got screwed.
Nadia: Yeah totally.
Sean: I don’t agree, if you think about how many languages exist today how many options you have to choose between … It is true that Python … You’re not going to have like 3 versions of python that people are maintaining, but there are so many languages if the python maintainers are like, “Listen we don’t want to do this anymore,” and they walked away from it. It’s not like the world would end, the existing Python may not get better.
Paul: We’ll disagree on this. If you look at all the companies and all the projects and everything that are being built on Python, the world would end. If Python went away someone would come in and have to support it.
Sean: Exactly, but that’s my point.
Nadia: Why don’t we just do it? Why do we wait for a disaster to happen? Even with OpenSSL for example, they were asking for years for donations openly soliciting trying to get people to pay towards, and it was only when there was this huge bug that suddenly everyone was like “Oh my Gosh.”
Paul: I have a strong opinion about this? Basically they’re asking the wrong questions, if you’re going around saying we want donations or whatever …
Nadia: Like they think we’re trying to kick start.
Paul: Right companies actually really can’t give donations, donations are really fucking hard to give. What they should be looking at is companies and their risk profiles. You have a company that is built on top of Python and they have no support contract and the whole thing could fall under them at any minute, they’re definitely going to want to donate or give or buy or something that reduces their liability in some way, reduces their risk factor. The idea of going around and saying, “We need money please give us money,” I think is ludicrous.
The idea that I’ve drawn up for this is basically someone should go out with literally a sales team, go to every Silicon Valley start-up, every venture capitalist start-up, every venture capitalist, everyone who makes revenue in the software business and say, “Give us .1% of your revenue or 1% of your revenue somewhere in that range and we’ll make sure that it goes to the libraries that you rely on to de-risk those things going away, the bugs not being done, or that sort of thing,” and the idea that people would just like throw their hands in the air and say, “Why wouldn’t anyone donate to us?” it should be a very proactive approach of going out to each of these companies saying give us money, here’s an LOI, here’s my check, bring out the checkbook we’ll make sure the money gets there.”
Nadia: Actually with OpenSSL, there’s actually a very interesting set up I talked to Steve Marquess who is at OpenSSL just to understand that structure, and it was actually … They realized exactly what you realized which was … Even though people keep saying OpenSSL never got more than like 2,000 donations a year. That wasn’t actually how they were paying their bills, they were doing consulting contracts. They brought in no more than I think a million a year but it was more than $2,000. There’s Steve Henson who is contributing to … Or he was the one paid maintainer for a while at OpenSSL and now they have a bunch of other people.
Then Steve Marquess came in for this reason to say, “Hey I’ll write a little bit of code here and there but really what I think you need is a little bit of a business mindset,” and so he managed and continues to manage all of the contracts, all the business services. None of the developers want to talk to clients but he will be like kind of that interface … Even like email he says “Don’t ever email Steve Henson just email me I’ll forward it to him if he needs it.” I think that actually speaks to what is … What Open-source needs more of is …
Edith: A business.
Nadia: A business mindset.
Paul: I’m proposing something that’s ever so slightly different to that that rather than a single company like … Rather than each company in like OpenSSL having a business person who goes around and who tries and raise money, or who sells the developers time for things. You have a single company …
Edith: You have the united way of Open-source?
Paul: You have the united way of Open-source.
Nadia: Then Paul then you still have the issue like how does this united way decide where the money goes?
Paul: You can look at people’s Gemfiles to determine where the money goes.
Nadia: I’m totally onboard with this, this is kind of what I’m slowly trying to move towards.
Sean: I think companies are more likely when they get scared like that to hire a shadow maintainer than they are to donate to the Open-source project. You see this all the time companies that rely on big projects like HBase and Cassandra they actively go out there and try to have … They basically have shadow maintainers on their team whose job it is to be the expert on the source code, they update it…
Paul: Companies typically use more than just HBase, they’re using hundreds and possibly thousands of …
Sean: We’re talking about a class of projects which are the huge projects, like the programming languages, the big projects because the small ones we’ve already talked about those, we can go back and talk about them again, but those are a different story.
Paul: Do we think that the small projects don’t deserve funding?
Sean: I think that it’s much harder to make a case for them because they live and die so quickly, I think it’s really hard.
Nadia: I would liken them to art which is how a lot of people think about code and when it’s sort of on that level I think of it as art and creative expression. When I think about like the big projects I think about them like highways or roads or infrastructure.
Edith: Or cathedrals.
Nadia: Or cathedrals.
Paul: This is interesting no one thinks the small things deserve some sort of support?
For example in most places there is N number of implementations of a bit vector, I guess it’s really not hard to write a bit vector like if you really didn’t like the ones out there you could write it yourself. A programming language is on the other side of the spectrum which is really complicated it. If you’ve ever done one it’s like crazy hard to do.
On the spectrum there, if the smaller ones probably deserve but the replacement cost is so low that you can just churn them through and on the higher end where replacement cost is higher. This is where I think that if a company really was scared about their reliance on it, they’re less likely to support the Open-source project where they have no control over what the money goes towards. Like if I give to OpenSSL I personally believe they would do something positive with it, but a corporation cannot make that bet, so I want somebody on my team who knows OpenSSL code that can improve it or change it in ways that I need= and I see that as my investment in my production.
Paul: I’m going to suggest that we’re thinking about this a little bit wrongly because