The Non-Compete Software Movement
It’s officially a trend — when a company needs to protect its business model from a perceived threat, and does so via licensing, it calls the middle ground license (somewhere between fully proprietary and fully open source) a “community” license.
I made a throw away joke on twitter, saying we should call this the “you can fix bugs in my commercial product” license. I thought it was funny (still do — it’s a zinger.) But then I got to thinking — we really do need a name for whats happening. It can’t be the “community licensing” movement. It can’t be the “end open source abuse” movement. I propose we call it the Non-Compete Software Movement.
Backing up a second
I have a tattoo. (Go with me, I promise I’ll bring it back around.) It looks like this:
Long story short, I have this tattoo because it reminds me that I have things that I value. I value my family. I value my work. I value video games. All kinds of stuff. In my heart, I believe that the person I am values those things in a kind of internal stack rank: I would never want to hurt my family because I value my work, for example. The lines remind me that I need to stop and consider my own actions.
It also reminds me that we often fail to do that. Everyone has that list, and everyone fails that list at some point in their lives. I am lucky enough to have people in my life who know my values — they know what that list is for me. They love me enough that when I fail those values, they tell me so: and they love me regardless. It’s a kind of grace that I know I need, and that I know others need. The lines remind me to try and search for those values in others, and attempt to give them that grace. It’s been very helpful.
Some grace for the Non-Compete Software movement
I have a visceral dislike for Salil Deshpande’s “crusade against open-source abuse” post on Tech Crunch. I think the case is over-stated, the risk is inflated, and it appeals to the values and goodness of a community I love while advocating a kind of separation inside that community that I cannot support. I thought it was crass and gross.
But then I talked to Salil a bit on twitter, and he said this:
And it was like that damn tattoo was vibrating. I wasn’t working to understand Salil’s values at all. I was reacting out of instinct, responding to what felt like a threat to something that has given me so much. To the heart of the thing that has given me so much.
So I will say it clearly, for Salil and anyone else who needs it:
These are valid goals for someone to have
I also believe that you value the interaction, community, contributions, and fellowship that comes from being a part of an open source community. That you believe more in the Bazaar than the Cathedral, as broken down as that metaphor may be by now.
I also know you value building businesses with strong, protected revenue streams. In Salil’s case I know that because he is a venture capitalist, and a good one, and you don’t get to be a good venture capitalist and not care about those things. My own life is orders of magnitude better for the existence of my venture backers in it — not only for their capital, but their advice, their clarity, and their wisdom. In the case of the entreprenuers involved in making these decisions for their companies, I know because I am one. I walk in similar shoes. I know how much stress and uncertainty and worry eats at your guts — that the business will fail, that these people who believe in you won’t have jobs anymore, that the thing you believe the world needs won’t come to being. I feel you.
Wanting to have both of these things, and being unwilling to sacrifice one for the other — these are valid goals to have. I share them. I respect your being willing to stand up for them.
But I don’t share your stack rank — I believe by valuing the community, I value the true differentiable value of my business.
What makes a Community?
I spend a lot of time thinking about what the requirements are for a community to exist around software. I published all of it as the Sustainable Free and Open Source Community site. Inside there is a conception of community as something that exists because a people come together for the shared cause of creating, evolving, using and extending software that works for them.
At the core of that definition of community is that we value each other, by upholding each others values. We do that by deciding what rights we all are going to have, and then protecting those rights. Being thoughtful about our actions, and our compromises.
Why Non-Compete Software hurts Communities
At the heart of the non-compete software movement is the fervent desire to keep the upside of being an open source community, without compromising the ability to capture revenue. It says:
- We share the right to use the software, to improve the software, and to extend that software
- As long as you do not compete with my commercial ambition
It starts by affirming your rights. We share those values. It’s better to have software that I can improve or extend. I want that. That’s good!
Then comes the kicker: part of the community (the business part) only extends those rights to you if you are willing to support their commercial ambition with your efforts.
We are immediately no longer peers. If I contribute my labor, improving the work you shared with me — it can only be to your monetary benefit. It can never be to mine. It’s not a community space anymore — it’s your space. I just get to hang out in it because you like the vibe I bring, or because I can’t stop re-arranging the lamps, and happen to have a better sense of lighting design than you do.
It’s not that you aren’t making a fair trade. Look, without you building the space, there would be no opportunity for community at all. But when you tell me it’s about me — we both know that’s not true. It can’t be true. Because when you’re gone, or when we disagree about where the lamp should be — well, we both know whose house it is.
If you value communities, you should call it what it is
I think we, and by we I mean everyone, including the companies at the top of this post — should call this “Non-Compete Software”. We should do it because it lets everyone know the deal. If I am comfortable improving your product for your benefit (and, in a lot of cases, I bet I am!) — awesome possum. I can show up and move the lamps around.
If I want to grab a piece of software and build a business on top of it through my own labor, I need to go elsewhere. I’m not welcome to do that in your house.
You don’t have to agree with my stack rank to agree with me on this. You just have to want clarity, because you believe in communities at all. If you truly want there to be a community around the software you put in a non-compete license, you need to call it what it is. In clear, easy, unambiguous language.
Show me you value me by being clear about our shared rights. Don’t try and convince me that it’s my house. We both know it isn’t.