SlideShare a Scribd company logo
Open Source in
Real Life
Kenneth Geisshirt
kgeisshirt
geisshirt@gmail.com
kneth
Agenda
● About me 😎
● What is open source?
● How to contribute
● Distributed teams
About me
● 25+ years as open source user, advocate and contributor
● Former co-author of Linux - friheden til at vælge
● Current maintainer of SegFault Handler (small node.js
package)
● Casually contributing to JavaScript projects
● Paid developer working on open source MongoDB/Realm
SDKs (but also closed source products)
What is open source?
Four basic freedoms
● You can redistribute the software and its source code
● You can redistribute modifications and derived work
● Anybody can use the software
● You can use the software for any purpose
The license has to be compliant with Open Source
Definition1
Emphasis is on programmers’ freedom
1
https://opensource.org/osd
Why open source?
● Learn a new skill (programming language, framework, …)
● Solve a problem and share the solution
● Supporter of software freedom
● Build up a portfolio
○ Useful for students
○ And when applying for a new job
GotCredit, https://bit.ly/32u0408
How to
contribute
Pure projects
● Typically founded by an individual or small group with a goal
● Successful projects form foundations
● They have core team (or committers)
○ Companies hire core member to work on projects
● Often seen as a meritocracy
Examples:
● The Linux kernel (1991)
● Apache (1995)
● Postgres (1996)
● Node.js (2009) Angeline Veeneman, https://bit.ly/2P3dVGJ
Casual contributions
Many contributors only submit a small patch once
Typical workflow:
● You are using an open source project
● You find a bug, and it is easy to fix
● You create a patch/pull request with the fix
● Your patch is accepted
Take over maintainership
A project become stalled when maintainer
● Lost interest in the project
● Has no time to work on the project
● Don’t need the project anymore
No formal procedure for taking over
● Maintainer can ask for help
● You can gently suggest that you want to take over
Marco Verch, https://bit.ly/2MU8APr
Company projects
Many reason for companies to sponsor projects:
● Drive adoption of main product
● Software is not the core product
○ Hardware
○ Services
○ Part of the infrastructure
Examples:
● React and React Native (Facebook)
● Retrofit, okhttp, etc. (Square)
● CUPS (Apple)
Brick Broadcasting, https://bit.ly/32rmgI9
Not only code
You can contribute to open source in other ways:
● Learn a piece of software well and answer questions (Github, Stack Overflow,
etc.)
● Help a non-technical friend
● Make a video
● Write documentation
● Organize meetups
● Speak at conferences
txmx2, https://bit.ly/32GOIpm
Licenses
Examples:
● MIT: Permissive license with clause about retaining license
● Apache v2: Permissive license with clause about patents and trademarks
● GPL v2: Copyleft license with rights to run, study and modify
● GPL v3: Like GPL v2 with restrictive patent rights
Open source is all about the license
● Permissive: does not describe how to
distribute
● Copyleft: requires that source code is
distributed
Keith Robinson, https://bit.ly/2J2zfZ4
The dark side
Open source contributors are mostly well-educated, white males
● Bad behavior, sexism, homophobia, and racism contradict the advocated
freedom rights
● Linus Torvalds took time off in 2018
● Richard Stallman forced to step down
Cloud providers and websites
● Sell software-as-a-service
● But don’t contribute or sponsor
Chris Isherwood, https://bit.ly/32wWsKM
Distributed
teams
Time zones and culture
My co-workers are in Copenhagen, Sofia, Bucharest, Aarhus, Dublin, London, New
York and San Francisco
People’s values are the same but with subtle differences
Meet regularly at the same physical location
Cake and humor are good ice-breakers
United Way of Lower Midland, https://bit.ly/33NUMwF
Tools
● Version control
○ Currently git is the most popular
○ Github, Gitlab, Bitbucket or self-hosted
○ Public and private repositories
● Issue tracking and project management
○ Github issues, Jira
○ Github extensions (Zenhub, …)
● Real-time chat
○ Slack, IRC
● Document sharing
○ Google Docs, plan text files in git
● Email is still useful
● CI to automate testing!
Code reviews
Code reviews don’t find mistakes or error
Use code reviews to get a updated view of
the code base
Ed Schipul, https://bit.ly/2o0STNQ
Tips for reviewers:
● Assume that your coworkers are smart and have good intentions
● Don’t correct people but give suggestions
● Review soon so you don’t block your coworkers
Open Source is
not a spectator
sport
J. Albert Bowden II, https://bit.ly/2qt0cPh
Learn more
● Open Source Initiative - https://opensource.org/
● The Cathedral and the Bazaar. E.S. Raymond. O’Reilly Media, 1999.
○ http://www.catb.org/~esr/writings/cathedral-bazaar/
● Når nørder bliver filosofiske. K. Geisshirt. Alt om DATA, 4/2001.
● Hvad er fri software? K. Geisshirt. Alt om DATA, 12/2019.
● Open Sources: Voices from the Open Source Revolution. O’Reilly Media, 1999.
○ https://www.oreilly.com/openbook/opensources/book/
● How to choose a license: https://choosealicense.com/

More Related Content

PDF
BRG Class Day 1
PPTX
What is the price of open source
PPTX
DIve into the Open World - Presentation outline
PPTX
Ready, set, go! An introduction to the Go programming language
PDF
Improving the MODX Documentation - March 29, 2019
PDF
Open source communities in hong kong and asia (2012 updates) (Summer BarCam...
PDF
Software Freedom and Open Source Community
PDF
Goodpractice
BRG Class Day 1
What is the price of open source
DIve into the Open World - Presentation outline
Ready, set, go! An introduction to the Go programming language
Improving the MODX Documentation - March 29, 2019
Open source communities in hong kong and asia (2012 updates) (Summer BarCam...
Software Freedom and Open Source Community
Goodpractice

What's hot (15)

ODP
LXDE Google Summer of Code 2009
PDF
PDF
Doxygen
PPT
Doxygen - Source Code Documentation Generator Tool
PPTX
PPTX
How to Git and Github | Hands on workshop
PDF
[scala.by] Launching new application fast
PDF
ViennaTalk: A Formal Method Environment on Pharo
PDF
Last Month in PHP - June through Mid-July 2017
PPTX
ATO 2014 - So You Think You Know 'Go'? The Go Programming Language
PDF
DT2014-15 S01: Digital Toolbox
PDF
Chromium on Wayland Desktop (BlinkOn 7)
PDF
Why you should care about Go (Golang)
PDF
iRail at hack democracy
PDF
Let's Build an Open Source Library Together
LXDE Google Summer of Code 2009
Doxygen
Doxygen - Source Code Documentation Generator Tool
How to Git and Github | Hands on workshop
[scala.by] Launching new application fast
ViennaTalk: A Formal Method Environment on Pharo
Last Month in PHP - June through Mid-July 2017
ATO 2014 - So You Think You Know 'Go'? The Go Programming Language
DT2014-15 S01: Digital Toolbox
Chromium on Wayland Desktop (BlinkOn 7)
Why you should care about Go (Golang)
iRail at hack democracy
Let's Build an Open Source Library Together
Ad

Similar to Open Source in Real Life (20)

PDF
Let's talk FOSS!
PDF
BUD17-TR01: Philosophy of Open Source
PDF
Philosophy of Open Source - SFO17-TR01
PDF
Leading an open source project as a startup
PDF
Leading An Open Source Project As A Startup
PDF
DockerCon US 2016 - Scaling Open Source operations
PDF
Open source, What | Why | How
PDF
Netflix OSS Meetup Season 4 Episode 4
PDF
Open Source Lessons from the TODO Group
PDF
What's a Pull Request (Contributing to Open Source) - Brad Wood
PDF
Large drupal site builds a workshop for sxsw interactive - march 17, 2015
PDF
Brad wood -_whats_a_pull_request
PDF
Brad wood -_whats_a_pull_request
PPTX
Open Source Product Management
PDF
Michael Widenius
PDF
Overcoming the Fear of Contributing to Open Source
PPTX
Software Engineering Primer
PPTX
Life in CSE.pptx
PDF
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
PDF
Gsoc2012 checklist
Let's talk FOSS!
BUD17-TR01: Philosophy of Open Source
Philosophy of Open Source - SFO17-TR01
Leading an open source project as a startup
Leading An Open Source Project As A Startup
DockerCon US 2016 - Scaling Open Source operations
Open source, What | Why | How
Netflix OSS Meetup Season 4 Episode 4
Open Source Lessons from the TODO Group
What's a Pull Request (Contributing to Open Source) - Brad Wood
Large drupal site builds a workshop for sxsw interactive - march 17, 2015
Brad wood -_whats_a_pull_request
Brad wood -_whats_a_pull_request
Open Source Product Management
Michael Widenius
Overcoming the Fear of Contributing to Open Source
Software Engineering Primer
Life in CSE.pptx
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
Gsoc2012 checklist
Ad

More from Kenneth Geisshirt (19)

PDF
Building parsers in JavaScript
PDF
Building mobile apps with Realm for React Native
PDF
micro:bit and JavaScript
PDF
Tales from the dark side: developing SDKs at scale
PDF
Android things
PDF
Node.js extensions in C++
PDF
Unleash your inner console cowboy
PDF
Tips and tricks for building high performance android apps using native code
PDF
Is the database a solved problem?
PDF
Unleash your inner console cowboy
PDF
Extending Node.js using C++
PDF
Building High Performance Android Applications in Java and C++
PDF
Sociale netværk
PDF
Unleash your inner console cowboy
PDF
Naturvidenskabsfestival 2012
PDF
Hadoop - the data scientist's toolbox
PDF
JavaScript/Emacs integration
PDF
Introduction to JavaScript for Modern Software Development
PDF
Kendthed og vigtighed
Building parsers in JavaScript
Building mobile apps with Realm for React Native
micro:bit and JavaScript
Tales from the dark side: developing SDKs at scale
Android things
Node.js extensions in C++
Unleash your inner console cowboy
Tips and tricks for building high performance android apps using native code
Is the database a solved problem?
Unleash your inner console cowboy
Extending Node.js using C++
Building High Performance Android Applications in Java and C++
Sociale netværk
Unleash your inner console cowboy
Naturvidenskabsfestival 2012
Hadoop - the data scientist's toolbox
JavaScript/Emacs integration
Introduction to JavaScript for Modern Software Development
Kendthed og vigtighed

Recently uploaded (20)

PDF
How to Confidently Manage Project Budgets
PDF
medical staffing services at VALiNTRY
PPTX
ISO 45001 Occupational Health and Safety Management System
PPTX
Mastering-Cybersecurity-The-Crucial-Role-of-Antivirus-Support-Services.pptx
PDF
System and Network Administraation Chapter 3
PPTX
What to Capture When It Breaks: 16 Artifacts That Reveal Root Causes
DOCX
The Five Best AI Cover Tools in 2025.docx
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
A REACT POMODORO TIMER WEB APPLICATION.pdf
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
PPTX
Introduction to Artificial Intelligence
PDF
Build Multi-agent using Agent Development Kit
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
The Role of Automation and AI in EHS Management for Data Centers.pdf
PDF
Best Practices for Rolling Out Competency Management Software.pdf
PPTX
Transform Your Business with a Software ERP System
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
How to Confidently Manage Project Budgets
medical staffing services at VALiNTRY
ISO 45001 Occupational Health and Safety Management System
Mastering-Cybersecurity-The-Crucial-Role-of-Antivirus-Support-Services.pptx
System and Network Administraation Chapter 3
What to Capture When It Breaks: 16 Artifacts That Reveal Root Causes
The Five Best AI Cover Tools in 2025.docx
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
A REACT POMODORO TIMER WEB APPLICATION.pdf
How Creative Agencies Leverage Project Management Software.pdf
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
IEEE-CS Tech Predictions, SWEBOK and Quantum Software: Towards Q-SWEBOK
Introduction to Artificial Intelligence
Build Multi-agent using Agent Development Kit
Odoo POS Development Services by CandidRoot Solutions
The Role of Automation and AI in EHS Management for Data Centers.pdf
Best Practices for Rolling Out Competency Management Software.pdf
Transform Your Business with a Software ERP System
VVF-Customer-Presentation2025-Ver1.9.pptx

Open Source in Real Life

  • 1. Open Source in Real Life Kenneth Geisshirt kgeisshirt [email protected] kneth
  • 2. Agenda ● About me 😎 ● What is open source? ● How to contribute ● Distributed teams
  • 3. About me ● 25+ years as open source user, advocate and contributor ● Former co-author of Linux - friheden til at vælge ● Current maintainer of SegFault Handler (small node.js package) ● Casually contributing to JavaScript projects ● Paid developer working on open source MongoDB/Realm SDKs (but also closed source products)
  • 4. What is open source? Four basic freedoms ● You can redistribute the software and its source code ● You can redistribute modifications and derived work ● Anybody can use the software ● You can use the software for any purpose The license has to be compliant with Open Source Definition1 Emphasis is on programmers’ freedom 1 https://opensource.org/osd
  • 5. Why open source? ● Learn a new skill (programming language, framework, …) ● Solve a problem and share the solution ● Supporter of software freedom ● Build up a portfolio ○ Useful for students ○ And when applying for a new job GotCredit, https://bit.ly/32u0408
  • 7. Pure projects ● Typically founded by an individual or small group with a goal ● Successful projects form foundations ● They have core team (or committers) ○ Companies hire core member to work on projects ● Often seen as a meritocracy Examples: ● The Linux kernel (1991) ● Apache (1995) ● Postgres (1996) ● Node.js (2009) Angeline Veeneman, https://bit.ly/2P3dVGJ
  • 8. Casual contributions Many contributors only submit a small patch once Typical workflow: ● You are using an open source project ● You find a bug, and it is easy to fix ● You create a patch/pull request with the fix ● Your patch is accepted
  • 9. Take over maintainership A project become stalled when maintainer ● Lost interest in the project ● Has no time to work on the project ● Don’t need the project anymore No formal procedure for taking over ● Maintainer can ask for help ● You can gently suggest that you want to take over Marco Verch, https://bit.ly/2MU8APr
  • 10. Company projects Many reason for companies to sponsor projects: ● Drive adoption of main product ● Software is not the core product ○ Hardware ○ Services ○ Part of the infrastructure Examples: ● React and React Native (Facebook) ● Retrofit, okhttp, etc. (Square) ● CUPS (Apple) Brick Broadcasting, https://bit.ly/32rmgI9
  • 11. Not only code You can contribute to open source in other ways: ● Learn a piece of software well and answer questions (Github, Stack Overflow, etc.) ● Help a non-technical friend ● Make a video ● Write documentation ● Organize meetups ● Speak at conferences txmx2, https://bit.ly/32GOIpm
  • 12. Licenses Examples: ● MIT: Permissive license with clause about retaining license ● Apache v2: Permissive license with clause about patents and trademarks ● GPL v2: Copyleft license with rights to run, study and modify ● GPL v3: Like GPL v2 with restrictive patent rights Open source is all about the license ● Permissive: does not describe how to distribute ● Copyleft: requires that source code is distributed Keith Robinson, https://bit.ly/2J2zfZ4
  • 13. The dark side Open source contributors are mostly well-educated, white males ● Bad behavior, sexism, homophobia, and racism contradict the advocated freedom rights ● Linus Torvalds took time off in 2018 ● Richard Stallman forced to step down Cloud providers and websites ● Sell software-as-a-service ● But don’t contribute or sponsor Chris Isherwood, https://bit.ly/32wWsKM
  • 15. Time zones and culture My co-workers are in Copenhagen, Sofia, Bucharest, Aarhus, Dublin, London, New York and San Francisco People’s values are the same but with subtle differences Meet regularly at the same physical location Cake and humor are good ice-breakers United Way of Lower Midland, https://bit.ly/33NUMwF
  • 16. Tools ● Version control ○ Currently git is the most popular ○ Github, Gitlab, Bitbucket or self-hosted ○ Public and private repositories ● Issue tracking and project management ○ Github issues, Jira ○ Github extensions (Zenhub, …) ● Real-time chat ○ Slack, IRC ● Document sharing ○ Google Docs, plan text files in git ● Email is still useful ● CI to automate testing!
  • 17. Code reviews Code reviews don’t find mistakes or error Use code reviews to get a updated view of the code base Ed Schipul, https://bit.ly/2o0STNQ Tips for reviewers: ● Assume that your coworkers are smart and have good intentions ● Don’t correct people but give suggestions ● Review soon so you don’t block your coworkers
  • 18. Open Source is not a spectator sport J. Albert Bowden II, https://bit.ly/2qt0cPh
  • 19. Learn more ● Open Source Initiative - https://opensource.org/ ● The Cathedral and the Bazaar. E.S. Raymond. O’Reilly Media, 1999. ○ http://www.catb.org/~esr/writings/cathedral-bazaar/ ● Når nørder bliver filosofiske. K. Geisshirt. Alt om DATA, 4/2001. ● Hvad er fri software? K. Geisshirt. Alt om DATA, 12/2019. ● Open Sources: Voices from the Open Source Revolution. O’Reilly Media, 1999. ○ https://www.oreilly.com/openbook/opensources/book/ ● How to choose a license: https://choosealicense.com/