I have an MIT-licensed project that used to include a GPL JavaScript library which has since been removed.
Is there any legal necessity to rewrite the revision history to completely remove this code?
Software Engineering Stack Exchange is a question and answer site for professionals, academics, and students working within the systems development life cycle. It only takes a minute to sign up.
Sign up to join this communityI am not a lawyer, but:
The issue largely comes down to licensing documentation. There is no reason why your old revision could not be licensed under the GPL, but if you do not announce that it is licensed under the GPL, then it's functionally not, and those revisions are in violation of the GPL. You cannot even be given the benefit of the doubt that might be given to a young repository with no published license on the revisions ("I hadn't gotten around to putting one up yet, and I thought it would be obvious since I'm using GPL libraries...") , since your licensing documentation for that revision probably says that the project, as a whole, is under MIT.
Thus, the pathological person who downloads the old version of your code has received software that claims to be MIT-licensed but that is legally obligated to be GPL-licensed, which is a GPL violation.
I'm afraid you must eliminate the possibility of public distribution of your non-compliant revisions by removing them from your history.