open source licenses
TRANSCRIPT
OverviewDeveloper’s Rights LicensesOpen Source software History & terminologyAcademic and Reciprocal Creative commons
Licenses and Open Source
Thanks to Adam Sampson for chunks of this material.
“It’s a nightmare!”
A comment by a colleague when he noticed me working up the lecture slides on open-source licensing.
Caveats
Most of this material is controversial...Several slightly different definitions of open
source/free software – e.g. Open Source Definition, Debian Free Software Guidelines, FSF Free Software Definition
Which license to choose is often a matter of opinion
IANAL; At some point you will need legal advice, but find a lawyer who knows.
Adam Sampson 4
What can you do with it?
If you receive a piece of Open Source software,you may be able to: Use it Make modifications and customisations Give or sell copies of it to other people Sell support services for it Incorporate it into other projects
… provided you follow the licensing terms
For example, you may be required to distribute source code with binaries
Adam Sampson 5
Free software and Open Source
Two names for the same concept, but with different motivations
Free software people argue that it's better for the rights of end-users if they can redistribute and customise their software – “help your neighbour”
Open source people argue that encouraging collaboration by developers makes good business sense – “don't duplicate work”
Both are [email protected] 6
Terminology
‘Open source’ ‘Proprietary licenses’ restrict people
freedom to do things with the software Commercial (can be open or proprietary) Free Libre Open Source Software
(FLOSS)
Rosen p 22
OverviewDeveloper’s Rights LicensesOpen Source software History & terminologyAcademic and Reciprocal Creative commons
Licenses and Open Source
If you develop software, you have rights
‘…To produce copies of the work and to sell those copies …
‘…To create derivative works … ‘…To sell or assign any of the rights granted by
copyright to others
– If you work with others, you share these rights– If you’re working for some body or under contract to
some body (or a student producing work for a programme), you might share these rights or they might have these rights
With regards these rights, a person who has authored some software Can transfer the rights (wholly or in part) Can licence the rights (wholly or in part) But can’t waive them
[Streicher 1]
OverviewDeveloper’s Rights LicensesOpen Source software History & terminologyAcademic and Reciprocal Creative commons
Licenses and Open Source
Licenses
‘A license is a permission to do something’ Drivers’ licenses – the state/government says
you can’t use a car without a license – you can lose the license for various reasons
If you own something you can grant someone else a right to use it.
In computing, licenses are the way that someone who owns copyright or patent grants use of that intellectual property
Rosen p 51
Public Domain
When something is in the public domain it is not anyone’s, and can be used by anyone for any purpose.
(Think Shakespeare, Milton, …when copyright expires, the book goes into the public domain). Images of paintings are owned by the galleries. Some films are in the public domain)
“Public domain”
You may see software saying “Released into the public domain”– i.e. the author wants it to be made available under the same terms as if the copyright period had expired
This is not a good idea – The UK (and many other jurisdictions) provides no legal mechanism for doing this, so it's meaningless
No warranty disclaimer – “Public domain” means “freeware” to many people
– Basically, do not do this!Adam Sampson 14
The alternatives
Free
Open-source
Creative commons
Various licenses that are alternatives to the license for profit model.
They don't do away with copyright … but 'subvert' | adjust | reorient copyright
OverviewDeveloper’s Rights LicensesOpen Source software History & terminologyAcademic and Reciprocal Creative commons
Licenses and Open Source
History
Late 1980s: Richard Stallman starts the GNU (Gnu's Not Unix) project out of frustration with proprietary Unix software; GNU released under GNU General Public License (GPL); aims to produce a free OS
Early 1990s: BSD project completes a free version of their Unix variant
Mid 1990s: Open Source systems start to enter wide use, partly driven by Internet boom
Late 1990s: the Open Source Definition, as more companies start to see Open Source as a useful approach (Netscape, et al.)
Adam Sampson 17
Notable examples
Linux: desktop and server use, wireless routers,mobile phones (Nokia/Android)...
GNU tools: GCC, binutils, coreutils... BSD Unix: desktop and server use, considerable
code reuse in MacOS X and Windows Network infrastructure: Apache, BIND, Exim... Formerly proprietary: Firefox, Quake, OpenOffice,
Java, Solaris, VirtualBox... Academic software: TeX, MPI...
Adam Sampson 18
What is open source?
'Open source … is a mode of production, a social movement, and a way of life all rolled into one. It is also, today, very big business, as companies such as IBM, Novell, and Sun, among many others have fostered the movement and build large-scale, important software applications on top of open source platforms.'
John Palfrey, Jr. 'Global Innovation and Licensing Opportunities on the Internet' in Goldscheider & Gordon, Licensing Best Practices 2006.
Lawrence Rosen Open Source Licensing
"As a user of open source software you may go forth and live free. None of the licenses in this book restricts in any way your use of open source software. But if you are more directly involved in the creation, modification, or distribution of software, or if you manage or advise the in-licensing of software into your company, you should at the very least consult your attorney to make sure you don’t commit to more than you’re willing to deliver. This book may help you ask your attorney the right questions."
Taxonomy
Academic licenses “allow software to be used for any purpose whatsoever.” For example, the BSD
Reciprocal licenses “require derivative works to [be distributed] under the same license” For example, the GPL.
Content licenses for example, Creative Commons
– (terminology and quotes Rosen p 69-71)
Academic licenses
BSD, ApacheMIT –
• 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.
Quoted in [Streicher 2]
Reciprocal licenses GPL (Gnu Public License), various versions
• 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 you -- 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.
• These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works.
• But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Quoted in [Streicher 2]
Free Software Foundation’s Definition of Free Software
Freedom to run the program, for any purpose
Freedom to study how the program works and adapt it to your needs
Freedom to distribute copies so you can help your neighbor
Freedom to improve the program and release your improvements to the public
Think of ‘free speech’ not ‘free beer’
‘Actually we [the GNU project] encourage people who redistribute free software to charge as much as they wish or can. If this seems surprising to you, please read on.
‘The word “free” has two legitimate general meanings; it can refer either to freedom or to price. When we speak of “free software”, we're talking about freedom, not price. (Think of “free speech”, not “free beer”.) Specifically, it means that a user is free to run the program, change the program, and redistribute the program with or without changes.
‘Free programs are sometimes distributed gratis, and sometimes for a substantial price. Often the same program is available in both ways from different places. The program is free regardless of the price, because users have freedom in using it.’
http://www.gnu.org/philosophy/selling.html
Open source supporters vs Free software activists
Linus Torvalds allows a good deal of corporate development and inclusion
Someone like Richard Stallman would not
http://fsfeurope.org/projects/gplv3/tokyo-rms-transcrip
Commercialisation
How does Open Source differ from “freeware”?
You can make money out of writing and usingOpen Source software
It's OK to:– Charge for writing new software– Charge for extending or customising existing
software– Charge for supporting existing software
Many proprietary applications make use of OpenSource libraries
Businesses and Open Source software Red Hat and Apache Sun Microsystems and IBM Novell and Microsoft
Commercial users
Cisco, Netgear, Linksys, Samsung...– Build embedded devices using existing Open Source software
Tivo (et al.) – PVRs using Linux internally Sony – Linux-based PS2/PS3
development
Tivoisation
TiVo uses Linux kernel and GPU software TiVoisation sets up the software so that
only they can update the software (you get the source code but using digital signatures on hardware chips, the software running on the machine is checked to be theirs and only theirs)
GPLv3
Allows Apache to come onboard Avoid (a measure of) tivoisation Deal with issues of forking
Open-source Litigation
SCO v IBM (and others) – a part of the kernel of UNIX.
Complex litigation SCO maintains that it has IP on parts of
the Linux kernels that IBM violated their IPR by licensing software under GPL that ended up in Linux. Now resolved
General guidelines
Do not, under any circumstances, attempt to write your own license– You will get it wrong
– Many examples of this out there...
Pick a widely-used license – BSD, Apache, GPL, LGPL– Preferably a license that has been tested in court
(many haven't – the BSD and GPLv2 have)
Read the license thoroughly yourself
Adam Sampson 33
Combining licenses
When combining software under multiple licenses (e.g. using a library in your project), make sure the licenses are compatible
Incompatible licenses have terms that conflict Example: the widely-used OpenSSL library is
under a license that is incompatible with the GPL
A program under the GPL that uses OpenSSL cannot be redistributed at all!
Adam Sampson 34
License exceptions
You can sometimes fix this by adding an exception to the more restrictive license– But get advice first – it's easy to get this
wrong– The GPLv3 is designed to make this easier...
* In addition, as a special exception, the copyright holders give
* permission to link the code of portions of this program with the
* OpenSSL library under certain conditions as described in each
* individual source file, and distribute linked combinations
* including the two. [...]
Adam Sampson 35
OverviewDeveloper’s Rights LicensesOpen Source software History & terminologyAcademic and Reciprocal Creative commons
Licenses and Open Source
Copyleft
If something is covered by a copyleft license,
You can use it You can modify or adapt it You can distribute it You can distribute
your modifications of itBUT ONLY IF your copies
and adaptations carry the same license.
Creative Commons
Share, reuse, remix – legally Slogans
– All rights reserved – Some rights reserved
Creative Commons licenses
Extend open source philosophy to things other than software: books, music, video, maps, games, data files ..
Can choose license terms from a predefined set (e.g. copyleft/non-copyleft, give credit/don't give credit, allow non-commercial use/don't, etc.)
Don't use them for software, thoughThey aren't designed for that, and the terms make it awkward to redistribute CC-licensed software
The terms / the symbols
Attribution Non-commercial No derivative works Share alike
http://wiki.creativecommons.org/Spectrumofrights_Comic1
Sidebar
Images you can use. There are available images that you can
use in presentations, etc. Some are in the public domain Others are authorised for use.
Using google images.
Creative Commons Licenses – England Wales
Attribution (by) Attribution Non-commercial (by-nc) Attribution-Non-commercial-No Derivative Works
(by-nc-nd) Attribution-Noncommercial-Share Alike (by-nc-
sa) Attribution-No Derivative Works (by-nd) Attribution-Share Alike (by-sa)
http://creativecommons.org/international/uk/
Why do people and businesses use these licenses? There are side effects
that benefit them Fame, honour
prestige Fun, interest,
challenge
There’s only so much money to be spent on IT systems. If less is spent on software, more can be spent on hardware (think IBM)
Servicing contracts …
Conclusions
Open Source works well for many projects– Better for users: free beer and free speech– Better for developers: don't waste time
duplicating code, more inspection leads to better-quality code
But it is possible for things to go wrong– Plan ahead and you'll be fine– If in doubt, ask someone who knows!
Adam Sampson 44
Resources Open Source Licensing: Software Freedom and Intellectual Property Law
(Paperback) by Lawrence Rosen (Author) Also available at http://www.rosenlaw.com/oslbook.htm
http://www.ibm.com/developerworks/opensource/library/os-license/ [Streicher 1]
http://www.ibm.com/developerworks/opensource/library/os-license2/ [Streicher 2]