SlideShare a Scribd company logo
1 of 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

More Related Content

Similar to 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 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 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
 

Similar to 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
 

More from 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
 

More from 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
 

Recently uploaded

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Recently uploaded (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

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

Editor's Notes

  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"}