Week 3
Monday January 25
Topics:
- Copyright/Copyleft
- Version Control & Git
Readings (6):
Copyright Basics, from the United States Copyright Office
- What is Copyright? (pp. 1-2)
- Who Can Claim Copyright (p. 2)
- What Works Are Protected (p. 3)
- International Copyright Protection (p. 6)
Copyright is a legal protection given to the authors of original works, usually for a limited time. Copyright is specific to legal jurisdictions, so US copyright law differs from others. Reviewing the required sections of Copyright Basics, from the United States Copyright Office will help you to understand the basics of who enjoys protection, and what qualifies.
Copyright prevents others from making specific uses of a protected (copyrighted) work. A license specifies the terms under which non-copyright holders (that’s you!) can use such protected works. Thus, copyright law is the basis for nearly all software licensing. (Patents, another form of legal monopoly, can also be licensed – but we’ll save the software patent topic for later.)
Free Software, Free Society on GNU:
- Chapter 2 The GNU Project (pp. 7-23)
- Chapter 4 The GNU Manifesto – Some Easily Rebutted Objections to GNU’s Goals (pp. 31-36)
NOTE: You have the option to purchase the book or download a PDF copy. In our last lesson, you learned about Richard Stallman’s definition of Free Software and the user freedoms it protects. We’ll now learn the history and details of his GNU (a recursive acronym for “GNU’s not UNIX”) project, around which the Free Software movement began. Stallman holds that the proprietary software system, in disallowing sharing and modifications, is antisocial and unethical.
Free Software, Free Society on Copyleft:
Copyleft, as you read, uses copyright law to achieve the opposite of it’s usual purpose. Rather than creating an artificial monopoly, copyleft enforces universal availability. In Stallman’s words “Proprietary software developers use copyright to take away the users’ freedom; we use copyright to guarantee their freedom.” The GNU General Public License (GPL) is the specific copyleft implementation used for most GNU software. It prevents anyone from turning GPL-licensed code into proprietary software, ensuring the four freedoms of Free Software.
Free Software, Free Society: Introduction to the licenses (pp. 165-170) AND Why the Affero GPL
In chapter 27, we’re introduced to most of the FSF’s specific licenses and their rationales: GPL, LGPL, FDL, and the evolution of the latest versions of GPL and LGPL (version 3). The GPL is the most widely-used free software license in the world by most accounts. One other license, the Affero GPL, is described by this online article: Why the Affero GPL. This license is a simple modification that enforces GPL terms on software that is made for access over a network, ie web applications. Wikipedia’s list of AGPL web applications give us an idea of the extensive reach of this license. You might recognize a few high profile applications from the Educational Technology field such as the edX MOOC platform, the Instructure Canvas learning management system, and ownCloud file storage.
Producing Open Source Software Chapter 10, Licenses, Copyrights and Patents
- Read only the following headings (PDF pp. 157-169):
- Terminology
- Aspects of Licenses
- The GPL and License Compatibility
- Choosing a License
- Copyright Assignment and Ownership
- Dual Licensing Schemes
- Patents
In his chapter on Licenses, Copyrights, and Patents, Karl Fogel provides a concise summary of the important terminology and aspects of common F/OSS licenses. He also describes a common method of making money with F/OSS – the dual licensing arrangement. The Canvas LMS is a great example of dual licensing. Instructure makes the software available under the AGPL, but has the option to release the code under other (including proprietary) licenses as well. How can this be? See this feature comparison matrix which shows how Instructure is able to offer additional features with its hosted (“cloud” version) Canvas LMS, despite the AGPL license on the community (open-source) version. Pay attention in Fogel’s sections on Copyright Assignment and Dual Licensing – you can even look at Instructure’s Contributor License Agreement (CLA) to see an example of how an open-source project aggregates and tracks copyright on its code.
Git Basics Episide 1 (video, 5:58)
This video explains how Git, a form of version control, makes it simple to not only keep track of the history of a project (code or content) but also to do so when many people are working on the same project. Version control is nothing new for software projects, and Git isn't the first tool that's made version control possible. What is new, however, is that version control is being applied more often to collaborative content projects. My own blog is hosted on Github, which is a platform for users of Git, and includes the full history of any changes I've made to the site. If I were to add collaborators to my blog (guest blog posts!), Git would make it easy for me to see what's been changed (committed) by the collaborators, and to easily adapt their changes or roll them back if I think they need work first. Think of Git like the "track changes" tool in word processing software, but much more powerful.
Assignments:
Blog post #2
- Write a 3-5 paragraph post that explains licensing terms surrounding any one FOSS project of your choosing. Find out the following details, and explain your process locating the information:
- Copyright license(s) being used on code in the software project
- Copyright license(s) being used on content or documentation of the project
- The history of the project, including who/how/where the project was started, and the reasoning behind their choice of copyright licenses. You may have to dig for this information.
As an example, the software I used to create this course handbook is called Gitbook, and it's licensed with the Apache Version 2.0 license. The code repository lives on Github here , and the license statement is located here. I wasn't able to find a blog post or other rationale as to why they chose this license, but I did inquire about it here.
Additional Resources:
- Comparative Table of Free and Open-Source Licenses (Wikipedia)
- Quick comparator for Licenses
- A Legal Issues Primer for Open Source and Free Software Projects (webpage)
- Free Software, Free Society (PDF)
- The Initial Announcement of the GNU Operating System (pp. 25-26)
- Why Software Should be Free (pp. 43-56)
- In this essay, Stallman articulates his stance that software should not have owners – that in effect, copyright law creates negative consequences for society when applied to software. He carefully dismantles the assumptions and arguments commonly accepted about software, providing fascinating analogies that argue for alternate methods of financing software development.