The developer always thought that contributing back code or financial support should be a requirement of use but failed to reflect this in the license chosen and now is correcting this.
The developer over time has changed their believe of what the requirements for use should or need to be. This change of thought may have been informed by the behavior of those using the code but is still a change of thought on the developers side.
In both scenarios the developer changing their license is not acting unethically nor were those previously using the code while meeting the terms it was previously available under.
What may be unethical is the developer trying to put blame for the license change on those that were using the code while meeting the requirements of the previous license because under the first scenario the developer is at fault and under the 2nd neither is at fault.
In my system of value (which is of course subjective and you may not share) I do consider that these open source projects suffer a sort of tragedy of the commons where some companies benefit immensely from them (think how expensive it would be to build and maintain something like osxfuse from scratch) but don't contribute anything back to it. It's like big corporations managing to pay little to no taxes in the countries they do most of they business, is it illegal? Probably not in most cases. Still unethical in my personal opinion.
But instead of just complaining about it I could try to be more productive and offer an alternative. Maybe there could be a nonprofit dedicated to centralizing these donations and redistributing them, for instance by polling the donors to figure out what they use and then split the cake based on the results. I'm sure in many situations it's not so much that the company doesn't want to give anything bad, it's just that they can't be bothered or don't know how. I don't know how realistic that would be though.
Part of this goes back to the entire GPL/AGPL vs everything else debate. Everyone has been getting away from GPLv3 and it's derivatives for the past decade.
In that world, would it matter so much if some commercial interests took a product, since they'd always have to at least show their work? The idea was that we'd eventually have FOSS replacements for everything from Photoshop to Word to video editors.
2019 and GIMP is is nowhere near the level of Photoshop, Libreoffice is pretty decent through, and DarkTable isn't too shabby.
Still, this FOSS utopia of all our software never happened. Linux as a kernel for Android has led us to an even more closed system than before. Sure if Linux was GPLv3, maybe we wouldn't see it as the basis of Android at all, but if we had gone down that route, I wonder how things would be different.
Yeah, but they're Google. Their business model is lighting piles of cash on fire, then advertising to the crowd that shows up to watch the pile of burning money.
The developer always thought that contributing back code or financial support should be a requirement of use but failed to reflect this in the license chosen and now is correcting this.
The developer over time has changed their believe of what the requirements for use should or need to be. This change of thought may have been informed by the behavior of those using the code but is still a change of thought on the developers side.
In both scenarios the developer changing their license is not acting unethically nor were those previously using the code while meeting the terms it was previously available under.
What may be unethical is the developer trying to put blame for the license change on those that were using the code while meeting the requirements of the previous license because under the first scenario the developer is at fault and under the 2nd neither is at fault.