Twenty questions about the GPL
July 13, 2009
- foo.py is a Python library released under the GPLv3. bar.py is a library distributed commercially. If bar contains import foo, must bar.py be released under the GPL?
- Does the answer change if foo.py does not ship with bar.py, but nonetheless requires foo.py to function?
- Does the answer change if foo.py does not ship with bar.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 into libfoo (via dlopen() and friends). Must bar.rb be released under the GPL?
- Does the above answer change depending on whether bar.rb is distributed with libfoo.so?
- Foo.exe is an application released under the GPLv3. Initech’s HR department modifies Foo.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 download Foo.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?
- 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?