Historically my attitude to open source has been one of avoiding the GPL like the plague and sticking everything under a permissive license.
There are a couple reasons for this:
- Generally speaking I want people to use my stuff. The GPL acts as an obstacle to that.
- I want to spread my ideas. The GPL acts as an obstacle to that too, although less so.
- Most of my open source code is not stuff I’m emotionally attached to and frankly if someone wants to take it off my hands that’s great – it means I don’t have to maintain it
- I’ve used a lot of open source code in my commercial work that I wouldn’t have been able to use if it was GPLed. It seems churlish to not return the favour.
I’m… starting to rethink some of this attitude.
Here are some links:
- How to capture an open source project
- Github is not your CV
- The Ethics of Unpaid Labor and the OSS Community
Fundamentally, open source may claim to be about freedom, and most people who do it may even have that intent, but when judging systems intent is irrelevant, what matters is the structural effect.
And the structural effect of the current relation between the vast quantity of permissively licensed open source work and the industry is one of overvaluing people who are capable of putting in work for free, devaluing everyone’s labour, and allowing the industrial scale parasite of VC backed startups to leech yet more value from the commons without putting anything back at all.
And it’s at this point that I go have an existential crisis and go gibber in the corner for a bit.
Because this all ends up falling under what I regard as the fundamental question of my life: How can I make the world better while not also making the world worse and make enough money to eat at the same time?
Answers on a postcard. Or a blog comment. Or anything really because if you’ve got the answer can you please let me know? Because I’ve no idea.
Because the stuff I give away for free is the closest I’ve come to achieving the first even if it falls down hard on the latter. It sounds terribly megalomaniacal, but the point of this blog is at least partly to make the world a better place, and the point of Hypothesis is explicitly to raise the software quality bar for software written in Python (This is part of why I’m putting in quite so much work on the edge cases and things like cross platform compatibility. I don’t want people to be able to say they can’t use Hypothesis).
But… I increasingly feel like giving things away for free is also failing pretty hard on the second criteria: I may be making the world a better place, but I’m also making it a worse one by furthering an exploitative system.
And I’m not really sure what to do about it, but I think at the bare minimum it’s time to start pushing back a little.
And I think in the spirit of that bare minimum I’m going to be moving away from licenses that are quite as permissive as I’ve historically chosen. Hypothesis is under the MPLv2, as will all future open source work I do until I decide I have a better idea. It manages to strike a good balance between the desire to get other people to use it and taking a bit of a stronger stance on things. I’m also requiring a CLA assigning all copyright to me, though I’m less convinced that that’s a good general principle.
I’m also going to try to figure out how to get paid for this. It feels… embarrassingly self-serving to think in terms of being morally obligated to get paid for my work, but I think it’s valid. I’m only able to do this free work because I’m in the privileged class of people who have enough time and money to do so. For everyone else it’s not a moral issue, it’s just a flat out issue. It may not feel like it, but providing push back on doing free work is at least partly an attempt to abdicate some of that privilege.
(To be clear: I also want to be paid to work on Hypothesis for purely self serving reasons)
This doesn’t mean I’m not going to work on Hypothesis if I can’t get paid to do so, and it doesn’t mean that the wellspring of random half-baked ideas that is my Github account is going to dry up, so maybe this is a promise without teeth. I don’t know. Getting paid for open source work outside of a few big projects (there are a lot of paid Linux devs) seems to be one of the great unsolved problems of our industry, and I don’t really want to predicate something I regard as as important as Hypothesis on solving that problem, and until Hypothesis starts to see the sort of traction I’d like it to, getting people to pay me for it might be something of a hard sell.
Which basically puts me back where I started, just with a slightly less permissive license that if I’m being honest doesn’t really affect much of anything. It’s not a solution, but maybe it’s at least the start of one.