Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
GNU is Not Unix

Commercial Apps Can Link With GPL'd Libraries? 19

tommyd writes: "In the discussion following this editorial at Freshmeat, Matthias Ettrich of KDE fame claims that it's OK for a commercial application to use GPL'd libraries. I've never heard such a claim before. It would certainly make this plea from RMS redundant (not to mention the LGPL), but could spell bad things for GPL'd software generally. What's the Slashdot community's opinion?"
This discussion has been archived. No new comments can be posted.

Commercial Apps Can Link with GPL'd Libraries?

Comments Filter:
  • as long as you don't distribute the app and the lib together (as parts of the same package). In practice it also means that you should link dynamically.

    GPL governs distribution of GPLed code. If you don't distribute any, you are not affected by GPL.
    --

  • Read the GPL. "Source code" means "preferred form for making modifications". If you habitually write programs in objdump format, then objdump is source for you. Otherwise, sorry.
    --
  • Obviously it can only mean "the author of the software", because a "regular" person usually cannot tell C++ from a hole in the ground and therefore cannot prefer one to another. So if you really prefer to write in uncommented, obfuscated assembler and can prove it in a court of law, go ahead. This is my interpretation of course (IANAL; TINALA; IYNOTTALLIYJ).
    --
  • There is a different license for libraries that allow commercial apps to link against them. It's called the GNU Library General Public License. This is the license that the GNU C library is distributed under. Not all GNU libraries, however, are distributed under this license.

    See: http://www.gnu.org/copyleft/lgpl.html [gnu.org]

  • What stops you is the GNU GPL license. It does not just say that you must distribute the source in any form you want. IIRC it says you must distribute the source code in "the preferred form of the work for making modifications to it." In other words, the source you typed in originally, not dissasembled code or obfuscated source.
  • by Royster ( 16042 ) on Monday August 07, 2000 @07:28AM (#874650) Homepage
    The conventional interpretation of the GPL considers all code linked to it, either statically or dynamically, to be a derivative work and consequently that code must be GPLed. The LGPL (Lesser GPL, not Library GPL since it ain't just for libraries anymore) is intended to address code that gets linked without this restriction.

    I think that this paritcular claim is not tenable in the case of dynamic linking.

    The GPL relies on copyright law to get it's punch. It subverts copyright by granting a different bundle of rights to the user of the code than do conventional copyright implementations. Consequently, wherever copyright does not reserve a right to the author, the GPL can not restrict that right.

    An API qualifies (IMHO, IANAL) as a "method of operation" as defined in the Copyright code. Methods of operation are uncopyrightable. I can't design a new stick shift pattern and restrict others from being able to use it with copyright law. Libraries provide a method of operation through a defined interface and expose that interface. The particular expression of how that API is implemented is not of interest to the code that calls the library.

    If it were otherwise, then Microsoft (or any other OS verndor, for that matter) could restrict anyone who calls their DLLs and claim a royalties on code that they didn't write but runs on their OS under a "derivative work" claim.

    This would be a bigger blow to Free Software then anything I could imagine short of the GPL being found to be unenforcable in a court of law.
  • I like Richard Stallman, in small quantities. He had great ideas. This is not one of them.

    Richard makes it clear that when he says "proprietary software developers" he is thinking about the Microsofts, the Computer Associates, the Symantics of the world. He forgets there is another class of proprietary software developer, the in-house developer. This is the guy working for a company (most traditionally a brick-and-morter, although some dot-coms fit this bill) in which some other service is their bread-and-butter. The company wishes to use computer technology internally to gain a competitive edge over their competition.

    Now, the GNU License discourages the in-house programmer to make changes to GPL code, or to link to GPL libraries, because according to the license that programmer has to publish the changes. So the programmer does all the work, and then gives the fruit of the work to the competition. Nope -- he will be forced into a commercial solution.

    No one cries when "the victim" is an insurance company, but how about the coffee roaster who is trying to use computers to control coffee roasting to order?

    If you put too many barriers on the use of free [speech] software, it will force people to consider alternatives...and in the worst case some very nifty stuff won't happen.

    Then where will Richard Stallman get his next quarter-million-dollar grant?

  • OK, I'm stumped. I know the first two.

    IANAL: I Am Not A Lawyer
    TINALA: This Is Not A Legal Advisory

    But what the heck is IYNOTTALLIYJ?
    If You're Not On The Take ... ?

    Louis Wu

    "Where do you want to go ...

  • GPL [gnu.org], section 2, paragraph b
    You must cause any work that you distribute or publish ...
    The GPL does not cover code modified for personal use, only code which is distributed.

    That still leaves the problem of what 'distribution' is, especially within companies. If Bob writes a mode for Emacs to ease coding of scalable vector graphics [slashdot.org] at his company, and it becomes really popular in the company, is it being distributed? Many people are using it, but in their capacity as employees of XML Graphics, Inc. Legally, a company is considered a single entity, a fictional person. So it could be that only one person uses the new code, that person being XML Graphics, Inc. But many humans are using the code: Bob, Sarah, John, etc. The definition of 'distribution' is not very clear here.

    So the in-house developer has to worry about the definition of 'distribute'. I think that in-house code need'nt be released under the GPL, but I Am Not RMS (IANRMS), etc.

    Louis Wu

    "Where do you want to go ...

  • The thing about linking with GPL'd libraries rests on RMS' interpretation of what constitutes a derivative work. He thinks that a program that uses a library is a derivative work of that library. He has received legal advice that this is the case, but it's far from clear and certainly untested, and may vary from country to country. I respect his wishes, because I'm a nice person like that, but someone with fewer manners and more lawyers may be able to challenge this successfully.

    One other point which is occasionally raised is that when including a library, the header file which is included forms part of the code which includes it. I think that's a red herring, because C and C++ stand alone as languages which use this mechanism, and the strength of the GPL should not depend on the programming language used.

  • IYNOTTALLIYJ -- If You Need One, Talk To A Lawyer Licensed In Your Jurisdiction.
    --
  • Here's the scoop: I work for a commercial software vendor who is porting some products to work on Linux. After researching this just a bit, I'm confused. The old GNU Library General Public License [gnu.org] says that if you want to ship an application that uses a library, you have to accompany the work with source code or a written offer to provide the source code. The GNU Lesser General Public License [gnu.org] says in section 6b that if you're linking with a shared library that's already present on the user's machine, you don't have to provide source code. (You still have to cite their copyright notice, though.) Meanwhile, at Red Hat's Developer Network page [redhat.com], they say the C library is covered by the GPL, not by either LGPL. The GNU page [gnu.org] is surprisingly silent on the topic.

    Since I work for a commercial developer, it's unlikely that management will be willing to distribute source code for the application. After all, we'd be giving away some very valuable secrets to our competitors, to say the least. And we can't ignore the Linux market any more. (I'll make the disclaimer here that I'm a developer, not a manager. I don't know if we've already covered these issues as a company.)

    I'm hoping someone will have some thoughts or insights into this matter, so we don't end up violating the GPL and getting into legal hot water.

  • GNU libc is licensed under the LGPL, not the GPL. The only significant GNU library that is GPLed is Readline, I think (and there are compatible libraries that aren't GPLed, though I can't name them off the top of my head).
  • > because I'm a nice person like that, but someone with fewer manners and more lawyers may be able to challenge this successfully.

    Dear obviously you don't get the point about the GPL. Its intention was not only to protect free software, but also to encourage other companies and programers to make more free software. It shouldn't be challenged in the court, and that was not intention. Therefore that "someone" with fewer manners and more layers, would be nothing else but totally out of exchange.

    That "someone" would now use and link to software which he didn't even make, and later clame that he doesn't want to respect wishes of authors of that free software. That is criminal, as "someone" would be out of exchange. He would be taking something without giving, what is expected, back.

    Marko

  • Now, the GNU License discourages the in-house programmer to make changes to GPL code, or to link to GPL libraries, because according to the license that programmer has to publish the changes. So the programmer does all the work, and then gives the fruit of the work to the competition. Nope -- he will be forced into a commercial solution.

    I don't understand why should any programer or company which doesn't want to respect GPL, use any GPLed program? There are enough commercial C-libraries, enough commercial GUI libraries and enough resources which can be bougth for money and used without restriction in own programs.

    GPL is companies and programers who want to share with others, and want to make software free. If the intention isn't like that, there is really no need for them to use it.

    Marko

  • The GNU Lesser General Public License says in section 6b that if you're linking with a shared library that's already present on the user's machine, you don't have to provide source code. (You still have to cite their copyright notice, though.) Meanwhile, at Red Hat's Developer Network page, they say the C library is covered by the GPL, not by either LGPL. The GNU page is surprisingly silent on the topic.

    If C library was released and LGPL, and when Red Hat company makes changes to it, they can put it simply under GPL and only under GPL.

    Here is the quote from the LGPL:

    3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License.

    So, my dear friend, if you are using Red Hat's modified C library (or not modified), consider it as GPL if they say so.

    GNU site is about that not silent - they have put the explanation simply in ever LGPL and consider that people should be reading by themselves, as so many copies are distributed. Consider that putting libraries under LPGPL is from FSF discouraged.

    Marko

  • by BSDvsBSOD ( 207556 ) on Tuesday August 08, 2000 @03:06PM (#874661)

    The conventional interpretation of the GPL considers all code linked to it, either statically or dynamically, to be a derivative work and consequently that code must be GPLed. The LGPL (Lesser GPL, not Library GPL since it ain't just for libraries anymore) is intended to address code that gets linked without this restriction.

    RMS was originally very adamant about linking resulting in 'derivative works', however this theory has changed in recent times. This was a very volatile question in the early days of Linux, and Torvalds took the opinion that linking did not result in a derivative work (he was talking specifically about the kernel at the time), and this prompted RMS to draft the LGPL (as I understand history).

    Generally, it is accepted today that linking does not mean that your program must be GPLed, but you should not (cannot?) distribute the libraries with your app on CD or other media.

    IANAL, and this wouldn't be a problem if you used a BSD-type license ;)

  • RMS was originally very adamant about linking resulting in 'derivative works', however this theory has changed in recent times. This was a very volatile question in the early days of Linux, and Torvalds took the opinion that linking did not result in a derivative work (he was talking specifically about the kernel at the time), and this prompted RMS to draft the LGPL (as I understand history).

    I don't think that RMS has changed his position at all. I expect that he would defend FSF copyrights and his interpretation of the GPL with great vigor.

    But the FSF does not hold the copyright to Linux and RMS's opinions don't carry as much weight there. Linus sets the policy for the Linux kernel. Linus did not adopt RMS's LGPL for the Linux kernel.

    Generally, it is accepted today that linking does not mean that your program must be GPLed, but you should not (cannot?) distribute the libraries with your app on CD or other media.

    I would also disagree with this statement. There was a discussion on in just the last week about whether Galleon (the Gnome utility that embeds the Mozilla rendering component) can be GPLed since it links with non-GPLed code. The issue is still current. [nettechnocrat.net]
  • Dear obviously you don't get the point about the GPL.

    I get the point totally. That wasn't my point. My point is that the GPL has some controversial bits (e.g. RMS' preferred definition of a "derivative work" or "work based on the program") which have not been tested in court. A judge, given argument by lawyers acting for those with less respect for the wishes of the author than you and me, might decide that those terms mean something different than what RMS thinks.

    That "someone" would now use and link to software which he didn't even make, and later clame that he doesn't want to respect wishes of authors of that free software. That is criminal, as "someone" would be out of exchange. He would be taking something without giving, what is expected, back.

    It would not be "criminal", as copyright is a civil matter. I dop agree it would be morally reprehensible to effectively steal from the community in this way. Whether or not it's legal is another question, and it's a question that won't be closed until it's tested.

Without life, Biology itself would be impossible.

Working...