Document origins of the multiplication method being used here. #499
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Many of us have been discussing the matter of where this riscv32.rs code originated.
I think it is fair to say that Rust leadership agrees that it is not correct development practice to cross-reference GPL'ed code while developing an algorithm.
But the question nonetheless arose: What do you do about code like riscv32.rs, where the code in question would come out much the same way regardless of whether you looked at GPL'ed source or not? Even if we threw it away, we would probably end up replacing it with something that looks nearly equivalent; so how would a copyright infringement argument play out in practice?
@wesleywiser and @pnkfelix met with a lawyer.
And then @pnkfelix did some follow-up reading on the Scènes à faire doctrine of copyright law.
It seems evident to us that a very important detail is that the algorithm defined in this code not only would be considered "stock" (i.e. not a original work) from the viewpoint of us discussing the matter today, but it would also have been considered "stock" at the time it was originally authored within GCC itself, since the method has been well known to ancient mathematicians in 1800 BC, and has been documented as a standard algorithm since (at least) the 1981 AD publication of Knuth TAOCP volume 2.
Therefore, I am taking the steps of:
I believe all of these things should be sufficient to:
Close #319