4 ms·
Pipe/exec into GPL generally considered okay (not a derivative work) What you described only okay with LGPL
by juliusdavies 3y ago
Pipe/exec into GPL generally considered okay (not a derivative work)
What you described only okay with LGPL
- actionfromafar 3y agoAnd pipe/exec not because it's a magic boundary, but because that kind of interface is often so generic and simple it's not constituting a derivate work to use that boundary. But one could easily come up with an example where it is.
- mytailorisrich 3y agoIt is a "magic" boundary in that it is an interface to another process, i.e. effectively another program altogether.
- lupusreal 3y agoAnother process is not necessarily "another program altogether". What presents as "a program" to the user may be a collection of several processes using a variety of IPC methods to interface with each other. "Process" has a fairly concrete technical meaning but "program" is more loosely goosey. A shell script could be called "a program" even though it's executed by a shell process and invokes dozens of other processes, without which it is nothing.
- mytailorisrich 3y agoThat's a nitpick. Within this discussion if you take a GPL'd piece of software, a "program", and interface to it via pipe/exec you're just using an external program, you're not linking to it and are 'immune' from GPL 'contamination'. If not it would effectively not be possible, or very difficult, to run commercial license programs on Linux, for instance.
- Nursie 3y agoI think that's probably an interesting case, and whether it's a valid defence is going to depend on what you're doing. If you are (for example) shipping a product which is effectively a thin wrapper around a GPL 'd component, but instead of linking to a GPL'd library you've written and dutifully GPL'd a small shim program that turns the library into an executable and reads function arguments over a pipe, then you call that from your 'non-GPL' code... I don't think you'll find the process boundary is some sort of absolute defence in law. In fact you may be looked upon unkindly in court for having knowingly attempted a license circumvention mechanism. The law is not necessarily sensitive to the exact inner workings of a turing machine, and the definition of a derivative work may or may not be affected by such shenanigans.
- EnigmaFlare 3y agoIf the whole product you're selling is just a thin wrapper around GPL code, why not simply sell the GPL code or GPL the wrapper? Surely the wrapper would be trivial for a competitor to replicate so the reason you're able to make money from it must be something else like other services you provide with it, or just the value of you having chosen and distributed that particular GPL program.
- Nursie 3y agoIt was more of a thought experiment to show that a process boundary isn’t likely to be some sort of perfect defence, than a real example of how someone might operate.
- actionfromafar 3y agoIt would not, however, Linux has: "GPL-2.0, with an explicit syscall exception"
- mytailorisrich 3y agoDeleted/Edited (sorry...): That's for the kernel, right? My comment was general and about all the interactions betweem programs.
- hnfong 3y agoIt's extremely entertaining to see people here arguing that programming and software interfaces should be copyrightable and therefore protected by the GPL. Pretty sure the prevalent opinion was that it was going to be the end of the world if the US Supreme Court ruled that APIs were copyrightable in the Oracle v Google case. Just say'n.
- juliusdavies 3y agoI think there is a way to make APIs copyrightable: 1.) Hire a bonafide poet (e.g., someone with an MFA degree in Creative Writing). 2.) Have them write Haikus on salary for your company ("work made for hire" under copyright law). 3.) Use the Haikus in your API names. e.g. for a sqrt() function in Java: public double sqrt___an_ancient_pond_$_a_frog_jumps_in_$_the_splash_of_water(double number);