3 ms·
As far as i have been able to figure out, what 'entire product' relates to is not 100% clear cut. AFAICT, you could easily segregate the parts of your product y
by polshaw 14y ago
As far as i have been able to figure out, what 'entire product' relates to is not 100% clear cut. AFAICT, you could easily segregate the parts of your product you wish to be private, and just modify the GPL code to inferface with that (you would tehn have to release this part).
- stephen_g 14y agoNo, the license says that if you distribute executables or libraries that link to, or contain GPL licensed code, all the source code of those executables and/or libraries must be released under the GPL or a GPL compatible license. What you're saying works with the LGPL license though (you can have closed source code that links to LGPL licensed code, as long as it's possible to re-compile the LGPL code and use the new version - which is easiest done by just having the LGPL code in a dynamic/shared library).
- nmcfarl 14y agoBut it is "linked to or contain GPL code" - if you hive off the functionality and interface to it via, say TCP, you actually are good to go, even with the GPL. This technique does work for a certain small set of use cases.
- cube13 14y agoThat's because of the OS functionality exception in the GPL. LibC is also LGPL to allow any source to link to it.
- polshaw 14y agoI'm not exactly sure what the exact definition of 'linked to' would be? My understanding was that you could- for example, (if necessary) modify a GPL executable so that it could be interfaced via unix sockets, and then use this to communicate with your own code. This would work exactly the same as if you created a gpl program to interface with a pre-existing closed-source program.. they would be two separate programs, working together for one aim. Am i wrong? Similarly, if i were to create an appliance with private code using linux, and included say samba for file transferring, this would not mandate the release of all code, as there would be no direct link between samba and the application code (although constituent parts of the same product). Otherwise how could closed source software be distributed with linux distros?
- stephen_g 14y agoI believe that the definition they use is in statically linking to object code at compile time or dynamically linking at runtime [1]. So, I guess you could use Unix sockets to interface with the library to get around that, but you'd have to open-source the modifications to the library that make it accessible over Unix sockets. 1. http://en.wikipedia.org/wiki/Linker_(computing) http://en.wikipedia.org/wiki/Linker_(computing)