SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Free Software/Open Source
Licensing and Packaging

http://triplecheck.de

http://ubucon.de

A presentation by Nuno Brito
Clarification
When referring to Free Software, I mean software specifically
under the licensing terms created by the Free Software
Foundation such as GPL
When referring Open Source, I am referring to any software
where the source code is generically available to the public
despite its licensing conditions.
The term “Open Source” might include code licensed as Free
Software but can also refer to code under any other licensing
terms and conditions.

Slide #2
Introduction
If you look with some detail to the libraries of new software
released on the market nowadays, around 90% of its libraries will
likely be licensed under free and/or open source.
These are good news. It means that people around the globe are
collaborating together. This cooperative work is reusable by others
in mass scale and will be available for the benefit of future
generations.
TripleCheck works to make this future possible.

Slide #3
Problems

http://www.gnu.org/licenses/license-list.html

42% of these 77% projects contain applicable license
terms that were not reported (http://zd.net/13Qrb5A)
Slide #4
Challenge

1.

What licenses are applicable and compatible?

2.

Who decides them?

3.

How can these license terms be followed correctly?
(compliance)

Slide #5
Provenance?
Software “provenance” is the act of reporting the origin and
applicable licensing terms for a software artifact
Provenance is needed to answer:
“which licenses are applicable?”
Easier task when software developers document which code
snippets or libraries from other people were used in their work

To read more details: http://en.wikipedia.org/wiki/Provenance#Computers_and_law

Slide #6
IPR holder?
When you write software, you become the IPR (Intellectual Property
Rights) holder
IPR holders are (typically) entitled to choose the license terms
applicable to their work
Exceptions to a free choice of license can apply:
• signing an contract where you waive this right (contributor
agreements)
• third-party software restricting the choice of licenses (for e.g.
GPL)
Slide #7
Compatible?
Some open source licenses are not compatible between themselves.
For example, writing software under GPL version 2 restricts using code
under Apache version 2
Where to find information about compatibility?
http://www.tldrlegal.com/
http://choosealicense.com/
When in doubt, you're also welcome to ask us! :-)

Slide #8
Compliance
Knowing what you are using and documenting the items is already a
good step. Proper software packaging is an even better step to help
developers use your work and preserve your author rights
Extra attention to Free Software licensing. Requirements include the
need to document the build environment and make available the full
source code, including config files
Standards such as SPDX help to exchange information about which
licenses are applicable to which files, more info at http://spdx.org

Slide #9
SPDX
Development at the Linux
Foundation since 2010
Possible formats
• RDF/XML
• Tag/Value
Official tools and info at
http://spdx.org
Online tool at
http://spdx.windriver.com

Slide #10
Investigate
Google
• Helps to find source code files. Pick on comments that are not
common and use “” between the search terms to find exact
matches. For e.g. “@author Nuno”
• Strangely obvious, “abc license” might help :-)
Archive.org
• When a site is offline or changes, http://archive.org is a good
resource to find the old pages
Tools
• A good text editor like Notepad++ or Gedit
• Professional tools like Palamida for deep analysis of code against
a database
Slide #11
Investigate
Authors
• When in doubt, might help to contact directly the authors to clarify
the licensing details
Logs, logs, logs..
• Don't forget to write down the steps of your investigation and how
the conclusions were reached
• Keep it simple, a plain text file helps
Justification
• List the COTS used in your software
• Extra points if you explain how they are used within your software
and mention their applicable licenses

Slide #12
Packaging
Header of source code files
• Applicable license
• Date of creation and author details
Compressed files
• Include version number on zipped file name
• Be consistent on version releases
• Extra points if you keep available the old versions
Long term storage
• Use durable storage services. For e.g. Sourceforge
• Providers such as GitHub can delete your account or projects
when inactive for some years.

Slide #13
Distribution
Web site
• Detail applicable licenses, preferable on separate page available
from the home page
• If licensing is fuzzy, add a FAQ detailing what is understood as
permitted (or not)
• Extra points for short URL like http://abc.net/license
Releases
• Include version number on zipped file name
• Be consistent on each version
• Extra points if you keep available the old versions
Need help with this part?
• We volunteer to give feedback on your distribution
Slide #14
Questions?

Images from http://xkcd.com/225/ and
http://blog.xkcd.com/2007/04/19/life-imitatesxkcd-part-ii-richard-stallman/

Hey, you find more things to read at http://triplecheck.de :-)

Slide #15

Weitere ähnliche Inhalte

Ähnlich wie Ubucon 2013, licensing and packaging OSS

Software Licensing.pptx
Software Licensing.pptxSoftware Licensing.pptx
Software Licensing.pptxAaliyanShaikh
 
Introduction To Open Source Licenses
Introduction To Open Source LicensesIntroduction To Open Source Licenses
Introduction To Open Source LicensesHarley Pascua
 
GDSC - Software Licensing.pdf
GDSC - Software Licensing.pdfGDSC - Software Licensing.pdf
GDSC - Software Licensing.pdfAaliyanShaikh
 
Best practices for DuraMat software dissemination
Best practices for DuraMat software disseminationBest practices for DuraMat software dissemination
Best practices for DuraMat software disseminationAnubhav Jain
 
Open Source ETL
Open Source ETLOpen Source ETL
Open Source ETLDavid Morris
 
Open Source Presentation To Portal Partners2
Open Source Presentation To Portal Partners2Open Source Presentation To Portal Partners2
Open Source Presentation To Portal Partners2Viet NguyenHoang
 
WP_Open-Source_Best_pratice_web
WP_Open-Source_Best_pratice_webWP_Open-Source_Best_pratice_web
WP_Open-Source_Best_pratice_webPaul Plaquette
 
Open Source in the Enterprise: Compliance and Risk Management
Open Source in the Enterprise: Compliance and Risk ManagementOpen Source in the Enterprise: Compliance and Risk Management
Open Source in the Enterprise: Compliance and Risk ManagementSebastiano Cobianco
 
Managing Open Source Software Supply Chains
Managing Open Source Software Supply ChainsManaging Open Source Software Supply Chains
Managing Open Source Software Supply ChainsnexB Inc.
 
An Open Source Workshop
An Open Source WorkshopAn Open Source Workshop
An Open Source Workshophalehmahbod
 
Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)dmgerman
 
GNU GPL, LGPL, Apache licence Types and Differences
GNU GPL, LGPL, Apache licence Types and DifferencesGNU GPL, LGPL, Apache licence Types and Differences
GNU GPL, LGPL, Apache licence Types and DifferencesIresha Rubasinghe
 
SFScon21 - Max Mehl - REUSE - Gold standard for Free Software licensing
SFScon21 - Max Mehl - REUSE - Gold standard for Free Software licensingSFScon21 - Max Mehl - REUSE - Gold standard for Free Software licensing
SFScon21 - Max Mehl - REUSE - Gold standard for Free Software licensingSouth Tyrol Free Software Conference
 
10 things to know about the intersection of blockchain technology, open sourc...
10 things to know about the intersection of blockchain technology, open sourc...10 things to know about the intersection of blockchain technology, open sourc...
10 things to know about the intersection of blockchain technology, open sourc...Kyiv National Economic University
 
Open source software vs proprietary software
Open source software vs proprietary softwareOpen source software vs proprietary software
Open source software vs proprietary softwareLavan1997
 
Open Development
Open DevelopmentOpen Development
Open DevelopmentJody Garnett
 
Open Source Software Concepts
Open Source Software ConceptsOpen Source Software Concepts
Open Source Software ConceptsJITENDRA LENKA
 
Open source business models
Open source business modelsOpen source business models
Open source business modelsMike Kennewick
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...Niklas Heidloff
 
Introduction to Open Source License and Business Model
Introduction to Open Source License and Business ModelIntroduction to Open Source License and Business Model
Introduction to Open Source License and Business ModelMohd Izhar Firdaus Ismail
 

Ähnlich wie Ubucon 2013, licensing and packaging OSS (20)

Software Licensing.pptx
Software Licensing.pptxSoftware Licensing.pptx
Software Licensing.pptx
 
Introduction To Open Source Licenses
Introduction To Open Source LicensesIntroduction To Open Source Licenses
Introduction To Open Source Licenses
 
GDSC - Software Licensing.pdf
GDSC - Software Licensing.pdfGDSC - Software Licensing.pdf
GDSC - Software Licensing.pdf
 
Best practices for DuraMat software dissemination
Best practices for DuraMat software disseminationBest practices for DuraMat software dissemination
Best practices for DuraMat software dissemination
 
Open Source ETL
Open Source ETLOpen Source ETL
Open Source ETL
 
Open Source Presentation To Portal Partners2
Open Source Presentation To Portal Partners2Open Source Presentation To Portal Partners2
Open Source Presentation To Portal Partners2
 
WP_Open-Source_Best_pratice_web
WP_Open-Source_Best_pratice_webWP_Open-Source_Best_pratice_web
WP_Open-Source_Best_pratice_web
 
Open Source in the Enterprise: Compliance and Risk Management
Open Source in the Enterprise: Compliance and Risk ManagementOpen Source in the Enterprise: Compliance and Risk Management
Open Source in the Enterprise: Compliance and Risk Management
 
Managing Open Source Software Supply Chains
Managing Open Source Software Supply ChainsManaging Open Source Software Supply Chains
Managing Open Source Software Supply Chains
 
An Open Source Workshop
An Open Source WorkshopAn Open Source Workshop
An Open Source Workshop
 
Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)
 
GNU GPL, LGPL, Apache licence Types and Differences
GNU GPL, LGPL, Apache licence Types and DifferencesGNU GPL, LGPL, Apache licence Types and Differences
GNU GPL, LGPL, Apache licence Types and Differences
 
SFScon21 - Max Mehl - REUSE - Gold standard for Free Software licensing
SFScon21 - Max Mehl - REUSE - Gold standard for Free Software licensingSFScon21 - Max Mehl - REUSE - Gold standard for Free Software licensing
SFScon21 - Max Mehl - REUSE - Gold standard for Free Software licensing
 
10 things to know about the intersection of blockchain technology, open sourc...
10 things to know about the intersection of blockchain technology, open sourc...10 things to know about the intersection of blockchain technology, open sourc...
10 things to know about the intersection of blockchain technology, open sourc...
 
Open source software vs proprietary software
Open source software vs proprietary softwareOpen source software vs proprietary software
Open source software vs proprietary software
 
Open Development
Open DevelopmentOpen Development
Open Development
 
Open Source Software Concepts
Open Source Software ConceptsOpen Source Software Concepts
Open Source Software Concepts
 
Open source business models
Open source business modelsOpen source business models
Open source business models
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
 
Introduction to Open Source License and Business Model
Introduction to Open Source License and Business ModelIntroduction to Open Source License and Business Model
Introduction to Open Source License and Business Model
 

Mehr von Nuno Brito

Triplechecheck induction-presentation-sample
Triplechecheck induction-presentation-sampleTriplechecheck induction-presentation-sample
Triplechecheck induction-presentation-sampleNuno Brito
 
2014 10-14: GitHub plus FOSS == 1 million SPDX
2014 10-14: GitHub plus FOSS == 1 million SPDX2014 10-14: GitHub plus FOSS == 1 million SPDX
2014 10-14: GitHub plus FOSS == 1 million SPDXNuno Brito
 
Stop look and listen before you talk
Stop look and listen before you talkStop look and listen before you talk
Stop look and listen before you talkNuno Brito
 
Lifes Good In Portugal
Lifes Good In PortugalLifes Good In Portugal
Lifes Good In PortugalNuno Brito
 
Managing business relationships
Managing business relationshipsManaging business relationships
Managing business relationshipsNuno Brito
 
Explaining the WinBuilder framework
Explaining the WinBuilder frameworkExplaining the WinBuilder framework
Explaining the WinBuilder frameworkNuno Brito
 
White paper - Adhoc 2.0
White paper - Adhoc 2.0White paper - Adhoc 2.0
White paper - Adhoc 2.0Nuno Brito
 

Mehr von Nuno Brito (7)

Triplechecheck induction-presentation-sample
Triplechecheck induction-presentation-sampleTriplechecheck induction-presentation-sample
Triplechecheck induction-presentation-sample
 
2014 10-14: GitHub plus FOSS == 1 million SPDX
2014 10-14: GitHub plus FOSS == 1 million SPDX2014 10-14: GitHub plus FOSS == 1 million SPDX
2014 10-14: GitHub plus FOSS == 1 million SPDX
 
Stop look and listen before you talk
Stop look and listen before you talkStop look and listen before you talk
Stop look and listen before you talk
 
Lifes Good In Portugal
Lifes Good In PortugalLifes Good In Portugal
Lifes Good In Portugal
 
Managing business relationships
Managing business relationshipsManaging business relationships
Managing business relationships
 
Explaining the WinBuilder framework
Explaining the WinBuilder frameworkExplaining the WinBuilder framework
Explaining the WinBuilder framework
 
White paper - Adhoc 2.0
White paper - Adhoc 2.0White paper - Adhoc 2.0
White paper - Adhoc 2.0
 

KĂźrzlich hochgeladen

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĂşjo
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 

KĂźrzlich hochgeladen (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 

Ubucon 2013, licensing and packaging OSS

  • 1. Free Software/Open Source Licensing and Packaging http://triplecheck.de http://ubucon.de A presentation by Nuno Brito
  • 2. Clarification When referring to Free Software, I mean software specifically under the licensing terms created by the Free Software Foundation such as GPL When referring Open Source, I am referring to any software where the source code is generically available to the public despite its licensing conditions. The term “Open Source” might include code licensed as Free Software but can also refer to code under any other licensing terms and conditions. Slide #2
  • 3. Introduction If you look with some detail to the libraries of new software released on the market nowadays, around 90% of its libraries will likely be licensed under free and/or open source. These are good news. It means that people around the globe are collaborating together. This cooperative work is reusable by others in mass scale and will be available for the benefit of future generations. TripleCheck works to make this future possible. Slide #3
  • 4. Problems http://www.gnu.org/licenses/license-list.html 42% of these 77% projects contain applicable license terms that were not reported (http://zd.net/13Qrb5A) Slide #4
  • 5. Challenge 1. What licenses are applicable and compatible? 2. Who decides them? 3. How can these license terms be followed correctly? (compliance) Slide #5
  • 6. Provenance? Software “provenance” is the act of reporting the origin and applicable licensing terms for a software artifact Provenance is needed to answer: “which licenses are applicable?” Easier task when software developers document which code snippets or libraries from other people were used in their work To read more details: http://en.wikipedia.org/wiki/Provenance#Computers_and_law Slide #6
  • 7. IPR holder? When you write software, you become the IPR (Intellectual Property Rights) holder IPR holders are (typically) entitled to choose the license terms applicable to their work Exceptions to a free choice of license can apply: • signing an contract where you waive this right (contributor agreements) • third-party software restricting the choice of licenses (for e.g. GPL) Slide #7
  • 8. Compatible? Some open source licenses are not compatible between themselves. For example, writing software under GPL version 2 restricts using code under Apache version 2 Where to find information about compatibility? http://www.tldrlegal.com/ http://choosealicense.com/ When in doubt, you're also welcome to ask us! :-) Slide #8
  • 9. Compliance Knowing what you are using and documenting the items is already a good step. Proper software packaging is an even better step to help developers use your work and preserve your author rights Extra attention to Free Software licensing. Requirements include the need to document the build environment and make available the full source code, including config files Standards such as SPDX help to exchange information about which licenses are applicable to which files, more info at http://spdx.org Slide #9
  • 10. SPDX Development at the Linux Foundation since 2010 Possible formats • RDF/XML • Tag/Value Official tools and info at http://spdx.org Online tool at http://spdx.windriver.com Slide #10
  • 11. Investigate Google • Helps to find source code files. Pick on comments that are not common and use “” between the search terms to find exact matches. For e.g. “@author Nuno” • Strangely obvious, “abc license” might help :-) Archive.org • When a site is offline or changes, http://archive.org is a good resource to find the old pages Tools • A good text editor like Notepad++ or Gedit • Professional tools like Palamida for deep analysis of code against a database Slide #11
  • 12. Investigate Authors • When in doubt, might help to contact directly the authors to clarify the licensing details Logs, logs, logs.. • Don't forget to write down the steps of your investigation and how the conclusions were reached • Keep it simple, a plain text file helps Justification • List the COTS used in your software • Extra points if you explain how they are used within your software and mention their applicable licenses Slide #12
  • 13. Packaging Header of source code files • Applicable license • Date of creation and author details Compressed files • Include version number on zipped file name • Be consistent on version releases • Extra points if you keep available the old versions Long term storage • Use durable storage services. For e.g. Sourceforge • Providers such as GitHub can delete your account or projects when inactive for some years. Slide #13
  • 14. Distribution Web site • Detail applicable licenses, preferable on separate page available from the home page • If licensing is fuzzy, add a FAQ detailing what is understood as permitted (or not) • Extra points for short URL like http://abc.net/license Releases • Include version number on zipped file name • Be consistent on each version • Extra points if you keep available the old versions Need help with this part? • We volunteer to give feedback on your distribution Slide #14
  • 15. Questions? Images from http://xkcd.com/225/ and http://blog.xkcd.com/2007/04/19/life-imitatesxkcd-part-ii-richard-stallman/ Hey, you find more things to read at http://triplecheck.de :-) Slide #15

Hinweis der Redaktion

  1. {"5":"<number>\n","11":"<number>\n","6":"<number>\n","12":"<number>\n","7":"<number>\n","13":"<number>\n","2":"<number>\n","8":"<number>\n","14":"<number>\n","3":"<number>\n","9":"<number>\n","15":"<number>\n","4":"<number>\n","10":"<number>\n"}