SlideShare a Scribd company logo
Open source and then some: An Introduction
Open Source and
then some
How a printer and few geeks
revolutionized computing
Created by: AkashTandon
Email: akashtndn.acm@gmail.com
Linkedin: https://in.linkedin.com/in/akashtandon
Open source and then some: An Introduction
Richard Stallman
Founder of the
Free Software Movement
Linus Torvalds
Creator of the
Linux Kernel
(and more lately, git)
Eric Raymonds’
“Cathedral and the Bazaar”
What is Open-Source?
(Wild guesses often work in the most unexpected of ways)
What is Open-Source?
Open source doesn't just mean access to the source code.The distribution
terms of open-source software must comply with the following criteria:
• Free redistribution
• Source Code
• Derived works
• Integrity of the author’s source code
• No discrimination against persons or any groups
• No discrimination against fields of endeavour
• Distribution of the license
• License must not be specific to a product
• License must not restrict other software
• License must be technology-neutral
About Linux and a brief
history lesson
How can you chip in?
Hint: Not that difficult.
No, seriously!
Open Source Projects/Organizations
 Individual projects relate to the development of a single software, or group of software.
e.g. Linux, Apache HTTP web server, Git, etc.
 Each project has its own philosophy, hierarchy, development methodology, coding style, etc.
 Often open-source projects related to similar technologies operate under the umbrella of a
single organization.
e.g. The Linux foundation, Apache Software foundation, Python Software Foundation.
 These organizations may be registered non-profits, corporate entities, or just a bunch of
people who organized themselves.
A word about version control
 Before we dive in into the basics of how to start contributing to a project of your choice,
it would be useful to know a thing or two about version control.
 As you must understand by now (hopefully), a major part of open-source development is
developing and collaborating on the source code of individual software/projects.
 Such type of collaboration means a lot of people (even hundreds) working on the same
pieces of code simultaneously. Sounds like a chaotic bazaar, doesn’t it?
 To manage collaborations on code, certain software systems are used.They are known as
version control.They record changes to a file or a set of files over time, and are extremely
important tools in a developer’s arsenal. E.g. Git (rocks!) and Subversion (meh).
A word about version control (continued)
 Knowledge of the right version control system (more often than not, git) is essential
as you begin your open-source journey.
 Moving forward, we will assume that you can use perform basic operations using Git.
The basic operations being the ability to copy the source code onto your local system
from a remote host and make changes to the source code. And also to host your
version of code online or ask the original developers to look into your code for inclusion
in the main source code.
 Remember, the above description is a toned-down version and entire books have been
written only about git itself. But understanding the above for now would do!
And don’t worry, a workshop is to follow pretty soon in order to cover the
Basics ofGit.
Open source and then some: An Introduction
Finding the right organization/project
 Searching the web (Google, DuckDuckGo, Quora, etc.) can be a pretty good start.
Even a search as simple “Python Django open source projects” will return multiple
useful hits.
 Organization lists’ from previous yearGSoC can be an extremely useful resource in
your search.You can get an idea about the type of projects for particular organizations.
e.g. For the 2015 list, go to
https://www.google-melange.com/gsoc/projects/list/google/gsoc2015
 Search for projects onGithub*.A huge number of Open-Source projects are hosted
there nowadays.The option to filter according the involved programming languages
is provided. Pretty darn useful, I’d say!
*Github is an online service for hosting git repositories/files using git.
Finding the right project (continued)
Finding the right project (continued)
But is it really the right project?!
 Some quick searches to begin with surely help. But there’s a deeper method involved
to make sure that you end up with the right project.
 Answer the below questions to find the right fit:
->What open-source software do you use?
->What are your professional interests?
->What are your hobbies?
->What is your skill set?
->What do you want out of your involvement with Open-Source?
 And then, shortlist, ask around about them (fellow developers in college, on forums)
and evaluate your options before zeroing in on a project.
All set now.Time to start contributing!
Err… but where to start?
How to start contributing?
 Once a project is found, its helpful to look at it from a user’s perspective.
Install it, use it and play with it.
 Reading its source code can be extremely helpful. Moreover, in your
Open-Source journey you will be required to do this a lot. Start practising!
 Individual projects have “contribution guides/how-to-contribute docs/
developer guides”.They are very often well-developed and lay down the
general guidelines.Try to follow them.
Try to find
something like this!
How to start contributing (continued)
Snapshot of Linux’s
source code.
How to start contributing? (continued)
 Once somewhat acquainted with the project or if stuck/facing issues,
contact the involved personnel through the proper channels.
 Mailing lists and IRC channels are two of the most popular modes of
communication in the open-source ecosystem.
 When communicating, try to follow certain etiquettes.
Basic stuff like: -> NEVER SHOUT!
-> Be considerate. Don’t be pushy.
-> Be to-the-point. Being vague won’t help.
-> Do your research before asking questions.
 Search “Open Source communication etiquettes” for more about this.
A word about IRC
 IRC stands for internet relay chat. It’s a communication protocol.What we
are interested in are IRC clients and channels; methods to use the protocol.
 Internet RelayChat is much like your instant messengers, but is devoid of
spam or general security risks that other IM services often allow.
 You will need to download a suitable IRC client.
e.g. HexChat (for Windows), Xchat, Pidgin (For Linux), etc.
 Using the client, you can connect to multiple networks and each network
contains numerous channels.
E.g. Freenode (one of the most popular IRC channels).
 On the contact information of the relevant project/organization, the network
and channel info would be provided. Join them and you are good to go!
SNAPSHOTSON NEXT PAGE
A word about IRC (continued)
Join a network Join a network
Perks of going the
Open Source
way
The real deal
 This one’s kind of obvious. Open-Source is the real deal. It’s creating stuff for the
real world, not classroom assignments. It’s hard work but once all is said and
done, you will be a much better programmer/developer/co-worker than when
you had started out.
 If done right, you will have had ample practise reading large number of lines of code
like a pro. Reading varied styles of code is an important step towards becoming
a better programmer. Some of the world’s best programmers are working on open-
source projects. Nothing like diving into the coding styles of some of the very best!
 The myth of the “lone super-programmer” is exactly that; a myth. Even the very best
can’t produce world-quality software code all on their own.They need to work with
others. Open-Source projects give you the perfect platform to collaborate.
Speaking of collaboration…
Learn to work together
 While working on open-source projects, a lot of code is passed around.
Even if the code is technically top-notch, its no good if the other person
can’t comprehend what’s going on in your code.
 As you work on projects and read code of some of the top developers, you
will learn how to write ‘readable code’.Code which can be read and
comprehended by others and also by yourself six months down the line.
 Coding style guides are available for different programming languages on
the internet. Go through the one for your favourite programming language.
 The requirement to write good-quality code transcends just OS. Even when
working at a traditional coding job at an MNC, such an ability would be
appreciated.
Speaking of large corporations…
Large companies are going
the Open Source way
 The 9th annual Future of Open Source survey (April, 2015) revealed that almost
78% of software companies are using OS software to run several of their
critical processes.
 The same survey revealed that majority of the companies are having trouble
managing their OS stack.
 Many large companies and several prominent start-ups are involved and have
invested in Open Source in a big way.
E.g. Facebook, Google, Twitter, Sqore, Microsoft, etc.
 More and more personnel adept in the ways of Open Source would be required
in the future.
 For companies like Google, getting involved in Open Source is a community-
building exercise rather than a business one.
And that brings us to…
*Insert joke about badass design/editing skills*
Conferences, meet-ups
and mentors
Keep hacking!

More Related Content

ODP
How to contribute to open source
PDF
How to contribute back to Open Source
PDF
What does open source mean for the institutional web manager?
PDF
20 years of open source and... what’s next?
PDF
Software Heritage: Archiving the Free Software Commons for Fun & Profit
PDF
Migrating to Free Software: a Reference Protocol for LibreOffce
PDF
A startup with no office, hipster tools and open source products
PDF
Introduction to Go
How to contribute to open source
How to contribute back to Open Source
What does open source mean for the institutional web manager?
20 years of open source and... what’s next?
Software Heritage: Archiving the Free Software Commons for Fun & Profit
Migrating to Free Software: a Reference Protocol for LibreOffce
A startup with no office, hipster tools and open source products
Introduction to Go

What's hot (7)

PPTX
Open Source Software, community matters
PDF
Google software engineering practices by handerson
PDF
IDAS Workshop: 01 What Is Open Design
PPTX
Opensource government
PPTX
Introduction to Open Source
PDF
Practical Open Source Software for Libraries (part 2)
PPT
Open source technology
Open Source Software, community matters
Google software engineering practices by handerson
IDAS Workshop: 01 What Is Open Design
Opensource government
Introduction to Open Source
Practical Open Source Software for Libraries (part 2)
Open source technology
Ad

Viewers also liked (18)

PPTX
If i decide to forget you
PDF
peerj-1413
DOC
Anna CV February 2017
PPTX
Musica estilos
PPTX
Memulai Bisnis dengan IT
PDF
MasCobado, mais qu'est-ce que c'est ?
PPTX
Using Processes to Open Data and Empower People - Linkdex Think Tank 'Going B...
PPTX
кол договор
PDF
CertificationScrumDevloper
TXT
Nuovo documento di testo
PPTX
Iron sulphate
PPTX
MS in Automotive Engineering and it's Jobs
PDF
Thesis Final Version
PPTX
Financial performance powerpoint..
PDF
Ordenamiento para proveer cargos de profesores especiales en carácter de inte...
PDF
CM marketing digital IUT 10 janvier 2018 #iutmkgdigital
PDF
Tran Thi Tuyet Mai-CV
PDF
Maestros 7º, 8º y 9º
If i decide to forget you
peerj-1413
Anna CV February 2017
Musica estilos
Memulai Bisnis dengan IT
MasCobado, mais qu'est-ce que c'est ?
Using Processes to Open Data and Empower People - Linkdex Think Tank 'Going B...
кол договор
CertificationScrumDevloper
Nuovo documento di testo
Iron sulphate
MS in Automotive Engineering and it's Jobs
Thesis Final Version
Financial performance powerpoint..
Ordenamiento para proveer cargos de profesores especiales en carácter de inte...
CM marketing digital IUT 10 janvier 2018 #iutmkgdigital
Tran Thi Tuyet Mai-CV
Maestros 7º, 8º y 9º
Ad

Similar to Open source and then some: An Introduction (20)

PPTX
Introduction To Open Source
PDF
Succeeding with FOSS!
DOC
Ethical Consideration of Open Source Software
PDF
Michael Widenius
KEY
Open Source: What’s this all about?
PDF
Let's talk FOSS!
KEY
Open Source Compliance at Twitter
PPTX
How to get started in Open Source!
PDF
Micheal Monty Widenius - Free Open Source Software Entrepreneurship
PPTX
Hacktoberfest'24 _ GDG on Campus BU.pptx
PPT
IDCEE 2013: How to do a successful company around open source - Michael Widen...
ODP
Projects In Foss
PDF
Contributing to an Open Source Project 101
PPT
Open Source Software in Libraries
ODP
From TrainedMonkey to Google SoC mentor – How to become an OOo developer
DOCX
Mis full
PPTX
Open Source Project Management
PPTX
20240618 How To Become a Self-Taught Programmer.pptx
ODP
Resources For Floss Projects
Introduction To Open Source
Succeeding with FOSS!
Ethical Consideration of Open Source Software
Michael Widenius
Open Source: What’s this all about?
Let's talk FOSS!
Open Source Compliance at Twitter
How to get started in Open Source!
Micheal Monty Widenius - Free Open Source Software Entrepreneurship
Hacktoberfest'24 _ GDG on Campus BU.pptx
IDCEE 2013: How to do a successful company around open source - Michael Widen...
Projects In Foss
Contributing to an Open Source Project 101
Open Source Software in Libraries
From TrainedMonkey to Google SoC mentor – How to become an OOo developer
Mis full
Open Source Project Management
20240618 How To Become a Self-Taught Programmer.pptx
Resources For Floss Projects

Recently uploaded (20)

PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
System and Network Administration Chapter 2
PDF
Cost to Outsource Software Development in 2025
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
medical staffing services at VALiNTRY
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Introduction to Artificial Intelligence
PPTX
assetexplorer- product-overview - presentation
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Nekopoi APK 2025 free lastest update
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
top salesforce developer skills in 2025.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
Operating system designcfffgfgggggggvggggggggg
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
System and Network Administration Chapter 2
Cost to Outsource Software Development in 2025
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
medical staffing services at VALiNTRY
Odoo Companies in India – Driving Business Transformation.pdf
Understanding Forklifts - TECH EHS Solution
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Softaken Excel to vCard Converter Software.pdf
Introduction to Artificial Intelligence
assetexplorer- product-overview - presentation
How to Choose the Right IT Partner for Your Business in Malaysia
Designing Intelligence for the Shop Floor.pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Nekopoi APK 2025 free lastest update
CHAPTER 2 - PM Management and IT Context
top salesforce developer skills in 2025.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development

Open source and then some: An Introduction

  • 2. Open Source and then some How a printer and few geeks revolutionized computing Created by: AkashTandon Email: [email protected] Linkedin: https://in.linkedin.com/in/akashtandon
  • 4. Richard Stallman Founder of the Free Software Movement
  • 5. Linus Torvalds Creator of the Linux Kernel (and more lately, git)
  • 7. What is Open-Source? (Wild guesses often work in the most unexpected of ways)
  • 8. What is Open-Source? Open source doesn't just mean access to the source code.The distribution terms of open-source software must comply with the following criteria: • Free redistribution • Source Code • Derived works • Integrity of the author’s source code • No discrimination against persons or any groups • No discrimination against fields of endeavour • Distribution of the license • License must not be specific to a product • License must not restrict other software • License must be technology-neutral
  • 9. About Linux and a brief history lesson
  • 10. How can you chip in? Hint: Not that difficult. No, seriously!
  • 11. Open Source Projects/Organizations  Individual projects relate to the development of a single software, or group of software. e.g. Linux, Apache HTTP web server, Git, etc.  Each project has its own philosophy, hierarchy, development methodology, coding style, etc.  Often open-source projects related to similar technologies operate under the umbrella of a single organization. e.g. The Linux foundation, Apache Software foundation, Python Software Foundation.  These organizations may be registered non-profits, corporate entities, or just a bunch of people who organized themselves.
  • 12. A word about version control  Before we dive in into the basics of how to start contributing to a project of your choice, it would be useful to know a thing or two about version control.  As you must understand by now (hopefully), a major part of open-source development is developing and collaborating on the source code of individual software/projects.  Such type of collaboration means a lot of people (even hundreds) working on the same pieces of code simultaneously. Sounds like a chaotic bazaar, doesn’t it?  To manage collaborations on code, certain software systems are used.They are known as version control.They record changes to a file or a set of files over time, and are extremely important tools in a developer’s arsenal. E.g. Git (rocks!) and Subversion (meh).
  • 13. A word about version control (continued)  Knowledge of the right version control system (more often than not, git) is essential as you begin your open-source journey.  Moving forward, we will assume that you can use perform basic operations using Git. The basic operations being the ability to copy the source code onto your local system from a remote host and make changes to the source code. And also to host your version of code online or ask the original developers to look into your code for inclusion in the main source code.  Remember, the above description is a toned-down version and entire books have been written only about git itself. But understanding the above for now would do! And don’t worry, a workshop is to follow pretty soon in order to cover the Basics ofGit.
  • 15. Finding the right organization/project  Searching the web (Google, DuckDuckGo, Quora, etc.) can be a pretty good start. Even a search as simple “Python Django open source projects” will return multiple useful hits.  Organization lists’ from previous yearGSoC can be an extremely useful resource in your search.You can get an idea about the type of projects for particular organizations. e.g. For the 2015 list, go to https://www.google-melange.com/gsoc/projects/list/google/gsoc2015  Search for projects onGithub*.A huge number of Open-Source projects are hosted there nowadays.The option to filter according the involved programming languages is provided. Pretty darn useful, I’d say! *Github is an online service for hosting git repositories/files using git.
  • 16. Finding the right project (continued)
  • 17. Finding the right project (continued)
  • 18. But is it really the right project?!  Some quick searches to begin with surely help. But there’s a deeper method involved to make sure that you end up with the right project.  Answer the below questions to find the right fit: ->What open-source software do you use? ->What are your professional interests? ->What are your hobbies? ->What is your skill set? ->What do you want out of your involvement with Open-Source?  And then, shortlist, ask around about them (fellow developers in college, on forums) and evaluate your options before zeroing in on a project. All set now.Time to start contributing! Err… but where to start?
  • 19. How to start contributing?  Once a project is found, its helpful to look at it from a user’s perspective. Install it, use it and play with it.  Reading its source code can be extremely helpful. Moreover, in your Open-Source journey you will be required to do this a lot. Start practising!  Individual projects have “contribution guides/how-to-contribute docs/ developer guides”.They are very often well-developed and lay down the general guidelines.Try to follow them. Try to find something like this!
  • 20. How to start contributing (continued) Snapshot of Linux’s source code.
  • 21. How to start contributing? (continued)  Once somewhat acquainted with the project or if stuck/facing issues, contact the involved personnel through the proper channels.  Mailing lists and IRC channels are two of the most popular modes of communication in the open-source ecosystem.  When communicating, try to follow certain etiquettes. Basic stuff like: -> NEVER SHOUT! -> Be considerate. Don’t be pushy. -> Be to-the-point. Being vague won’t help. -> Do your research before asking questions.  Search “Open Source communication etiquettes” for more about this.
  • 22. A word about IRC  IRC stands for internet relay chat. It’s a communication protocol.What we are interested in are IRC clients and channels; methods to use the protocol.  Internet RelayChat is much like your instant messengers, but is devoid of spam or general security risks that other IM services often allow.  You will need to download a suitable IRC client. e.g. HexChat (for Windows), Xchat, Pidgin (For Linux), etc.  Using the client, you can connect to multiple networks and each network contains numerous channels. E.g. Freenode (one of the most popular IRC channels).  On the contact information of the relevant project/organization, the network and channel info would be provided. Join them and you are good to go! SNAPSHOTSON NEXT PAGE
  • 23. A word about IRC (continued) Join a network Join a network
  • 24. Perks of going the Open Source way
  • 25. The real deal  This one’s kind of obvious. Open-Source is the real deal. It’s creating stuff for the real world, not classroom assignments. It’s hard work but once all is said and done, you will be a much better programmer/developer/co-worker than when you had started out.  If done right, you will have had ample practise reading large number of lines of code like a pro. Reading varied styles of code is an important step towards becoming a better programmer. Some of the world’s best programmers are working on open- source projects. Nothing like diving into the coding styles of some of the very best!  The myth of the “lone super-programmer” is exactly that; a myth. Even the very best can’t produce world-quality software code all on their own.They need to work with others. Open-Source projects give you the perfect platform to collaborate. Speaking of collaboration…
  • 26. Learn to work together  While working on open-source projects, a lot of code is passed around. Even if the code is technically top-notch, its no good if the other person can’t comprehend what’s going on in your code.  As you work on projects and read code of some of the top developers, you will learn how to write ‘readable code’.Code which can be read and comprehended by others and also by yourself six months down the line.  Coding style guides are available for different programming languages on the internet. Go through the one for your favourite programming language.  The requirement to write good-quality code transcends just OS. Even when working at a traditional coding job at an MNC, such an ability would be appreciated. Speaking of large corporations…
  • 27. Large companies are going the Open Source way  The 9th annual Future of Open Source survey (April, 2015) revealed that almost 78% of software companies are using OS software to run several of their critical processes.  The same survey revealed that majority of the companies are having trouble managing their OS stack.  Many large companies and several prominent start-ups are involved and have invested in Open Source in a big way. E.g. Facebook, Google, Twitter, Sqore, Microsoft, etc.  More and more personnel adept in the ways of Open Source would be required in the future.  For companies like Google, getting involved in Open Source is a community- building exercise rather than a business one. And that brings us to…
  • 28. *Insert joke about badass design/editing skills*