SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
!
Tips for GSoC
Yask Srivastava
GSoC’15-Python Software Foundation
iyask.me
IRC: yask on irc.freenode.net
About me
• Creator of InstantMusic.
• InstantMusic trended at #1 spot on HackerNews and received over 900 stars
on Github.
• Google Summer Of Code'15 , Python Software Foundation.
• Season of KDE' 15
• Open source advocate, contributed to various organisations such as Mozilla,
KDE, Moin Moin Wiki Engine.
• Co-Founder of JEEQuery, a QnA web app that helps students prepare for IIT-
JEE.
• Worked @Routofy, @Grofers, @Zomato. Will be interning @Flipkart this summer.
I often compare open source to science. To where
science took this whole notion of developing ideas in the
open and improving on other peoples' ideas and making
it into what science is today and the incredible advances
that we have had. And I compare that to witchcraft and
alchemy, where openness was something you didn't do.
—-Linus Torvalds
What is Open Source ?
Open source software is software whose source code is available for modification or enhancement by anyone.
"Source code" is the part of software that most computer users don't ever see; it's the code computer programmers
can manipulate to change how a piece of software—a "program" or "application"—works.
But, what in the world is open-source? It’s a question most of us foster for quite a few of our initial months here.
If you haven’t heard of Open Source software …, wait that can’t be, you must have heard and probably used Software with
it’s roots in open source. Firefox, Android, Chrome, LibreOffice, VLC all these giants are open source or derivative of wildly
popular open source software.
Free and Open source software is software, for which the source
code or “recipe” is freely available. This means that anyone can
download it, modify it and share it!
But fret not! The saga has just begun!
The world of open-source brings with it not only free, accessible, modifiable code, but a community of developers, a whole
host of coding styles, and people from around the globe who work together to improve software and code as a community.
Prerequisites
Passion for OpenSource
Because its inspiring!
• People contribute not for money, but because of
passion.
Passion for writing
opensource projects
• http://iyask.me/#projects
Passion to learn new things
Use *nix O.S
# /bin/bash
Use FOSS
And if you find bug, report it in it’s issue tracker.
Just contribute for
passion
Doesn’t matter which organisation
Where do I find
projects?
!
https://openhatch.org 	

https://github.com/explore http://sourceforge.net/p/forge/helpwanted/ http://teachingopensource.org/ https:/
Start small
This is not the last time I am going to say this.
“Steps”
!
#1 Seek/Find/Reach out 	

notice itch

find code (eyeball community) 	

!
Do your thing 	

fork, clone

poke around code (grep, code, etc) commit, push (to your version) 	

!
Send back your work 	

pull-request (comment/email)
Well known projects have:
serious,
dedicated,
committed,
professional
people working on them.
Get involved early!
Write a KickAss
proposal
• http://scikit-learn.org/stable/about.html
• Your proposal should show that you've done your research. For example,
this is my proposal for PSF: (Show the website)
• Here's another proposal by a friend: https://github.com/sympy/sympy/wiki/
GSoC-2014-Application-Sushant-Hiray:-Extending-Elementary-Functions-
CSymPy
• All of these have a clear cut proposal with links to
existing code and an understanding of what steps
should be taken.
• Idea of a "proposed timeline" or "schedule of
deliverables" section (PSF proposals have to use a
template, and this is one of the sections). This lets
you understand the project in depth, and also gives
you a chance to show off what you know about it. If
your org doesn't have a template for you to use, I
highly suggest you include such a section, and
spend time on it.
Communication is the
“key”
A cliché
95% human problems are caused by ...

... and are solved by.
Developers love it when
you talk about the stuff
they have written
They are not annoyed by your questions.
Contribute as much as
you can
To the particular organisation you are interested in, which
is going to take part in GSoC
How FOSS is different
(Stable/Working) > (your ego)
!
Expect to get Rejection

but playful, friendly, caring rejection.
Aspiring to Concensus-Based Perfection (rather than minimum viable
product)
Learn to take "feedback"
(ie criticism)
Accepting criticism is actually a skill. YOU ARE NOT YOUR CODE.
Development is a continuum.
DROP YOUR EGO!
It’s just not cool here.
DON’T GET
DISHEARTENED
All mistakes will eventually be washed clean by time and entropy.
Nobody cares how many times you fall down, ONE fewer than the times you get up all that matters
Thanks!
Good luck for GSoC'16

Mais conteúdo relacionado

Destaque

Destaque (17)

GSOC 2016 mifos
GSOC 2016 mifosGSOC 2016 mifos
GSOC 2016 mifos
 
Abhishek proposal for gsoc 2014
Abhishek proposal for gsoc 2014Abhishek proposal for gsoc 2014
Abhishek proposal for gsoc 2014
 
Proposal gcompris
Proposal gcomprisProposal gcompris
Proposal gcompris
 
Gsoc 2016-iit-snk-v1.0
Gsoc 2016-iit-snk-v1.0Gsoc 2016-iit-snk-v1.0
Gsoc 2016-iit-snk-v1.0
 
proposal
proposalproposal
proposal
 
Google summer of code
Google summer of codeGoogle summer of code
Google summer of code
 
Proposal gsoc2012-matilda-bernard
Proposal gsoc2012-matilda-bernardProposal gsoc2012-matilda-bernard
Proposal gsoc2012-matilda-bernard
 
gsoc and grub4ext4
gsoc and grub4ext4gsoc and grub4ext4
gsoc and grub4ext4
 
GSOC proposal
GSOC proposalGSOC proposal
GSOC proposal
 
gsoc_student for Rajan Maurya
gsoc_student for Rajan Mauryagsoc_student for Rajan Maurya
gsoc_student for Rajan Maurya
 
Google Summer of Code at Apache Software Foundation
Google Summer of Code at Apache Software FoundationGoogle Summer of Code at Apache Software Foundation
Google Summer of Code at Apache Software Foundation
 
Contributing to Open Source & GSoC
Contributing to Open Source & GSoCContributing to Open Source & GSoC
Contributing to Open Source & GSoC
 
Hackernote on gsoc
Hackernote on gsocHackernote on gsoc
Hackernote on gsoc
 
GSoC Briefing Friday Hacks
GSoC Briefing Friday HacksGSoC Briefing Friday Hacks
GSoC Briefing Friday Hacks
 
5 Reasons To Win a GSoC
5 Reasons To Win a GSoC5 Reasons To Win a GSoC
5 Reasons To Win a GSoC
 
Presentation of GSoC 2016 at Fachhochschule Salzburg
Presentation of GSoC 2016 at Fachhochschule SalzburgPresentation of GSoC 2016 at Fachhochschule Salzburg
Presentation of GSoC 2016 at Fachhochschule Salzburg
 
Safe heart
Safe heartSafe heart
Safe heart
 

Semelhante a Tips for Getting Started with Open Source Software Development

How to Contribute to Open Source
How to Contribute to Open SourceHow to Contribute to Open Source
How to Contribute to Open SourceAaron Careaga
 
Open Source: Freedom and Community
Open Source: Freedom and CommunityOpen Source: Freedom and Community
Open Source: Freedom and CommunityNicole C. Engard
 
Open Source Building Career and Competency
Open Source Building Career and CompetencyOpen Source Building Career and Competency
Open Source Building Career and CompetencyKrishna-Kumar
 
Open source and then some: An Introduction
Open source and then some: An IntroductionOpen source and then some: An Introduction
Open source and then some: An IntroductionAkash Tandon
 
Open Source Product Management
Open Source Product ManagementOpen Source Product Management
Open Source Product ManagementDanny Rosen
 
Introduction to Open Source for Libraries
Introduction to Open Source for LibrariesIntroduction to Open Source for Libraries
Introduction to Open Source for LibrariesNicole C. Engard
 
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
 
Michael Widenius
Michael WideniusMichael Widenius
Michael WideniusCodeFest
 
Rise of Open Source Programs
Rise of Open Source ProgramsRise of Open Source Programs
Rise of Open Source ProgramsChris Aniszczyk
 
[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 Issues and Trends
Open Source Issues and TrendsOpen Source Issues and Trends
Open Source Issues and TrendsNicole Baratta
 
Open Your Mind: Open Source in Libraries
Open Your Mind: Open Source in LibrariesOpen Your Mind: Open Source in Libraries
Open Your Mind: Open Source in LibrariesNicole Baratta
 
How to become an awesome oss
How to become an awesome ossHow to become an awesome oss
How to become an awesome ossChristos Matskas
 
Open source for academics
Open source for academicsOpen source for academics
Open source for academicsAmol A. Sale
 
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 ProjectsSociety of Women Engineers
 
LCA14: LCA14-110: FLOSS Training
LCA14: LCA14-110: FLOSS TrainingLCA14: LCA14-110: FLOSS Training
LCA14: LCA14-110: FLOSS TrainingLinaro
 

Semelhante a Tips for Getting Started with Open Source Software Development (20)

How to Contribute to Open Source
How to Contribute to Open SourceHow to Contribute to Open Source
How to Contribute to Open Source
 
Introduction To Open Source
Introduction To Open SourceIntroduction To Open Source
Introduction To Open Source
 
Open Source: Freedom and Community
Open Source: Freedom and CommunityOpen Source: Freedom and Community
Open Source: Freedom and Community
 
Open Source Building Career and Competency
Open Source Building Career and CompetencyOpen Source Building Career and Competency
Open Source Building Career and Competency
 
Open source and then some: An Introduction
Open source and then some: An IntroductionOpen source and then some: An Introduction
Open source and then some: An Introduction
 
Open Source Product Management
Open Source Product ManagementOpen Source Product Management
Open Source Product Management
 
Introduction to Open Source for Libraries
Introduction to Open Source for LibrariesIntroduction to Open Source for Libraries
Introduction to Open Source for Libraries
 
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!
 
Michael Widenius
Michael WideniusMichael Widenius
Michael Widenius
 
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)
 
Rise of Open Source Programs
Rise of Open Source ProgramsRise of Open Source Programs
Rise of Open Source Programs
 
[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 ...
 
C4 sandip-oss
C4 sandip-ossC4 sandip-oss
C4 sandip-oss
 
Open Source Issues and Trends
Open Source Issues and TrendsOpen Source Issues and Trends
Open Source Issues and Trends
 
Open Your Mind: Open Source in Libraries
Open Your Mind: Open Source in LibrariesOpen Your Mind: Open Source in Libraries
Open Your Mind: Open Source in Libraries
 
How to become an awesome oss
How to become an awesome ossHow to become an awesome oss
How to become an awesome oss
 
Open source for academics
Open source for academicsOpen source for academics
Open source for academics
 
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!
 
LCA14: LCA14-110: FLOSS Training
LCA14: LCA14-110: FLOSS TrainingLCA14: LCA14-110: FLOSS Training
LCA14: LCA14-110: FLOSS Training
 

Tips for Getting Started with Open Source Software Development

  • 1. ! Tips for GSoC Yask Srivastava GSoC’15-Python Software Foundation iyask.me IRC: yask on irc.freenode.net
  • 2. About me • Creator of InstantMusic. • InstantMusic trended at #1 spot on HackerNews and received over 900 stars on Github. • Google Summer Of Code'15 , Python Software Foundation. • Season of KDE' 15 • Open source advocate, contributed to various organisations such as Mozilla, KDE, Moin Moin Wiki Engine. • Co-Founder of JEEQuery, a QnA web app that helps students prepare for IIT- JEE. • Worked @Routofy, @Grofers, @Zomato. Will be interning @Flipkart this summer.
  • 3. I often compare open source to science. To where science took this whole notion of developing ideas in the open and improving on other peoples' ideas and making it into what science is today and the incredible advances that we have had. And I compare that to witchcraft and alchemy, where openness was something you didn't do. —-Linus Torvalds
  • 4. What is Open Source ? Open source software is software whose source code is available for modification or enhancement by anyone. "Source code" is the part of software that most computer users don't ever see; it's the code computer programmers can manipulate to change how a piece of software—a "program" or "application"—works.
  • 5. But, what in the world is open-source? It’s a question most of us foster for quite a few of our initial months here. If you haven’t heard of Open Source software …, wait that can’t be, you must have heard and probably used Software with it’s roots in open source. Firefox, Android, Chrome, LibreOffice, VLC all these giants are open source or derivative of wildly popular open source software. Free and Open source software is software, for which the source code or “recipe” is freely available. This means that anyone can download it, modify it and share it! But fret not! The saga has just begun! The world of open-source brings with it not only free, accessible, modifiable code, but a community of developers, a whole host of coding styles, and people from around the globe who work together to improve software and code as a community.
  • 8. Because its inspiring! • People contribute not for money, but because of passion.
  • 9. Passion for writing opensource projects • http://iyask.me/#projects
  • 10. Passion to learn new things
  • 11. Use *nix O.S # /bin/bash
  • 12. Use FOSS And if you find bug, report it in it’s issue tracker.
  • 13. Just contribute for passion Doesn’t matter which organisation
  • 14. Where do I find projects? ! https://openhatch.org https://github.com/explore http://sourceforge.net/p/forge/helpwanted/ http://teachingopensource.org/ https:/
  • 15. Start small This is not the last time I am going to say this.
  • 16. “Steps” ! #1 Seek/Find/Reach out notice itch
 find code (eyeball community) ! Do your thing fork, clone
 poke around code (grep, code, etc) commit, push (to your version) ! Send back your work pull-request (comment/email)
  • 17. Well known projects have: serious, dedicated, committed, professional people working on them.
  • 20. • http://scikit-learn.org/stable/about.html • Your proposal should show that you've done your research. For example, this is my proposal for PSF: (Show the website) • Here's another proposal by a friend: https://github.com/sympy/sympy/wiki/ GSoC-2014-Application-Sushant-Hiray:-Extending-Elementary-Functions- CSymPy
  • 21. • All of these have a clear cut proposal with links to existing code and an understanding of what steps should be taken. • Idea of a "proposed timeline" or "schedule of deliverables" section (PSF proposals have to use a template, and this is one of the sections). This lets you understand the project in depth, and also gives you a chance to show off what you know about it. If your org doesn't have a template for you to use, I highly suggest you include such a section, and spend time on it.
  • 22. Communication is the “key” A cliché 95% human problems are caused by ...
 ... and are solved by.
  • 23. Developers love it when you talk about the stuff they have written They are not annoyed by your questions.
  • 24. Contribute as much as you can To the particular organisation you are interested in, which is going to take part in GSoC
  • 25. How FOSS is different (Stable/Working) > (your ego) ! Expect to get Rejection
 but playful, friendly, caring rejection. Aspiring to Concensus-Based Perfection (rather than minimum viable product)
  • 26. Learn to take "feedback" (ie criticism) Accepting criticism is actually a skill. YOU ARE NOT YOUR CODE. Development is a continuum.
  • 27. DROP YOUR EGO! It’s just not cool here.
  • 28. DON’T GET DISHEARTENED All mistakes will eventually be washed clean by time and entropy. Nobody cares how many times you fall down, ONE fewer than the times you get up all that matters