I finally found a really useful working paper and law review article written by some European open source attorneys and the Free Software Foundation Europe on linking issues and the GPL license. I thought I would share some of the highlights with you as it is really hard to get some good practical guidance on open source legal issues. As a bonus, this perspective tries to marry the legal analysis with the technical analysis. Take a read!
(1) Derivative Work or Compilation (copyleft obligations)
- Static Linking (GPL’d code combined with your code in one executable at build time)
- Macro/Template Expansions (embedding GPL’d code into your code)
(2) Close Call (aka, it depends)
- Plug-ins (to extend functionalities of other programs)
- depends on external factors (I added a few of my own here):
- dependency/independency of your code;
- communication protocols/sharing resources;
- copying of API host code/no copying of API host code;
- core functionality not subject to copyright/functionality subject to copyright; and
- existence of other libraries with the same function.
- depends on external factors (I added a few of my own here):
(3) Independent and Separate Program (no copyleft obligations)
- Dynamic Linking (calling and using library only at run-time; (no GPL code copied, modified, translated or changed . . . I added this part from Larry Rosen’s view (see below) on it))
- remember to look at the above external factors as it could become a derivative work if the facts change
- oh yea, I moved Dynamic Linking to this section as I think it fits in here more than Close Call
- Interprocess Communications (remote procedure calls)
- System Calls (core operating system resources)
- Interpreted Language ‘Scripts’ (not compiled, executed by interpreter, no third party code incorporated)
So long story short, this is an evolving issue and I don’t think the definitive work has been written, but don’t let that stand in your way of learning more about it. As an open source attorney and proprietary software attorney, I thought you should be aware of this, as these folks did a fantastic job with this working paper and law review article (see below).
Resources:
Working Paper on Software Interactions and the GNU Public License (July 2010)
Larry Rosen’s view on Dynamic Linking.
Disclaimer:
This post is for informational and educational purposes only, and is not legal advice. Hire an attorney if you need legal advice.