ambitiousslab@feddit.uk 1 day ago I don’t like it when projects do this because it creates a power imbalance and it is typically used by people who want to do rug pulls and other shenanigans. Often it is used by companies to work against free software by creating a big community around a project, getting mind-share and then transitioning to source-available or proprietary.
I don’t like to contribute to those projects because it makes me feel like I’m doing unpaid work to build up their business. If they are the only significant contributor to a project (which is often the case), if they divert resources away from the freely available repo, then the project dies and my contributions are for nothing.
Meanwhile, AGPL without a CLA makes me feel that we are contributing to a public good where everyone is entering into the relationship on equal terms. It feels like more of a gift to society.
Don’t get me wrong - I think that people have a right to do AGPL + CLA in the same way as they have a right to write proprietary software. It’s their code, free time and their choice. But, I also have a right to feel sad about that and voice that sadness and call them out by it. I have been jaded too many times by companies who use this precise mechanism to build their business and then do a rug pull. They are not doing this to further the free software movement, they are co-opting it for their own needs.
You are right that I could fork the project, but then I have to take on the maintenance burden of continually rebasing my contributions and dealing with conflicts when they arise. If the project goes fully closed source or source available, I have to take on the maintenance burden myself. I would rather contribute to a project where there is no such risk and where I believe that we are contributing towards the same goal.
FishFace@piefed.social 1 day ago
I see.
I think in the end the consequences of a relicensing/rug pull are similar to the consequences of the team around a product just ceasing to develop it: the code that was contributed before the decision is available for someone else to take on, but the likelihood is that, with that core source of effort and motivation gone, the project, or at least its open source part, will die. So I guess I don’t really care.
I also don’t see CLAs as particularly indicative of that happening either, since they’re very useful to be able to change between open source licenses. If you don’t have one, that is essentially impossible, which can be a very serious situation. The biggest project I work on relicensed (to AGPL, because it’s a webapp and so the GPL we had it on before essentially had no bite) and it was only possible because we were still in touch with virtually every contributor and know them personally. If the project were even a little bigger we’d have been stuck. (We still don’t have a CLA…)
I agree with your re-licensing analogy, with one caveat, which is that the existence of a rug-pull project might encourage people who would otherwise contribute to more firm-footed, community-driven projects to essentially waste their time on a dead-end project that won’t last. Since every time a project dies, there’s wasted effort that could have gone into building something long-lasting, I think our collective time is limited and we should be building up projects that last so that we can move onto freeing up other bits of the stack.
That said, I recognise this is a relatively weak argument, because there’s so much duplication of effort anyway - everyone wants something slightly different so there are many duplicated projects, there’s benefit to exploring all sorts of different avenues even if they don’t work out, and ultimately this is a hobby and people have to work on whatever they want.
I also agree that a license assignment CLA is not necessarily indicative of a rug pull by itself (although it can warrant further investigation, and there is a pattern of people using it in this negative way, against the wishes of the community). I guess it comes down to people’s intentions and trust at the end of the day. A project I work on recently also switched license. For us it was permissive to GPL - there was no requirement for them to ask permission - but they still did check with everyone with more than a couple of lines of contributions because it was important for them to get consent. I know SFC for instance lets you assign your copyright to them to help with enforcement, but in a revocable way, so if you don’t like what they’re doing, you can always take it back.
I think to some degree I’m quite jaded and cynical, because I’ve seen this happen so many times, especially with more glossy and centrally driven projects. I’m drawn to free software because I don’t like abuse of power and to me this is a solution to that in the tech world. So whenever I see a power imbalance here, I react strongly against it even if in some circumstances it wouldn’t be abused.