I have a really hard time understanding how can I use copyrighted programming documentation, tutorials, articles, blogs, etc. presented as text or video, without infringing copyright?

I will explain what I found in my research and what troubles me.

I know that there are differences in each country legislation but in general the following principles apply:

  1. Every copyright-able material must have a physical form it must be recorded in some way.

  2. This work of authorship is by default "all rights reserved", so nobody can use it without explicit permission.

  3. Copyrighted materials can still be used without permission from author in certain conditions, for research, for criticism, for news reporting, etc. as long as this is used in small amount, non-commercial, and creates no conflict of interest. This is known as "fair use"

  4. Not all the copyrighted content is protected by the copyright law. For instance, I read here the following:

Copyright law expressly excludes copyright protection for “any idea, procedure, process, system, method of operation, concept, principle, or discovery, regardless of the form in which it is described, explained, illustrated, or embodied.”

Also, from here:

Copyright does not cover ideas and information themselves, only the form or manner in which they are expressed.

However, the copyright legislation is complex and cover a wider spectrum of intellectual property, but I am interested in this specific use case: programming documentation, etc.

I am doing some computer programming and therefore I am often searching the internet for tutorials or documentation. Many such resources (the majority) are "all rights reserved", some use "creative commons" or other documentation specific licenses (ex: GNU Free Documentation License), and even less use FSF or OSI licenses.

According to my understanding, there are 4 possible options to use copyrighted materials:

  1. fair use
  2. use ideas and information provided, without reproducing the shape in which they are presented
  3. use the "provided license" (if applicable)
  4. ask for permission (for "all rights reserved")


  • I can not apply option 1 (from above), "fair use", because my software may be used commercially, and for other reasons, and usually is not intended for private use (I may distribute it as open source using FSF / OSI licenses).
  • Also I do not want to use option 3 because sometimes the "provided license" for the tutorials or documentation is not applicable to software programs (ex: CC BY-SA 3.0 or GNU Free Documentation License), or is not compatible with the license I choose for my software.
  • Also option 4 is not convenient because it feels awkward and not practical. By reading the article or blog post, it is clear that the document is intended to help others and share knowledge or information, but it still uses "all rights reserved" for some reasons. Also, there are "free" books that are "all rights reserved". In programming, you almost always have to use some snippets of code from the book (and adapt it to the particular software context). One can not use such book like a novel, but more like a cook book.

All that remains is option 2. This looks quite applicable for programming documentation, because in most cases, this provides examples and explanations, intended to understand the mechanics of some frameworks, API s, etc, and basically provides "ideas and information". This option looks convenient to me, but, I am not sure, because there is a large dose of subjectivity (I may be wrong in my judgement).

However, let’s take the following specific examples:

  1. There are a lot of programming tutorials on YouTube. Most of them are using YouTube standard license which basically means "all rights reserved". For example: am I allowed to use Excel function VLOOKUP() as described in this video tutorial in my own spreadsheets ? If yes, why? What gives me the right ?

  2. There are a lot of programming tutorials on Wikibooks. Most of them are using CC BY-SA 3.0. Using such documentation it is impossible not to copy and adapt snippets of code, because it is about programming languages fundamentals (it’s trivial code). Can I use this documentation without having to license my software project CC BY-SA 3.0 (the problem is Share Alike). Can I use option 2 from above ?

  3. There are other sites for programming tutorials that are "all rights reserved", like for instance C++ Language or The Definitive Ruby Tutorial For Complete Beginners. How is this documentation supposed to be used ? Can I use option 2 from above ?

  4. There are also available free e-books but unfortunately they are "all rights reserved", like for instance Syncfusion Succinctly Series. Again, how are this books supposed to be used ?

  5. And last, but not least, there are tons of useful answers on Stack Overflow for programming but unfortunately most of the content is licensed CC BY-SA 3.0. Again, can I use option 2, or should I license my software project CC BY-SA 3.0 (which is not a good option for software projects).

There are many, many examples like this. There are tons of useful documentation out there, which apparently can not be used without risking copyright infringement. How others are using this documentation ? What is the normal practice ? How is this documentation supposed to be used ?

Can someone help me with this copyright problem?

  • 2
    I suspect that much of your confusion is due to the word "use". Copyright protects copying, not "use" as in a generic sense of use. I suggest you re-read what you've written in your question here. And each time you say you want to "use" someone's documentation, think carefully about whether that use is copying or not. If it isn't copying, then it does not relate to copyright or licenses. 99% of "uses" of documentation is just going to be referring to it. The only time you tend to copy documentation is if you actually copy and paste a section of that documentation into your product. – Brandin Jul 24 '20 at 7:24
  • See also this Q&A and maybe it answers part of your questions about documentation: Copying vs referencing – Brandin Jul 24 '20 at 7:28
  • @Brandin Thank you for your comments and for the provided link Copying vs referencing with your comments on a similar topic. – marianc Jul 24 '20 at 8:30

One point that you are missing is that "trivial" things do not create a copyright of their own; nobody gets a copyright on VLOOKUP() as a whole just by using it in a YouTube video.

The rest of your examples you're pretty much correct on - some of them you can use under CC-BY SA (which as you note is a problem for code) or you have to reimplement the functionality of the code from scratch, without referring to the code in the textbook or whatever. The Stack Overflow powers that be realised that this was a problem for Stack Overflow, so tried to relicense code snippets under the MIT license but this proposal was abandoned after feedback from the community.

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.