I am preparing some source codes for a course that I intend to teach at Udemy, which will be paid for.

One of the codes I'm writing used a few lines from a Kaggle kernel, which is under the Apache 2.0 license.

What should I do, if necessary, about this piece of licensed code in my product? Should I enter any extra information about this use of a licensed piece of software? If so, how should this be done?

  • 2
    Why not ask the authors of that code if they are OK with you using it in your course? – Jesper Feb 22 at 10:09

You are writing code to be distributed as part of a set of teaching materials, and you have incorporated within it some third-party code licensed to you under Apache2.

The use of the third-party code makes your program a derivative work of the Apache2 code. Section 4 of the Apache2 licence says you may do this, and places the following conditions on such use:

a. You must give any other recipients of the Work or Derivative Works a copy of this License; and

b. You must cause any modified files to carry prominent notices stating that You changed the files; and

c. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

d. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file [...]

Conditions a, c, and d are self-evident, and b will be satisfied if you add your own copyright notice to the file(s) in question - which you should be adding to all the code you write anyway.

If you are unwilling or unable to honour those conditions, then you will need the permission of the original author.

You will also need to decide what licence to place on the derivative work. Life will be simplest if you choose Apache2, since you are distributing a copy of that licence anyway, but you are free to choose something like GPLv3 if you want to.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.