Slide 1

Slide 1 text

What you can/can’t do with FLOSS (Free/Libre Open Source Software) César Valiente

Slide 2

Slide 2 text

Who is this guy? Image Placeholder César Valiente Android Engineer @Wunderlist (@Microsoft) FLOSS & Android Google Developer Expert (GDE) +CesarValiente @CesarValiente

Slide 3

Slide 3 text

1. There is a “new” guy in the city…

Slide 4

Slide 4 text

Once upon a time… 1970’s Software was born libre

Slide 5

Slide 5 text

Late 1970’s early 1980’s Richard Stallman Free Software Definition Berkeley

Slide 6

Slide 6 text

Late 1980’s early 1990’s BSD GNU/Linux Linus Torvalds Linux GNU GPL

Slide 7

Slide 7 text

Late 1990’s Gnome KDE Netscape Red Hat

Slide 8

Slide 8 text

early 2000’s Desktops Public administrations Developers

Slide 9

Slide 9 text

Now Business Strategic Everywhere

Slide 10

Slide 10 text

Everything started with Free Software • Free Software guarantees: 1. Freedom to use. 2. Freedom to study and to adapt. 3. Freedom to redistribute. 4. Freedom to improve and release improvements. • Important consequence: to be able of modifying the source code, it must be available.

Slide 11

Slide 11 text

Three different ways to say (almost) the same • To avoid misinterpretations is common to use the term FLOSS (Spanish word “libre”, because free as a free beer is not the same as free as freedom). • Different models but same idea.

Slide 12

Slide 12 text

So then… is Free Software the same than Open Source Software? “Open source is a development methodology; free software is a social movement“

Slide 13

Slide 13 text

2. Basic legal stuff

Slide 14

Slide 14 text

Some terms Intellectual Property (IP) refers to creations of the human mind: • Industrial Property: inventions, patents, trademarks, industrial design and geographic indications of source. • Copyright (“Author’s rights”): literary and artistic works such as novels, poems, films, music, … and yes.. also software (because we are artists too :-) ).

Slide 15

Slide 15 text

Copyright Gives its owner an “exclusive right” to: ✓ To make and sell copies of the work (including electronic copies). ✓ To make derivative works. ✓ To publicly perform/display the work. ✓ To sell or assign these right to others.

Slide 16

Slide 16 text

Copyright (2) Copyright expires after: - Minimum: 50 years after death of a person. - In general (USA, Europe): 70 years post mortem. - When its term expires, a work goes into Public Domain.

Slide 17

Slide 17 text

3. Licenses

Slide 18

Slide 18 text

The importance of FLOSS licenses “I am not a lawyer (IANAL) and I never read licenses… why should I care about it?” • Licenses provide terms of use of work. • Licenses enable the opportunity to release a work as completely free. • FLOSS licenses are not just another license: they are a declaration of principles, a social contract. “Licenses (free or not) are based on every country’s copyright law.”

Slide 19

Slide 19 text

What does a FLOSS license do? FLOSS licenses follow the four Free Software freedoms, and give users these rights: 1. Use. 2. Copy. 3. Modification. 4. Redistribution. Every FLOSS license must guarantee the four freedoms. No matter the kind of work!!

Slide 20

Slide 20 text

FLOSS license types FLOSS licenses are divided in groups, there are licenses that are more permissive than others more strict. • Academic licenses. • Permissive licenses. • Partially closable licenses. • Reciprocal licenses. Less restrictive More restrictive

Slide 21

Slide 21 text

Academic licenses • The simplest licenses, very few restrictions. • Reserving only attribution. • Originally written for and popularised by universities. • Allowed use/merge with privative software. MIT license BSD license

Slide 22

Slide 22 text

Permissive licenses • Very similar to Academic licenses. • Include grant of patent, trademark of public recognition provisions. • As academic licenses, it’s allowed use/merge with privative software. Apache license

Slide 23

Slide 23 text

Partially closable licenses • Two simultaneous policies to the same code. • Allow proprietary coders to reuse unmodified code as a whole (permissive style). • If there are any changes to code, it must be redistributed with the same license (reciprocal style). • Also known as “weak copyleft”. MPL GNU LGPL

Slide 24

Slide 24 text

Reciprocal licenses • Code must allow others to freely and redistribute under the same reciprocal license. • Also know as “strong copyleft” (or copyleft). • Sometimes, “viral licenses” (viral effect). • It requieres each binary distribution also includes full source code. GNU GPL (v2 and v3) GNU AGPL

Slide 25

Slide 25 text

but… hey! What is copyleft? • The FSF considered insufficient to grant the four freedoms. • Copyleft makes sure that all users who receive a copy of the program, get also the original four freedoms. • Copyleft clause: “Distribution of any version of this program must use this same license”.

Slide 26

Slide 26 text

FLOSS licenses main categories FLOSS licenses can be classified in two main categories: • Permissive licenses. • Copyleft licenses.

Slide 27

Slide 27 text

License compatibility • Two licenses are compatible if code with two different licenses can be used together. • Compatibility is determined by comparing restrictions imposed by each one.

Slide 28

Slide 28 text

Dual licensing Distribute software under two different sets of terms and conditions. Motivations: - License compatibility (Perl, Mozilla/Firefox, MySQL). - Market segregation based on business models (MySQL Enterprise, etc.). - Allows the holder to offer customisations, early releases, generate other derivative works or grant rights to third parties to redistribute proprietary versions.

Slide 29

Slide 29 text

Let’s play!

Slide 30

Slide 30 text

What types of licenses give him more freedom? It depends. Which one gives more freedom to you? Sheldon is wondering about licenses and freedom…

Slide 31

Slide 31 text

Sheldon has an app “SheldonApp1”, which is closed source. And wants to include: OkHttp that is under Apache License v2. Can Sheldon release “SheldonApp1” as closed source? Yes, Apache license is a permissive license, it allows him to do that.

Slide 32

Slide 32 text

Sheldon has is app “SheldonApp1”, which is closed source. He has used the library OkHttp that is under Apache License v2. Can he release the app that includes the library and that’s all? No, Apache License v2 is a permissive license, and the attribution is mandatory in both source code and binary.

Slide 33

Slide 33 text

Sheldon has is app “SheldonApp1”, which is closed source. He wants to include: android-pdfview that is under GNU GPLv3. Can Sheldon release “SheldonApp1” as closed source? No, GNU GPL license are copyleft licenses. Is mandatory release his code under same terms (or compatibles).

Slide 34

Slide 34 text

Can Sheldon release his sdk as he wants (GNU GPL v3)? Yes, Apache License v2 can be included in GNU GPL v3 projects. Sheldon wants to create a sdk and release it under GNU GPL v3. He wants to include Dagger 2 that is under Apache License v2.

Slide 35

Slide 35 text

Can Sheldon release his library as he wants (Apache License v2)? No, GNU GPL v3 licensed software can not be included in non GNU GPL v3 licensed code unless is released under the same terms (Copyleft). Sheldon wants to create a library and release it under Apache License v2. He needs to include android-pdfview that is under GNU GPLv3.

Slide 36

Slide 36 text

… how is it possible? Linux kernel legal notice includes a clause that allows other programs use kernel services by normal system calls. This is not considered “derived work”. … ummm but now Sheldon is thinking,.. Android is released under Apache License v2 but it uses the Linux kernel which is under GNU GPL v2 terms…

Slide 37

Slide 37 text

Can Sheldon release its library as he wants (Apache License v2)? Yes, MIT is a permissive license as is Apache License v2. Both are compatibles between them. Sheldon wants to create “SheldonLib” and release it under Apache License v2. He wants to use rosie that is under MIT.

Slide 38

Slide 38 text

Sheldon is wondering, is it legal? Yes, is perfectly legal. Sheldon has released “SheldonApp2” under GNU GPL v3. Someone has copied and published it in the store with advertisements.

Slide 39

Slide 39 text

Sheldon is wondering again, is it legal? No, that’s not legal. Every software released under GNU GPL licenses has to be free always, including code publishing. … but the person who has released the copy hasn’t published the source code.

Slide 40

Slide 40 text

Sheldon is now jealous and wonders again, is it legal? Yes, FLOSS licenses don’t restrict you to make money, actually, that’s the cool thing of it. Sheldon has found on Internet that another copy of “SheldonApp2” is making tons of money with an attached external service. The app is released under the same terms (GNU GPL v3).

Slide 41

Slide 41 text

? +CesarValiente @CesarValiente

Slide 42

Slide 42 text

Images and references • Android (Google, Inc. CC-BY): http://goo.gl/B6uo7v • Basic legal stuff (CC0): https://goo.gl/k8h3kq • License plates (Magnus Manske CC-BY): http://goo.gl/URCnQz • Let’s play (2013, Azzah B.A. CC-BY): https://goo.gl/YWGE1D • Cyanide and Happiness (CC0): http://goo.gl/s9FCFK • Closed source: http://goo.gl/d6bR4u

Slide 43

Slide 43 text

License (cc) 2014-2016 César Valiente. Some rights reserved. This document is distributed under the Creative Commons Attribution-ShareAlike 3.0 license, available in http://creativecommons.org/licenses/by-sa/3.0/ All images used in this presentation belong to their owners. Based on the slides and content of M.Sc. on Libre Software (everything under CC-BY-SA and FLOSS licenses) which was imparted at Universidad Rey Juan Carlos (Madrid, Spain).