Lecture 8: Who owns the code? And how can I use it?

Learning objectives:

By the end of this lecture, students should be able to:

  • Explain who owns the copyright of code they write in a give situation, and why

  • Choose an appropriate license for software (i.e., packages or analysis code)

  • Choose an appropriate license for your non-software materials

FULL DISCLOSURE - I AM NOT A LAWYER!

Why do I need a license?

  • As mentioned above, creative works (like software code) are automatically eligible for intellectual property (and thus copyright) protection

  • Reusing creative works without a license is dangerous, because the copyright holders could sue you for copyright infringement

  • Thus, if you publicly share your creative work (i.e., software code), you should let others know if and how they can reuse it

  • This is done via the inclusion of a LICENSE or LICENSE.txt file in the base directory of the repository that clearly states under which license the content is being made available

Why do I need a license? (cont’d)

  • Unless you include a license that specifies otherwise, nobody else can copy, distribute, or modify your work without being at risk of take-downs, shake-downs, or litigation.

  • Once the work has other contributors (each a copyright holder), “nobody” starts including you!

How do licenses work?

A license solves this problem by granting rights to others (the licensees) that they would otherwise not have. What rights are being granted under which conditions differs, often only slightly, from one license to another.

Note: licenses are legal documents and written by legal experts. Most of you do not have the legal expertise to write your own license, so DO NOT do this. Instead, choose an already written one that best suits your situation.

How to choose a license

In practice, a few licenses are by far the most popular, and choosealicense.com will help you find a common license that suits your needs. Important considerations include:

  • Whether you require people distributing derivative works to also require others to distribute their derivative works in the same way.

  • Whether the content you are licensing is source code, and if it is, whether you want to require that derivatives of your work to share the source code

How to choose a license (cont’d)

  • Choose a license that is in common use

  • this makes life easier for contributors and users, because they are more likely to already be familiar with the license and don’t have to wade through a bunch of jargon to decide if they’re ok with it

Choosing a software license

Let’s visit https://choosealicense.com/

Open source software is used in business

An Ethical License for Open Source Projects

But not all my creative Data Science work is code, how do I license it?

As you all know, code is only one part of what Data Scientists do. We also create visualizations, write reports, create and give presentations, write tutorials, et cetera.

The licenses we have explored so far do not really fit these kinds of work, is there something that does?

Yes! The Creative Commons licences were created for such works and they are now widely used in academia and the publishing industry.

Creative Commons licences

Source: “How to License Poster” by Creative Commons is licensed under CC BY 4.0

Explore some licenses:

  • Git, the source-code management tool

  • CPython, the standard implementation of the Python language

  • Jupyter, the project behind the web-based Python notebooks we’ll be using

  • EtherPad, a real-time collaborative editor

Attribution: