Cygwin Licensing
RossH
Posts: 5,514
Not meaning to be troublesome, but someone will eventually raise this, so it may as well be
It seems the propgcc distribution includes Cygwin binaries and the Cygwin DLL. This is fine if Parallax have negotiated a license exception, otherwise it would appear to be non-compliant with the Cygwin licensing terms.
Not the end of the world - there are at least three quick and easy solutions:
I haven't checked the GCC licensing terms, but I would expect the situation to be similar. I just happen to know a bit about the limitations of distributing the Cygwin DLL in binary form because a few years ago I wanted to do this myself and found I couldn't. I don't think the situation has changed since then.
Ross.
It seems the propgcc distribution includes Cygwin binaries and the Cygwin DLL. This is fine if Parallax have negotiated a license exception, otherwise it would appear to be non-compliant with the Cygwin licensing terms.
Not the end of the world - there are at least three quick and easy solutions:
- Negotiate the above-mentioned license exception with Red Hat
- Include the Cygwin sources (and GPL license terms, which I also couldn't find) with the distribution of propgcc.
- Give propgcc users the link to Cygwin and tell them to download and install it themselves (which is what most people who develop software that depends on Cygwin or MinGW end up doing).
I haven't checked the GCC licensing terms, but I would expect the situation to be similar. I just happen to know a bit about the limitations of distributing the Cygwin DLL in binary form because a few years ago I wanted to do this myself and found I couldn't. I don't think the situation has changed since then.
Ross.
Comments
From what I can tell, binaries can be distributed as long as the source is made available. For unmodified Cygwin DLLs we would just need to reference the Cygwin source repository. If we modify a DLL we would have to provide the source. Is this the way you understand it?
Dave
Hi David,
It wasn't for Catalina - I used to distribute some open source Ada software. Catalina doesn't use either Cywgin or MinGW.
Ross.
The license terms are fairly explicit:
My reading of that is that even if you distribute an unmodified version of the DLL you are also required to also provide the source. I don't think just providing a reference is acceptable (Parallax should probably check with Red Hat themselves about that).
But the omission of the GPL license itself is probably a bigger problem.
Ross.
It is a requirement of the GPL that you include a copy of the actual GPL - i.e. the actual file that starts out with the lines: A link is not good enough, nor is just saying you comply with the GPL.
I didn't find such a file, but I have to admit I relied on the windows search function and didn't manually search all the subdirectories.
Ross.
We will be sure to include the GPL file as you suggested. Sounds like one for Daniel.
Ken Gracey
All the Catalina executables are native Windows executables. They don't need the Cygwin DLL (or any other DLLs for that matter).
As for building Catalina, this can be done with any ANSI C compiler. I did once compile it with LCC, but I have no x86 C library for LCC, so I couldn't link it or run it on my PC. Interestingly, I could run it on a Propeller - but in fact there is not enough RAM available even on the largest Propeller I have to actually do so.
Ross.
So, are you interested in sharing our library? It's pretty small and flexible. It could be a win-win situation.
Thanks for the offer. I'll have a look at it and maybe compile a few parts to see if it ends up smaller than the ACK library I currently use.
Ross.
We are doing library I/O differently, so you may have to hook up some things for testing.
Read about the library here: http://code.google.com/p/propgcc/wiki/PropGccLibrary
Dave Hein just hooked up a driver for C3 SD cards in LMM - it demos the I/O model.
The code is all public domain as I recall.
We were contacted and informed under threat of "legal love" that we were required to store locally to our project every single source file that we compiled from. Since we were building an embedded linux OS that meant over a 10G repo. We asked why a link to the individual project websites was unacceptable and the reasoning they gave was that if one of our downstream projects go away then the users of our binaries would be unable to re-built it from souces. So, the provider of the binary packages is required to retain and provide all the sources too.
Maybe it would be worth it to see what other GCC ports (like WinAVR) use to build their executables?
(0) As in VCS - ie, hg.
(1) As in http or ftp server.
Yes, this is my understanding as well. Links, addresses, hosting on another site or offers to provide the source code by other means (e.g. on CD) are all often used to try and circumvent the need for doing this, but as far as I know none of them are really satisfactory. The general rule is that if you provide the binary, you must also provide the source the same way (e.g. hosted on the same site). I think the main reason many people get away without doing so is that it can simply go unnoticed for quite a long time. Then one day you get the nasty letter in the post.
However, I'm sure Red Hat will be happy to advise Parallax on the best solution.
Ross.
Dave, That the source had to be available upon "request" was the requirement. Not that the complete source tree be included with the binaries.
I found a very useful web site about this topic - http://gpl-violations.org/faq/vendor-faq.html. It seems to cover most of the cases that vendors routinely fall into.
It discusses the fact that a link is not acceptable, nor is distribution of source from another server. It also has an extensive discussion of the GPL "written offer" alternative source distribution mechanism here. This is generally regarded as a burdensome alternative for vendors, as it requires the vendor to pass a written offer on to anyone who may receive the binary, and the offer must be to provide exactly the source code that generated that binary. You cannot simply (for instance) say something like "we use the open source software from company X - you can download the source from their website at www.X.com" etc)
Ross.
I don't see any of that being a major issue or burdensome for Parallax. After all GCC is already GPL which means that source code must be made available. In my real life I'm a Unix sys admin (degree in EE with 10 years working as an EE in factory automation) and it's not unusual for companies distributing GPL software either via cd/dvd .iso images or packages for download. It's very rare for the source code to be bundled with the binaries. The source is always available for download however.
Yes, I agree it is not burdensome once you understand your obligations - the main one being that you have to provide the entire source code for all the binaries you include - or provide (and be prepared to fulfill) the appropriate "written offer" included with your downloadable binary-only version).
Reyling on someone else providing source code is the trap that many vendors fall into - e.g. assuming that you don't need to provide the source code because it is freely available elsewhere, or that you only need to provide changes to source code that is already publicly available elsewhere. This is explicitly addressed on the GPL violations site as one of the "common mistakes".
Ross.
The written offer can be text in a file or as far as I can tell located in a website. I've downloaded a lot of disk images containing GPL binaries (not technically correct but I hope people get the idea. :-)) as well as packages for Linux, Solaris, SunOs, Irix, etc, etc ,etc and it's rare for the packages containing the binaries to have the sources. They ALL do have the GPL license in a file with an URL to get the source code from. That includes packages that I've downloaded from the free software foundation's site like gcc, emacs, etc!!
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. The license is very clear and enforceable in court! It is something the legal dept of Parallax is going to have to look at to make sure there aren't any violations.