5 ms·
> creating closed forks (fine with the gpl IMHO) That's not fine. At the very least, you have to provide the source code for your (entire) product if a custome
by bnr 14y ago
> creating closed forks (fine with the gpl IMHO)
That's not fine. At the very least, you have to provide the source code for your (entire) product if a customer demands it.
- polshaw 14y agoAs 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)
- Xylakant 14y agoAs long as the fork is only used in-house I'm the customer. I do have access to my own source code. GPL is satisfied. I might as well create a closed fork and hand over the code to the people that buy my product. I can't place any restrictions on what they do with the modified source, but as long as I give them access to the source as required by the GPL that's fine as well. If they choose not to redistribute - fine as well. I might even create a closed fork for tinkering and not do anything with it. It's not the act of creating a closed fork that violates the GPL. It's redistribution without source - and that's independent of wether it's a fork or the original version.
- esbwhat 14y agoredistribution in a non-compatible license is also a GPL violation. Source present or not. You can't release a forked GPL product under e.g. the BSD license
- Xylakant 14y agoThat's basically what I said: The GPL violation can happen on redistribution - but it doesn't happen on forking the project.
- bunderbunder 14y agoFrom the GPL's perspective, a closed GitHub fork isn't really any different from running your own source control locally. (I'd say it's that way from any reasonable perspective, too. There's nothing wrong with wanting to do your tinkering in private.) And even for software that's being redistributed there's never been any requirement in the GPL that you have to make your source control public. The GPL's conditions can just as easily be met by distributing your software along with a tarball of the version of the source that was used to build it.
- Xylakant 14y agoActually you can meet the license by including a written offer to supply the source on demand. There's no requirement to provide the source along with the binary. You're even allowed to charge reasonable costs for sending the source. So you could in theory go and include a statement that the source is available on dvd and you charge 10 euros for shipping and handling. Section 6 from the GPL (distribution of non source-forms) b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. It makes things harder for the people that want to just contribute and is not nice in general, but it's covered by the license.