|[eigen] two decisions to take|
[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]
Hi List, I need your advice for two decisions to take. 1) Global functions or member methods? Global functions give more natural mathematical notation. For instance, for a cross product: double d = cross(vector1, vector2); vs. double d = vector1.cross(vector2); Moreover I don't think they really pollute the namespace (which can be the global one if the user did "using namespace Eigen") as C++ allows overloading and I'll make sure to write these functions as taking arguments of Eigen types only. So are you OK if I implement many mathematical functions as global funcs and not as members? Or do you see a reason to prefer them to be only members, or both? 2) LGPL v3 ? The main reason why we didn't license Eigen 1 as LGPL was that v2 didn't make sense for a template library. v3 seems to have fixed that. Indeed, whereas v2 talked about "linking", v3 talks about "combining or linking". So should we convert to LGPL v3? Looking at the table here, http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility if we license as LGPL v3, then GPL-v2-only projects can't use Eigen. That's a problem, but how big is it? Are there many GPL-v2-only projects out there? What we gain in licensing as LGPL v3 is that we don't need an exception anymore, we can just use the plain vanilla LGPL v3. That's a big advantage. Thanks, Benoit
Description: This is a digitally signed message part.
|Mail converted by MHonArc 2.6.19+||http://listengine.tuxfamily.org/|