This was prompted by another question which reminded of a past experience.
Consider the following:
- An open-source project supports a plug-in architecture
- The project is released under a copyleft license
- The plug-ins are discovered by the project by virtue of being installed into a specific directory (i.e. no registration with, modification to, or even recompilation of the project is required to add a plug-in).
- The plug-ins are self contained, not needing to link to or call into the parent application beyond perhaps including a single header-file for declarations only.
A theoretical example might help to clarify:
- Project X processes images
- Plug-ins provide additional algorithms, or support for existing algorithms on new file types.
- A plug-in simply exports a small number of functions which are called with all the necessary data to perform their processing and return the result.
- Project X takes care of all rendering, updating menus, etc.
Now suppose I want to publish a commercial plug-in for project X which implements a very proprietary algorithm, and which I intend to sell. Obviously, I don't want to publish the code for this implementation.
Does the copyleft license on Project X consider my code to form a "combined work" or similar term when installed on the user's machine, and thus require me to publish the source code of my plug-in?