问题
I want to use certain libraries in my application which have licenses that are compatible with closed-source distribution, such as LGPL and BSD. However, on the Linux distribution I use, Ubuntu, the "packaging" of these libraries is marked by the copyright file as being GPL-protected. I want to avoid GPL licenses. One example of such a library is libpng. So, I have three sets of questions:
The packaging does indeed mean that I'd have to open the source to my app if I were to distribute the package with it, right?
What is the packaging? Can the shared object built from the original LGPL library be extracted from it so as to remove the GPL protection?
Are there repositories or other ways of getting non-GPL-packaged versions of these libraries that are compatible with my package management system? Building the libraries myself is my last resort.
回答1:
The packaging refers to that collection of scripts and metadata that take a the raw source tarball and turn it into a .deb. If you obtain the debian source code via apt-get source somepackage
, you can find this under the debian/
directory.
For a definitive answer, you should probably contact an attorney; I am not one, and this is not legal advice - that said, however, 'viral' licenses such as the GPL are limited to what copyright law allows them to affect. Specifically, they can only really affect you if your code is a derivative work of the GPL'd code in question. Your code may be a derivative work of the actual library in question, but it would be hard to argue that your code is a derivative work of the packaging scripts; after all, your code would work just fine if built on, say, Red Hat, right?
While it's not exactly the same situation as with debian packaging scripts, you might find it interesting to read this discussion of Linux and binary kernel modules; the concept of derivative works is prominent there as well.
来源:https://stackoverflow.com/questions/5446539/circumventing-gpl-packaging-of-non-virally-licensed-libraries-for-debian-or-ubun