Re: Yes, the bad companie are
>Again, it depends on the exact license we're talking about. But most OSS licenses I've seen grant a worldwide, nonexclusive, nonrevocable license.
The GPLv2 does not, BSD does not, etc. And even it it did, that term would be unsupported in most cases.
Remember: by default you have no right to modify, redistribute, etc the code.
The code has not been donated to you as a gift.
The owner has chosen to give you permission to use it, he has lent it to you essentially (that is what a license is)
Following the terms regarding his property is not a relinquishing of a legal right on your part.
If you wanted to "lock in" a term and be able to hold the owner to a "deal" then you would have to contract for it.
You would have to give him bargained-for consideration (money, or forego a legal right of yours, perform a service the owner wants, etc).
Have a meeting of the minds, all of that.
Most people have not.
Most traditional (GPL, BSD) OSS copyright owners have not sought such.
>I am not a lawyer, and I would love it if a lawyer could comment on this.
You just had one. I made it simple for you here.
That is the rule. You can beg the court under equity not to allow the owner to enforce his rights against you specifically if you wish, as in any case.
(Throwing yourself on the mercy of the court), but by law it is the owners right to rescind these licenses which are bare permissions granted from the owner to you.
You now know the reason the FSF has always required contributors to sign over their copyrights, and why most large OSS projects do aswell.
>I'm also curious about what happens to the contributions from outside developers. If the license is revoked, that equally means that outside code contributions are no longer legal for the project to use and must be excised.
Correct. If copyright owner X rescinds from Project, Project must remove the property (effectively "returning" it).
This is why Contributor Agreements are all the rage: they make you sign over your copyrights to the Project before they will accept anything.
Linux-Kernel never did however... Many other projects didn't either.