The programming language R has its advantages, but you must be aware of the potential legal pitfalls. Therefore some key steps to avoid legal risks may be of benefit before using R.
3. Programming language “R” is distributed under
the GNU General Public License v2.
This is a copyleft license
4. TIP 1: UNDERSTAND THE “COPYLEFT” PRINCIPLE
GNU GPL is developed by the Free Software Foundation and intended to guarantee the freedom to
share and change free software BUT under the conditions of the license (= disclosing source code)
“Free” is referring to freedom not price.
Copyright <-> Copyleft <-> Public domain
Copyleft :
Ensures Copyright of the software
Offers the legal permission to copy/distribute/modify the software
section 2 b) of GNU GPL license states: ‘You may modify your copy or copies of the Program or any
portion of it, thus forming a work based on the Program, and copy and distribute such modifications
or work’ … provided that … ‘b) You must cause any work that you distribute or publish, that in whole
or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at
no charge to all third parties under the terms of this License.’
5. TIP 2: UNDERSTAND WHAT A “DERIVATIVE WORK”
MEANS UNDER GNU GPL
A closer look at the wording of GNU GPL 2b) shows that it includes both
‘derived from’ and ‘in whole or in part contains’
Conclusion: GNU GPL 2b) governs the distribution of derivative works as further
defined in copyright law.
6. LEGAL PRINCIPLE
“Derivative works” under copyright law is actually a strictly United States legal concept:
In the United States: a computer program must be substantially similar and in some
form include a portion of the copyrighted work.
<-> In European laws: any alteration of existing works creates a derivative work (article
2 of the Directive on the legal protection of computer programs).
7. IN PRACTICE
Different interpretations to analyse whether a creation is a “derivative work”
Source Code Interpretation
Component Based Interpretation
Communications Based Interpretation
8. EXCEPTION OF THE “VIRAL EFFECT” OF THE
COPYLEFT PRINCIPLE
“... Mere agregation of another work not based on the Program with the Program (or with
a work based on the Program) on a volume of a storage or distribution medium does not
bring the other work under the scope of this license (Article 2, last §)”.
“The act of running the Program is not restricted and the output from the Program is
covered only if its contents constitute a work based on the Program (independent of
having been made by running the Program). Wether that is true depends on what the
Program does (Article O §2)”.
9. RECOMMENDATIONS
Be aware that your creation needs to be sufficiently independent from and packaged
seperate from “R” itself, so that your creation is not considered a derivative work.
Make sure that the tool developed in R is run on another medium/server than your proprietary
tool (when used in combination with)
If only results are communicated (which do not contain R source code) then this falls outside the
scope of the GNU GPL license
10. TIP 3: NECESSARY CHECKS BEFORE USING R
Next to this technical requirements you also need to check:
Inside your company: Your company’s IT policy can prohibit to work internally
with open source software.
Outside your company: The use of open source software can be prohibited in
the agreement with your customer.
For derivative works: subject to GPU GNL terms and conditions which means
that your customers must agree to the license conditions and the source code
must be delivered
R = open source software.
The GNU GPL License is a so called copyleft license.
Copyleft is the opposite of copyright. The copyright protects the private intellectual property and the copyleft is based on the liberty of the users (subject to the terms and conditions of the license).
Meaning: whatever you develop with R or modify/adapt in R must be disclosed under the GPL GNU License (also the source code).
Open Source = not the same as public software
And is not proprietary software (which is protected by patents or copyright)
This means that, under a GNU GPL License an author gives every person who receives a copy of the work permission to reproduce, adapt, or distribute it, with the accompanying requirement that any resulting copies or adaptations are also bound by the same licensing agreement (and thus have to be disclosed in accordance with the terms and conditions of the Gnu GPL License.
It is a form of licensing offering people the right to freely distribute copies and modify versions of a work with the stipulation that the same rights be preserved in derivative works down the line.
Vague definition: no indication of the quantity or quality of the ‘contained’ code and its relationship to the combined work.
‘Contained’ is only another way to characterize derivative works.
This interpretation is also supported by section 0 of the GNU GPL.
In other words, what is meant by a derivative work is in the end defined by the interpretation of copyright law.
Section 0 of the license states: ‘The “Program”, below, refers to any such program or work, and a “work based on the Program” means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language.’
Source code interpretation:
no copyright on ideas, only to original expressions. An idea behind a work can not be copyrighted. So existing programs can be studied and analyzed for the basis of new original works and only the litteral copying of source or object code is restricted
In the US (dominant) Similarity of source code must be proven by first abstracting the structure and functions, then filtrating inessential parts and finally comparing the result.
Component Based Interpration:
Refers to the wording “identifiable sections” in the GNU GPL license
3 different situations: developer owned components, tailor made components, third party components
Communications Based Interpretation:
Suggested by Free Software Foundation based on more technical criteria and the mechanisms and semantics of communication between the components:
- Mechanism of communication and what kind of information are interchanged.
What are the risks:
Your open source development is embedded in a proprietary software: the whole application can be considered open source (European definition of “derivative works”)
Your open source development has output containing “R”.
It is clear that:
Independent developed software which would be stored together with a program developed in R “for mere convenience” is not subject to the copyleft of the GNU GPL license
But when 2 applications, one proprietary, one open source interact for technological purposes, then this exception is not guaranteed.
Our conclusion: If only results are communicated to the proprietary tool without any R source code, it falls outside the scope of the GNU GPL license.