Hi; as you may be aware, we discovered some time back that the license of SoftFloat-2b is claimed to be GPLv2 incompatible by the FSF due to an indemnification clause. The previous release, SoftFloat-2a, did not contain this clause. We're therefore switching to the -2a release and relicensing (or reverting and reimplementing) all subsequent commits by QEMU contributors.
Last time around we were able to collect acks for the relicensing from almost all contributors, so thanks to all of you. This patchset aims to complete the process by applying the relicensing patch and providing reimplemented code for the handful of commits that had to be reverted. The patch switching from upstream's SoftFloat-2b to -2a is constructed in the same way Anthony Liguori used in 2013: * diff commit 158142c2 against SoftFloat-2b to separate out the changes made by Fabrice as part of the import * copy over the SoftFloat-2a versions of the files instead * apply some mechanical transformations (line endings, block comment style) * re-apply Fabrice's patches * diff this endpoint against 158142c2 to give a 2b-to-2a relicensing patch * apply that to current master Following this change are a set of patches which revert and reimplement the only four commits in the tree which are still relevant and for which we could not get acks for relicensing. Finally there's a patch which adds comments to the top of each affected file clarifying the new licensing status (where the files contain portions under variously SoftFloat-2a, BSD and GPLv2+ licenses) and specifying the default license for new contributions (so we don't have to keep asking patch submitters to specify it). I've applied the Acked-by tags from the 2013 round to this patch as it seemed the most appropriate place. (Those acks should thus be taken to indicate approval for the relicensing rather than necessarily specifically for the wording choice.) I have updated the tarball at: http://people.linaro.org/~peter.maydell/softfloat-relicensing-proposed.tar.gz which describes in detail how the patchset was produced, including copies of upstream's pristine 2a and 2b tarballs, the commands for regenerating the "relicense" patch, and copies of the ack-emails. It also has the 'revert' and 'reimplement' patches as separate non-squashed patches. Changes v1->v2: * fixed the bad values of NaN constants in the reimplemented code * squashed the 'revert' and 'reimplement' patches together to avoid bisection breaks * use SF2a for new contributions, not GPLv2+ (as discussed in review) Peter Maydell (4): softfloat: Apply patch corresponding to rebasing to softfloat-2a softfloat: Revert and reimplement remaining portions of 75d62a5856 and 3430b0be36f softfloat: Revert and reimplement remaining parts of b645bb4885 and 5a6932d51d softfloat: Clarify license status fpu/softfloat-macros.h | 86 ++++++++++++++++----- fpu/softfloat-specialize.h | 135 +++++++++++++++++++++----------- fpu/softfloat.c | 186 +++++++++++++++++++++++++++++++-------------- include/fpu/softfloat.h | 84 +++++++++++++++----- 4 files changed, 349 insertions(+), 142 deletions(-) -- 1.9.1