SlideShare a Scribd company logo
Open Source Philosophy
Daniel Lezcano
ENGINEERS
AND DEVICES
WORKING
TOGETHER
What is Open Source ?
● Open Source is not Free Software
Richard Stallman : “Open source is a development
methodology; free software is a social movement.” [1]
● Important to understand the difference, let’s do some
history
[1] https://www.gnu.org/philosophy/open-source-misses-the-point.en.html
ENGINEERS AND DEVICES
WORKING TOGETHER
Open Source Origin
60’s
Computer with
their own OS
Source code
provided on
request
ENGINEERS AND DEVICES
WORKING TOGETHER
Open Source Origin
60’s 70’s
OS contract law
model
Computer with
their own OS
Source code
provided on
request
ENGINEERS AND DEVICES
WORKING TOGETHER
Open Source Origin
60’s 70’s 80’s
Computer with
their own OS
Source code
provided on
request
Access to source
code restricted
by vendors
1984: rise of the
Free Software
project GNU
1985: Free
Software
Foundation
OS contract law
model
ENGINEERS AND DEVICES
WORKING TOGETHER
Open Source Origin
60’s 70’s 80’s 90’s
1990 : GNU
project: most of
the software are
done but the
kernel is missing
1991 : Linux
kernel project
started
1998 : Creation
of the OSI
Access to source
code restricted
by vendors
1984: rise of the
Free Software
project GNU
1985: Free
Software
Foundation
Computer with
their own OS
Source code
provided on
request
OS contract law
model
ENGINEERS AND DEVICES
WORKING TOGETHER
Open Source Origin
60’s 70’s 80’s 90’s 2000+
GNU/Linux
Widely used
Interest from the
industry
Access to source
code restricted
by vendors
1984: rise of the
Free Software
project GNU
1985: Free
Software
Foundation
OS Licensing
model
Computer with
their own OS
Source code
provided on
request
1990 : GNU
project: most of
the software are
done but the
kernel is missing
1991 : Linux
kernel project
started
1998 : Creation
of the OSI
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Open Source origin
Market share
Desktop / laptop 2.18 %
Mobile + table 63.31 %
Server 36.72 %
Mainframe 28 %
Super computer 99.79 %
Embedded 29.44 %
● GNU/Linux widely used nowadays [1]
[1]
https://en.wikipedia.org/wiki/Usage_share_of_operating_systems
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Open Source origin
● Free Software philosophy opposed to industry goals
● In 1998, creation of the OSI
● OSI : Open Source initiative
○ https://opensource.org
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Open Source Initiative
● Promotes Open Source in the industry
● Oriented to business cases
● Unification of the licenses based on Debian Free Software
Guidelines
● OSI label for software when it fulfills 10 OSS criterias
● Open Source licences are approved by OSI
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Open Source Initiative
● OSI criterias[1]
1. Free Redistribution
2. Source Code
3. Derived Works
4. Integrity of The Author's Source Code
5. No Discrimination Against Persons or Groups
6. No Discrimination Against Fields of Endeavor
7. Distribution of License
8. License Must Not Be Specific to a Product
9. License Must Not Restrict Other Software
10. License Must Be Technology-Neutral
[1]
https://opensource.org/osd-annotated
ENGINEERS
AND DEVICES
WORKING
TOGETHER
OSI and FSF
● OSI and FSF share a common culture
○ Open software and hacking
● Goals and philosophy differ
○ FSF : ‘free’ in every sense of the term
○ OSI: give the opportunity to industry to understand Open Source
● OSI helps to introduce Free Software for industry
○ evangelizes open-source principles
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Licenses
● Open Source projects have a license to share the code
○ GPL and LGPL
● GPL : GNU General Public License
○ If a software uses GPL code, it turns into a GPL licensed software
○ Protects the end-user letting him to access the source code
● LGPL : GNU Lesser General Public License
○ The same as GPL except for the headers.
○ Allows to use libraries, eg. libc
● Up to lawyers to explain what are these licenses in details
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Summary
● Open code exists since the earliest moments of computer
programming: programmers wrote the code for their own
use and often shared it with other programmers trying to
solve the same problems
● Licensing business model and Close Source lead to a
Free Software emerging movement in 1984 and the
creation of the Free Software Foundation in 1985
● The Open Source Initiative created in 1998 to evangelize
Open Source in the industry
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Open Source and Free Software
● Open Source and Free Software co-exist together
● Open Source is a development process but strongly
influenced by the Free Software spirit
● Working in Open Source implies to understand the
development process and to have the right mindset
ENGINEERS AND DEVICES
WORKING TOGETHER
The development process
ENGINEERS
AND DEVICES
WORKING
TOGETHER
The cathedral and the bazaar
● A description of two open source development processes:
○ The cathedral model: source code is available with each software
release
○ The bazaar model: in which the code is developed over the Internet in
view of the public
○ Gives 19 “lessons” for good Open Source practices
○ https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar
○ http://www.catb.org/esr/writings/cathedral-bazaar/
ENGINEERS
AND DEVICES
WORKING
TOGETHER
The cathedral
● In the past, computers were very expensives and the
network reserved for a very few
● A group of persons works on a project, privately
● A new release is delivered with the source code
● Hard to participate to the project
● No view on the current work
ENGINEERS
AND DEVICES
WORKING
TOGETHER
The bazaar
● Nowadays a large public have access to computers and
to internet
● The source code is widely available, the changes are
visible and the development is based on the review
process
● Linus’s law [1]
: "given enough eyeballs, all bugs are
shallow"
[1] https://en.wikipedia.org/wiki/Linus%27s_Law
ENGINEERS
AND DEVICES
WORKING
TOGETHER
The fork
● When an Open Source project is cloned and diverges
from the original project: it is a fork
● A community may be frustrated by a project:
○ Lack of communication or collaboration
○ Project is not very responsive or taking a direction that the bulk of
the community does not like
● A community wants to have more control on the project
○ Skip the review process and commit what they want
● Forking can be bad if it is done for wrong reasons
because it can scatter the resources
ENGINEERS
AND DEVICES
WORKING
TOGETHER
The community
● A group of persons working together on an Open Source
project: the community
● A community is composed from:
○ Education (students, scientists, teachers)
○ Hobbyist
○ Workers (from companies or freelance)
● The community takes predominance over individuals
➔ Consensus
● The collaboration is the cornerstone of the Open Source
ENGINEERS
AND DEVICES
WORKING
TOGETHER
The collaboration
● The collaboration relies on tools
● Development:
○ Distributed version control system: git
○ Compilation tools : gcc, make
○ Debugging: gdb
○ Etc …
● Communication:
○ Emails and mailing lists
○ Instant messaging: IRC
○ Text sharing: pastebin
○ bugzilla
ENGINEERS
AND DEVICES
WORKING
TOGETHER
The contribution
● Any kind of help beneficial for the Open Source project is
called a contribution
● A contribution increases the merit inside community
● The Open Source is karma based
● The more a contributor provides pertinent contributions,
the more he has voice inside the community
ENGINEERS AND DEVICES
WORKING TOGETHER
The right mindset
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Don’t be scared
● Follow the presentations Upstreaming 101 and 201
○ All the needed information and the pointers
● Take some time to train yourself and follow the advices
given in the presentations above
● Understand the differents actors of the Open Source
project
● Be prepared, then send your first patch
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Don’t be offended
● Comments are always a good thing, that means the
change raised some interest
● Comments can be tough: stay factual, stick on technical
aspect and give numbers to support your position
● Comments can spot an issue or a misdesign you missed
● The perennity of the Open Source is the priority, you may
be asked to redesign everything
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Don’t be demanding
● Comments can take some time: be patient
● There is no schedule / no deadline
● The community may be busy
● There is no obligation to merge the change
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Don’t be selfish
● The changes must be designed as part of the community,
not as an individual
● Changes for the purpose of one group of persons or a
company have 100% chance to fail to be merged
● Working in the Open Source, is working as part of a
community
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Comments
● The consensus is the key to merge a change
○ No consensus = No merge
● Always take into account the comments in order to reach
the consensus
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Collaborate !
● Collaborate in order to be part of the community
● Begin with simple things
○ Review code
○ Fix compilation warnings/error (often)
○ Help to test the proposed changes (functional and benchmark)
○ Answer questions being asked on the mailing list
● Do more complex things
○ Dead listing and spot potential issues
○ Propose ideas to improve the proposed changes
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Next presentations
● Upstreaming 101 : Linux kernel development process,
DCO, writing a patch
● Upstreaming 201 : Send the changes for upstreaming, the
review process, the comments
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Conclusion
● Open Source is a development process
● Open Source projects are supported by a community
● A community mindset can be aligned to the Free Software
philosophy
● The collaboration is the path, the consensus is the key
Special thanks to
Jon “Maddog” Hall
Thank You
#SFO17
For further information: www.linaro.org
SFO17 keynotes and videos on: connect.linaro.org

More Related Content

What's hot

6 multiprogramming & time sharing
6 multiprogramming & time sharing6 multiprogramming & time sharing
6 multiprogramming & time sharing
myrajendra
 
OPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATIONOPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATION
Ritwick Halder
 
Open source software licenses
Open source software licensesOpen source software licenses
Open source software licenses
DrexelELC
 
Open source software
Open source software Open source software
Open source software
MuhamadHajMousa
 
Open source software
Open source softwareOpen source software
Open source software
Santosh Kumar Kori
 
Free and Open Source Software
Free and Open Source SoftwareFree and Open Source Software
Free and Open Source Software
iwilldo4u
 
Open Source Software
Open Source Software Open Source Software
Open Source Software
Ali Yavari
 
Free and Open Source Software
Free and Open Source SoftwareFree and Open Source Software
Free and Open Source Software
Ram Nath
 
Compiler
CompilerCompiler
Debuggers in system software
Debuggers in system softwareDebuggers in system software
Debuggers in system software
gayathri ravi
 
Power Point Presentation on Open Source Software
Power Point Presentation on Open Source Software Power Point Presentation on Open Source Software
Power Point Presentation on Open Source Software
opensourceacademy
 
Open Source - Código Aberto
Open Source - Código AbertoOpen Source - Código Aberto
Open Source - Código Aberto
Carlos J. Costa
 
Open Source Licences
Open Source LicencesOpen Source Licences
Open Source Licences
Varuna Harshana
 
WDM - Windows Driver Model overview
WDM - Windows Driver Model overviewWDM - Windows Driver Model overview
WDM - Windows Driver Model overview
Prasad Talekar
 
Free Open Source Software - Introduction
Free Open Source Software - IntroductionFree Open Source Software - Introduction
Free Open Source Software - Introduction
Ir. Dr. R.Badlishah Ahmad
 
Basic blocks and flow graph in Compiler Construction
Basic blocks and flow graph in Compiler ConstructionBasic blocks and flow graph in Compiler Construction
Basic blocks and flow graph in Compiler Construction
Muhammad Haroon
 
Open source software and os
Open source software and osOpen source software and os
Open source software and os
Md. Tasdikul Islam Khan
 
Introduction To Open Source Licensing
Introduction To Open Source LicensingIntroduction To Open Source Licensing
Introduction To Open Source Licensing
Mark Radcliffe
 
Windows internals Essentials
Windows internals EssentialsWindows internals Essentials
Windows internals Essentials
John Ombagi
 
Programming Languages / Translators
Programming Languages / TranslatorsProgramming Languages / Translators
Programming Languages / Translators
Project Student
 

What's hot (20)

6 multiprogramming & time sharing
6 multiprogramming & time sharing6 multiprogramming & time sharing
6 multiprogramming & time sharing
 
OPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATIONOPEN SOURCE SEMINAR PRESENTATION
OPEN SOURCE SEMINAR PRESENTATION
 
Open source software licenses
Open source software licensesOpen source software licenses
Open source software licenses
 
Open source software
Open source software Open source software
Open source software
 
Open source software
Open source softwareOpen source software
Open source software
 
Free and Open Source Software
Free and Open Source SoftwareFree and Open Source Software
Free and Open Source Software
 
Open Source Software
Open Source Software Open Source Software
Open Source Software
 
Free and Open Source Software
Free and Open Source SoftwareFree and Open Source Software
Free and Open Source Software
 
Compiler
CompilerCompiler
Compiler
 
Debuggers in system software
Debuggers in system softwareDebuggers in system software
Debuggers in system software
 
Power Point Presentation on Open Source Software
Power Point Presentation on Open Source Software Power Point Presentation on Open Source Software
Power Point Presentation on Open Source Software
 
Open Source - Código Aberto
Open Source - Código AbertoOpen Source - Código Aberto
Open Source - Código Aberto
 
Open Source Licences
Open Source LicencesOpen Source Licences
Open Source Licences
 
WDM - Windows Driver Model overview
WDM - Windows Driver Model overviewWDM - Windows Driver Model overview
WDM - Windows Driver Model overview
 
Free Open Source Software - Introduction
Free Open Source Software - IntroductionFree Open Source Software - Introduction
Free Open Source Software - Introduction
 
Basic blocks and flow graph in Compiler Construction
Basic blocks and flow graph in Compiler ConstructionBasic blocks and flow graph in Compiler Construction
Basic blocks and flow graph in Compiler Construction
 
Open source software and os
Open source software and osOpen source software and os
Open source software and os
 
Introduction To Open Source Licensing
Introduction To Open Source LicensingIntroduction To Open Source Licensing
Introduction To Open Source Licensing
 
Windows internals Essentials
Windows internals EssentialsWindows internals Essentials
Windows internals Essentials
 
Programming Languages / Translators
Programming Languages / TranslatorsProgramming Languages / Translators
Programming Languages / Translators
 

Similar to Philosophy of Open Source - SFO17-TR01

BUD17-TR01: Philosophy of Open Source
BUD17-TR01: Philosophy of Open SourceBUD17-TR01: Philosophy of Open Source
BUD17-TR01: Philosophy of Open Source
Linaro
 
Take the Open Source road: learn, share, grow
Take the Open Source road: learn, share, growTake the Open Source road: learn, share, grow
Take the Open Source road: learn, share, grow
NaLUG
 
WE16 - Navigating the Seas of Open Source Projects
WE16 - Navigating the Seas of Open Source ProjectsWE16 - Navigating the Seas of Open Source Projects
WE16 - Navigating the Seas of Open Source Projects
Society of Women Engineers
 
Let's talk FOSS!
Let's talk FOSS!Let's talk FOSS!
Let's talk FOSS!
AditiSaxena72
 
What is the price of open source
What is the price of open sourceWhat is the price of open source
What is the price of open source
Jachym Cepicky
 
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
WSO2
 
Open source a presentation
Open source   a presentationOpen source   a presentation
Open source a presentation
Amol Vidwans
 
BRG Class Day 1
BRG Class Day 1BRG Class Day 1
BRG Class Day 1
Budh Ram Gurung
 
Michael Widenius
Michael WideniusMichael Widenius
Michael Widenius
CodeFest
 
Open Source in Real Life
Open Source in Real LifeOpen Source in Real Life
Open Source in Real Life
Kenneth Geisshirt
 
Leading An Open Source Project As A Startup
Leading An Open Source Project As A StartupLeading An Open Source Project As A Startup
Leading An Open Source Project As A Startup
Mailjet
 
Leading an open source project as a startup
Leading an open source project as a startupLeading an open source project as a startup
Leading an open source project as a startup
Nicolas Garnier
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4
aspyker
 
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
WSO2
 
OLITA Digital Odyssey Presentation on Open Source (with Randy Metcalfe)
OLITA Digital Odyssey Presentation on Open Source (with Randy Metcalfe)OLITA Digital Odyssey Presentation on Open Source (with Randy Metcalfe)
OLITA Digital Odyssey Presentation on Open Source (with Randy Metcalfe)
Digital Scholarship Unit at the UTSC Library
 
What is open source?
What is open source?What is open source?
What is open source?
Ahmet Bulut
 
DockerCon US 2016 - Scaling Open Source operations
DockerCon US 2016 - Scaling Open Source operationsDockerCon US 2016 - Scaling Open Source operations
DockerCon US 2016 - Scaling Open Source operations
Arnaud Porterie
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!
Pradeep Singh
 
Open Source Product Management
Open Source Product ManagementOpen Source Product Management
Open Source Product Management
Danny Rosen
 
The benefits of contributing to open source
The benefits of contributing to open sourceThe benefits of contributing to open source
The benefits of contributing to open source
Jonathan Bossenger
 

Similar to Philosophy of Open Source - SFO17-TR01 (20)

BUD17-TR01: Philosophy of Open Source
BUD17-TR01: Philosophy of Open SourceBUD17-TR01: Philosophy of Open Source
BUD17-TR01: Philosophy of Open Source
 
Take the Open Source road: learn, share, grow
Take the Open Source road: learn, share, growTake the Open Source road: learn, share, grow
Take the Open Source road: learn, share, grow
 
WE16 - Navigating the Seas of Open Source Projects
WE16 - Navigating the Seas of Open Source ProjectsWE16 - Navigating the Seas of Open Source Projects
WE16 - Navigating the Seas of Open Source Projects
 
Let's talk FOSS!
Let's talk FOSS!Let's talk FOSS!
Let's talk FOSS!
 
What is the price of open source
What is the price of open sourceWhat is the price of open source
What is the price of open source
 
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
[Workshop] Building an Integration Agile Digital Enterprise with Open Source ...
 
Open source a presentation
Open source   a presentationOpen source   a presentation
Open source a presentation
 
BRG Class Day 1
BRG Class Day 1BRG Class Day 1
BRG Class Day 1
 
Michael Widenius
Michael WideniusMichael Widenius
Michael Widenius
 
Open Source in Real Life
Open Source in Real LifeOpen Source in Real Life
Open Source in Real Life
 
Leading An Open Source Project As A Startup
Leading An Open Source Project As A StartupLeading An Open Source Project As A Startup
Leading An Open Source Project As A Startup
 
Leading an open source project as a startup
Leading an open source project as a startupLeading an open source project as a startup
Leading an open source project as a startup
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4
 
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
 
OLITA Digital Odyssey Presentation on Open Source (with Randy Metcalfe)
OLITA Digital Odyssey Presentation on Open Source (with Randy Metcalfe)OLITA Digital Odyssey Presentation on Open Source (with Randy Metcalfe)
OLITA Digital Odyssey Presentation on Open Source (with Randy Metcalfe)
 
What is open source?
What is open source?What is open source?
What is open source?
 
DockerCon US 2016 - Scaling Open Source operations
DockerCon US 2016 - Scaling Open Source operationsDockerCon US 2016 - Scaling Open Source operations
DockerCon US 2016 - Scaling Open Source operations
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!
 
Open Source Product Management
Open Source Product ManagementOpen Source Product Management
Open Source Product Management
 
The benefits of contributing to open source
The benefits of contributing to open sourceThe benefits of contributing to open source
The benefits of contributing to open source
 

More from Linaro

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Linaro
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Linaro
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Linaro
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qa
Linaro
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
Linaro
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
Linaro
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
Linaro
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Linaro
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
Linaro
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
Linaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
Linaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
Linaro
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
Linaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
Linaro
 

More from Linaro (20)

Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea GalloDeep Learning Neural Network Acceleration at the Edge - Andrea Gallo
Deep Learning Neural Network Acceleration at the Edge - Andrea Gallo
 
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta VekariaArm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
Arm Architecture HPC Workshop Santa Clara 2018 - Kanta Vekaria
 
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua MoraHuawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
Huawei’s requirements for the ARM based HPC solution readiness - Joshua Mora
 
Bud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qaBud17 113: distribution ci using qemu and open qa
Bud17 113: distribution ci using qemu and open qa
 
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
OpenHPC Automation with Ansible - Renato Golin - Linaro Arm HPC Workshop 2018
 
HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018HPC network stack on ARM - Linaro HPC Workshop 2018
HPC network stack on ARM - Linaro HPC Workshop 2018
 
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
It just keeps getting better - SUSE enablement for Arm - Linaro HPC Workshop ...
 
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 

Recently uploaded

How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 

Recently uploaded (20)

How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 

Philosophy of Open Source - SFO17-TR01

  • 2. ENGINEERS AND DEVICES WORKING TOGETHER What is Open Source ? ● Open Source is not Free Software Richard Stallman : “Open source is a development methodology; free software is a social movement.” [1] ● Important to understand the difference, let’s do some history [1] https://www.gnu.org/philosophy/open-source-misses-the-point.en.html
  • 3. ENGINEERS AND DEVICES WORKING TOGETHER Open Source Origin 60’s Computer with their own OS Source code provided on request
  • 4. ENGINEERS AND DEVICES WORKING TOGETHER Open Source Origin 60’s 70’s OS contract law model Computer with their own OS Source code provided on request
  • 5. ENGINEERS AND DEVICES WORKING TOGETHER Open Source Origin 60’s 70’s 80’s Computer with their own OS Source code provided on request Access to source code restricted by vendors 1984: rise of the Free Software project GNU 1985: Free Software Foundation OS contract law model
  • 6. ENGINEERS AND DEVICES WORKING TOGETHER Open Source Origin 60’s 70’s 80’s 90’s 1990 : GNU project: most of the software are done but the kernel is missing 1991 : Linux kernel project started 1998 : Creation of the OSI Access to source code restricted by vendors 1984: rise of the Free Software project GNU 1985: Free Software Foundation Computer with their own OS Source code provided on request OS contract law model
  • 7. ENGINEERS AND DEVICES WORKING TOGETHER Open Source Origin 60’s 70’s 80’s 90’s 2000+ GNU/Linux Widely used Interest from the industry Access to source code restricted by vendors 1984: rise of the Free Software project GNU 1985: Free Software Foundation OS Licensing model Computer with their own OS Source code provided on request 1990 : GNU project: most of the software are done but the kernel is missing 1991 : Linux kernel project started 1998 : Creation of the OSI
  • 8. ENGINEERS AND DEVICES WORKING TOGETHER Open Source origin Market share Desktop / laptop 2.18 % Mobile + table 63.31 % Server 36.72 % Mainframe 28 % Super computer 99.79 % Embedded 29.44 % ● GNU/Linux widely used nowadays [1] [1] https://en.wikipedia.org/wiki/Usage_share_of_operating_systems
  • 9. ENGINEERS AND DEVICES WORKING TOGETHER Open Source origin ● Free Software philosophy opposed to industry goals ● In 1998, creation of the OSI ● OSI : Open Source initiative ○ https://opensource.org
  • 10. ENGINEERS AND DEVICES WORKING TOGETHER Open Source Initiative ● Promotes Open Source in the industry ● Oriented to business cases ● Unification of the licenses based on Debian Free Software Guidelines ● OSI label for software when it fulfills 10 OSS criterias ● Open Source licences are approved by OSI
  • 11. ENGINEERS AND DEVICES WORKING TOGETHER Open Source Initiative ● OSI criterias[1] 1. Free Redistribution 2. Source Code 3. Derived Works 4. Integrity of The Author's Source Code 5. No Discrimination Against Persons or Groups 6. No Discrimination Against Fields of Endeavor 7. Distribution of License 8. License Must Not Be Specific to a Product 9. License Must Not Restrict Other Software 10. License Must Be Technology-Neutral [1] https://opensource.org/osd-annotated
  • 12. ENGINEERS AND DEVICES WORKING TOGETHER OSI and FSF ● OSI and FSF share a common culture ○ Open software and hacking ● Goals and philosophy differ ○ FSF : ‘free’ in every sense of the term ○ OSI: give the opportunity to industry to understand Open Source ● OSI helps to introduce Free Software for industry ○ evangelizes open-source principles
  • 13. ENGINEERS AND DEVICES WORKING TOGETHER Licenses ● Open Source projects have a license to share the code ○ GPL and LGPL ● GPL : GNU General Public License ○ If a software uses GPL code, it turns into a GPL licensed software ○ Protects the end-user letting him to access the source code ● LGPL : GNU Lesser General Public License ○ The same as GPL except for the headers. ○ Allows to use libraries, eg. libc ● Up to lawyers to explain what are these licenses in details
  • 14. ENGINEERS AND DEVICES WORKING TOGETHER Summary ● Open code exists since the earliest moments of computer programming: programmers wrote the code for their own use and often shared it with other programmers trying to solve the same problems ● Licensing business model and Close Source lead to a Free Software emerging movement in 1984 and the creation of the Free Software Foundation in 1985 ● The Open Source Initiative created in 1998 to evangelize Open Source in the industry
  • 15. ENGINEERS AND DEVICES WORKING TOGETHER Open Source and Free Software ● Open Source and Free Software co-exist together ● Open Source is a development process but strongly influenced by the Free Software spirit ● Working in Open Source implies to understand the development process and to have the right mindset
  • 16. ENGINEERS AND DEVICES WORKING TOGETHER The development process
  • 17. ENGINEERS AND DEVICES WORKING TOGETHER The cathedral and the bazaar ● A description of two open source development processes: ○ The cathedral model: source code is available with each software release ○ The bazaar model: in which the code is developed over the Internet in view of the public ○ Gives 19 “lessons” for good Open Source practices ○ https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar ○ http://www.catb.org/esr/writings/cathedral-bazaar/
  • 18. ENGINEERS AND DEVICES WORKING TOGETHER The cathedral ● In the past, computers were very expensives and the network reserved for a very few ● A group of persons works on a project, privately ● A new release is delivered with the source code ● Hard to participate to the project ● No view on the current work
  • 19. ENGINEERS AND DEVICES WORKING TOGETHER The bazaar ● Nowadays a large public have access to computers and to internet ● The source code is widely available, the changes are visible and the development is based on the review process ● Linus’s law [1] : "given enough eyeballs, all bugs are shallow" [1] https://en.wikipedia.org/wiki/Linus%27s_Law
  • 20. ENGINEERS AND DEVICES WORKING TOGETHER The fork ● When an Open Source project is cloned and diverges from the original project: it is a fork ● A community may be frustrated by a project: ○ Lack of communication or collaboration ○ Project is not very responsive or taking a direction that the bulk of the community does not like ● A community wants to have more control on the project ○ Skip the review process and commit what they want ● Forking can be bad if it is done for wrong reasons because it can scatter the resources
  • 21. ENGINEERS AND DEVICES WORKING TOGETHER The community ● A group of persons working together on an Open Source project: the community ● A community is composed from: ○ Education (students, scientists, teachers) ○ Hobbyist ○ Workers (from companies or freelance) ● The community takes predominance over individuals ➔ Consensus ● The collaboration is the cornerstone of the Open Source
  • 22. ENGINEERS AND DEVICES WORKING TOGETHER The collaboration ● The collaboration relies on tools ● Development: ○ Distributed version control system: git ○ Compilation tools : gcc, make ○ Debugging: gdb ○ Etc … ● Communication: ○ Emails and mailing lists ○ Instant messaging: IRC ○ Text sharing: pastebin ○ bugzilla
  • 23. ENGINEERS AND DEVICES WORKING TOGETHER The contribution ● Any kind of help beneficial for the Open Source project is called a contribution ● A contribution increases the merit inside community ● The Open Source is karma based ● The more a contributor provides pertinent contributions, the more he has voice inside the community
  • 24. ENGINEERS AND DEVICES WORKING TOGETHER The right mindset
  • 25. ENGINEERS AND DEVICES WORKING TOGETHER Don’t be scared ● Follow the presentations Upstreaming 101 and 201 ○ All the needed information and the pointers ● Take some time to train yourself and follow the advices given in the presentations above ● Understand the differents actors of the Open Source project ● Be prepared, then send your first patch
  • 26. ENGINEERS AND DEVICES WORKING TOGETHER Don’t be offended ● Comments are always a good thing, that means the change raised some interest ● Comments can be tough: stay factual, stick on technical aspect and give numbers to support your position ● Comments can spot an issue or a misdesign you missed ● The perennity of the Open Source is the priority, you may be asked to redesign everything
  • 27. ENGINEERS AND DEVICES WORKING TOGETHER Don’t be demanding ● Comments can take some time: be patient ● There is no schedule / no deadline ● The community may be busy ● There is no obligation to merge the change
  • 28. ENGINEERS AND DEVICES WORKING TOGETHER Don’t be selfish ● The changes must be designed as part of the community, not as an individual ● Changes for the purpose of one group of persons or a company have 100% chance to fail to be merged ● Working in the Open Source, is working as part of a community
  • 29. ENGINEERS AND DEVICES WORKING TOGETHER Comments ● The consensus is the key to merge a change ○ No consensus = No merge ● Always take into account the comments in order to reach the consensus
  • 30. ENGINEERS AND DEVICES WORKING TOGETHER Collaborate ! ● Collaborate in order to be part of the community ● Begin with simple things ○ Review code ○ Fix compilation warnings/error (often) ○ Help to test the proposed changes (functional and benchmark) ○ Answer questions being asked on the mailing list ● Do more complex things ○ Dead listing and spot potential issues ○ Propose ideas to improve the proposed changes
  • 31. ENGINEERS AND DEVICES WORKING TOGETHER Next presentations ● Upstreaming 101 : Linux kernel development process, DCO, writing a patch ● Upstreaming 201 : Send the changes for upstreaming, the review process, the comments
  • 32. ENGINEERS AND DEVICES WORKING TOGETHER Conclusion ● Open Source is a development process ● Open Source projects are supported by a community ● A community mindset can be aligned to the Free Software philosophy ● The collaboration is the path, the consensus is the key
  • 33. Special thanks to Jon “Maddog” Hall
  • 34. Thank You #SFO17 For further information: www.linaro.org SFO17 keynotes and videos on: connect.linaro.org