Otherwise I'm going to run out of flour and no one gets cookies.
This is the original sin of FOSS. Large mega corps end up taking up a disproportionate amount of bandwidth while only contributing when they feel like it.
At least with . net core Microsoft ultimately pays the bills. No one knows how other independent FOSS projects are supposed to be funded.
If you don’t want a megacorp using your software, don’t give it away. Or license it such that they can’t do what you don’t want them to do.
This retroactive take backs shit is so, so bad for everyone involved.
You cannot expect any such thing. You gave them away for free.
If you want to get paid, don't give your work away for free. If you give your work away for free, you cannot expect to get paid.
It's shocking how frequently people who deal in rigorous logic day in, day out are unable to understand this very simple principle.
Rate limiting access is completely reasonable. It's a sad state of affairs, because eventually we're going to end up with an internet full of Docker Desktop gacha licenses.
You can only use this if you're not at work. If your using it as a corporation you need to expense a license, then finance says ohh wow, Docker Desktop is too expensive.
Use something significantly worse.
Every large FOSS project needs to figure out it's funding at some point.
I don't want a future where I can only reliably use projects controlled by multi-billion or trillion dollar corporations. .net core is fantastic, but it's ultimately a Microsoft project in everything but name.
In GP's analogy, this would be like the reseller coming back and asking you to start making gluten free varieties, using a particular kind of flour, or improving the QA of the cookie shaping process to meet their customer demands. It is beyond reasonable to say "I'm willing to do it for a fee" (or even just "no") at that point. (I also think it's reasonable to say that the reseller should give something back even if they are not legally required to do so. Not all social norms are codified in legal contracts.)
The example in TFA of Heroku wanting an older release branch to continue being maintained for free falls under that umbrella -- just as you are free to do whatever you want with the source code, as a maintainer I am also free to say that extra work will cost extra. In that situation, Heroku can either pay one of their own engineers to continue maintaining old release branches and working around issues, or they can pay the upstream maintainer to do that work.
IMHO the "gatekeeping" model is the only funding model that has actually ever worked for open source software -- it's how RedHat, SUSE, and many other open source companies make their money. (I work for SUSE, but also maintain a fair number of open source projects.)