I’ve been thinking about what open source is a lot lately. I mean A LOT, probably more than is healthy. There have been a ton of open source happenings in the world and the discussions around open source licenses have been numerous. There are even a lot of discussions around the very idea of open source itself. What we once thought was simple and clear is not simple or clear it would seem.
Full disclosure. I work at Elastic and if you pay attention to open source you probably hear that Elasticsearch has a new license. I’m not going to discuss open source licenses today, I will soon, but today I want to talk about community because it keeps popping into my brain and clouding other ideas.
The term “community” means different things to different people. I’ve heard some people talk about community as some sort of amorphous blob that will give them free work. Some think it’s a bunch of jobless degenerates who need haircuts. Some think it’s where their friends are. Some think it’s where their enemies are. Some people believe community is a mythical beast, something so fantastical that can’t possibly exist, like unicorns, dragons, or Canadians. When we don’t know what something is, it enters the world of myth and it becomes both everything and nothing at the same time. I think many of us have forgotten what community is.
I’m pretty old so I remember the world of what we now call “open source” when it was less about the license and more about the rebellion. There were only 3 licenses to use, so nobody really paid all that much attention. The companies that are now telling us what open source is or isn’t were the same companies we built communities so we could avoid those companies. Microsoft used to be the bad guy. They were an enemy to be defeated. It was a wild time for sure.
I remember when I got my first job working on open source. It was a little company called Progeny Linux Systems. It’s long gone now, but there was always talk of “the community”. At first I had a sort of awe at this idea. “The community” was going to help drive everything forward. They would give us guidance, and help with development, and even pick up our slack. It was going to be so awesome! Eventually I came to realize there was a lot of misunderstanding about this community thing. The community pretty much did what the community has always done, which is whatever it wants.
What’s the point of all this community talk? While I keep turning the lathe of open source in my brain trying to decide what it all means, the thing I keep coming back to is this concept of “The Community”. There isn’t one open source community, there are probably tens of thousands (maybe even hundreds of thousands). They all exist for their own reasons, and they do whatever they want, because that’s just how it works.
The vast majorities of these communities don’t care what the OSI, or the Linux Foundation, or Microsoft, or Elastic want them to think or do. Every community values something different. For some, open source is a license that OSI has approved. For some it’s about collaboration, maybe even using Windows for that collaboration. Some might just be about sharing dank memes on a forum. There’s no limit, or rules, or order to any of this. The community does whatever it wants.
And this is where I keep seeing the shape of open source emerge. I used to think open source was about a license that OSI told me was a good license. I used to think it was all about the freedom, about the software that was set free because the OSI told me it was. I will say, having a license that encourages collaboration is HUGELY important, I cannot stress that enough. If a license is too restrictive you will not build a community, and it’s all about the community. I have many thoughts on that topic, but not yet.
The end goal in all of this shouldn’t be to use a certain license. Just using an OSI approved license doesn’t mean you are open source. There is plenty of proprietary software with an OSI license. The end state is to build a community that is self sufficient, that grows and changes on its own. If you think you have a community but you’re constantly having to resuscitate it, you don’t have a community. A successful community will take on a life of its own. It will not be steered by a Fortune 500 company, it will be steered by the people who are doing the work. Community is about collaboration, discussion, understanding, and most importantly, empathy.
The license you choose for your projects will either help foster or hinder your community. The license is just one of many tools you have to foster your community. This is also true of the development platform you choose. Or the communication platform, even the rules you create to participate in a community.
I think we became too focused on the singular aspect of open source licenses and forgot about all the other things that really matter. Open source isn’t about a license, open source is about people. We shouldn’t let anyone, especially a company, tell us what open source is or isn’t. We are all part of open source, but only if we’re willing to be a part of it. Open source is what we want it to be, open source is what we build it to be.