Standard Scripts – License (WG5)

From PhUSE Wiki
Jump to: navigation, search


Different software license options are available for the standard scripts. The most common is the GNU GPL, but there are others like the MIT. We need to discuss which license we want to use for our standard scripts, meaning programs, macros etc. in SAS, R, Java or whatever. All should be able to benefit from the collaboration including Authorities, Companies, CROs and Academia.
The following Wiki should be used for License discussions.

Contents

GNU GPL V3

The “General Public License” is the most common used license for open source projects.

The GPL is very restrictive when it comes to commercial usage and modifications. When we want to use standard programs, it is very likely that the programs need modifications, e.g. when we need to use company styles, specific dataset adaptions or even special footnotes. We also want CROs to be able to use the standard scripts when they should program outputs for companies and companies being able to use those when outputs are produced for authorities. Is this a kind of commercial use? Our collaboration could be different from the general open source projects, as the covered topics are business driven.

When a project is started under GNU GPL V3, it could cause major problems or might even be impossible to migrate to a different license which is more open.

Someone needs to investigate whether and how we can use this license.

MIT

The “MIT” is a very open license. It seems that everything can be done with the “software”. So there seems to be no restrictions.

This means that people could take up collaborative work and “sell” this which is of course not an intention for our initiative. But how high is the risk, when the companies known of the work and available free scripts through the community? And wouldn’t it be a risk for adapting e.g. macros without publishing it to “sell” it when it is likely that the community implements later on features differently, so the finally user friendliest version is done by the community anyway?

When a project is started under MIT, the project can easily be migrated to another license, but the status from the migration always stays MIT.

Also here someone should investigate the risks and chances of this license.

BSD - 3-clause license

The "BSD" license is very open, but contains a part, that the original copy right owners must always be mentioned. So this license can be used when people want their source to be used and be modifiable in an open source matter, but their names should be mentioned. This license provide the same advantages as the MIT, but additionally the original author will always be visible.
There are different version of the BSD License. The example below contains the 3-clause-license which seem the most appropriate.

Apply a license and disclaimer

To apply the license, a standard text (see external links for details) should be included in all scripts, e.g. programs and macros in the header). Furthermore links should / must be provided to the license details, e.g. the GNU GPL V3 webpage. Do not forget the disclaimer, as we do not guarantee that the scripts always work as expected. Even when we perform a validations, not all cases and situations can be checked, so there might be bugs or version dependencies (e.g. version 9.2 of an executing system might have a different behavior then a version 8).

Example for MIT

Copyright (c) <year> <copyright holders>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Example for BSD (3-clause license)

Copyright (c) <year>, <copyright holder>
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of the <organization> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.


THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Links

Nobody voted on this yet
 You need to enable JavaScript to vote
Personal tools
Namespaces

Variants
Actions
Navigation
Projects
PhUSE Wiki Help
Toolbox