419 lines
		
	
	
	
		
			14 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			419 lines
		
	
	
	
		
			14 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| % Brief Introduction to the GNU General Public License
 | |
| % Bradley M. Kuhn
 | |
| % Monday 24 March 2014
 | |
| 
 | |
| 
 | |
| # Audience Polls
 | |
| 
 | |
| + My goal here is to move faster or slower based on audience knowledge.
 | |
| 
 | |
| + There are folks in this audience who have worked with this stuff for years,
 | |
|   and those who are completely new.
 | |
| 
 | |
| + We want these presentations to be valuable to all of you.
 | |
| 
 | |
| + Please, don't be embarrassed:
 | |
|      + Ever GPL expert in the world, including me, started as a student who
 | |
|        knew none of this.
 | |
| 
 | |
| # IANAL
 | |
| 
 | |
| <cite>IANAL</cite>
 | |
| 
 | |
| # My Affiliations
 | |
| 
 | |
| + Formerly had John's job, Executive Director of FSF, years ago.
 | |
| 
 | |
| + Currently: on Board of Directors of FSF.
 | |
| 
 | |
| + President of Software Freedom Conservancy.
 | |
| 
 | |
| # How These Orgs Relate to GPL?
 | |
| 
 | |
| + FSF
 | |
|     + Invented copyleft.
 | |
|     + Authors & stewards of the GPL.
 | |
|     + Holder of copyrights on many key GNU programs …
 | |
|     + … and therefore enforcers of those copyrights.
 | |
| 
 | |
| + Software Freedom Conservancy
 | |
|     + Adviser on legal issues of copyright, etc. to Free Software projects.
 | |
|     + Holder of some copyrights on its member projects.
 | |
|     + Enforcer of GPL on behalf of many copyright holders in:
 | |
|     + BusyBox, Samba, Mercurial, and the kernel named Linux.
 | |
| 
 | |
| # How this Hour Will Go?
 | |
| 
 | |
| + Materials presented will mix the simple & complex.
 | |
| 
 | |
| + We cannot possibly cover the entire GPL in one hour.
 | |
| 
 | |
| + Discuss: motivations, origins, then a few of GPL's sections.
 | |
| 
 | |
| + I understand the mix of backgrounds in the audience.
 | |
| 
 | |
| # A Restaurant's Lawyer?
 | |
| 
 | |
| + Considering why you want to learn this.
 | |
| 
 | |
| + What if your client was a restaurant?
 | |
| 
 | |
| + What would you want to need to know?
 | |
| 
 | |
| # Restaurant Lawyer: What'd You Study?
 | |
| 
 | |
| + If you were a restaurant's lawyer:
 | |
| 
 | |
| + Probably three areas of law you'd focus on:
 | |
|      + building codes.
 | |
|      + health and safety regulations.
 | |
|      + tax regulations.
 | |
| 
 | |
| + Who would want to hear from?
 | |
| 
 | |
| # Restaurant Lawyer: What'd You Study?
 | |
| 
 | |
| + Figure out the motivations behind the building code:
 | |
|       + What parts are arcane and less important to inspectors?
 | |
|       + How do inspections work?
 | |
|       + What are the penalties?
 | |
| 
 | |
| + Figure out the same for health & safety:
 | |
|       + Who inspects, and when?
 | |
|       + What's the health code say, and what checklist do inspectors use?
 | |
| 
 | |
| + Likely Questions:
 | |
|       + Who's in charge of all this?
 | |
|       + What's purpose and intent of these regulations?
 | |
|       + Can I meet the inspectors?
 | |
|       
 | |
| # Why Listen To Us?
 | |
| 
 | |
| + FSF: Understanding the purpose and intent of the GPL.
 | |
|     
 | |
| + Conservancy & FSF:
 | |
|     + both enforce the GPL.
 | |
|     + if your client violates, you will hear from one of us.
 | |
| 
 | |
| + Such access to drafters, interpreters, enforcers is highly unique.
 | |
| 
 | |
| + Someday, we may (or already have) sit across the table from you.
 | |
| 
 | |
| + Our transparency does make your job easier. 
 | |
| 
 | |
| # The Mindset of GPL
 | |
| 
 | |
| + GPL protects software freedom.
 | |
| 
 | |
| + Ultimate goal: make sure every user has the four freedoms.
 | |
|      + Freedom to run the software.
 | |
|      + Freedom to study and modify the software.
 | |
|      + Freedom to share the software.
 | |
|      + Freedom to distribute modified versions.
 | |
| 
 | |
| + Every clause in GPL was designed to uphold one of these freedoms.
 | |
|      + Or, it's a compromise of drafting in adoption vs. freedom debate.
 | |
| 
 | |
| # Using Copyright
 | |
| 
 | |
| + GPL is primarily a copyright license.
 | |
|       + Software is copyrighted.
 | |
|       + License grants key freedoms.
 | |
|       + Requirement prohibit activities that take away freedoms.
 | |
| 
 | |
| + General concept: copyleft.
 | |
| 
 | |
| + Specific implementation: GPL.
 | |
| 
 | |
| <hr/>
 | |
| 
 | |
| <span class="fitonslide">
 | |
| 
 | |
| > Copyright protection subsists … original works of authorship fixed in any tangible medium of expression …  from which they can be perceived, reproduced, or otherwise communicated, either directly or with the aid of a machine or device.
 | |
| 
 | |
| <p align=right>
 | |
|  — <a href="http://www.law.cornell.edu/uscode/text/17/102">17 USC §102</a>
 | |
| </p>
 | |
| </span>
 | |
| 
 | |
| # Conditional Permissions
 | |
| 
 | |
| + A copyleft license grants copyright permissions, conditionally.
 | |
| 
 | |
| + Think of the phrase: “provided that”
 | |
| 
 | |
| + “provided that”: appears (in some form) only
 | |
| 
 | |
| + 4 times in GPLv2
 | |
| 
 | |
| + 9 times in GPLv3.
 | |
| 
 | |
| # Compare To Proprietary Licenses
 | |
| 
 | |
| + Yes, the GPL has its requirements.
 | |
| 
 | |
| + But *none* of these activities are ever permitted under proprietary
 | |
|   licenses.
 | |
| 
 | |
| + If you don't like what the GPL requires you to do, then just tell your
 | |
|   client to use the proprietary software instead.
 | |
| 
 | |
| + That way, they know the answer to every question is “no&;rdquo;
 | |
| 
 | |
| + rather than: “yes, but only as long as you …”
 | |
| 
 | |
| # The Technical Gap
 | |
| 
 | |
| + Understanding GPL well requires a some software expertise & legal
 | |
|   expertise.
 | |
| 
 | |
| + You don't have to be a professional on either side to grok it.
 | |
|      + but you're best off if you're a professional in one & an amateur
 | |
|        in the other. 
 | |
| 
 | |
| + Most important technical concepts you need:
 | |
|      + source code, binaries, methods of distribution.
 | |
| 
 | |
| # Considering Sections of the GPL
 | |
| 
 | |
| + With the remaining time …
 | |
|      + in interest of the experts in the audience …
 | |
|      + let's dig into a few specific sections.
 | |
| 
 | |
| + GPL ♥ 17 USC§106(2) & 17 USC§106(3)
 | |
| 
 | |
| + Modification and distribution.
 | |
| 
 | |
| # Why Permission to Modify?
 | |
| 
 | |
| + Your new copyrights are your copyrights:
 | |
|      + you are affixing it in a tangible medium.
 | |
| 
 | |
| + Exclusive right of copyright holders:
 | |
|      + Control on “preparation of derivative works”
 | |
|      + Distribution of the work.
 | |
|      + Note the combination of these.
 | |
|      
 | |
| + Again, see 17 USC§106
 | |
| 
 | |
| + N.B.: “derivative works” is USA-centric, modify is more international)
 | |
| 
 | |
| # Modification As a Center Provision
 | |
| 
 | |
| + GPL's primary copyright hook is copyright controls on the right to modify.
 | |
| 
 | |
| + GPL's central tenant:
 | |
| 
 | |
| + You can make a modified version of various types privately as much as you'd like.
 | |
| 
 | |
| + When you distribute that modified version, you have requirements to meet.
 | |
| 
 | |
| + Technological considerations dictate necessity of more complex rules for
 | |
| certain types of modifications.
 | |
| 
 | |
| # GPLv2 § 2(a-b)
 | |
| 
 | |
| <span class="fitonslide">
 | |
| <p>[GPLv2§]2. You may modify your copy or copies of the Program or any
 | |
| portion of it, thus forming a work based on the Program, and copy and
 | |
| distribute such modifications or work under the terms of Section 1 above,
 | |
| provided that you also meet all of these conditions:
 | |
| <br/>
 | |
| <br/>
 | |
| a) You must cause the modified files to carry prominent notices stating
 | |
| that you changed the files and the date of any change.
 | |
| <br/>
 | |
| <br/>
 | |
| b) You must cause any work that you distribute or publish, that in
 | |
| whole or in part contains or is derived from the Program or any
 | |
| part thereof, to be licensed as a whole at no charge to all third
 | |
| parties under the terms of this License.
 | |
| </p>
 | |
| </span>
 | |
| 
 | |
| # GPLv3§5(a-c)
 | |
| 
 | |
| <span class="fitonslide">
 | |
| <p>
 | |
| You may convey a work based on the Program, or the modifications to
 | |
| produce it from the Program, in the form of source code under the
 | |
| terms of section 4, provided that you also meet all of these conditions:
 | |
| <br/>
 | |
| <br/>
 | |
| a) The work must carry prominent notices stating that you modified it, and
 | |
| giving a relevant date.
 | |
| <br/>
 | |
| <br/>
 | |
| b) The work must carry prominent notices stating that it is released under
 | |
| this License and any conditions added under section 7.  This requirement
 | |
| modifies the requirement in section 4 to "keep intact all notices".
 | |
| <br/>
 | |
| <br/>
 | |
| c) You must license the entire work, as a whole, under this License to anyone
 | |
| who comes into possession of a copy.  This License will therefore apply,
 | |
| along with any applicable section 7 additional terms, to the whole of the
 | |
| work, and all its parts, regardless of how they are packaged.  This License
 | |
| gives no permission to license the work in any other way, but it does not
 | |
| invalidate such permission if you have separately received it.
 | |
| </p>
 | |
| </span>
 | |
| 
 | |
| # GPLv2§2¶ ante-penultimate & penultimate
 | |
| 
 | |
| <span class="fitonslide">
 | |
| <p>
 | |
| These requirements apply to the modified work as a whole.  If
 | |
| identifiable sections of that work are not derived from the Program,
 | |
| and can be reasonably considered independent and separate works in
 | |
| themselves, then this License, and its terms, do not apply to those
 | |
| sections when you distribute them as separate works.  But when you
 | |
| distribute the same sections as part of a whole which is a work based
 | |
| on the Program, the distribution of the whole must be on the terms of
 | |
| this License, whose permissions for other licensees extend to the
 | |
| entire whole, and thus to each and every part regardless of who wrote it.
 | |
| <br/>
 | |
| <br/>
 | |
| Thus, it is not the intent of this section to claim rights or contest
 | |
| your rights to work written entirely by you; rather, the intent is to
 | |
| exercise the right to control the distribution of derivative or
 | |
| collective works based on the Program.
 | |
| </p>
 | |
| 
 | |
| </span>
 | |
| 
 | |
| # GPLv3 §0 ¶1-5
 | |
| <span class="fitonslide">
 | |
| <p>
 | |
|   "Copyright" also means copyright-like laws that apply to other kinds of
 | |
| works, such as semiconductor masks.
 | |
| <br/>
 | |
| <br/>
 | |
|   "The Program" refers to any copyrightable work licensed under this
 | |
| License.  Each licensee is addressed as "you".  "Licensees" and
 | |
| "recipients" may be individuals or organizations.
 | |
| <br/>
 | |
| <br/>
 | |
| To "modify" a work means to copy from or adapt all or part of the work
 | |
| in a fashion requiring copyright permission, other than the making of an
 | |
| exact copy.  The resulting work is called a "modified version" of the
 | |
| earlier work or a work "based on" the earlier work.
 | |
| <br/>
 | |
| <br/>
 | |
|   A "covered work" means either the unmodified Program or a work based
 | |
| on the Program.
 | |
| </p>
 | |
| 
 | |
| # Binaries (i.e., Object Code) are Modifications
 | |
| 
 | |
| + Software that the computer understands is different than software humans
 | |
|   read.
 | |
| 
 | |
| + There is often a process required to modify (and/or translate) the software
 | |
|   from human-readable
 | |
|       + This process can be done ahead of time.
 | |
| 
 | |
| + Separation of source and binary was the first way proprietary software
 | |
|   companies discovered to subjugate users.
 | |
|       + GPL uses the fact that binaries are modifications (which are often
 | |
|         distribution) to prevent that subjugation.
 | |
| 
 | |
| # GPLv2 § 3(a-b)
 | |
| 
 | |
| <span class="fitonslide">
 | |
| <p>
 | |
| <p>[GPLv2§]3. You may copy and distribute the Program (or a work based on it,
 | |
| under Section 2) in object code or executable form under the terms of
 | |
| Sections 1 and 2 above provided that you also do one of the following:
 | |
| <br/>
 | |
| <br/>
 | |
| a) Accompany it with the complete corresponding machine-readable
 | |
| source code, which must be distributed under the terms of Sections
 | |
| 1 and 2 above on a medium customarily used for software interchange; or,
 | |
| <br/>
 | |
| <br/>
 | |
| b) Accompany it with a written offer, valid for at least three
 | |
| years, to give any third party, for a charge no more than your
 | |
| cost of physically performing source distribution, a complete
 | |
| machine-readable copy of the corresponding source code, to be
 | |
| distributed under the terms of Sections 1 and 2 above on a medium
 | |
| customarily used for software interchange;
 | |
| </p>
 | |
| </span>
 | |
| 
 | |
| # GPLv3 § 6(a-b)
 | |
| 
 | |
| <span class="fitonslide">
 | |
| <p>
 | |
| [GPLv3 § ] 6. Conveying Non-Source Forms.
 | |
| <br/>
 | |
| <br/>
 | |
| You may convey a covered work in object code form under the terms
 | |
| of sections 4 and 5, provided that you also convey the
 | |
| machine-readable Corresponding Source under the terms of this License,
 | |
| in one of these ways:
 | |
| <br/>
 | |
| <br/>
 | |
| a) Convey the object code in, or embodied in, a physical product
 | |
| (including a physical distribution medium), accompanied by the
 | |
| Corresponding Source fixed on a durable physical medium
 | |
| customarily used for software interchange.
 | |
| <br/>
 | |
| <br/>
 | |
| b) Convey the object code in, or embodied in, a physical product
 | |
| (including a physical distribution medium), accompanied by a
 | |
| written offer, valid for at least three years and valid for as
 | |
| long as you offer spare parts or customer support for that product
 | |
| model, to give anyone who possesses the object code either (1) a
 | |
| copy of the Corresponding Source for all the software in the
 | |
| product that is covered by this License, on a durable physical
 | |
| medium customarily used for software interchange, for a price no
 | |
| more than your reasonable cost of physically performing this
 | |
| conveying of source, or (2) access to copy the
 | |
| Corresponding Source from a network server at no charge.
 | |
| </p>
 | |
| </span>
 | |
| 
 | |
| 
 | |
| # GPLv3 § 1 ¶ 1, 4-6
 | |
| 
 | |
| <span class="fitonslide">
 | |
| <p>
 | |
| The "source code" for a work means the preferred form of the work
 | |
| for making modifications to it.  "Object code" means any non-source
 | |
| form of a work.
 | |
| <br/>
 | |
| <br/>
 | |
| The "Corresponding Source" for a work in object code form means all the
 | |
| source code needed to generate, install, and (for an executable work) run the
 | |
| object code and to modify the work, including scripts to control those
 | |
| activities.  However, it does not include the work's System Libraries, or
 | |
| general-purpose tools or generally available free programs which are used
 | |
| unmodified in performing those activities but which are not part of the work.
 | |
| For example, Corresponding Source includes interface definition files
 | |
| associated with source files for the work, and the source code for shared
 | |
| libraries and dynamically linked subprograms that the work is specifically
 | |
| designed to require, such as by intimate data communication or control flow
 | |
| between those subprograms and other parts of the work.
 | |
| <br/>
 | |
| <br/>
 | |
| The Corresponding Source need not include anything that users
 | |
| can regenerate automatically from other parts of the Corresponding
 | |
| Source.
 | |
| <br/>
 | |
| <br/>
 | |
| The Corresponding Source for a work in source code form is that
 | |
| same work.
 | |
| </p>
 | |
| </span>
 | |
| 
 | |
| 
 | |
| # The GPL is a Complex Topic
 | |
| 
 | |
| + An in-depth seminar on GPL's provisions is a one-day course …
 | |
|      + … but the written materials discuss every section in depth.
 | |
| 
 | |
| + Keep in mind: every requirement has a carefully considered purpose to
 | |
|   uphold freedom of users.
 | |
| 
 | |
| + Software freedom licenses have a moral perspective.
 | |
|       + This is probably the most difficult thing for lawyers to understand.
 | 
