Hello Øyvind and the list, Øyvind Harboe napsal(a): > welcome back it's been a while! I hope that you'll stick around > to submit some more good patches. You've contributed lots of nice > stuff in the past!
I am still here, monitoring the forum and I surely also do have future plans to contribute to OpenOCD in the future. > GPL stops closed source target & interface for OpenOCD. Sure, I understand that and I have to say I am not arguing about this. I like open source, it is just I really do not like if suddenly appears someone literally interpreting a legal document making a problem from something which has not been problem for years - I believed that ftd2xx.dll is linked "per design" by the will of the original author, giving me an impression that in such case it is not a license infringement. Anyway, as I noted in my post, it is better to (technically) solve this for good rather than argue forever, I suppose you see it the same way. But we shall not become GPL slaves, solving how to pass literal interpretation of the license instead of pushing OpenOCD further. > That's one of the *main* reasons I got involved with OpenOCD in the first > place. Actually me to, I am not for closed interfaces, and PRESTO is also open. The only closed thing is ftd2xx, a hw driver wrapper with rather trivial API which is mostly the same as OS file I/O API so the discussion about this seems to me a bit ridiculous. Open interface to FTDI chips does not make much sense without the chip itself, noone is going to implement a compatible silicon, that is why I consider ftd2xx as part of the hw and why I see the discussion pointless, bringing no real benefit to the project itself > I also knew that since the project was GPL to start with, it wouldn't > switch to another license once a sufficient # of contributors had signed > up. At least not without *everybody* agreeing to a license change. This > ensures that any license change won't be full of holes. Agreed. Too late, too complicated these days. > I *know* there are hardware vendors out there that > are aching to use OpenOCD together with closed source target support, > and they *would* find any tiny loophole and throw money at lawyers to > exploit it. Actually, this is not what I want. But I also do not like the silly madness about ftd2xx. BTW I like Linux, but what I really hate on it is lack of binary driver interface making many problems with hw compatibility - this is simply not the right way to do it, single word: interoperability. GPL does not mean the project shall not be able to communicate with non-free world and the attempt GPL made to classify "allowed" and "forbidden" ways of communication is far from ideal solution, neither does it guarantee freedom: binary communication over socket may be non-transparent in such a fashion that the code actually is not free (liberty) despite it is open. So this is what I was pointing at in my post: it is necessary to see the the principles of the license, its real meaning, so that we choose the right way, not just a technical workaround which passes the rules. > Now, I *know* you can fix these USB problems with both hands tied > behind your back in your sleep with a modest effort. The acceptable > solutions have been outlined. For sure it's a million times easier for > you to solve this technically than legally. You are right. > You stand out amongst the hardware vendors because you have made > *very* significant contributions in the past. Thank you very much. Personally I do no think it was such a big contribution. Without having the OpenOCD sources I would not have courage to start working on ARM JTAG debug solution, neither I have had time to program it from scratch. That is what I like on open source. Hopefully there will be more contribution from me (or us as company). > How about using the bitq stuff forl a generic JTAG over TCP/IP solution? ;-) Surely possible, but not much convenient, another process running on users computer, however, speed shall not be a big deal, probably a way to go. What I really would like is to separate all the JTAG logic from all low level drivers (if all drivers make use of bitbang or bitq). I am not sure about current status, I have not looked into recent source for an extensive period. On contrary, creating socket bitq interface would make it easier for vendors selling proprietary JTAG interfaces without giving any contribution, they would just implement the other side of the pipe. As you see every coin has two sides - implementing socket bitq would comply with literally interpreted GPL but at the same time, it would undermine its principles. Binary compatible libftdi->ftd2xx is also fine but opposite solution might be even more interesting: reimplement ftd2xx.dll using libftdi, giving a free solution also for other projects which use ftd2xx. In other words to take ftd2xx ABI as a standard and reimplement it to get fully free solution to fully comply with the license. Either way, I like the idea to remove conditional compilation choosing among libftdi and ftd2xx - just a single and clean interface. It is also possible to tunnel communication to/from FTDI through TCP instead of passing it FT_Write() and getting from FT_Read(). Now you see what I meant above and why I see the discussion pointless - this does not make anything better or more free! But this might help people to understand: literal interpretation of GPL, cliche about same memory space does not help to protect the principles and original idea of the GPL - that is what shall be defended. (BTW on an microcontroller without MMU everything is in a single memory space, does that mean GPL cannot be used there?) There has been a political discussion in the Czech Republic about some legal problem some years ago. I do not remember in particular - anyway it was so that the literal interpretation of the law was fulfilled but it was clear to everyone that it was not the way it should be. If in doubt, the way the original author most likely meant shall be considered, not only the way it is literally written and it is the same with GPL. This is why I wrote the post so that people are not just blindly reading the "words" of the license, but try to understand the principles it defends. My belief is that main aim of GPL is to protect GPLed code from integration into a closed project (or a project without compatible license) so that the closed world profits without contribution. However the situation is different here, GPLed code _makes_use_ of a library, without the library being modified for this. Sure there is still problem to tell difference, to judge who actually profits, the line is too thin. One more time: No flame war, I am NOT rejecting GPL requirements, I fully respect the license, I just call for thorough consideration before calling out "This is not GPL! Evil! Kill it!" Best regards, Pavel _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development