Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What you can/can't do with FLOSS (Free/Libre O...

What you can/can't do with FLOSS (Free/Libre Open Source Software)

Currently, most of all developers in the world use open source software, but most of them, actually, don't know how to use it, which open source license they have to use if they work on a privative software, if they can merge two different projects that use different licenses, if they can make money creating open source software, etc.
So here I try to explain what you can and can not do with FLOSS.

Cesar Valiente

April 25, 2015
Tweet

More Decks by Cesar Valiente

Other Decks in Technology

Transcript

  1. Who is this guy? Image Placeholder César Valiente Android Engineer

    @Wunderlist (@Microsoft) FLOSS & Android Google Developer Expert (GDE) +CesarValiente @CesarValiente
  2. 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.
  3. 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.
  4. So then… is Free Software the same than Open Source

    Software? “Open source is a development methodology; free software is a social movement“
  5. 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 :-) ).
  6. 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.
  7. 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.
  8. 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.”
  9. 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!!
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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”.
  16. FLOSS licenses main categories FLOSS licenses can be classified in

    two main categories: • Permissive licenses. • Copyleft licenses.
  17. 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.
  18. 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.
  19. What types of licenses give him more freedom? It depends.

    Which one gives more freedom to you? Sheldon is wondering about licenses and freedom…
  20. 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.
  21. 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.
  22. 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).
  23. 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.
  24. 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.
  25. … 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…
  26. 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.
  27. 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.
  28. 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.
  29. 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).
  30. 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
  31. 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).