Twenty questions about the GPL
I wrote this post in 2009, more than 16 years ago.
It may be very out of date, partially or totally incorrect. I may even no longer agree
with this, or might approach things differently if I wrote this post today. I rarely edit
posts after writing them, but if I have there'll be a note at the bottom about what
I changed and why. If something in this post is actively harmful or dangerous please get in
touch and I'll fix it.
foo.pyis a Python library released under the GPLv3.bar.pyis a library distributed commercially. Ifbarcontainsimport foo, mustbar.pybe released under the GPL?- Does the answer change if
foo.pydoes not ship withbar.py, but nonetheless requiresfoo.pyto function? - Does the answer change if
foo.pydoes not ship withbar.pyand does not require its presence to function? libfoo.sois a C shared library released under the GPLv3.bar.rbis a Ruby library that uses Ruby/DL to call intolibfoo(viadlopen()and friends). Mustbar.rbbe released under the GPL?- Does the above answer change depending on whether
bar.rbis distributed withlibfoo.so? foo.jsis a JavaScript library released under the GPLv3.bar.jsis a library with all rights reserved. For performance reasons, I would like to minimize all my site’s JavaScript into a single compressed file calledfoobar.js. If I distribute this file, must I also distributebar.jsunder the GPL?foo.jsis a JavaScript library released under the GPLv3.Bar.appis an application developed on the Mozilla platform using XUL. IfBar.appincludesfoo.js(via a<script>tag), must the source toBar.appbe released under the GPL?Foo.exeis an application released under the GPLv3. Initech’s HR department modifiesFoo.exefor use internally. If Initech shares this application with the Accounts Receivable department, does that count as “conveyance” and require release of the modifications under the GPL?- IniSys is a fully-owned subsidiary of Initech. If Initech shares its
modified version of
Foo.exewith IniSys, does that trigger the GPL’s conveyance clause? - IniCom is a majority-owned subsidiary of Initech. If Initech shares
Foo.exewith IniCom, does that trigger the GPL’s conveyance clause? - Do either of the above answers change if IniSys or IniCom pay
IniTech for the right to use (the modified version of)
Foo.exe? - Jane is a consultant hired by Initech. If Jane wishes to purchase
Foo.exefrom Initech for use in her consultancy, does that act trigger the GPL’s conveyance clause? - Jane is a consultant hired by Initech. If Initech provides
Foo.exeto Jane for code review, does that trigger the GPL’s conveyance clause? Does the mechanism that Initech uses to provide Jane the code change the answer? - As a standard practice, Initech requires that all consultants
working with them use the modified version of
Foo.exe. Does this trigger the GPL’s conveyance clause? - To apply for a job at Initech, potential employees must visit an
Initech recruitment center and complete an job application using
Foo.exe. They do this on computers provided by Initech. Does this trigger the GPL’s conveyance clause? - Initech now decides to make
Foo.exeavailable to job applicants who wish to use their own computers, provided they visit a recruitment center and are within Initech’s private network to downloadFoo.exe. Does this trigger the GPL’s conveyance clause? - Initech now decides that any job applicant may download
Foo.exefrom any network connection via a VPN connection to Initech’s internal private network. Does this trigger the GPL’s conveyance clause? - Initech finally decides to simply let any applicant download
Foo.exefrom a public web server. Does this trigger the GPL’s conveyance clause? - This publically-available download of
Foo.exerequires a password only available by calling Initech HR. Does this form count as conveyance? - The previous six questions are all variations on a theme. Is there a basic principle than enables them (and the other countless variations) to be answered quickly by laypeople?
Bonus question:
- I am a long-time open source user, producer, and advocate; my business revolves around open source consulting. My clients typically ask questions similar to the above. Is there a mechanism I can use to easily advise my clients in these matters, or must I retain a copyright attorney with GPL expertise?