Using your same logic, I will single-handedly decide that all software companies (and the developers working there) have received enough compensation for their efforts, and demand all their services and code be made available for free. As long as you got one paycheck from those months of work, now I want it for free.
It's interesting to consider that there are books, still in copyright, that were published before any digital computers, let alone software companies, existed.
It puts the extreme absurdity of modern copyright law in context. 20 years is extreme. The modern "standard" is the entire life of the author + 70 years on top. This is indefensible.
I agree and not going to argue that here. But that’s the way the rules are right now, and publishers have the full weight of the law to enforce their rights as that’s what the current state of things allows.
Not knowing anything about you, I’m going to assume you mean code that you created and chose to release as OSS. That’s your choice, and publishers have the same right to release their works under different terms (through agreements with the authors they have signed, etc). You don’t have any say over what other creators choose to do with their works, and if they choose terms you don’t like, you can’t just ignore them.
Without strong copyright laws, the choice you make is just as enforceable as the choice they make.
> I’m going to assume you mean code that you created and chose to release as OSS.
It doesn't matter how the output is licensed; I'm paid for the process of creating that output, not for the perpetual profiting over that finite output. That's the point you're missing.
Every company is different, but the vast majority are moving to a subscription model where users are charged monthly to use the same code over and over. For licensed (non-subscription) software, code can live through many major revisions where the customer pays over and over for the same code to renew their license.
If you think it would be nice to get paid per run, then you should have gone into mainframe programming, because that is (more or less) how it works (licensing fee based on how many units the code could process, which would go up if you upgraded the CPU). Moving away from that was one of the innovations of UNIX and PC style licensing.
/s