fg.workshop: Opensource licenses
-
Upload
fginformatik-universitaet-basel -
Category
Engineering
-
view
98 -
download
1
description
Transcript of fg.workshop: Opensource licenses
![Page 1: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/1.jpg)
October 3, 2013
Open Source Licenses
![Page 2: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/2.jpg)
Disclaimer
![Page 3: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/3.jpg)
✤ licenses deal with copyright (not patents)!✤ the creator of “a work” automatically has copyright!✤ without his permission, no one can!
✤ make a copy of that work!✤ sell it!✤ ...!
✤ licenses give such permissions to other people
What exactly do licenses do?
![Page 4: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/4.jpg)
Open Source Licenses
✤ permission to deal with the software under certain conditions!
✤ ... for everyone!
✤ giving different licenses to specific people is possible (dual licensing)
![Page 5: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/5.jpg)
Copyleft
software and “derivative works” must always be distributed under the same conditions
generally allows redistribution under other conditions(e.g. commercial)
Permissive
GPL + variants MIT, BSD, Apache
Two Categories:
![Page 6: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/6.jpg)
Copyleft Licenses
![Page 7: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/7.jpg)
GPL GNU General Public License
GPL tries to guarantee users the right touse, study, share and change software!
!
a.k.a. force it to remain open source!
!
Used by Free Software Foundation, GNU, and Linux
![Page 8: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/8.jpg)
✤ GPL software can basically be used for anything!
✤ No warranty of any kind!
✤ internally or privately used modifications are ok!
✤ if (modified) GPL software is distributed,it always has to be GPL licensed (i.e. open source)!
✤ this applies to anything that uses GPL code (even dynamically linked libraries)!
✤ => viral effect
GPL GNU General Public License
![Page 9: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/9.jpg)
!
!
✤ The copyright owner can chose to distribute his own GPL code in a different license!
✤ ...as long as everyone that ever submitted some code agrees!
✤ “Liberty or death” clause
GPL GNU General Public License
![Page 10: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/10.jpg)
GPLv3
✤ explicit patent grant!
✤ prevents “TiVoization”!
✤ addresses DRM: GPL software can never be regarded as copy protection
![Page 11: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/11.jpg)
GPL compatibility
✤ “can I integrate code licensed under X into GPL”!
✤ GPL requires that no additional restrictions can be placed!
✤ GPLv2 and v3 are not compatible (without specific clause)
![Page 12: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/12.jpg)
LGPL Lesser General Public License
✤ same as GPL, but with linking exception!
✤ used by glibc!
✤ it must be possible to replace the LGPL software => reverse engineering can not be prohibited (for debugging purposes)!
✤ problem for C++ libraries: inline functions and templates copy code before compilation
![Page 13: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/13.jpg)
AGPL Affero General Public License
✤ stronger than GPL!
✤ fixes the “application service provider loophole”!
✤ offering network services also requires source disclosure!
✤ e.g. Web CMS systems
![Page 14: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/14.jpg)
Eclipse Public License (EPL)
✤ used by eclipse and equinox!
✤ Weaker than GPL!
✤ EPL does not require “separate modules of software”to be EPL licensed!
✤ Alterations to original EPL software must be open source
![Page 15: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/15.jpg)
Permissive Licenses
![Page 16: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/16.jpg)
MIT License
✤ used by ruby on rails, jQuery, ...!
✤ do what you want, but!
✤ ...include my copyright notice and these conditions!
✤ ...don’t sue me (warranty disclaimer)!
✤ that’s it!
✤ does not even apply to derivative works
![Page 17: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/17.jpg)
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.
![Page 18: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/18.jpg)
BSD License
✤ 2-clause: essentially the same as MIT-License (mentions binary and source form separately)!
✤ 3-clause: you can not use the name of the original author to endorse derived products!
✤ 4-clause: historical, contains berkeley university specific clauses
![Page 19: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/19.jpg)
Apache License
✤ used by apache projects (SVN, ant, Hadoop, ...), Android, OpenOffice!
✤ relatively long (more conditions and exact formulations)!
✤ e.g. explicitly states that “contributions” become part of the software and thus fall under the Apache License!
✤ “derivative works” does not include linking!
✤ patent grant!
✤ if some one sues the project because of patents, he loses all rights granted by the Apache license
![Page 20: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/20.jpg)
Apache License (duties)
✤ license and copyright must be included (+ the NOTICE file)!
✤ modifications must be prominently stated!
✤ you may add license terms on redistribution!
✤ no trademark using
![Page 21: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/21.jpg)
license choosing for dummies
✤ GPL: project should always remain open source!
✤ LGPL (EPL) / AGPL: linking should be allowed / I want to prohibit network services!
✤ MIT / BSD:(almost) everything should be allowed; license as simple as possible!
✤ Apache: permissive, but more explicit regulations; patent grant should be included
![Page 22: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/22.jpg)
Applying a License
✤ put a copy of the license into [projectroot]/LICENSE!
✤ some licenses recommend inserting a short notice at the top of each source file
![Page 23: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/23.jpg)
Further reading
✤ O’Reilly Openbook: Understanding Open Source and Free Software Licensing!
✤ www.tldrlegal.com(sometimes too) short summaries of licenses; has a “license chooser”!
✤ choosealicense.com similar; started by github
![Page 24: fg.workshop: Opensource licenses](https://reader031.fdocuments.net/reader031/viewer/2022020115/54b6ca8f4a79599d1b8b45aa/html5/thumbnails/24.jpg)
Thank you