Talk:Public Domain in the middle
From GPLv3 Wiki
Legal difference between copyleft and public domain
The manner in which the interface connects the programs effects whether or not it is covered by the GPL.
Here are my understandings. I will try to find references to back them up:
- The GPL disallows either of the programs to 'link' (even if dynamically) to the other to allow calling functions directly by operating within the same "address space".
- The GPL allows either program to 'launch' the other and supply command-line arguments, then parse the output or scrape files for results. This is an unfortunate workaround that can be made very efficient (keep one instance of the CLI program always running and queue the requests per host thread).
- The GPL allows either program to communicate with the other through a local or networked socket. This is a massive hole that needs to be plugged, especially considering clever advances in delivering remote content - such as through client-side rendering of drawing primitives for smooth interaction even with 3D applications.
Can it be entered into the Public Domain?
This question cannot be separated from whether or not the interface may be held proprietary.
If the interface software is covered by the GPL, then it may not be entered into the Public Domain because Public Domain software is not protected from those that would make it proprietary.
To release software into the Public Domain is to relenquish Copyright ownership of that work, and therefore to give up the ability to impose requirements through a license.
All software licenses have requirements that the user must follow or be in violation of Copyright law.
Most "source available" licenses (whether they are compatible with the GPL or not) have few requirements, and they are mostly mundane (such as a requirement to keep the Copyright notice intact at the beginning of each file).
But the GPL really puts Copyright to work for the benefit of society by requiring users have freedom for all work built upon earlier cooperation. This is called Copyleft.
The Copyleft nature of the GPL guarantees your contributions can never be "held against you" the way Public Domain software might be. Most other software licenses also fail to address this trouble, which is why so much BSD code is in Microsoft and Apple Operating Systems.
Understandably, people have this notion that any work that is based on or interfaces with GPL software magically and instantly becomes GPL software. The GPL does this for the free software community--to the extent that it can, but it's not as authoritarian a system as it sounds.
Anybody who writes a derivative work or interface to the GPL--and doesn't distribute it, but only uses it privately--does not instantly lose their legal rights as an author. They do not *have* to make their work available under the GPL, nor are they barred from using another license to distribute their *separate* work. Particular of note, when people assign their copyright to free software projects, they can do so by either assigning their copyright or relinquishing their right (read "public domain") to the work. When their independent work (a modification or addition) is distributed with the GPL software, *then* the GPL's license comes into effect. This is how the end of the section on "Conveying Modified Source Versions" reads (my emphasis):
- To the extent that identifiable sections of the modified work, added by you, are not derived from the Program, and can be reasonably considered independent and separate works in themselves, *then this License, and its terms, do not apply to those sections when you convey them as separate works*, not specifically for use in combination with the Program.
I know I'm being specific, but it's important to not overstate the power of the GPL over other people's copyrights, and on works that are held privately. However, when distribute their work in combination with GPL software (that forms more than just an "aggregate" as defined in the GPL) the GPL should, as you say, be "requiring users have freedom for all work built upon earlier cooperation".
I don't have any specific comments on your questions on what technical details qualify under the "Source Code" section. A broader explanation of how copyleft applies itself may provide better insight than the uncertainty of software connection--static linking, dynamic linking, interprocess communcation, etc. --ashawley 10:12, 4 November 2006 (EST)