Note that MetaMask, by operating a public repository on GitHub, has agreed to grant all GitHub users worldwide the right to fork their public repository on GitHub, regardless of the terms otherwise stated in their new license.
> If you set your pages and repositories to be viewed publicly, you grant each User of GitHub a nonexclusive, worldwide license to use, display, and perform Your Content through the GitHub Service and to reproduce Your Content solely on GitHub as permitted through GitHub's functionality (for example, through forking).
Wow, knowing the Ethereum community, this is a very quick way to start developing bad blood between the very open-source liberal community and this pretty important piece of Web3 infrastructure...
There's generally nothing stopping a copyright holder from ceasing their distribution under an old license, and starting distribution with a new one. However, detaro linked https://github.com/MetaMask/metamask-extension/issues/9285 which brings up that this new license probably violates the license terms of it's GPLv3 dependencies.
Additionally, if they've accepted any pull requests without requiring a contributor agreement assigning copyright to them, they might be trying to relicense code they don't have exclusive copyright over - which AFAIK would make removing the MIT license a violation of said MIT license in that context. (They don't need a license to grant themselves the right to do what they want with their own code, but doing what they want with other people's code is another story.)
Additionally, it's not automatically retroactive - if you've got a copy of the old software (trivial via git) you can presumably still hard fork under the original MIT license terms - it contains no privisos for force-updating the license for anyone who has a copy.
Also technically I guess (IANAL) you might have to prove that you obtained the source code prior to the license change. We like to say code itself is licensed such and such, but in reality code is licensed to somebody. If you just place the code somewhere for a month with a license next to it and take it down again, and somebody later comes and wants to get those terms, it's probably too late.
OTOH please correct me if I'm wrong. Law contains many unintuitive things like contracts by handshake and so on :-)
Whatever hypothetical you're posing now is too far removed from this situation and too obscure to spend energy working it out here. It's best to take a page from the Supreme Court and consider what's relevant to the facts as they actually exist for this situation and avoid unnecessarily burdening ourselves with imagining counterfactuals.
The code was published under a public license, it has been available long enough to garner thousands of commits from over 192 "contributors" (albeit some of whom work for MetaMask), and it has over 1.5k forks. Also, there is no contract.
I believe you might be fine even without proper timing.
Merely viewing the license/repository does not constitute acceptance of said license (it's not even a clickwrap contract.) While what you can do with the code without accepting said license is quite limited, by publishing publicly to github in the first place they've presumably agreed to Github's ToS, including section D5 ( https://docs.github.com/en/github/site-policy/github-terms-o... ), which at least grants github users the right to view and fork the repository.
Which, presumably, grants users the right to view the repository in it's older states - where I'd argue the old license still clearly applies to the old code. That said, they could always flatten their git history tomorrow or yank the repository outright, which would leave you relying on pre-existing forks.
I'm also less sure about what you can do with old MIT forks of the software if you implicitly accept the new license terms by, say, using the new software. Does "The Program" refer to that exact version? All versions going forward? All versions past future present and in alternate histories?
> Also technically I guess (IANAL) you might have to prove that you obtained the source code prior to the license change.
I don't see why. If some code is made available under an MIT license and then the copyright owner switches to a new license, nothing stops others from continuing to use the original code under the original license.
Of course to do this you would have to know the code exists, but you could learn about its existence after the license change from someone other than the copyright owner.
> To ensure the longevity of the services we have been providing to the world, we feel that it is time that we establish some defensibility for our work from large commercial forks.
If you read that as "for our future work" it's just an ordinary license change. I suggest they add that clarification.
> If you set your pages and repositories to be viewed publicly, you grant each User of GitHub a nonexclusive, worldwide license to use, display, and perform Your Content through the GitHub Service and to reproduce Your Content solely on GitHub as permitted through GitHub's functionality (for example, through forking).
(Disclaimer, I am not your lawyer.)