SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
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
Computer with
their own OS
Source code
provided on
request
70’s
OS Licensing
model
ENGINEERS AND DEVICES
WORKING TOGETHER
Open Source Origin
60’s
Computer with
their own OS
Source code
provided on
request
70’s
OS Licensing
model
80’s
Access to
source code
restricted by
vendors
ENGINEERS AND DEVICES
WORKING TOGETHER
Open Source Origin
60’s
Computer with
their own OS
Source code
provided on
request
70’s
OS Licensing
model
80’s
Access to
source code
restricted by
vendors
90’s
1990 : GNU
project
1991 : Linux
kernel
Free OS: GNU
+ Linux
ENGINEERS AND DEVICES
WORKING TOGETHER
Open Source Origin
60’s
Computer with
their own OS
Source code
provided on
request
70’s
Growing
software
competition
OS Licensing
model
80’s
Access to
source code
restricted by
vendors
84: rise of the
Free Software
project GNU
85: Free
Software
Foundation
90’s
1990 : GNU
project
implementd
1991 : Linux
kernel
Free OS:GNU
+ Linux
2000+
GNU/Linux
Widely used
Interest from
the industry
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
2002 2015
Market share 0.2 % 13 %
● GNU/Linux widely used nowadays
ENGINEERS
AND DEVICES
WORKING
TOGETHER
Open Source origin
● Promotes Open Source in the industry
● More pragmatic and oriented to business cases
● Unification of the licenses based on Debian Free Software
Guidelines
● OSI label for software when it fulfills 10 OSS criterias
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
○ free 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 Source exists since the beginning of computer
science
● 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
● 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
Examples in the past: emacs and gcc
ENGINEERS
AND DEVICES
WORKING
TOGETHER
The bazaar
● Linus Torvalds credited to be inventor of this process
● 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
○ That happens often with cathedral
● A community wants to have more control on the project
○ Skip the review process and commit what they want
➔ Often results in bad quality code
Fork is bad, it is opposed to collaboration
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
Thank You
#BUD17
For further information: www.linaro.org
BUD17 keynotes and videos on: connect.linaro.org

Más contenido relacionado

La actualidad más candente

LAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community UpdateLAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community Update
Linaro
 
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from HellLAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
Linaro
 

La actualidad más candente (20)

Development Boards for Tizen IoT
Development Boards for Tizen IoTDevelopment Boards for Tizen IoT
Development Boards for Tizen IoT
 
BUD17-TR02: Upstreaming 101
BUD17-TR02: Upstreaming 101 BUD17-TR02: Upstreaming 101
BUD17-TR02: Upstreaming 101
 
JerryScript on RIOT
JerryScript on RIOTJerryScript on RIOT
JerryScript on RIOT
 
BKK16-500K2 CTO talk - The End to End Story
BKK16-500K2 CTO talk - The End to End StoryBKK16-500K2 CTO talk - The End to End Story
BKK16-500K2 CTO talk - The End to End Story
 
LAS16-109: LAS16-109: The status quo and the future of 96Boards
LAS16-109: LAS16-109: The status quo and the future of 96BoardsLAS16-109: LAS16-109: The status quo and the future of 96Boards
LAS16-109: LAS16-109: The status quo and the future of 96Boards
 
LAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community UpdateLAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community Update
 
Linaro Connect San Francisco 2017 - Welcome Keynote by George Grey | #SFO17
Linaro Connect San Francisco 2017 - Welcome Keynote by George Grey | #SFO17Linaro Connect San Francisco 2017 - Welcome Keynote by George Grey | #SFO17
Linaro Connect San Francisco 2017 - Welcome Keynote by George Grey | #SFO17
 
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from HellLAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
LAS16-500: The Rise and Fall of Assembler and the VGIC from Hell
 
LAS16-200: SCMI - System Management and Control Interface
LAS16-200:  SCMI - System Management and Control InterfaceLAS16-200:  SCMI - System Management and Control Interface
LAS16-200: SCMI - System Management and Control Interface
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
LAS16-106: GNU Toolchain Development Lifecycle
LAS16-106: GNU Toolchain Development LifecycleLAS16-106: GNU Toolchain Development Lifecycle
LAS16-106: GNU Toolchain Development Lifecycle
 
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivityIoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
 
Internet of Smaller Things
Internet of Smaller ThingsInternet of Smaller Things
Internet of Smaller Things
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
 
P4 to OpenDataPlane Compiler - BUD17-304
P4 to OpenDataPlane Compiler - BUD17-304P4 to OpenDataPlane Compiler - BUD17-304
P4 to OpenDataPlane Compiler - BUD17-304
 
BKK16-307 LHG OE Initiative
BKK16-307 LHG OE InitiativeBKK16-307 LHG OE Initiative
BKK16-307 LHG OE Initiative
 
Where is LLVM Being Used Today?
Where is LLVM Being Used Today? Where is LLVM Being Used Today?
Where is LLVM Being Used Today?
 
Dragon board 410c workshop - slideshow
Dragon board 410c workshop - slideshowDragon board 410c workshop - slideshow
Dragon board 410c workshop - slideshow
 
Media Resource Sharing Through the Media Controller API
Media Resource Sharing Through the Media Controller APIMedia Resource Sharing Through the Media Controller API
Media Resource Sharing Through the Media Controller API
 
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoTInria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
 

Destacado

BUD17-218: Scheduler Load tracking update and improvement
BUD17-218: Scheduler Load tracking update and improvement BUD17-218: Scheduler Load tracking update and improvement
BUD17-218: Scheduler Load tracking update and improvement
Linaro
 
BUD17-510: Power management in Linux together with secure firmware
BUD17-510: Power management in Linux together with secure firmwareBUD17-510: Power management in Linux together with secure firmware
BUD17-510: Power management in Linux together with secure firmware
Linaro
 

Destacado (7)

BUD17-209: Reliability, Availability, and Serviceability (RAS) on ARM64
BUD17-209: Reliability, Availability, and Serviceability (RAS) on ARM64 BUD17-209: Reliability, Availability, and Serviceability (RAS) on ARM64
BUD17-209: Reliability, Availability, and Serviceability (RAS) on ARM64
 
BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE BUD17-416: Benchmark and profiling in OP-TEE
BUD17-416: Benchmark and profiling in OP-TEE
 
George Grey Welcome Keynote - BUD17-100K1
George Grey Welcome Keynote - BUD17-100K1George Grey Welcome Keynote - BUD17-100K1
George Grey Welcome Keynote - BUD17-100K1
 
BUD17-218: Scheduler Load tracking update and improvement
BUD17-218: Scheduler Load tracking update and improvement BUD17-218: Scheduler Load tracking update and improvement
BUD17-218: Scheduler Load tracking update and improvement
 
BUD17-300: Journey of a packet
BUD17-300: Journey of a packetBUD17-300: Journey of a packet
BUD17-300: Journey of a packet
 
BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE
 
BUD17-510: Power management in Linux together with secure firmware
BUD17-510: Power management in Linux together with secure firmwareBUD17-510: Power management in Linux together with secure firmware
BUD17-510: Power management in Linux together with secure firmware
 

Similar a BUD17-TR01: Philosophy of Open Source

Open source a presentation
Open source   a presentationOpen source   a presentation
Open source a presentation
Amol Vidwans
 

Similar a BUD17-TR01: Philosophy of Open Source (20)

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
 
Open Source in Real Life
Open Source in Real LifeOpen Source in Real Life
Open Source in Real Life
 
Let's talk FOSS!
Let's talk FOSS!Let's talk FOSS!
Let's talk FOSS!
 
[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
 
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
 
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
 
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
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
 
BRG Class Day 1
BRG Class Day 1BRG Class Day 1
BRG Class Day 1
 
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!
 
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
 
Michael Widenius
Michael WideniusMichael Widenius
Michael Widenius
 
Open Source Hardware (OSHW)...What About The Tools?
Open Source Hardware (OSHW)...What About The Tools?Open Source Hardware (OSHW)...What About The Tools?
Open Source Hardware (OSHW)...What About The Tools?
 
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
 
Asf icfoss-mentoring
Asf icfoss-mentoringAsf icfoss-mentoring
Asf icfoss-mentoring
 
Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo group
 
What is open source?
What is open source?What is open source?
What is open source?
 
Open Source Product Management
Open Source Product ManagementOpen Source Product Management
Open Source Product Management
 

Más de 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
 
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
 
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
 
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-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- 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-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
 

Más de 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
 

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 

BUD17-TR01: Philosophy of Open Source

  • 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 Computer with their own OS Source code provided on request 70’s OS Licensing model
  • 5. ENGINEERS AND DEVICES WORKING TOGETHER Open Source Origin 60’s Computer with their own OS Source code provided on request 70’s OS Licensing model 80’s Access to source code restricted by vendors
  • 6. ENGINEERS AND DEVICES WORKING TOGETHER Open Source Origin 60’s Computer with their own OS Source code provided on request 70’s OS Licensing model 80’s Access to source code restricted by vendors 90’s 1990 : GNU project 1991 : Linux kernel Free OS: GNU + Linux
  • 7. ENGINEERS AND DEVICES WORKING TOGETHER Open Source Origin 60’s Computer with their own OS Source code provided on request 70’s Growing software competition OS Licensing model 80’s Access to source code restricted by vendors 84: rise of the Free Software project GNU 85: Free Software Foundation 90’s 1990 : GNU project implementd 1991 : Linux kernel Free OS:GNU + Linux 2000+ GNU/Linux Widely used Interest from the industry
  • 8. 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 2002 2015 Market share 0.2 % 13 % ● GNU/Linux widely used nowadays
  • 9. ENGINEERS AND DEVICES WORKING TOGETHER Open Source origin ● Promotes Open Source in the industry ● More pragmatic and oriented to business cases ● Unification of the licenses based on Debian Free Software Guidelines ● OSI label for software when it fulfills 10 OSS criterias
  • 10. 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
  • 11. ENGINEERS AND DEVICES WORKING TOGETHER OSI and FSF ● OSI and FSF share a common culture ○ free 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
  • 12. 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
  • 13. ENGINEERS AND DEVICES WORKING TOGETHER Summary ● Open Source exists since the beginning of computer science ● 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
  • 14. 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
  • 15. ENGINEERS AND DEVICES WORKING TOGETHER The development process
  • 16. 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/
  • 17. ENGINEERS AND DEVICES WORKING TOGETHER The cathedral ● 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 Examples in the past: emacs and gcc
  • 18. ENGINEERS AND DEVICES WORKING TOGETHER The bazaar ● Linus Torvalds credited to be inventor of this process ● 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
  • 19. 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 ○ That happens often with cathedral ● A community wants to have more control on the project ○ Skip the review process and commit what they want ➔ Often results in bad quality code Fork is bad, it is opposed to collaboration
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. ENGINEERS AND DEVICES WORKING TOGETHER The right mindset
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. Thank You #BUD17 For further information: www.linaro.org BUD17 keynotes and videos on: connect.linaro.org