[eigen] Proceeding with the MPL2 relicensing now!

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]

Hi List,

Below is the final update on the contributor agreements.

Aside from 3rd-party code, there remain only about 50 changesets
without relicensing approval, they all seem to be from contributors
who contributed at most 2 changesets to Eigen, and 50 changesets is
about only 1% of the total.

Speaking of 3rd-party code, here is what we have identified as being
3rdparty code without MPL2 relicensing approval:
1. Eigen/src/OrderingMethods/Amd.h
2. Eigen/src/SparseCholesky/SimplicialCholesky.h
3. unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h
4. unsupported/Eigen/src/IterativeSolvers/IterationController.h
5. the MINPACK code, for now (might be OK --- see discussion in other
thread --- but let's not assume that it's OK for now)

The plan is to have a EIGEN_MPL2_ONLY mode where this
non-MPL2-acceptable 3rdparty code is disabled.

List of contributors, tracking who gave their agreement to relicense to MPL2.


'X' means that the contributor publicly agreed to relicense all
his/her contributions to MPL2
'dupe' means that the entry is a duplicate, the contributor is already
listed in an earlier entry.

First, the easy case where the author is correctly recorded as the
changeset author (the numbers are numbers of changesets):

bjacob:~/eigen$ hg log | grep ^user | sort | uniq -c | sort -n -r |
sed 's|user:[ ]*||g'

X  2110 Gael Guennebaud <g.gael@xxxxxxx>
X  1306 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
X   344 Thomas Capricelli <orzel@xxxxxxxxxxxxxxx>
X   337 Hauke Heibel <hauke.heibel@xxxxxxxxx>
X   298 Jitse Niesen <jitse@xxxxxxxxxxxxxxxxx>
X    53 Mark Borgerding <mark@xxxxxxxxxxxxxx>
X    22 Desire NUENTSA <desire.nuentsa_wakam@xxxxxxxx>
X    13 Konstantinos Margaritis <markos@xxxxxxxx>
X    12 Carlos Becker <carlosbecker@xxxxxxxxx>
X     9 Manuel Yguel <manuel.yguel@xxxxxxxxx>
dupe  9 Hauke Heibe <hauke.heibel@xxxxxxxxx>
X     7 Piotr Trojanek <piotr.trojanek@xxxxxxxxx>
X     7 Keir Mierle <mierle@xxxxxxxxx>
X     7 Eamon Nerbonne <eamon@xxxxxxxxxxxx>
dupe  7 Benoit Jacob <bjacob@xxxxxxxxxxx>
X     6 Tim Holy <holy@xxxxxxxxx>
X     5 Manoj Rajagopalan <rmanoj@xxxxxxxxx>
dupe  5 Konstantinos A. Margaritis <markos@xxxxxxxx>
X     5 Kenneth Frank Riddile <kfriddile@xxxxxxxxx>
X     5 Jose Luis Blanco <joseluisblancoc@xxxxxxxxx>
X     5 Benjamin Schindler <bschindler@xxxxxxxxxxx>
X     4 Marc Glisse <marc.glisse@xxxxxxxxx>
X     4 Laurent Montel <montel@xxxxxxx>
X     4 Daniel Lowengrub <lowdanie@xxxxxxxxx>
X     4 Christoph Hertzberg <chtz@xxxxxxxxxxxxxxxxxxxxxxxx>
X     4 Chen-Pang He <jdh8@xxxxxxxxxxxxxx>
X     4 Armin Berres <armin@xxxxxxxxxxxxxx>
X     3 Trevor Irons <trevorirons@xxxxxxxxx>
X     3 Scott Wheeler <wheeler@xxxxxxx>
X     3 Rhys Ulerich <rhys.ulerich@xxxxxxxxx>
X     3 Mathieu Gautier <mathieu.gautier@xxxxxx>
X     3 Marton Danoczy <marton78@xxxxxxxxx>
dupe  3 markb@localhost.localdomain
X     3 Marcus D. Hanwell <marcus@xxxxxxxxx>
X     3 Jens Mueller <jens.k.mueller@xxxxxx>
      2 Zach Ploskey <zploskey@xxxxxx>
      2 williami@xxxxxxxxxxxxxxxxxxxxxxxxxx
      2 Trevor Wennblom <trevor@xxxxxxxx>
      2 Sebastian Lipponer <lipponer@xxxxxxxxxxxxxxxxxxx>
      2 Romain Bossart <romain.bossart@xxxxxxx>
      2 Michael Olbrich <michael.olbrich@xxxxxxx>
dupe  2 Mathieu Gautier
X     2 Marijn Kruisselbrink <m.kruisselbrink@xxxxxxxxxxxxxx>
dupe  2 Manuel Yguel
      2 Jure Repinc <jlp@xxxxxxxxxxxxx>
X     2 John Tytgat
dupe  2 John Smith <hauke.heibel@xxxxxxxxx>
      2 Dennis Schridde <devurandom@xxxxxxx>
      2 David H. Bailey
X     2 Daniel Gomez Ferro <dgomezferro@xxxxxxxxx>
      2 Andy Somerville <andy.somerville@xxxxxxxxx>
      2 Andrew Coles <andrew_coles@xxxxxxxxxxx>
      2 Alexander Neundorf <neundorf@xxxxxxx>
dupe  2 Adolfo Rodriguez Tsourouksdissian  <adolfo.rodriguez@xxxxxxxxxxxxxxxx>
X     2 Adolfo Rodriguez Tsouroukdissian <adolfo.rodriguez@xxxxxxxxxxxxxxxx>
      2 adam.szalkowski@xxxxxxxxxxx
      1 Zuiquan <zuiquan6174@xxxxxxxx>
      1 Vincenzo Di Massa <hawk.it@xxxxxxxxxx>
X     1 User Martin Senst <martin.senst@xxxxxx>
      1 Urs Wolfer <uwolfer@xxxxxxx>
dupe  1 Trevor Irons <tirons@xxxxxxxxx>
dupe  1 tim.holy@xxxxxxxxx
      1 Stuart Glaser <sglaser@xxxxxxxxxxxxxxxx>
      1 Sameer Sheorey <ssameer@xxxxxxxxx>
      1 root@xxxxxxxxxxxxxxxxxxx
X     1 Radu Bogdan Rusu <rusu@xxxxxxxxxxxxxxxx>
      1 Philip Avery <philip.avery@xxxxxxxxx>
X     1 Peter Román <peterrom@xxxxxxxxx>
      1 Oliver Ruepp <ruepp@xxxxxxxxx>
      1 oem@efikamx
dupe  1 nerbonne <emn13+hg@xxxxxxxxxxxx>
      1 Moritz Lenz <moritz@xxxxxxxxxxx>
X     1 Michael Schmidt <michael@xxxxxxxxxxxxxxxxxxx>
dupe  1 Martin Senst <martin.senst@xxxxxx>
X     1 Kolja Brix <brix@xxxxxxxxxxxxxxxxxxx>
dupe  1 kmargar
      1 Kibeom Kim <kkimlabs@xxxxxxxxx>
dupe  1 Kenneth Riddile <kfriddile AT gmail.com>
      1 kayhman@xxxxxxxxxxxxxxxxxxxx
      1 karturov@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      1 Jos van den Oever <jos@xxxxxxxxxxxxxxxx>
dupe  1 Jitse@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      1 Jason Newton <nevion@xxxxxxxxx>
      1 Jan Oberländer <oberlaender@xxxxxx>
      1 James Richard Tyrer <tyrerj@xxxxxxx>
      1 Jakob Schwendner <jakob.schwendner@xxxxxxx>
      1 Ingmar Vanhassel <ingmar@xxxxxxxxxxx>
      1 Igor Krivenko
dupe  1 heibel@MONSTER.microdimensions.local
      1 hamelin.philippe@xxxxxxx
      1 Frederic Gosselin <gosselin.frederic@xxxxxxx>
      1 DJ Marcin <djmarcin@xxxxxxxxxx>
X     1 David J. Luitz <tux008@xxxxxxxxxxxxxx>
X     1 Cyrille Berger <cberger@xxxxxxxxxxx>
N/A   1 convert-repo
      1 clusty
      1 Christian Ehrlicher <Ch.Ehrlicher@xxxxxx>
      1 Bram de Jong <bram.dejong@xxxxxxxxxxxxxx>
X     1 bjornpiltz
X     1 Anton Gladky <gladky.anton@xxxxxxxxx>
      1 Anthony Truchet <anthony.truchet@xxxxxxxxx>
dupe  1 Adolfo Rodriguez Tsourouksdissian <adolfo.rodriguez@xxxxxxxxxxxxxxxx>
      1 Abraham Bachrach <abachrach@xxxxxxxxx>

Now here is an attempt to find the remaining people who contributed
patches but weren't correctly recorded as patch authors:

bjacob:~/eigen$ hg log | egrep -i '(patch from)|(patch by)|(thanks
to)' | sed 's|^summary:[ ]*|      |g'
dupe  fix compilation error thanks to test case by Trevor Irons, and
expand unit test
dupe  add missing inline keyword, thanks to Eamon.
dupe Improved patch from Manuel Yguel:
      Patch by 'Wolf' from the issue tracker:
      add missing inclusion of LU/arch, thanks to J.B. Rouault
dupe  apply patch from Marcus Hanwell: Improved quoting of tests when
added to the build
dupe  apply patch from Hauke Heibel cleaning overloaded operator new/detete
dupe  patch by Myguel from the forum: fix documentation
      patch by Patrick Mihelich: use empty struct + anonymous
namespace for NoChange
      Fixes #9. Thanks to the (unknown) bug contributor.
dupe  apply patch from Hauke Heibel cleaning overloaded operator new/detete
dupe  add missing function, thanks to Hauke Heibel
X     patch from Ilya Baran: This small patch fixes a potential initialization
dupe  patch from Moritz Lenz to allow solving transposed problem with superlu
dupe  forward-port r951449: patch by Hauke Heibel: compile fix with VS 9
dupe  oops, bad copy paste in ei_psqrt, thanks to Jitse Niesen
      fix mistake in static assertion, patch by Markus Moll.
dupe  Add BVH module in unsupported (patch from Ilya Baran)
X     slight optimization of SSE base integer mul (thanks to Rohit Garg)
      patch from Stjepan Rajko (MSVC fix in RotationBase)
      BTL: - patch from Victor (add ACML support)
dupe  patch from Jitse Niesen: fix ascii quick ref matlab operator '
      * fix Quaternion::setFromTwoVectors (thanks to "benv" from the forum)
dupe  fix tutorial abs/abs2 (thanks to Keir)
X     Patch from Frank fixing stupid MSVC internal crash
dupe  patch by Hauke Heibel: compilation fix with VS 9
      backport 947492 -- fix static assertion / patch by Markus Moll
dupe  backport r917694 (Patch from Frank fixing stupid MSVC internal crash)
      make these functions inline, thanks to Mek
X     add partial count redux (adapted patch from Ricard Marxer)
X     patch from Ricard Marxer: add doc example for select()
dupe  Patch by Kenneth Riddile: disable MSVC warnings, reenable them outside
dupe  fix bad typos, thanks to Kenneth Riddile
dupe  * throw bad_alloc if exceptions are enabled, after patch by
Kenneth Riddile
dupe  Fix memory alignment (hence vectorization) on MSVC thanks to
help from Armin Berres.
dupe  compilation fix thanks to Dennis Schridde
dupe  one more warning fix, thanks to Armin Berres
dupe  * fix a couple of warnings (patch from Armin Berres)
dupe  * patch from Konstantinos Margaritis: bugfix in Altivec version of ei_pdiv
      s/Affine/Linear, thanks to Thomas Vaughan
dupe  patch from Konstantinos Margaritis: Altivec vectorization is resurrected !
dupe  *patch by Daniel Gomez:
      patch by Patrick Spendrin: fix MSVC compatibility
dupe  * Patch by Konstantinos Margaritis: AltiVec vectorization.
dupe  Patch by Gael Guennebaud: coeff-wise binary operators.
dupe  Patch by Gael Guennebaud: unify fixed-size and dynamic-size Block
dupe  -merge patch from Gael Guennebaud adding NumTraits for long long
dupe  Patch by Gael Guennebaud:
dupe  Patch by Gael Guennebaud, making Eigen compatible with the Intel
compiler (icc).

Even more, using a different regex:

bjacob:~/eigen$ hg log | egrep '(s work)|(s code)' | sed 's|^summary:[
]*|      |g'
      update the fast 4x4 SSE inversion code from more recent Intel's code
      apply Koldo's workaround for MSVC bug
dupe  finally commit Rohit's work as the start of a new (currently

Finally, people who are not found at all in hg logs but who still
replied to the thread: worth keeping track of, either they weren't
correctly credited for their contributions but legally they still have
copyright, or their patches haven't been applied but might be in the

X     Pavel Holoborodko (listed as copyright holder in mpreal files)
X     John Roll
X     Christian Mayer
X     Hauke Strasdat
X     Andreas Platen

Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/