Temlakos wrote: >> Ok, I have to admit, I have not been playing close attention to this >> discussion, but what I have seen has raised a question for me. I >> would like a clarification. Do I, as an end user have the right to >> install non-GPL software (e.g. RealPlayer) on my Linux box if it links The question got me interested in what Real Player does hook up to, so I wrote a small recursive script to spider dependent library licenses, and their dependencies. It is only as accurate as the license given in the RPM though... $ lider /usr/local/RealPlayer/realplay.bin RealPlayer-10.0.5.756 RPSL, EULA Dependent Licenses ------------------ BSD BSD/GPL dual license GPL LGPL MIT MIT/X11, and others Dependent Packages ------------------ atk-1.9.1 LGPL compat-libstdc++-33-3.2.3 GPL expat-1.95.8 BSD fontconfig-2.2.3 MIT freetype-2.1.9 BSD/GPL dual license glib2-2.6.6 LGPL glibc-2.3.5 LGPL gtk2-2.6.10 LGPL libgcc-4.0.2 GPL pango-1.8.1 LGPL xorg-x11-libs-6.8.2 MIT/X11, and others zlib-1.2.2.2 BSD Dependent libs -------------- /lib/libc.so.6 glibc-2.3.5 LGPL /lib/libdl.so.2 glibc-2.3.5 LGPL /lib/libgcc_s.so.1 libgcc-4.0.2 GPL /lib/libm.so.6 glibc-2.3.5 LGPL /lib/libpthread.so.0 glibc-2.3.5 LGPL /usr/lib/libatk-1.0.so.0 atk-1.9.1 LGPL /usr/lib/libexpat.so.0 expat-1.95.8 BSD /usr/lib/libfontconfig.so.1 fontconfig-2.2.3 MIT /usr/lib/libfreetype.so.6 freetype-2.1.9 BSD/GPL dual license /usr/lib/libgdk_pixbuf-2.0.so.0 gtk2-2.6.10 LGPL /usr/lib/libgdk-x11-2.0.so.0 gtk2-2.6.10 LGPL /usr/lib/libglib-2.0.so.0 glib2-2.6.6 LGPL /usr/lib/libgmodule-2.0.so.0 glib2-2.6.6 LGPL /usr/lib/libgobject-2.0.so.0 glib2-2.6.6 LGPL /usr/lib/libgtk-x11-2.0.so.0 gtk2-2.6.10 LGPL /usr/lib/libpango-1.0.so.0 pango-1.8.1 LGPL /usr/lib/libpangoft2-1.0.so.0 pango-1.8.1 LGPL /usr/lib/libpangox-1.0.so.0 pango-1.8.1 LGPL /usr/lib/libpangoxft-1.0.so.0 pango-1.8.1 LGPL /usr/lib/libstdc++.so.5 compat-libstdc++-33-3.2.3 GPL /usr/lib/libz.so.1 zlib-1.2.2.2 BSD /usr/X11R6/lib/libX11.so.6 xorg-x11-libs-6.8.2 MIT/X11, and others /usr/X11R6/lib/libXcursor.so.1 xorg-x11-libs-6.8.2 MIT/X11, and others /usr/X11R6/lib/libXext.so.6 xorg-x11-libs-6.8.2 MIT/X11, and others /usr/X11R6/lib/libXfixes.so.3 xorg-x11-libs-6.8.2 MIT/X11, and others /usr/X11R6/lib/libXft.so.2 xorg-x11-libs-6.8.2 MIT/X11, and others /usr/X11R6/lib/libXinerama.so.1 xorg-x11-libs-6.8.2 MIT/X11, and others /usr/X11R6/lib/libXi.so.6 xorg-x11-libs-6.8.2 MIT/X11, and others /usr/X11R6/lib/libXrandr.so.2 xorg-x11-libs-6.8.2 MIT/X11, and others /usr/X11R6/lib/libXrender.so.1 xorg-x11-libs-6.8.2 MIT/X11, and others I believe that despite what the packages say, the actual libraries used in libgcc and compat-libstdc++ are LGPL, so this does not show a problem AFAIK. > I had always thought that you /are/ permitted to install non-GPL > software on your own box, even if it links to GPL software. Indeed, the ... > But you may not /distribute/ a GPL/non-GPL package. Yes, you can do what you like with GPL stuff, link proprietary code to real GPL libraries, add proprietary code to GPL code, whatever: so long as you will not 'distribute' the result. The GPL only seeks to control the terms of distribution, otherwise do what you want. For example you could "extend and embrace" GPL code to form a website AIUI and keep that proprietary. AIUI the general rules for distribution and proprietaryness are: - your proprietary app + proprietary libs : pay to license the libs and binary-only is fine - your proprietary app + BSD or similar, or PD : binary-only is fine, you need to include some copyright notices in the binary with BSD - your proprietary app + LGPL'd libs : binary-only is fine, but if you ship the libs you need to provide sources for them, including any mods to them - your proprietary app + GPL'd libs : *GPL ERROR*, you must GPL your app or find an alternate LGPL or BSD or PD or Proprietary alternative library to link to Things get complicated with mixing GPL code and other licenses as somebody else said, because the GPL insists there can be no extra conditions applied to it. It's out of my experience how that pans out with compiling GPL code with, say, Openssl libs http://www.openssl.org/source/license.html > This is why Fedora /never/ distributes with MP3 libraries or Well the logic for the MP3 ban is to do with patents as somebody else pointed out, it's not directly connected to the GPL. -Andy
#!/bin/bash # # Lider License Spider # # Andy Green <andy@xxxxxxxxxxx> # License: Public Domain # if [ -z "$1" -o "$1" = "--help" ] ; then echo "Usage: $0 <path to executable file>" exit 1 fi depth=$2 if [ -z "$depth" ] ; then depth=1 rm -f /tmp/lider-list touch /tmp/lider-list pkg=`rpm -q --whatprovides $1` if [ ! -z "$pkg" ] ; then rpm -q --queryformat "%{NAME}-%{VERSION} %{LICENSE}" $pkg else echo "($1 is unpackaged)" fi echo fi #echo Depth $depth LIST1=`ldd $1 | tr -s ' ' | cut -d' ' -f 3 | grep ^/` for i in $LIST1 ; do package=`rpm -q --whatprovides $i` if [ -z "`grep $i /tmp/lider-list`" ] ; then echo -n "$i " >>/tmp/lider-list rpm -q --queryformat "%{NAME}-%{VERSION} %{LICENSE} \n" $package | head -n1 >>/tmp/lider-list $0 $i $(( $depth + 1 )) fi done if [ "$depth" -eq 1 ] ; then echo "Dependent Licenses" echo "------------------" cat /tmp/lider-list | sort | uniq | cut -d' ' -f3- | sort | uniq echo echo "Dependent Packages" echo "------------------" cat /tmp/lider-list | sort | uniq | cut -d' ' -f2- | sort | uniq echo echo "Dependent libs" echo "--------------" cat /tmp/lider-list | sort | uniq rm -f /tmp/lider-list fi
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature