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:
Every copyright-able material must have a physical form it must be recorded in some way.
This work of authorship is by default "all rights reserved", so nobody can use it without explicit permission.
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"
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:
- fair use
- use ideas and information provided, without reproducing the shape in which they are presented
- use the "provided license" (if applicable)
- 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:
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 ?
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 ?
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 ?
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 ?
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?