I spent some of June in Cuba, staying in Trinidad, Viñales, Bahía de Cochinos, and Havana. It was wonderful, much different than most places I’ve been, and my first time in a Spanish-speaking country. My Spanish could be good, but isn’t yet.
I spent a day a Sustain, a conference about open source sustainability.
Allen “Gunner” Gunn facilitated the conference. He’s a professional: he knows exactly how to run a conference, and it shows. It was impressive, compared to many other ‘unconferences’ I’ve seen that ended up being either too casual or too organized.
It was a really interesting but unusual meeting: people were there from the non-profit world, from collectives, from Gratipay, and then there were plenty of open-source maintainers. The conversation, which stayed well detached from technical specifics, focused entirely on generating questions before noon.
I can’t speak for the rest of the people who were there in the ‘project maintainer’ capacity, but I sensed and felt myself some discomfort with approaching the issues from such a high level and in such a open manner. And the question of generating questions and then comprehensively listing solutions can give you the feeling… well, there are potentially hundreds of questions and hundreds of solutions to the problems in open source right now. And I, and other maintainers, can probably attest that, yep, we’ve tried that, and it didn’t work. We tried OPEN open source and Code of Conducts and we tried encouraging documentation contributions, and we tried lots of other things, and in summary, it didn’t work.
One idea that I came out of the meeting with, that I didn’t have before, is the effect of the open source environment on continuity and history. Right now, there are so many excited new contributors to ‘the open source ecosystem’, but it’s rare to stick around for more than a few years. After some time, you realize that contributor capacity isn’t growing at a rate that’ll replace you as project maintainer, and you realize that your work is being used everywhere by people and companies that will never contribute back. And the entitled requests of your hundreds of users poison your early-morning email.
This system, to outside viewers, looks fine: though nobody sticks around for very long, there are always enough people in the community to build new things and, anyway, projects never really stay relevant for very long. But in the slightly-longer view, what’s lost when few people in a community can recall 10 or even 5 years of history? When the community repels people so quickly that they never build version 2 and apply their lessons learned? It’s an invisible loss, the loss of something that could have existed but doesn’t, but I think it’s something to really consider.
The other thing that occurred to me is that the conference was mostly about how to make open source sustainable, not whether it could be, and maybe it isn’t. Not to be a bummer: there are plenty of industries that are extractive in their very nature. Offshore drilling struggles to limit its negative impact on the world, not to achieve some utopian reality. Wall Street tries to negotiate some acceptable level of risk and to draw down its operations that simply redistribute wealth up. Maybe open source software, as a part of this economy, will always be a struggle, will always be pulled in the direction of failure. Maybe there’s no equilibrium point.
I was somewhat surprised that Sustain’s discussion was almost entirely focused on open source within the context of startups. Which is natural for the setting - we were in the GitHub office, and most of the folks in the room came from the startup background. I wish that there was more discussion of governmental and academic producers and consumers of open source. Shortly after the conference, NumFOCUS came into the spotlight for funding pandas and commenters correctly asked: why just now? This software is a critical part of academic research, but unlike, say, all those Mathematica licenses, the maintainers don’t get any support from the creators. And what of 18f and USDS’s role in open source? Sure, they release lots of project-related open source code, but when they hire a prominent project maintainer, how does that person’s time on the project get allocated?
I really thank the Sustain team for bringing folks together to talk. We’ll solve this, I hope.