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

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

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.

9fa66713006f997a5c658adabd2add25?s=128

Cesar Valiente

April 25, 2015
Tweet

Transcript

  1. What you can/can’t do with FLOSS (Free/Libre Open Source Software)

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

    @Wunderlist (@Microsoft) FLOSS & Android Google Developer Expert (GDE) +CesarValiente @CesarValiente
  3. 1. There is a “new” guy in the city…

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

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

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

    GPL
  7. Late 1990’s Gnome KDE Netscape Red Hat

  8. early 2000’s Desktops Public administrations Developers

  9. Now Business Strategic Everywhere

  10. 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.
  11. 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.
  12. So then… is Free Software the same than Open Source

    Software? “Open source is a development methodology; free software is a social movement“
  13. 2. Basic legal stuff

  14. 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 :-) ).
  15. 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.
  16. 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.
  17. 3. Licenses

  18. 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.”
  19. 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!!
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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”.
  26. FLOSS licenses main categories FLOSS licenses can be classified in

    two main categories: • Permissive licenses. • Copyleft licenses.
  27. 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.
  28. 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.
  29. Let’s play!

  30. What types of licenses give him more freedom? It depends.

    Which one gives more freedom to you? Sheldon is wondering about licenses and freedom…
  31. 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.
  32. 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.
  33. 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).
  34. 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.
  35. 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.
  36. … 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…
  37. 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.
  38. 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.
  39. 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.
  40. 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).
  41. ? +CesarValiente @CesarValiente

  42. 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
  43. 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).