I think it has to be incorporated into the GPL binary distribution. But I agree that technical violations such as this seem to be quite common.
Ross.
I think that at some point in all of this we're going to have to agree to agree!! :-) I do know that the GPL license needs to accompany the binary and I wouldn't be surprised to learn that included in the license is the comment that the source code is available. In any case the cygwin libraries and the gcc compiler (as well as all software compiled by it) are under the GPL and that license must be complied with.
I think it has to be incorporated into the GPL binary distribution. But I agree that technical violations such as this seem to be quite common.
Ross.
I think you're correct that the text file that says how to get the sources must be part of the binary distribution not just something on the web site. However, I believe the sources themselves can be on the web site.
I think you're correct that the text file that says how to get the sources must be part of the binary distribution not just something on the web site. However, I believe the sources themselves can be on the web site.
I'd like to thank Ross for bringing this to our attention. I haven't looked at the actual GPL text in a long time and this thread has I hoped cause others to go to the GNU site and actually read the license. While looking through the actual text of the license I came across the following:
"If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code."
This makes it clear to me that the source code for GPL software doesn't need to be included with the binaries. It does need to be made available in the same manner as the binaries.
I think you're correct that the text file that says how to get the sources must be part of the binary distribution not just something on the web site. However, I believe the sources themselves can be on the web site.
I'd like to thank Ross for bringing this to our attention. I haven't looked at the actual GPL text in a long time and this thread has I hoped cause others to go to the GNU site and actually read the license. While looking through the actual text of the license I came across the following:
"If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code."
This makes it clear to me that the source code for GPL software doesn't need to be included with the binaries. It does need to be made available in the same manner as the binaries.
Sounds like we've finally gotten to the bottom of this. Thanks Ross, 4x5n, and everyone who contributed!
"If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code."
This makes it clear to me that the source code for GPL software doesn't need to be included with the binaries. It does need to be made available in the same manner as the binaries.
What this means to me is that if you distribute the binaries, you also have to distribute the source code with them. If you don't distribute the binaries, but merely tell people where to find them, you don't have to distribute the source code, either, as long as it can be found at the same place people are directed to get the binaries. In summary, the souce code must be included with distributed binaries.
What this means to me is that if you distribute the binaries, you also have to distribute the source code with them. If you don't distribute the binaries, but merely tell people where to find them, you don't have to distribute the source code, either, as long as it can be found at the same place people are directed to get the binaries. In summary, the souce code must be included with distributed binaries.
-Phil
I'm not a lawyer and don't play one on the internet but it sounds like we agree. The issue of what the terms of the GPL allows, doesn't allow, requires, etc is something for lawyers to decide on. A few things that I do know. The first and most important for Parallax is that the GPL (remember it is a license) is enforceable and it will be enforced in court! The second is that I've met and spoken to Richard Stallman for extended periods of time and he is a firm believer in the freedom of software and can't help believe that he would champion the efforts of the port of gcc to the prop 2!!!
Most of what I know about the GPL is what I've gathered from my conversation with Richard Stallman and work as a sys admin. I do know that even the GNU org provides binary only packages of GPL'd software!! They do of course make the source code available. It also shouldn't be hard for Parallax to make the source code for their port of gcc and all the tools required by it available for download. Again this is an issue for lawyers to work out!
I also have to keep track of such things in my job, and I'm also not a lawyer (as far away from that as can be I think), and my understanding is reasonably close to what appears to become the consensus here. Just as a datapoint - my Panasonic TV 'distributes' a Linux kernel (GPLv2) in its firmware. The on-screen menu has an option which shows the GNU General Public License on-screen, plus an URL (their own) where source and binaries can be downloaded. I checked that URL once and it seemed to be exactly that.
Things get ugly when selling software compiled with GCC.
I think this statement needs some clarification. It strongly implies that you don't want to be using GCC to build commercial products because you may get into trouble for violating the GPL. And that would basically kill the whole idea of building propgcc to satisfy commercial developers.
I'm very sure that this is not the case and that commercial products are built with GCC all the time without any such license violations.
I have seen more then one person/company get into trouble over violations of the GPL. Things get ugly when selling software compiled with GCC. As you've pointed out software released under the GPL isn't unlicensed "freeware" or public domain.
Things get ugly when selling software compiled with GCC.
I think this statement needs some clarification. It strongly implies that you don't want to be using GCC to build commercial products because you may get into trouble for violating the GPL. And that would basically kill the whole idea of building propgcc to satisfy commercial developers.
I'm very sure that this is not the case and that commercial products are built with GCC all the time without any such license violations.
Heater is absolutely correct. The code generated by GCC has no GPL strings attached at all. There are huge amounts of commercial software out there which is compiled by GCC. The only case of "generated code is covered by GPL" I know of is Bison, the GNU 'yacc' alternative. Older versions used to have the output covered by the GPL, but that is not the case for newer versions: http://www.gnu.org/software/bison/manual/html_node/Conditions.html
But there has never been a condition like that for using GCC.
(That link also has something to say about that, btw)
Using Propeller GCC to compile and distribute your Propeller program as designed in any application will not get you in trouble.
The easiest way to get in trouble with any GCC in a commercial product is to link in the GNU libc and libm libraries with your product. We don't use those libraries. Our libraries do not have GPL strings attached. The plugin exception allows us to compile with the critical libgcc and others. As licensing go, we merely have some cleanup to do in our distributions.
I'm glad to hear that merely compiling code with GCC doesn't cause the code to come under the umbrella of the GPL. I got that impression when the legal dept of a company I worked at "banned" the use of GCC for that reason. Again I'm not a lawyer and don't pretend to be one. :-)
I'm glad to hear that merely compiling code with GCC doesn't cause the code to come under the umbrella of the GPL. I got that impression when the legal dept of a company I worked at "banned" the use of GCC for that reason. Again I'm not a lawyer and don't pretend to be one. :-)
That was probably a strategy of if in doubt, leave it out. It's also called Fear, Uncertainty, and Doubt - FUD is a well known anti-marketing strategy.
AGAIN, we don't offer libraries that require end user GPL compliance - they would never fit in Propeller anyway. This was stated and understood up front before the project started.
Just to chime in briefly, Parallax is looking into the legal ramifications of the GPL and our current method of content distribution. We definitely want to do things impeccably and safely - not just for Parallax, but for our customers as well.
Ross, I really appreciate your due diligence here. You are really helping us keep everything honest.
Just to chime in briefly, Parallax is looking into the legal ramifications of the GPL and our current method of content distribution. We definitely want to do things impeccably and safely - not just for Parallax, but for our customers as well.
Ross, I really appreciate your due diligence here. You are really helping us keep everything honest.
I think that's the best thing, Daniel. By the way - I learned stuff from this thread as well. I didn't even know about the GPL violations site - it's interesting to read just who has been prosecuted. By the way - I don't think Parallax was ever really in any danger - inadvertent breaches don't seem to go any further than the stern lawyers letter. It just would have been a little embarrassing.
Speaking of which - Catalina is technically in breach as well! I've just realized that I have not yest posted the source to the Code::Blocks "compiler" plugin I updated for Catalina. I submitted the source to the Code::Blocks team so that I wouldn't have to release either the binary or the source myself - but their release cycle is glacial - so I really need to post this along with the rest of the Catalina source on the SourceForge site.
I expect my stern laywers letter is already in the post
Maybe it should also be added that the 'legal trouble' that one can find oneself in if abusing the GPL isn't a death sentence. It's along the lines of:
1) Start providing the source to what you are distributing,
or
2) Stop distributing what you are distributing.
So it's just basically about getting things in order. It's not like you'll be sued or taken to court, unless a company insists on continuing its GPL-breaking practice. That would be quite deliberate and those cases go to court - some of those cases are listed on the gpl-violations site.
There's never really a problem with past errors as long as companies are willing to fix mistakes.
There's never really a problem with past errors as long as companies are willing to fix mistakes.
Unless of course you are a company that has just invested millions in a multi man year commercial project. Only to find that you now have to give away all your IP and the investment is lost.
This is the scenario that users of GCC want to be sure they are protected from.
Tor,
Unless of course you are a company that has just invested millions in a multi man year commercial project. Only to find that you now have to give away all your IP and the investment is lost.
This is the scenario that users of GCC want to be sure they are protected from.
That's where my 2) come in. From all the cases that I've heard about, you will _not_ be forced to give away your IP: There is always option 2): Stop distributing. You don't give away, you just stop.
I would also argue that a company that ends up in that situation (invested millions in a commercial project that hangs on illegal use of GPL'ed software) knew exactly what they were doing. As in when a certain firewall company tried to encrypt and hide the Linux source (and other GPL'ed source) they were using, so that they should not be found out.
I was not really thinking of a company knowingly infringing the licenses. My point was that if you do want to do a lot of development, honestly and above board but with a view to a closed source product and profit then you might, as is often the case, decide against using any open source tools or libraries because the complexity of finding out what is allowed and what is not is too much. Which in this case might result in rejecting the Propeller II because there is no commercial compiler/libs for it. Which is a bad result fro Parallax.
This needs to be spelled out to Propeller customers.
I don't think the licensing issues are that complicated really.. at least not about using the compiler. GCC is widely used in the embedded industry, it's got a large part of the ARM market, although there are other compilers there as well. If any customers of Parallax are wary about using GCC because they don't really know then it may help to point to the ARM segment. GCC is just like almost any other compiler: Use it as you wish for your development, as long as you use it as a compiler (i.e. not as part of a product - which would only be the case for compiler-selling companies, presumably..)
If a commercial company is using a library with a GNU license then it's not too difficult either: Use a library with an LGPL license, not GPL, and make sure to link dynamically (not statically - the latter is more often than not more work anyway, if it's a library provided with the distrubution). (Current OBEX libs are MIT licensed, presumably there will be MIT-licensed C libs available at some point as well.)
There is a minimum of work any commercial actor will have to do to learn about this, but it can generally all be sorted out with very little effort. Any company involved in software writing will have to do this anyway, even if they stick to MIT licensed tools or software - after all, they won't know what that is either until they do some work to learn it.
... and make sure to link dynamically (not statically - the latter is more often than not more work anyway, if it's a library provided with the distrubution). ...
Hi Tor.
I agree with your post - especially the LGPL bit - but I don't understand the bit above. In a bare-metal embedded environment (like the Prop) how can you link your executables dynamically?
I agree with your post - especially the LGPL bit - but I don't understand the bit above. In a bare-metal embedded environment (like the Prop) how can you link your executables dynamically?
Ross.
You can't Well maybe someone can later, but that's a separate thing.
The alternate GPL statically linked library is too big to link anyway.
Our C libraries are not encumbered by GPL.
Comments
I think it has to be incorporated into the GPL binary distribution. But I agree that technical violations such as this seem to be quite common.
Ross.
I think that at some point in all of this we're going to have to agree to agree!! :-) I do know that the GPL license needs to accompany the binary and I wouldn't be surprised to learn that included in the license is the comment that the source code is available. In any case the cygwin libraries and the gcc compiler (as well as all software compiled by it) are under the GPL and that license must be complied with.
I'd like to thank Ross for bringing this to our attention. I haven't looked at the actual GPL text in a long time and this thread has I hoped cause others to go to the GNU site and actually read the license. While looking through the actual text of the license I came across the following:
"If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code."
This makes it clear to me that the source code for GPL software doesn't need to be included with the binaries. It does need to be made available in the same manner as the binaries.
Yes, that's what I meant.
-Phil
I'm not a lawyer and don't play one on the internet but it sounds like we agree. The issue of what the terms of the GPL allows, doesn't allow, requires, etc is something for lawyers to decide on. A few things that I do know. The first and most important for Parallax is that the GPL (remember it is a license) is enforceable and it will be enforced in court! The second is that I've met and spoken to Richard Stallman for extended periods of time and he is a firm believer in the freedom of software and can't help believe that he would champion the efforts of the port of gcc to the prop 2!!!
Most of what I know about the GPL is what I've gathered from my conversation with Richard Stallman and work as a sys admin. I do know that even the GNU org provides binary only packages of GPL'd software!! They do of course make the source code available. It also shouldn't be hard for Parallax to make the source code for their port of gcc and all the tools required by it available for download. Again this is an issue for lawyers to work out!
-Tor
I think this statement needs some clarification. It strongly implies that you don't want to be using GCC to build commercial products because you may get into trouble for violating the GPL. And that would basically kill the whole idea of building propgcc to satisfy commercial developers.
I'm very sure that this is not the case and that commercial products are built with GCC all the time without any such license violations.
Merely using GCC to compile your program does not make it fall under the GPL. See http://www.gnu.org/licenses/gpl-faq.html#CanIUseGPLToolsForNF for the Free Software Foundation's position on this.
Eric
http://www.gnu.org/software/bison/manual/html_node/Conditions.html
But there has never been a condition like that for using GCC.
(That link also has something to say about that, btw)
-Tor
Any plug-ins used by GCC in the compilation process must be GPL'ed, or you can get into issues distributing binaries compiled by GCC.
If the whole compile process is GPL, the output can be non-GPL.
If any part of the compile process in non-GPL, the output must be GPL.
Search for info on "plugin exception"
C.W.
The easiest way to get in trouble with any GCC in a commercial product is to link in the GNU libc and libm libraries with your product. We don't use those libraries. Our libraries do not have GPL strings attached. The plugin exception allows us to compile with the critical libgcc and others. As licensing go, we merely have some cleanup to do in our distributions.
AGAIN, we don't offer libraries that require end user GPL compliance - they would never fit in Propeller anyway. This was stated and understood up front before the project started.
Ross, I really appreciate your due diligence here. You are really helping us keep everything honest.
I think that's the best thing, Daniel. By the way - I learned stuff from this thread as well. I didn't even know about the GPL violations site - it's interesting to read just who has been prosecuted. By the way - I don't think Parallax was ever really in any danger - inadvertent breaches don't seem to go any further than the stern lawyers letter. It just would have been a little embarrassing.
Speaking of which - Catalina is technically in breach as well! I've just realized that I have not yest posted the source to the Code::Blocks "compiler" plugin I updated for Catalina. I submitted the source to the Code::Blocks team so that I wouldn't have to release either the binary or the source myself - but their release cycle is glacial - so I really need to post this along with the rest of the Catalina source on the SourceForge site.
I expect my stern laywers letter is already in the post
Ross.
1) Start providing the source to what you are distributing,
or
2) Stop distributing what you are distributing.
So it's just basically about getting things in order. It's not like you'll be sued or taken to court, unless a company insists on continuing its GPL-breaking practice. That would be quite deliberate and those cases go to court - some of those cases are listed on the gpl-violations site.
There's never really a problem with past errors as long as companies are willing to fix mistakes.
-Tor
Unless of course you are a company that has just invested millions in a multi man year commercial project. Only to find that you now have to give away all your IP and the investment is lost.
This is the scenario that users of GCC want to be sure they are protected from.
I would also argue that a company that ends up in that situation (invested millions in a commercial project that hangs on illegal use of GPL'ed software) knew exactly what they were doing. As in when a certain firewall company tried to encrypt and hide the Linux source (and other GPL'ed source) they were using, so that they should not be found out.
-Tor
I was not really thinking of a company knowingly infringing the licenses. My point was that if you do want to do a lot of development, honestly and above board but with a view to a closed source product and profit then you might, as is often the case, decide against using any open source tools or libraries because the complexity of finding out what is allowed and what is not is too much. Which in this case might result in rejecting the Propeller II because there is no commercial compiler/libs for it. Which is a bad result fro Parallax.
This needs to be spelled out to Propeller customers.
If a commercial company is using a library with a GNU license then it's not too difficult either: Use a library with an LGPL license, not GPL, and make sure to link dynamically (not statically - the latter is more often than not more work anyway, if it's a library provided with the distrubution). (Current OBEX libs are MIT licensed, presumably there will be MIT-licensed C libs available at some point as well.)
There is a minimum of work any commercial actor will have to do to learn about this, but it can generally all be sorted out with very little effort. Any company involved in software writing will have to do this anyway, even if they stick to MIT licensed tools or software - after all, they won't know what that is either until they do some work to learn it.
-Tor
Hi Tor.
I agree with your post - especially the LGPL bit - but I don't understand the bit above. In a bare-metal embedded environment (like the Prop) how can you link your executables dynamically?
Ross.
The alternate GPL statically linked library is too big to link anyway.
Our C libraries are not encumbered by GPL.