Zach Welch wrote: > On Fri, 2009-06-19 at 18:26 +0200, Harald Kipp wrote:
>> Dynamic linking to proprietary libraries by adding LoadLibrary and >> GetProcAddress to OpenOCD is a gray area. While the FSF would not allow >> this, some lawyers may have a different view. > > The big problem with gray areas is that you can be sued anyway, and -- > even if you have lots of money -- you will have no idea as to whether or > not you will be able to defend the legality of your actions. Same view here. That's why I suggested a different solution, which avoids direct static linking of a proprietary library to GPL code. >> IMHO, the best solution is to create a new DLL, which is distributed >> under LGPL or GPL with a special exception (may be even BSDL). It should >> not provide any problems to link OpenOCD with this new library. And for >> this library it should be no problem to link to FTD2XX.dll. >> >> OpenOCD(GPL) - links - OpenFTD2XX(LGPL) - links - FTD2XX(Closed) > > I would be just as opposed to such circumvention as I would to linking > to it directly, but I believe the legality of this strategy is suspect. > Quite simply, an exception to the LGPL would create a new license, and > the modified legal verbiage would no longer be compatible with the GPL. Sorry, if I didn't explain this clearly enough. LGPL won't need an exception, it explicitly allows linking to proprietary code. Referring to pure GPL: It explicitly allows exceptions and in reality there are many Open Source projects make use of this. In fact GPL itself makes an exception (V2, clause 3, last but one paragraph). Otherwise no GPL program would ever be able to run on Windows. We may also consider to ask the FSF directly to confirm a specific exception. If we are able to provide good reasons, they will probably agree. Anyway, for the intermediate library LGPL is IMHO the better solution. > To reiterate my earlier statements on this subject, I will consider > distribution of any OpenOCD binary that links to FTD2XX to be a > violation of the GPL. If the libftd2xx library loads in the OpenOCD > process, then distributing the binary would violate the GPL. Same view here. That's why I suggested linking OpenOCD to LGPL, which in turn links to FTD2XX. > The "best solution" is to fix libftdi; it is a replacement for FTD2XX. Would you agree, that the "best solution" depends on one's attitude? I understand your point and I agree, that in general it makes a lot more sense to put some effort in GPL code than in trying to integrate proprietary libraries. I also understand, that many contributors (you, probably also Øyvind) do not care much about FTDI libraries, because they simply don't need them. But please consider, that GPL is in competition with proprietary software. Many OpenOCD users are already convinced, that OSS is the better choice, but the proof needs to be furnished for every new user again. I do have a clear interest in FTDI library support. My company manufactures and sells the Turtelizer 2, which includes an USB-RS232 bridge. RS232 is still in wide use on embedded systems. Packed with OpenOCD/Eclipse we are able to offer a nice solution for Windows users, which are still the majority of our customers. I assume, that the OpenOCD user base created by our products is at least several hundreds, the figures of Amontec (manufacturer of the JTAGkey) are probably higher. To put things right, sales of Turtelizer add less than 1% of our revenue. We published all informations and allow hobbyists and competitors to copy the hardware design. Our key products are embedded Ethernet systems (based on BSDL, for good reasons ;-) ). We simply want to provide a convenient tool at a reasonable price. In summary, with Turtelizer and OpenOCD our embedded boards (all Open Source hardware, btw.) are able to compete against products based on closed source software. As far as I understood the current discussion: If we are no longer able to distribute OpenOCD with FTDI support, the RS232 port on the Turtelizer will become useless for Windows users and the JTAG speed will be reduced by up to 2.5 times. This will definitely hurt our ARM based products. In that case OpenOCD is no longer a good solution for us and the majority of our customers. Harald _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development