Re: [hwloc-devel] libpci: GPL

2013-02-19 Thread Samuel Thibault
Christopher Samuel, le Tue 19 Feb 2013 05:30:40 +0100, a écrit :
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
> 
> On 06/02/13 10:29, Samuel Thibault wrote:
> 
> > Right.  If hwloc was strictly requiring a GPL library to be able
> > to run, providing it under BSD would be questionable:
> 
> I don't think that's true, the BSD license is compatible with the GPL
> so it's not an issue.

It's not an issue, but it's still questionable: if it needs some GPL
code to be able to run, what is the point of providing it under BSD,
since it'll always have to be GPL-ed on link?

Samuel


Re: [hwloc-devel] libpci: GPL

2013-02-18 Thread Christopher Samuel
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 06/02/13 10:29, Samuel Thibault wrote:

> Right.  If hwloc was strictly requiring a GPL library to be able
> to run, providing it under BSD would be questionable:

I don't think that's true, the BSD license is compatible with the GPL
so it's not an issue.  It's when you link in stuff that's not GPL
compatible (CDDL for instance) that things become ugly.

cheers,
Chris
- -- 
 Christopher SamuelSenior Systems Administrator
 VLSCI - Victorian Life Sciences Computation Initiative
 Email: sam...@unimelb.edu.au Phone: +61 (0)3 903 55545
 http://www.vlsci.org.au/  http://twitter.com/vlsci

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlEi/64ACgkQO2KABBYQAh/WMgCfWqUMWKSecz3Fmo0Ff2yoPffi
fAAAniLdrTzVjxe+jcebnlM3IBJyHk8O
=vrcc
-END PGP SIGNATURE-


Re: [hwloc-devel] libpci: GPL

2013-02-18 Thread Christopher Samuel
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

/*
 * Trying to catch up with email, but I've not seen the question of
 * whether or not linking proprietary->BSD->GPL was OK or not addressed
 * yet.
 */

On 06/02/13 08:50, Jeff Squyres (jsquyres) wrote:

> It was just pointed out to me that libpci is licensed under the GPL
> (not the LGPL).
> 
> Hence, even though hwloc is BSD, if it links to libpci.*, it's
> tainted.

I wouldn't say hwloc is tainted, more that you were tainting the GPL'd
code by linking the proprietary code to it, but that's just case of
perspective. ;-)

After a brief search of the GPL FAQs I'd say the closest I can get is:

http://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.html#GPLWrapper

# I'd like to incorporate GPL-covered software in my proprietary
# system. Can I do this by putting a “wrapper” module, under a
# GPL-compatible lax permissive license (such as the X11 license)
# in between the GPL-covered part and the proprietary part?
#
#No. The X11 license is compatible with the GPL, so you can add a
# module to the GPL-covered program and put it under the X11 license.
# But if you were to incorporate them both in a larger program, that
# whole would include the GPL-covered part, so it would have to be
# licensed as a whole under the GNU GPL.
#
# The fact that proprietary module A communicates with GPL-covered
# module C only through X11-licensed module B is legally irrelevant;
# what matters is the fact that module C is included in the whole.

So yes, if you want to permit proprietary code to link to hwloc then
you need to stick to permissive licenses in hwlocs dependencies.

Disclaimer: IANAL, I don't play a lawyer on TV (or the Internet),
batteries not included, caveat emptor, dates in calendar are closer
than they appear, etc, etc, etc...

Of course it might be possible to ask the pciutils maintainer to split
out libpci from pciutils and LGPL it.

Interestingly, Steam for Linux appears to have linked to libpci..

http://steamcommunity.com/app/221410/discussions/1/846938351130480716/

cheers!
Chris
- -- 
 Christopher SamuelSenior Systems Administrator
 VLSCI - Victorian Life Sciences Computation Initiative
 Email: sam...@unimelb.edu.au Phone: +61 (0)3 903 55545
 http://www.vlsci.org.au/  http://twitter.com/vlsci

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlEi/wcACgkQO2KABBYQAh+MyACfdd9CyGvIcIIHZD2pTvVM1ZXG
6SUAn1Yr9D4knUhld9F/fa68EzR64Xnq
=Sd+l
-END PGP SIGNATURE-


Re: [hwloc-devel] libpci: GPL

2013-02-09 Thread Brice Goglin
Le 09/02/2013 15:50, Jeff Squyres (jsquyres) a écrit :
> On Feb 8, 2013, at 6:08 AM, Brice Goglin  wrote:
>
>> Jeff, do you want to put a patch into OMPI 1.7rc7 in the very near
>> future? I mean even before we do a v1.6.2? I still want some testing
>> before we put that into a hwloc release. And with at least one week
>> between rc1 and final, it'll take some time.
>
> In OMPI v1.7, we're using hwloc 1.5.1 (plus a few post-1.5.1 patches, IIRC).  
> I've been staying about 1 generation behind the hwloc current series so that 
> hwloc bugs get shaken out, etc.
>
> Do we have a patch for hwloc 1.5.x?
>

Here's a patch.

To answer you other email: There's no warning anymore once libpci is
enabled. Only a warning when no PCI because we don't enable libpci by
default. The GPL issue is documented in the doxyfile and in configure
--help. If the user passes --enable-libpci without ever looking at what
it means, that's his fault.

Brice

diff --git a/config/hwloc.m4 b/config/hwloc.m4
index a5677b5..340aeac 100644
--- a/config/hwloc.m4
+++ b/config/hwloc.m4
@@ -1,6 +1,6 @@
 dnl -*- Autoconf -*-
 dnl
-dnl Copyright © 2009-2012 Inria.  All rights reserved.
+dnl Copyright © 2009-2013 Inria.  All rights reserved.
 dnl Copyright (c) 2009-2012 Université Bordeaux 1
 dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
 dnl University Research and Technology
@@ -615,8 +615,13 @@ EOF])
 fi

 # PCI support
-hwloc_pci_happy=no
-if test "x$enable_pci" != "xno"; then
+if test "x$enable_pci" != xno -a "x$enable_libpci" != "xyes"; then
+  hwloc_pci_happy=yes
+  HWLOC_PKG_CHECK_MODULES([PCIACCESS], [pciaccess], [pci_slot_match_iterator_create], [:], [hwloc_pci_happy=no])
+  if test x$hwloc_pci_happy = xyes; then hwloc_pci_lib=pciaccess; fi
+fi
+# PCI support with pciutils instead of pciaccess
+if test "x$enable_pci" != "xno" -a "x$hwloc_pci_lib" != "xpciaccess"; then
 hwloc_pci_happy=yes
 HWLOC_PKG_CHECK_MODULES([PCI], [libpci], [pci_cleanup], [:], [
   # manually check pciutils in case a old one without .pc is installed
@@ -656,19 +661,39 @@ EOF])
 [hwloc_pci_happy=no])])
 ], [hwloc_pci_happy=no])
 ])
+	if test x$hwloc_pci_happy = xyes; then
+	  # pciutils could be used, but we don't want to force use it since it may GPL-taint hwloc
+	  if test x$enable_libpci = xyes; then
+	hwloc_pci_lib=pciutils
+	  else
+	# user didn't explicit request pciutils, disable PCI and warn the user
+	hwloc_pci_happy=no
+	hwloc_warn_may_use_libpci=yes
+	  fi
+	fi
 fi
 AC_SUBST(HWLOC_PCI_LIBS)
 HWLOC_LIBS="$HWLOC_LIBS $HWLOC_PCI_LIBS"
 # If we asked for pci support but couldn't deliver, fail
-AS_IF([test "$enable_pci" = "yes" -a "$hwloc_pci_happy" = "no"],
+AS_IF([test "$enable_pci" = "yes" -a "$hwloc_pci_happy" = "no" -a "$hwloc_warn_may_use_libpci" != "yes"],
   [AC_MSG_WARN([Specified --enable-pci switch, but could not])
AC_MSG_WARN([find appropriate support])
AC_MSG_ERROR([Cannot continue])])
-if test "x$hwloc_pci_happy" = "xyes"; then
+# pciaccess specific enabling
+if test "x$hwloc_pci_lib" = "xpciaccess"; then
+  HWLOC_PCIACCESS_REQUIRES=pciaccess
+  AC_DEFINE([HWLOC_HAVE_LIBPCIACCESS], [1], [Define to 1 if you have the `libpciaccess' library.])
+
+  hwloc_components="$hwloc_components libpci"
+  hwloc_libpci_component_maybeplugin=1
+fi
+# pciutils specific checks and enabling
+if test "x$hwloc_pci_lib" = "xpciutils"; then
   tmp_save_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS $HWLOC_PCI_CFLAGS"
   tmp_save_LIBS="$LIBS"
   LIBS="$LIBS $HWLOC_PCI_LIBS"
+
   AC_CHECK_DECLS([PCI_LOOKUP_NO_NUMBERS],,[:],[[#include ]])
   AC_CHECK_DECLS([PCI_LOOKUP_NO_NUMBERS],,[:],[[#include ]])
   AC_CHECK_LIB([pci], [pci_find_cap], [enable_pci_caps=yes], [enable_pci_caps=no], [$HWLOC_PCI_ADDITIONAL_LIBS])
@@ -694,15 +719,15 @@ EOF])
 AC_DEFINE([HWLOC_HAVE_PCIDEV_DOMAIN], [1], [Define to 1 if struct pci_dev has a `domain' field.])
   fi

-  HWLOC_REQUIRES="libpci $HWLOC_REQUIRES"
-  AC_DEFINE([HWLOC_HAVE_LIBPCI], [1], [Define to 1 if you have the `libpci' library.])
-  AC_SUBST([HWLOC_HAVE_LIBPCI], [1])
   CFLAGS="$tmp_save_CFLAGS"
   LIBS="$tmp_save_LIBS"
-else
-  AC_SUBST([HWLOC_HAVE_LIBPCI], [0])
+
+  HWLOC_PCI_REQUIRES=libpci
+  AC_DEFINE([HWLOC_HAVE_LIBPCI], [1], [Define to 1 if you have the `libpci' library.])
 fi
-HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_PCI_CFLAGS"
+HWLOC_LIBS="$HWLOC_LIBS $HWLOC_PCI_LIBS $HWLOC_PCIACCESS_LIBS"
+HWLOC_CFLAGS="$HWLOC_CFLAGS $HWLOC_PCI_CFLAGS $HWLOC_PCIACCESS_CFLAGS"
+HWLOC_REQUIRES="$HWLOC_PCI_REQUIRES $HWLOC_PCIACCESS_REQUIRES $HWLOC_REQUIRES"

 # libxml2 support
 hwloc_libxml2_happy=
@@ -822,7 +847,7 @@ AC_DEFUN([HWLOC_DO_AM_CONDITIONALS],[
 		   [test "x$hwloc_have

Re: [hwloc-devel] libpci: GPL

2013-02-09 Thread Jeff Squyres (jsquyres)
On Feb 9, 2013, at 9:53 AM, Brice Goglin  wrote:

> I think the only difference is when passing --enable-libpci while
> pciaccess is available. Above says "use libpciaccess". My code uses
> "libpci".


Sounds reasonable to me (assuming the big flashing warning is shown if we use 
libpci, regardless of how it was selected).

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/




Re: [hwloc-devel] libpci: GPL

2013-02-09 Thread Jeff Squyres (jsquyres)
On Feb 9, 2013, at 9:51 AM, Brice Goglin  wrote:

> You know their usual license, but you can't check at runtime that the
> libnuma/libxml/libpci you're actually linking to is the usual one with
> the license you expect and not another one with same ABI but different
> license.

Sure, I understand that, but my point is that the set of libraries hwloc will 
use is fairly small -- the space is finite and examinable (by developers at 
development time).  When we choose to link in a new library to hwloc, it's 
possible to do the due diligence and know if there's a possibility if we'll be 
including GPL taint.

For example, if someone writes a GPL version of libnuma someday, we'll be lying 
in our configure.  But the chances of that happening are incredibly small.  
Right now, we know that if we link in libpci, there's a possibility that we're 
introducing GPL taint -- and we should therefore avoid it unless specifically 
requested.

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/




Re: [hwloc-devel] libpci: GPL

2013-02-09 Thread Brice Goglin
Le 09/02/2013 15:48, Jeff Squyres (jsquyres) a écrit :
> On Feb 6, 2013, at 1:01 PM, Brice Goglin  wrote:
>
>>> How about:
>>>
>>> - Check for libpciaccess.  If found, use it. STOP.
>>> - If not found:
>>>  - check for libpci.
>>>  - if found, and if --enable-gpl-taint was specified, use it. STOP.
>>>  - if not found, display the usual "no pci support" message at the end. 
>>> STOP.
>>>  - if found:
>>>- display the usual "no pci support" message at the end
>>>- but also display a big, bold, flashing message saying "We can enable 
>>> PCI support in one of two ways: 1) download/install libpciaccess 
>>> (http://cgit.freedesktop.org/xorg/lib/libpciaccess/), or 2) pass 
>>> --enable-gpl-taint to allow hwloc to use libpci, BUT BE AWARE THAT THIS 
>>> MAKES THIS HWLOC BINARY AND EVERYTHING THAT IT LINKS TO BE GPL!"
>> If "configure --help" and the big warning both say that enabling it
>> *may* taint as GPL, the option could just be "--enable-libpci".
>
> Sounds ok to me (sorry for the delay in replying; I was traveling Friday).
>
> Did you use the rest of the above scheme?

I think the only difference is when passing --enable-libpci while
pciaccess is available. Above says "use libpciaccess". My code uses
"libpci".

Brice




Re: [hwloc-devel] libpci: GPL

2013-02-09 Thread Brice Goglin
Le 09/02/2013 15:47, Jeff Squyres (jsquyres) a écrit :
> On Feb 6, 2013, at 1:24 PM, Samuel Thibault  wrote:
>
>> On another level, as previously mentioned, such kind of option would
>> mean that we track GPL-ness, while we can't really promise that we can
>> check the licence of the libraries we are linking with.
> Why not?

You know their usual license, but you can't check at runtime that the
libnuma/libxml/libpci you're actually linking to is the usual one with
the license you expect and not another one with same ABI but different
license.

Brice



Re: [hwloc-devel] libpci: GPL

2013-02-09 Thread Jeff Squyres (jsquyres)
On Feb 8, 2013, at 6:08 AM, Brice Goglin  wrote:

> Jeff, do you want to put a patch into OMPI 1.7rc7 in the very near
> future? I mean even before we do a v1.6.2? I still want some testing
> before we put that into a hwloc release. And with at least one week
> between rc1 and final, it'll take some time.


In OMPI v1.7, we're using hwloc 1.5.1 (plus a few post-1.5.1 patches, IIRC).  
I've been staying about 1 generation behind the hwloc current series so that 
hwloc bugs get shaken out, etc.

Do we have a patch for hwloc 1.5.x?

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/




Re: [hwloc-devel] libpci: GPL

2013-02-09 Thread Jeff Squyres (jsquyres)
On Feb 6, 2013, at 1:01 PM, Brice Goglin  wrote:

>> How about:
>> 
>> - Check for libpciaccess.  If found, use it. STOP.
>> - If not found:
>>  - check for libpci.
>>  - if found, and if --enable-gpl-taint was specified, use it. STOP.
>>  - if not found, display the usual "no pci support" message at the end. STOP.
>>  - if found:
>>- display the usual "no pci support" message at the end
>>- but also display a big, bold, flashing message saying "We can enable 
>> PCI support in one of two ways: 1) download/install libpciaccess 
>> (http://cgit.freedesktop.org/xorg/lib/libpciaccess/), or 2) pass 
>> --enable-gpl-taint to allow hwloc to use libpci, BUT BE AWARE THAT THIS 
>> MAKES THIS HWLOC BINARY AND EVERYTHING THAT IT LINKS TO BE GPL!"
> 
> If "configure --help" and the big warning both say that enabling it
> *may* taint as GPL, the option could just be "--enable-libpci".


Sounds ok to me (sorry for the delay in replying; I was traveling Friday).

Did you use the rest of the above scheme?

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/




Re: [hwloc-devel] libpci: GPL

2013-02-09 Thread Jeff Squyres (jsquyres)
On Feb 6, 2013, at 1:24 PM, Samuel Thibault  wrote:

> On another level, as previously mentioned, such kind of option would
> mean that we track GPL-ness, while we can't really promise that we can
> check the licence of the libraries we are linking with.


Why not?

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/




Re: [hwloc-devel] libpci: GPL

2013-02-08 Thread Brice Goglin
Le 06/02/2013 22:25, Brice Goglin a écrit :
> See the attached patch.

I'll commit that later today unless somebody complains.

Jeff, do you want to put a patch into OMPI 1.7rc7 in the very near
future? I mean even before we do a v1.6.2? I still want some testing
before we put that into a hwloc release. And with at least one week
between rc1 and final, it'll take some time.

Brice



Re: [hwloc-devel] libpci: GPL

2013-02-06 Thread Samuel Thibault
Brice Goglin, le Wed 06 Feb 2013 07:11:03 +0100, a écrit :
> Any idea why it doesn't find your nvidia card?

Actually it is due to my use of bumblebee, which puts the graphic card
into sleep when not running CUDA.  Running lstopo through optirun brings
the card back.  It actually makes sense, I have to do the same with all
applications using it.

Samuel


Re: [hwloc-devel] libpci: GPL

2013-02-06 Thread Brice Goglin
Le 06/02/2013 19:01, Brice Goglin a écrit :
> Le 06/02/2013 16:10, Jeff Squyres (jsquyres) a écrit :
>> On Feb 6, 2013, at 7:02 AM, Brice Goglin  wrote:
>>
>>> Just pushed Samuel's patch + the configury + one fix for object names.
>>> The code currently uses libpciaccess by default. pciutils is only used
>>> when libpciaccess isn't available. 
>> I think that this will still result in many GPL-enabled hwlocs by default 
>> because libpci is installed on many distros by default, but libpciaccess is 
>> not.
>>
>> How about:
>>
>> - Check for libpciaccess.  If found, use it. STOP.
>> - If not found:
>>   - check for libpci.
>>   - if found, and if --enable-gpl-taint was specified, use it. STOP.
>>   - if not found, display the usual "no pci support" message at the end. 
>> STOP.
>>   - if found:
>> - display the usual "no pci support" message at the end
>> - but also display a big, bold, flashing message saying "We can enable 
>> PCI support in one of two ways: 1) download/install libpciaccess 
>> (http://cgit.freedesktop.org/xorg/lib/libpciaccess/), or 2) pass 
>> --enable-gpl-taint to allow hwloc to use libpci, BUT BE AWARE THAT THIS 
>> MAKES THIS HWLOC BINARY AND EVERYTHING THAT IT LINKS TO BE GPL!"
> If "configure --help" and the big warning both say that enabling it
> *may* taint as GPL, the option could just be "--enable-libpci".
>

See the attached patch.

By the way, libpciaccess looks OK in a FreeBSD 9.1 VM. On NetBSD 6, the
only problem I see is that it doesn't find vendor/device names, but I am
far from being sure I have everything needed installed.

Brice

diff --git a/config/hwloc.m4 b/config/hwloc.m4
index 2fdc198..037c9b4 100644
--- a/config/hwloc.m4
+++ b/config/hwloc.m4
@@ -640,7 +640,7 @@ EOF])

 # PCI support
 hwloc_pci_happy=no
-if test "x$enable_pci" != xno; then
+if test "x$enable_pci" != xno -a "x$enable_libpci" != "xyes"; then
   hwloc_pci_happy=yes
   HWLOC_PKG_CHECK_MODULES([PCIACCESS], [pciaccess], [pci_system_init], [:], [hwloc_pci_happy=no])
   if test x$hwloc_pci_happy = xyes; then hwloc_pci_lib=pciaccess; fi
@@ -686,11 +686,18 @@ EOF])
 [hwloc_pci_happy=no])])
 ], [hwloc_pci_happy=no])
 ])
-if test x$hwloc_pci_happy = xyes; then hwloc_pci_lib=pciutils; fi
+if test x$hwloc_pci_happy = xyes; then
+	  if test x$enable_libpci = xyes; then
+	hwloc_pci_lib=pciutils
+	  else
+	hwloc_pci_happy=no
+	hwloc_warn_may_use_libpci=yes
+	  fi
+	fi
 fi
 AC_SUBST(HWLOC_PCI_LIBS)
 # If we asked for pci support but couldn't deliver, fail
-AS_IF([test "$enable_pci" = "yes" -a "$hwloc_pci_happy" = "no"],
+AS_IF([test "$enable_pci" = "yes" -a "$hwloc_pci_happy" = "no" -a "$hwloc_warn_may_use_libpci" != "yes"],
   [AC_MSG_WARN([Specified --enable-pci switch, but could not])
AC_MSG_WARN([find appropriate support])
AC_MSG_ERROR([Cannot continue])])
diff --git a/config/hwloc_internal.m4 b/config/hwloc_internal.m4
index 3a79ae6..5970185 100644
--- a/config/hwloc_internal.m4
+++ b/config/hwloc_internal.m4
@@ -64,6 +64,9 @@ AC_DEFUN([HWLOC_DEFINE_ARGS],[
 AC_ARG_ENABLE([pci],
   AS_HELP_STRING([--disable-pci],
  [Disable the PCI device discovery using libpci]))
+AC_ARG_ENABLE([libpci],
+		  AS_HELP_STRING([--enable-libpci],
+ [Use libpci for PCI support. Note that this may taint hwloc as GPL.]))

 # OpenCL?
 AC_ARG_ENABLE([opencl],
diff --git a/configure.ac b/configure.ac
index d85de3b..c9f5064 100644
--- a/configure.ac
+++ b/configure.ac
@@ -206,6 +206,16 @@ append_env() {
 eval "[$]1=\"$new_value\""
 }

+# Warn about PCI support
+if test x$hwloc_warn_may_use_libpci = xyes; then
+  echo
+  echo "**"
+  echo "PCI support could not be enable because libpciaccess is not available."
+  echo "libpci could be used instead but it may taint hwloc as GPL."
+  echo "Add --enable-libpci to enable it."
+  echo "**"
+fi
+
 # Show which optional support we'll be building
 hwloc_xml_status=basic
 AS_IF([test "$hwloc_libxml2_happy" = "yes"], [hwloc_xml_status=full])


Re: [hwloc-devel] libpci: GPL

2013-02-06 Thread Samuel Thibault
Jeff Squyres (jsquyres), le Wed 06 Feb 2013 17:33:03 +0100, a écrit :
> On Feb 6, 2013, at 8:21 AM, Samuel Thibault  wrote:
> 
> >>  - if found, and if --enable-gpl-taint was specified, use it. STOP.
> > 
> > Such kind of options are questionable: nothing says that libpci is for sure 
> > GPL. The system might have a BSD replacement for libpci with the exact same 
> > API...
> 
> Do we know if this has happened?

I don't think it has.

On another level, as previously mentioned, such kind of option would
mean that we track GPL-ness, while we can't really promise that we can
check the licence of the libraries we are linking with.

Samuel


Re: [hwloc-devel] libpci: GPL

2013-02-06 Thread Brice Goglin
Le 06/02/2013 16:10, Jeff Squyres (jsquyres) a écrit :
> On Feb 6, 2013, at 7:02 AM, Brice Goglin  wrote:
>
>> Just pushed Samuel's patch + the configury + one fix for object names.
>> The code currently uses libpciaccess by default. pciutils is only used
>> when libpciaccess isn't available. 
>
> I think that this will still result in many GPL-enabled hwlocs by default 
> because libpci is installed on many distros by default, but libpciaccess is 
> not.
>
> How about:
>
> - Check for libpciaccess.  If found, use it. STOP.
> - If not found:
>   - check for libpci.
>   - if found, and if --enable-gpl-taint was specified, use it. STOP.
>   - if not found, display the usual "no pci support" message at the end. STOP.
>   - if found:
> - display the usual "no pci support" message at the end
> - but also display a big, bold, flashing message saying "We can enable 
> PCI support in one of two ways: 1) download/install libpciaccess 
> (http://cgit.freedesktop.org/xorg/lib/libpciaccess/), or 2) pass 
> --enable-gpl-taint to allow hwloc to use libpci, BUT BE AWARE THAT THIS MAKES 
> THIS HWLOC BINARY AND EVERYTHING THAT IT LINKS TO BE GPL!"

If "configure --help" and the big warning both say that enabling it
*may* taint as GPL, the option could just be "--enable-libpci".

Brice



Re: [hwloc-devel] libpci: GPL

2013-02-06 Thread Jeff Squyres (jsquyres)
On Feb 6, 2013, at 8:21 AM, Samuel Thibault  wrote:

>>  - if found, and if --enable-gpl-taint was specified, use it. STOP.
> 
> Such kind of options are questionable: nothing says that libpci is for sure 
> GPL. The system might have a BSD replacement for libpci with the exact same 
> API...


Do we know if this has happened?

If it has not, then I suggest that it will not, since libpciaccess exists.

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/




Re: [hwloc-devel] libpci: GPL

2013-02-06 Thread Samuel Thibault
Brice Goglin, le Wed 06 Feb 2013 16:03:21 +0100, a écrit :
> I am not sure yet if we should add a
> --disable-gpl or --enable-gpl,

Jeff Squyres (jsquyres), le Wed 06 Feb 2013 16:11:55 +0100, a écrit :
>   - if found, and if --enable-gpl-taint was specified, use it. STOP.

Such kind of options are questionable: nothing says that libpci is for
sure GPL. The system might have a BSD replacement for libpci with the
exact same API...

Samuel


Re: [hwloc-devel] libpci: GPL

2013-02-06 Thread Jeff Squyres (jsquyres)
On Feb 6, 2013, at 7:02 AM, Brice Goglin  wrote:

> Just pushed Samuel's patch + the configury + one fix for object names.
> The code currently uses libpciaccess by default. pciutils is only used
> when libpciaccess isn't available. 


I think that this will still result in many GPL-enabled hwlocs by default 
because libpci is installed on many distros by default, but libpciaccess is not.

How about:

- Check for libpciaccess.  If found, use it. STOP.
- If not found:
  - check for libpci.
  - if found, and if --enable-gpl-taint was specified, use it. STOP.
  - if not found, display the usual "no pci support" message at the end. STOP.
  - if found:
- display the usual "no pci support" message at the end
- but also display a big, bold, flashing message saying "We can enable PCI 
support in one of two ways: 1) download/install libpciaccess 
(http://cgit.freedesktop.org/xorg/lib/libpciaccess/), or 2) pass 
--enable-gpl-taint to allow hwloc to use libpci, BUT BE AWARE THAT THIS MAKES 
THIS HWLOC BINARY AND EVERYTHING THAT IT LINKS TO BE GPL!"

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/




Re: [hwloc-devel] libpci: GPL

2013-02-06 Thread Brice Goglin
Le 06/02/2013 15:11, Brice Goglin a écrit :
> Le 06/02/2013 15:06, Jeff Squyres (jsquyres) a écrit :
>> On Feb 5, 2013, at 10:11 PM, Brice Goglin  wrote:
>>
>>> It's a Xorg dependency, so it's available on many platforms and
>>> prepackaged in many distributions, including darwin if I remember correctly.
>> I'm thinking that we should actually release a new version for all hwloc 
>> versions that defaulted to use libpci -- that's 1.3.x and beyond.  :-\
>>
>> I'll need to update the version that's bundled all versions of OMPI (1.6.x., 
>> 1.7.x, trunk), for example.
>>
>> I'll volunteer to do the configury stuff.  I see Brice just made a svn 
>> branch; do you want me to commit the updates there?  Or did you want to just 
>> do it all?
> I am already doing it. Will push things within an hour.
>
>> Are we removing the possibility of using libpci?
> Not yet. Samuel's nvidia card isn't properly recognized, and I haven't
> tested on many machines yet.
>

Just pushed Samuel's patch + the configury + one fix for object names.
The code currently uses libpciaccess by default. pciutils is only used
when libpciaccess isn't available. I am not sure yet if we should add a
--disable-gpl or --enable-gpl, or just remove libpci entirely.

lstopo --whole-io exports the exact same XML on the all our local
machines (from Clovertown to E5, one AMD Bulldozer, with IB, 10G and
AMD/NVIDIA GPUs, from Dell, IBM and Supermicro, and one Qemu VM). In
short, it looks pretty good, but I'd like to understand Samuel's problem.

Brice



Re: [hwloc-devel] libpci: GPL

2013-02-06 Thread Brice Goglin
Le 06/02/2013 15:06, Jeff Squyres (jsquyres) a écrit :
> On Feb 5, 2013, at 10:11 PM, Brice Goglin  wrote:
>
>> It's a Xorg dependency, so it's available on many platforms and
>> prepackaged in many distributions, including darwin if I remember correctly.
>
> I'm thinking that we should actually release a new version for all hwloc 
> versions that defaulted to use libpci -- that's 1.3.x and beyond.  :-\
>
> I'll need to update the version that's bundled all versions of OMPI (1.6.x., 
> 1.7.x, trunk), for example.
>
> I'll volunteer to do the configury stuff.  I see Brice just made a svn 
> branch; do you want me to commit the updates there?  Or did you want to just 
> do it all?

I am already doing it. Will push things within an hour.

> Are we removing the possibility of using libpci?

Not yet. Samuel's nvidia card isn't properly recognized, and I haven't
tested on many machines yet.

The situation has been bad for a while, it can remain like this for
another couple of days :)

Brice



Re: [hwloc-devel] libpci: GPL

2013-02-06 Thread Jeff Squyres (jsquyres)
On Feb 5, 2013, at 10:11 PM, Brice Goglin  wrote:

> It's a Xorg dependency, so it's available on many platforms and
> prepackaged in many distributions, including darwin if I remember correctly.


I'm thinking that we should actually release a new version for all hwloc 
versions that defaulted to use libpci -- that's 1.3.x and beyond.  :-\

I'll need to update the version that's bundled all versions of OMPI (1.6.x., 
1.7.x, trunk), for example.

I'll volunteer to do the configury stuff.  I see Brice just made a svn branch; 
do you want me to commit the updates there?  Or did you want to just do it all?

Are we removing the possibility of using libpci?

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/




Re: [hwloc-devel] libpci: GPL

2013-02-06 Thread Samuel Thibault
Brice Goglin, le Wed 06 Feb 2013 07:11:03 +0100, a écrit :
> Any idea why it doesn't find your nvidia card?

Well, actually it does, but vendor id & co are all 0x

> By the way, the contamination should be limited to the libpci plugin
> when plugins are enabled.

Right.

Samuel


Re: [hwloc-devel] libpci: GPL

2013-02-06 Thread Brice Goglin
Le 06/02/2013 01:40, Jeff Squyres (jsquyres) a écrit :
> On Feb 5, 2013, at 3:50 PM, Samuel Thibault  wrote:
>
>> Jeff Squyres (jsquyres), le Tue 05 Feb 2013 22:52:01 +0100, a écrit :
>>> It was just pointed out to me that libpci is licensed under the GPL (not 
>>> the LGPL).
>> I'm told that we could use libpciaccess instead, which is BSD.
>
> That would be great -- is it easily available?

It's a Xorg dependency, so it's available on many platforms and
prepackaged in many distributions, including darwin if I remember correctly.

Brice



Re: [hwloc-devel] libpci: GPL

2013-02-06 Thread Brice Goglin
Le 06/02/2013 01:55, Samuel Thibault a écrit :
> Jeff Squyres (jsquyres), le Wed 06 Feb 2013 01:41:21 +0100, a écrit :
>> On Feb 5, 2013, at 3:50 PM, Samuel Thibault  wrote:
>>
>>> Jeff Squyres (jsquyres), le Tue 05 Feb 2013 22:52:01 +0100, a écrit :
 It was just pointed out to me that libpci is licensed under the GPL (not 
 the LGPL).
>>> I'm told that we could use libpciaccess instead, which is BSD.
>> That would be great -- is it easily available?
> Yes. I've made a quick port, it does work. libpciaccess is however a
> bit buggy (it doesn't find my nvidia card for instance), and does not
> support finding capabilities (but we can do this by hand).

Hmmm, all this licensing mess is likely my fault. I don't remember if I
checked the pciutils licence when I started the port...

I looked at pciaccess a couple years ago because pciutils wasn't
available on darwin. The early conclusion was that it didn't support
bridges, but that doesn't seem true: your patch finds everything on my
laptop (Intel based including link speed). pcidev->name isn't set but
that looks easy to fix.

My experience with Xorg package maintenance didn't make me trust that
sort of upstream much :/ But I may still have commit access there if we
need to fix some bugs :)

Any idea why it doesn't find your nvidia card? I didn't find anything in
google except some ugly Xorg-related problems. I hop it's not related to
the drm kernel drivers doing some initialization before libpciaccess can
find the card.

By the way, the contamination should be limited to the libpci plugin
when plugins are enabled.

Brice



Re: [hwloc-devel] libpci: GPL

2013-02-05 Thread Samuel Thibault
Samuel Thibault, le Wed 06 Feb 2013 01:55:18 +0100, a écrit :
> Jeff Squyres (jsquyres), le Wed 06 Feb 2013 01:41:21 +0100, a écrit :
> > On Feb 5, 2013, at 3:50 PM, Samuel Thibault  
> > wrote:
> > 
> > > Jeff Squyres (jsquyres), le Tue 05 Feb 2013 22:52:01 +0100, a écrit :
> > >> It was just pointed out to me that libpci is licensed under the GPL (not 
> > >> the LGPL).
> > > 
> > > I'm told that we could use libpciaccess instead, which is BSD.
> > 
> > That would be great -- is it easily available?
> 
> Yes. I've made a quick port

Here is a quick version (I haven't taken the time to handle the hwloc.m4
stuff).

Samuel
Index: src/topology-libpci.c
===
--- src/topology-libpci.c   (révision 5235)
+++ src/topology-libpci.c   (copie de travail)
@@ -1,7 +1,7 @@
 /*
  * Copyright © 2009 CNRS
  * Copyright © 2009-2012 Inria.  All rights reserved.
- * Copyright © 2009-2011 Université Bordeaux 1
+ * Copyright © 2009-2011, 2013 Université Bordeaux 1
  * See COPYING in top-level directory.
  */

@@ -14,7 +14,6 @@
 #include 
 #include 

-#include 
 #include 
 #include 
 #include 
@@ -22,8 +21,92 @@
 #include 
 #include 

-#define CONFIG_SPACE_CACHESIZE 256
+#ifdef HWLOC_HAVE_LIBPCIACCESS
+#include 
+#undef HWLOC_HAVE_LIBPCI
+#endif

+#ifdef HWLOC_HAVE_LIBPCI
+#include 
+#endif
+
+#ifndef PCI_HEADER_TYPE
+#define PCI_HEADER_TYPE 0x0e
+#endif
+#ifndef PCI_HEADER_TYPE_BRIDGE
+#define PCI_HEADER_TYPE_BRIDGE 1
+#endif
+
+#ifndef PCI_CLASS_DEVICE
+#define PCI_CLASS_DEVICE 0x0a
+#endif
+#ifndef PCI_CLASS_BRIDGE_PCI
+#define PCI_CLASS_BRIDGE_PCI 0x0604
+#endif
+
+#ifndef PCI_REVISION_ID
+#define PCI_REVISION_ID 0x08
+#endif
+
+#ifndef PCI_SUBSYSTEM_VENDOR_ID
+#define PCI_SUBSYSTEM_VENDOR_ID 0x2c
+#endif
+#ifndef PCI_SUBSYSTEM_ID
+#define PCI_SUBSYSTEM_ID 0x2e
+#endif
+
+#ifndef PCI_PRIMARY_BUS
+#define PCI_PRIMARY_BUS 0x18
+#endif
+#ifndef PCI_SECONDARY_BUS
+#define PCI_SECONDARY_BUS 0x19
+#endif
+#ifndef PCI_SUBORDINATE_BUS
+#define PCI_SUBORDINATE_BUS 0x1a
+#endif
+
+#ifndef PCI_EXP_LNKSTA
+#define PCI_EXP_LNKSTA 18
+#endif
+
+#ifndef PCI_EXP_LNKSTA_SPEED
+#define PCI_EXP_LNKSTA_SPEED 0x000f
+#endif
+#ifndef PCI_EXP_LNKSTA_WIDTH
+#define PCI_EXP_LNKSTA_WIDTH 0x03f0
+#endif
+
+#ifndef PCI_CAP_ID_EXP
+#define PCI_CAP_ID_EXP 0x10
+#endif
+
+#ifndef PCI_CAP_NORMAL
+#define PCI_CAP_NORMAL 1
+#endif
+
+#ifndef PCI_STATUS
+#define PCI_STATUS 0x06
+#endif
+
+#ifndef PCI_CAPABILITY_LIST
+#define PCI_CAPABILITY_LIST 0x34
+#endif
+
+#ifndef PCI_STATUS_CAP_LIST
+#define PCI_STATUS_CAP_LIST 0x10
+#endif
+
+#ifndef PCI_CAP_LIST_ID
+#define PCI_CAP_LIST_ID 0
+#endif
+
+#ifndef PCI_CAP_LIST_NEXT
+#define PCI_CAP_LIST_NEXT 1
+#endif
+
+#define CONFIG_SPACE_CACHESIZE_TRY 256
+#define CONFIG_SPACE_CACHESIZE 64
+
 static void
 hwloc_pci_traverse_print_cb(void * cbdata __hwloc_attribute_unused,
struct hwloc_obj *pcidev, int depth 
__hwloc_attribute_unused)
@@ -290,6 +373,7 @@
   return parent;
 }

+#ifdef HWLOC_HAVE_LIBPCI
 /* Avoid letting libpci call exit(1) when no PCI bus is available. */
 static jmp_buf err_buf;
 static void
@@ -308,15 +392,59 @@
 hwloc_pci_warning(char *msg __hwloc_attribute_unused, ...)
 {
 }
+#endif

+#ifndef HWLOC_HAVE_PCI_FIND_CAP
+static unsigned
+hwloc_pci_find_cap(const unsigned char *config, size_t config_size, unsigned 
cap)
+{
+  unsigned char seen[256] = { 0 };
+  unsigned char ptr;
+
+  if (!(config[PCI_STATUS] & PCI_STATUS_CAP_LIST))
+return 0;
+
+  for (ptr = config[PCI_CAPABILITY_LIST] & ~3;
+   ptr;
+   ptr = config[ptr + PCI_CAP_LIST_NEXT] & ~3) {
+unsigned char id;
+
+if (ptr >= config_size)
+  return 0;
+
+/* Looped around! */
+if (seen[ptr])
+  return 0;
+seen[ptr] = 1;
+
+id = config[ptr + PCI_CAP_LIST_ID];
+if (id == cap)
+  return ptr;
+if (id == 0xff)
+  break;
+
+if (ptr + PCI_CAP_LIST_NEXT >= config_size)
+  return 0;
+  }
+  return 0;
+}
+#endif
+
 static int
 hwloc_look_libpci(struct hwloc_backend *backend)
 {
   struct hwloc_topology *topology = backend->topology;
+  struct hwloc_obj fakehostbridge; /* temporary object covering the whole PCI 
hierarchy until its complete */
+  unsigned current_hostbridge;
+#ifdef HWLOC_HAVE_LIBPCIACCESS
+  int ret;
+  struct pci_device_iterator *iter;
+  struct pci_device *pcidev;
+#endif
+#ifdef HWLOC_HAVE_LIBPCI
   struct pci_access *pciaccess;
   struct pci_dev *pcidev;
-  struct hwloc_obj fakehostbridge; /* temporary object covering the whole PCI 
hierarchy until its complete */
-  unsigned current_hostbridge;
+#endif

   if (!(hwloc_topology_get_flags(topology) & 
(HWLOC_TOPOLOGY_FLAG_IO_DEVICES|HWLOC_TOPOLOGY_FLAG_WHOLE_IO)))
 return 0;
@@ -331,6 +459,16 @@

   hwloc_debug("%s", "\nScanning PCI buses...\n");

+#ifdef HWLOC_HAVE_LIBPCIACCESS
+  ret = pci_system_init();
+  if (ret) {
+hwloc_debug("%s", "Can not initialize libpciaccess\n");
+return -1;
+  }
+
+  iter = pci_slot

Re: [hwloc-devel] libpci: GPL

2013-02-05 Thread Samuel Thibault
Jeff Squyres (jsquyres), le Wed 06 Feb 2013 01:41:21 +0100, a écrit :
> On Feb 5, 2013, at 3:50 PM, Samuel Thibault  wrote:
> 
> > Jeff Squyres (jsquyres), le Tue 05 Feb 2013 22:52:01 +0100, a écrit :
> >> It was just pointed out to me that libpci is licensed under the GPL (not 
> >> the LGPL).
> > 
> > I'm told that we could use libpciaccess instead, which is BSD.
> 
> That would be great -- is it easily available?

Yes. I've made a quick port, it does work. libpciaccess is however a
bit buggy (it doesn't find my nvidia card for instance), and does not
support finding capabilities (but we can do this by hand).

> Do we still want to offer a non-default configure switch (with
> appropriate big, flashing banner in configure that says "YOU WILL BE
> GPL!")?

Samuel


Re: [hwloc-devel] libpci: GPL

2013-02-05 Thread Jeff Squyres (jsquyres)
On Feb 5, 2013, at 3:50 PM, Samuel Thibault  wrote:

> Jeff Squyres (jsquyres), le Tue 05 Feb 2013 22:52:01 +0100, a écrit :
>> It was just pointed out to me that libpci is licensed under the GPL (not the 
>> LGPL).
> 
> I'm told that we could use libpciaccess instead, which is BSD.


That would be great -- is it easily available?

Do we still want to offer a non-default configure switch (with appropriate big, 
flashing banner in configure that says "YOU WILL BE GPL!")?

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/




Re: [hwloc-devel] libpci: GPL

2013-02-05 Thread Samuel Thibault
Jeff Squyres (jsquyres), le Tue 05 Feb 2013 22:52:01 +0100, a écrit :
> It was just pointed out to me that libpci is licensed under the GPL (not the 
> LGPL).

I'm told that we could use libpciaccess instead, which is BSD.

Samuel


Re: [hwloc-devel] libpci: GPL

2013-02-05 Thread Samuel Thibault
Pavan Balaji, le Tue 05 Feb 2013 23:53:54 +0100, a écrit :
> I checked libnuma, which seems to be LGPL (phew!), but didn't look at
> the remaining libraries hwloc uses.

The base of hwloc needs libm/libc (LGPL), plugin support needs libltdl
(LGPL) and libdl (LGPL).

Samuel


Re: [hwloc-devel] libpci: GPL

2013-02-05 Thread Samuel Thibault
Pavan Balaji, le Tue 05 Feb 2013 23:53:54 +0100, a écrit :
> I checked libnuma, which seems to be LGPL (phew!), but didn't look at
> the remaining libraries hwloc uses.

Right.  If hwloc was strictly requiring a GPL library to be able to
run, providing it under BSD would be questionable: you'd have to find a
non-GPL replacement for the GPL libraries in order to produce a binary
which is not GPL.

Samuel


Re: [hwloc-devel] libpci: GPL

2013-02-05 Thread Pavan Balaji

Cc'ed a bunch of mpich folks.

Dave forwarded this link, which has some good information:

http://en.wikipedia.org/wiki/GNU_General_Public_License#Point_of_view:_dynamic_and_static_linking_violate_GPL

If libpci was disabled by default, would hwloc still come under the same
GPL issue?

I checked libnuma, which seems to be LGPL (phew!), but didn't look at
the remaining libraries hwloc uses.

 -- Pavan

On 02/05/2013 04:09 PM US Central Time, Paul Hargrove wrote:
> IANAL
> 
> I think that it would be possible to say something like:
>While hwloc is BSD licensed, it may potentially link to libraries
> with more restrictive license terms.
> 
> However, that is more or less true of ANY software.
> For instance, if I compile some BSD licensed software on AIX with
> '-static' then IBM's libc ends up in my binary.
> I am not saying that IBM's libc poses any specific issues, just using it
> as an example.
> So, this is in no way a unique situation for hwloc.
> 
> I think that if hwloc were to explicitly list libpci then we start a
> dangerous precedent under which users may expect us
> to continuously "audit" the libs used on various systems.
> 
> -Paul
> 
> 
> 
> On Tue, Feb 5, 2013 at 1:50 PM, Jeff Squyres (jsquyres)
> mailto:jsquy...@cisco.com>> wrote:
> 
> It was just pointed out to me that libpci is licensed under the GPL
> (not the LGPL).
> 
> Hence, even though hwloc is BSD, if it links to libpci.*, it's tainted.
> 
> IANAL, this is not legal advice, yadda yadda yadda.  But does this
> jive with other peoples' understanding?
> 
> This has caused a problem for an unnamed vendor who wanted to ship a
> binary tool that linked against libhwloc (that linked against
> libpci).  Yoinks.
> 
> The complaint to me was that hwloc needs to be clearer about this in
> its documentation.
> 
> Does this sound right?
> 
> --
> Jeff Squyres
> jsquy...@cisco.com 
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> 
> ___
> hwloc-devel mailing list
> hwloc-de...@open-mpi.org 
> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel
> 
> 
> 
> 
> -- 
> Paul H. Hargrove  phhargr...@lbl.gov
> 
> Future Technologies Group
> Computer and Data Sciences Department Tel: +1-510-495-2352
> Lawrence Berkeley National Laboratory Fax: +1-510-486-6900
> 
> 
> ___
> hwloc-devel mailing list
> hwloc-de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel
> 

-- 
Pavan Balaji
http://www.mcs.anl.gov/~balaji


Re: [hwloc-devel] libpci: GPL

2013-02-05 Thread Samuel Thibault
Jeff Squyres (jsquyres), le Tue 05 Feb 2013 22:52:01 +0100, a écrit :
> The complaint to me was that hwloc needs to be clearer about this in its 
> documentation.
> 
> Does this sound right?

It makes sense that we warn about this, yes, so people know they might
want to pass --disable-pci.

Samuel


Re: [hwloc-devel] libpci: GPL

2013-02-05 Thread Paul Hargrove
IANAL

I think that it would be possible to say something like:
   While hwloc is BSD licensed, it may potentially link to libraries with
more restrictive license terms.

However, that is more or less true of ANY software.
For instance, if I compile some BSD licensed software on AIX with '-static'
then IBM's libc ends up in my binary.
I am not saying that IBM's libc poses any specific issues, just using it as
an example.
So, this is in no way a unique situation for hwloc.

I think that if hwloc were to explicitly list libpci then we start a
dangerous precedent under which users may expect us to continuously "audit"
the libs used on various systems.

-Paul



On Tue, Feb 5, 2013 at 1:50 PM, Jeff Squyres (jsquyres)
wrote:

> It was just pointed out to me that libpci is licensed under the GPL (not
> the LGPL).
>
> Hence, even though hwloc is BSD, if it links to libpci.*, it's tainted.
>
> IANAL, this is not legal advice, yadda yadda yadda.  But does this jive
> with other peoples' understanding?
>
> This has caused a problem for an unnamed vendor who wanted to ship a
> binary tool that linked against libhwloc (that linked against libpci).
>  Yoinks.
>
> The complaint to me was that hwloc needs to be clearer about this in its
> documentation.
>
> Does this sound right?
>
> --
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
>
>
> ___
> hwloc-devel mailing list
> hwloc-de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel
>



-- 
Paul H. Hargrove  phhargr...@lbl.gov
Future Technologies Group
Computer and Data Sciences Department Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory Fax: +1-510-486-6900


[hwloc-devel] libpci: GPL

2013-02-05 Thread Jeff Squyres (jsquyres)
It was just pointed out to me that libpci is licensed under the GPL (not the 
LGPL).

Hence, even though hwloc is BSD, if it links to libpci.*, it's tainted.

IANAL, this is not legal advice, yadda yadda yadda.  But does this jive with 
other peoples' understanding?

This has caused a problem for an unnamed vendor who wanted to ship a binary 
tool that linked against libhwloc (that linked against libpci).  Yoinks.

The complaint to me was that hwloc needs to be clearer about this in its 
documentation.

Does this sound right?

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/