Does GPL allow a company to say "Pay and I'll give you the program/sourcecode"?
Basically the question is fully stated in the subject line: Does GPL allow a company to say "Pay and I'll give you the program/sourcecode"? I'll explain a bit: Does Novell allow me to download the source of SLES or NLD from the net anywhere for free, without paying them any money? Does Red Hat allow me to download the source (or binary) of RHEL from the net anywhere for free, without paying them any money? I assuming that the answer to the two is "No". (I know for a fact that at least RHEL is available only on a "subscription basis" - I pay Red Hat and they allow me to download.) Then I ask: How does Red Hat (and Novell?) get the right to tell me "Pay me and I'll give you the program (and source code??)" ? Isn't it the clause of the GPL that allows a company to sell a program made under the GPL but only on the condition that they must make available, and make the person purchasing the program clearly understand that they make available, the entire binaries and source code for free (no money required) download from the net if the buyer so chooses to? I've often heard this from people: "free means free as in speech and not free as in beer" - yeah okay, but what's the good in limiting the meaning of "free" like that? [Aren't you limiting the *freedom* of the word free to indicate all its meanings?!] If free meant only that the source has to be openly provided, and that too not necessarily gratis (without money transaction), then what's the difference between Free Software and Open Source Software? So basically, how does a company get the right to tell me about their software licensed under the GPL: "gimme money and I'll give you the binaries / sourcecode"? (Of course, I realise the company and its constituent programmers have to eat, too - but I'm just asking about the technicalities here.) And I understand that any derivative work done from the GPL *must* be released under the GPL, neither a laxer nor stricter license than that, right? (PS: I tried reading the GPL and the Wikipedia article on it, but the GPL is a legal document, and is as such perhaps subject to "reasonable interpretation" - so I'd like my friends here to share their knowledge with me.) -- Shriramana Sharma http://samvit.org
On Saturday 13 August 2005 20:26, Shriramana Sharma wrote:
Does GPL allow a company to say "Pay and I'll give you the program/sourcecode"?
Yes, and no
I'll explain a bit:
Does Novell allow me to download the source of SLES or NLD from the net anywhere for free, without paying them any money?
I haven't seen it, but I haven't looked either.
Does Red Hat allow me to download the source (or binary) of RHEL from the net anywhere for free, without paying them any money?
Yes! If they didn't, CentOS wouldn't exist. It's a RH clone of RHEL that is unbranded and then re-compiled. Read about the problems they had with Redhat on their website.
I assuming that the answer to the two is "No". (I know for a fact that at least RHEL is available only on a "subscription basis" - I pay Red Hat and they allow me to download.)
Binaries perhaps, but the source is available. As far as Novell is concerned, I really don't know. Right now, I doubt it. But then again, as I said before, I have never looked for the source for either SLES or NLD. Mike -- Powered by SuSE 9.3 Kernel 2.6.11 KDE 3.4.0 Kmail 1.8 For Mondo/Mindi backup support go to http://www.mikenjane.net/~mike 8:39pm up 5:03, 4 users, load average: 2.09, 2.46, 2.45
On Sat, 13 Aug 2005 23:56:32 +0530, Shriramana Sharma wrote:
Does GPL allow a company to say "Pay and I'll give you the program/sourcecode"?
From the FAQ at http://www.opensource.org/advocacy/faq.php:
How do I make money on software if I can't sell my code? You can sell your code. Red Hat does it all the time. What you can't do is stop someone else from selling your code as well. That just says that you need to add extra value to your code, by offering service, or printed documentation, or a convenient medium, or a certification mark testifying to its quality. -- David Benfell, LCP benfell@parts-unknown.org --- Resume available at http://www.parts-unknown.org/
On 8/13/05, Shriramana Sharma
Basically the question is fully stated in the subject line:
Does GPL allow a company to say "Pay and I'll give you the program/sourcecode"?
I'll explain a bit:
Does Novell allow me to download the source of SLES or NLD from the net anywhere for free, without paying them any money?
Does Red Hat allow me to download the source (or binary) of RHEL from the net anywhere for free, without paying them any money?
I assuming that the answer to the two is "No". (I know for a fact that at least RHEL is available only on a "subscription basis" - I pay Red Hat and they allow me to download.)
Then I ask:
How does Red Hat (and Novell?) get the right to tell me "Pay me and I'll give you the program (and source code??)" ? Isn't it the clause of the GPL that allows a company to sell a program made under the GPL but only on the condition that they must make available, and make the person purchasing the program clearly understand that they make available, the entire binaries and source code for free (no money required) download from the net if the buyer so chooses to?
I've often heard this from people: "free means free as in speech and not free as in beer" - yeah okay, but what's the good in limiting the meaning of "free" like that? [Aren't you limiting the *freedom* of the word free to indicate all its meanings?!]
If free meant only that the source has to be openly provided, and that too not necessarily gratis (without money transaction), then what's the difference between Free Software and Open Source Software?
So basically, how does a company get the right to tell me about their software licensed under the GPL: "gimme money and I'll give you the binaries / sourcecode"?
(Of course, I realise the company and its constituent programmers have to eat, too - but I'm just asking about the technicalities here.)
And I understand that any derivative work done from the GPL *must* be released under the GPL, neither a laxer nor stricter license than that, right?
(PS: I tried reading the GPL and the Wikipedia article on it, but the GPL is a legal document, and is as such perhaps subject to "reasonable interpretation" - so I'd like my friends here to share their knowledge with me.)
Shriramana Sharma http://samvit.org
What you are paying for is the customer service. They can also charge you for the box you bought the software in, and the costs of printing the documentation that you got in the box. I know for a fact that the source for RHEL can be freely downloaded. You compile it, and you get no support, but you got it free as in free beer. Acually, in my opinion the term 'free beer' is misleading. When you drink free beer, someone else 'loses' the beer that you drank. That is, there is less beer left in the bottle. The term 'free sex' may be more acurate, because when you are done having sex, there is no less sex available. Dotan http://lyricslist.com/lyrics/artist_albums/401/pink.php Pink Song Lyrics
[Shriramana Sharma]
Does GPL allow a company to say "Pay and I'll give you the program/sourcecode"?
Yes (so far that I understand these things!). However, the company may not sell you the binaries while retaining the sources, they have to provide the real sources (patches included) for the binaries you get. Moreover, the company may not limit your own right to redistribute the binaries they sold you (you may give or sell), but you ought to provide the full sources with the binaries (those you give or sell). The essence is, you may not be attached by someone through GPL'ed software, and you may not use GPL'ed software to attach clients. That is, freedom rules, but not infinitely: you are forced to be free. :-) -- François Pinard http://pinard.progiciels-bpi.ca
On Saturday 13 August 2005 22:20, François Pinard wrote:
The essence is, you may not be attached by someone through GPL'ed software, and you may not use GPL'ed software to attach clients.
This I didn't understand. If you're talking about client/server architectures, then it's very wrong. The GPL does not restrict you from writing a closed source client to an open source server, or vice versa, Witness for example MS Outlook connecting to a postfix mail server, or gaim connecting to MSN instant messaging What you cannot do is use GPL libraries in a non-GPL binary, or vice versa, the 'linking' clause of the GPL forbids it. This is why they wrote the LGPL
On Sunday 14 Aug 2005 03:25, Anders Johansson wrote:
On Saturday 13 August 2005 22:20, François Pinard wrote:
The essence is, you may not be attached by someone through GPL'ed software, and you may not use GPL'ed software to attach clients.
This I didn't understand.
I think François meant "attached" in the support/maintenance/upgrade sense - the GPL effectively makes it impossible for an application or OS vendor to "lock you in" to their system. Having the source means you can choose as any time to ask another third party to take on development or maintenance. With closed source you are reliant on the vendor (or their vendors up the line or ....) to fix bugs and develop functionality.
What you cannot do is use GPL libraries in a non-GPL binary, or vice versa, the 'linking' clause of the GPL forbids it. This is why they wrote the LGPL
Which way does the LGPL work? Is it that closed source binaries can link against LGPL libraries, or that LGPL binaries can link to GPL libraries? Dylan -- "The man who strikes first admits that his ideas have given out." (Chinese Proverb)
On Sunday 14 August 2005 04:36, Dylan wrote:
I think François meant "attached" in the support/maintenance/upgrade sense - the GPL effectively makes it impossible for an application or OS vendor to "lock you in" to their system. Having the source means you can choose as any time to ask another third party to take on development or maintenance. With closed source you are reliant on the vendor (or their vendors up the line or ....) to fix bugs and develop functionality.
Ah, yes, that's true.
Which way does the LGPL work? Is it that closed source binaries can link against LGPL libraries, or that LGPL binaries can link to GPL libraries?
Well, I've never heard of an LGPL binary. It used to stand for 'Library GPL', and the text of it is relatively specific to libraries. The main purpose of the LGPL is to allow non-GPL applications to use free libraries, such as glibc. When a library is licensed under the LGPL, anything can link to it, whether GPL, BSD or MSEULA (at least as far as the library license is concerned. The binary license may have other restrictions) There are a few places in the LGPL where it says 'library or other work', so it may be possible to use it on binaries too, I don't really know for sure. But if you can, then you would be allowed to link it with both GPL and closed source libraries
Anders Johansson wrote:
On Sunday 14 August 2005 04:36, Dylan wrote:
I think François meant "attached" in the support/maintenance/upgrade sense - the GPL effectively makes it impossible for an application or OS vendor to "lock you in" to their system. Having the source means you
Ah, yes, that's true.
It also means to attach in the legal sense, ie. to place a legal restriction on something.
The main purpose of the LGPL is to allow non-GPL applications to use free libraries, such as glibc. When a library is licensed under the LGPL, anything can link to it, whether GPL, BSD or MSEULA (at least as far as the library license is concerned. The binary license may have other restrictions)
The LGPL says: "*5.* A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables." Now, I am not a lawyer, but to me this means, so long as the compiled program is not linked to a LGPL library (whether compiled with it or not), it is not a derivative work, but as soon as it is so linked, whether statically or dynamically, it becomes a derivative work. Section 6 of the LGPL then requires the work to be open source. If Mozilla uses only ANSI C function calls but I compile with and link it to glibc, does that make it a derivative work? I don't think so, even though it will contain portions of the glibc code. A web browser is hardly substantially the same as a compiler library, but that is one of the prime legal requirements for something to be a derivative of something else. The LGPL would have us believe that the substantial additional functionality of Mozilla is insufficient to release it from the burden of being "derived from" glibc, that linking with glibc in and of itself suffices to make it so. That is patently ludicrous, even if Mozilla uses functions which exist nowhere outside glibc. The only relevant legal precedent I know of, from the Supreme Court of Canada, has held the opposite, that something cannot be a derivative work of something else unless the two are first and foremost "substantially the same" and that they cannot be substantially the same unless (amongst other things) they have the same or similar functionality and purpose. In short, you cannot force any licencing provisions on me simply because I use (or might use) your compiler and libraries to compile my source, even if I use function calls which exist nowhere outside your libraries (otherwise, <that company in Redmond> would be equally within its rights to say I may **not** open-source my code if it is possible to compile and link it with their compiler and libraries). I don't know about the rest of the WTO block, but AFAIK, Canadian copyright law is as close to the Berne Convention as you are liable to find. I believe US copyright law contains some pretty funky departures from the Berne Convention, and US courts have on occasion stepped even further away from that treaty, but I doubt relevant copyright law within the EU could be interpreted any differently from that in Canada. Vast tracts of real estate within the LGPL are seemingly on very shaky legal ground, and I would hesitate to suggest that anyone rely on the LGPL Section 5 for any purpose whatsoever, unless and until a few courts do a rather abrupt about-face. In their wisdom (I think), the authors of the LGPL have included paragraph 3 to section 5, which states: "When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law." Or, in other words, "what we just said in the previous paragraphs is what we want this thing to say, but we do not have a clue if we are even allowed to say it." Even more to the point, "we really do not have the slightest idea if the previous 2 paragraphs hold any legal water or not." Castrol would have a much better chance of telling me that I may not use their motor oil in a Ford.
On Monday 15 August 2005 07:11, Darryl Gregorash wrote:
Now, I am not a lawyer, but to me this means, so long as the compiled program is not linked to a LGPL library (whether compiled with it or not), it is not a derivative work, but as soon as it is so linked, whether statically or dynamically, it becomes a derivative work. Section 6 of the LGPL then requires the work to be open source.
Did you actually read section 6? It's long, but worth the read, and it does not require the full work to be open source 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) --- end quote I'm snipping the rest, because this is enough. As you can see, you need to supply the source for the library, along with tools needed for performing the actual linking, but you only need to supply the object code of the main binary. This is the difference between the LGPL and the GPL
In their wisdom (I think), the authors of the LGPL have included paragraph 3 to section 5, which states:
"When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law."
Or, in other words, "what we just said in the previous paragraphs is what we want this thing to say, but we do not have a clue if we are even allowed to say it." Even more to the point, "we really do not have the slightest idea if the previous 2 paragraphs hold any legal water or not."
No, that's not how I read it. You snipped a bit too early. "If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)" I read it as "even though it may be a derivative work under the legal definition, we are absolving you from any requirements you would have had under the full GPL"
Anders Johansson wrote:
On Monday 15 August 2005 07:11, Darryl Gregorash wrote:
Now, I am not a lawyer, but to me this means, so long as the compiled program is not linked to a LGPL library (whether compiled with it or not), it is not a derivative work, but as soon as it is so linked, whether statically or dynamically, it becomes a derivative work. Section 6 of the LGPL then requires the work to be open source.
Did you actually read section 6? It's long, but worth the read, and it does not require the full work to be open source
6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. The operative phrase here is "modification of the work" which means your stuff, not the LGPL library. OK, so you have a bit of an out here -- instead of having to produce the original source, you -may- instead simply give away the object code and all the necessary debug info so the customer can reverse engineer it. Sub-section a) in fact repeats the same statement in more precise language.
In their wisdom (I think), the authors of the LGPL have included paragraph 3 to section 5, which states: <snip>
No, that's not how I read it. You snipped a bit too early.
"If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)"
I read it as "even though it may be a derivative work under the legal definition, we are absolving you from any requirements you would have had under the full GPL" In fact, the LGPL does no such thing. Look again at what you quoted. Such a restricted use of the LGPL library makes the object file only unrestricted, but section 6 still applies to the linked executables, and
Legally, that seems still to fit the definition of "open source". that essentially requires I give away the ability to reverse engineer them, which again is still effectively and essentially (in law) the same thing as open source. Think on it, if what I say were not true, there would be no need for that escape clause in section 5, which merely states "this whole thing might not in fact be at all legal". If has, in fact, about as much legal validity as <that company in Redmond> trying to tell me I may not open source anything linked against their libraries (and if they tried that, you know you would hear the whole open source community crying "foul", or worse).
Shriramana Sharma wrote:
Basically the question is fully stated in the subject line:
Does GPL allow a company to say "Pay and I'll give you the program/sourcecode"?
I'll explain a bit:
Does Novell allow me to download the source of SLES or NLD from the net anywhere for free, without paying them any money?
Does Red Hat allow me to download the source (or binary) of RHEL from the net anywhere for free, without paying them any money?
I assuming that the answer to the two is "No". (I know for a fact that at least RHEL is available only on a "subscription basis" - I pay Red Hat and they allow me to download.)
As I understand it, they're allowed to charge whatever they want. However, should they distribute it, they also have to provide the source.
On Saturday 13 August 2005 20:26, Shriramana Sharma wrote:
How does Red Hat (and Novell?) get the right to tell me "Pay me and I'll give you the program (and source code??)" ? Isn't it the clause of the GPL that allows a company to sell a program made under the GPL but only on the condition that they must make available, and make the person purchasing the program clearly understand that they make available, the entire binaries and source code for free (no money required) download from the net if the buyer so chooses to?
Simple answer: no The GPL does not make any such statement. Please read it
participants (9)
-
Anders Johansson
-
Darryl Gregorash
-
David Benfell
-
Dotan Cohen
-
Dylan
-
François Pinard
-
James Knott
-
mike
-
Shriramana Sharma