Twenty questions about the GPL
I wrote this post in 2009, more than 15 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.py
is a Python library released under the GPLv3.bar.py
is a library distributed commercially. Ifbar
containsimport foo
, mustbar.py
be released under the GPL?- Does the answer change if
foo.py
does not ship withbar.py
, but nonetheless requiresfoo.py
to function? - Does the answer change if
foo.py
does not ship withbar.py
and does not require its presence to function? libfoo.so
is a C shared library released under the GPLv3.bar.rb
is a Ruby library that uses Ruby/DL to call intolibfoo
(viadlopen()
and friends). Mustbar.rb
be released under the GPL?- Does the above answer change depending on whether
bar.rb
is distributed withlibfoo.so
? foo.js
is a JavaScript library released under the GPLv3.bar.js
is 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.js
under the GPL?foo.js
is a JavaScript library released under the GPLv3.Bar.app
is an application developed on the Mozilla platform using XUL. IfBar.app
includesfoo.js
(via a<script>
tag), must the source toBar.app
be released under the GPL?Foo.exe
is an application released under the GPLv3. Initech’s HR department modifiesFoo.exe
for 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.exe
with IniSys, does that trigger the GPL’s conveyance clause? - IniCom is a majority-owned subsidiary of Initech. If Initech shares
Foo.exe
with 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.exe
from 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.exe
to 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.exe
available 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.exe
from 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.exe
from a public web server. Does this trigger the GPL’s conveyance clause? - This publically-available download of
Foo.exe
requires 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?