Slide 1

Slide 1 text

O P E N S O U R C E W H A T ’ S T H E F U S S A B O U T - Sushant Hiray

Slide 2

Slide 2 text

E R R M W H AT ? O P E N S O U R C E

Slide 3

Slide 3 text

• O P E N A S I N F R E E • O P E N A S I N A C C E S S • O P E N A S I N N O T C L O S E D • O P E N A S I N R E U S E A N D C H A N G E • O P E N A S I N A N Y P L A C E A N D F O R A N Y O N E O P E N S O U R C E P H I L O S O P H Y

Slide 4

Slide 4 text

W H Y O P E N S O U R C E S O F T WA R E ? • Availability of source code • No re-inventing of wheel • Quality is perhaps better • Costs less/free as compared to proprietary counterparts • Anyone can fix bugs and adapt accordingly

Slide 5

Slide 5 text

P H I L O S O P H Y B E H I N D G S O C Why does Google hold it every year?

Slide 6

Slide 6 text

L O N G T E R M B E N E F I T S • Increasing Open Source participation among students • Help open source software projects in finding interested and capable developers • Promote collaborative coding among students

Slide 7

Slide 7 text

S H O R T T E R M B E N E F I T S • Provide budding developers with exposure to industry level code • Help the selected FOSS projects to get closer to their next release • Forge relationships between various open source communities and universities

Slide 8

Slide 8 text

W H AT ’ S I N I T F O R Y O U ?

Slide 9

Slide 9 text

GSoC Swag

Slide 10

Slide 10 text

T H E O B V I O U S B E N E F I T S • 5500 USD (Quite a huge sum!) • T Shirt and other freebies • Resume point • Bragging Rights

Slide 11

Slide 11 text

F U N , E X P E R I E N C E A N D C O N TA C T S M O N E Y, FA M E A N D R E S P E C T <

Slide 12

Slide 12 text

T H E M O R E I M P O R TA N T B E N E F I T S • Exposure to open source development • Working with projects > million lines of code • Working collaboratively with a team that is distributed globally • Working on production level code • Learning from the pro developers

Slide 13

Slide 13 text

M Y E X P E R I E N C E • How a large codebase is managed • Good programming techniques • Time Management • Code Review • Improved soft skills • Working in sync according to weird timezones

Slide 14

Slide 14 text

T I P S F O R F U T U R E G S O C C E R S • Choose a project wisely (Organizations such as Mozilla, SymPy etc get a lot of applications, which means lower chance of selection) • Choose a project which matches your skills • Expected to work 20-30 hrs every week. Can vary according to the org. (SymPy expects 40 hrs! ) • Be polite and patient on mailing lists

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

G E T T I N G S TA R T E D W I T H O P E N S O U R C E

Slide 17

Slide 17 text

C H O O S I N G A L A N G U A G E • Possibly your favourite programming language • Should’ve enough experience with the language • If you’re not sure work on a mini project. github.com/ karan/Projects has a lot of easy to complete project ideas.

Slide 18

Slide 18 text

F I N D I N G E A S Y T O F I X B U G S There are 2 ways to start filtering bugs: • Fixing random bugs • Choosing a project and diving deep!

Slide 19

Slide 19 text

F I N D I N G E A S Y T O F I X B U G S OpenHatch is primarily for beginners and filters bugs wrt language and projects. I started searching for bugs using openhatch.

Slide 20

Slide 20 text

C A U T I O N It might be possible that a bug is marked easy to fix, but it is not easily understood by a beginner. Pro Tip: Posting willingness to work on a bug almost always help. Easy-to-fix bugs/mentored bugs have a dedicated mentor who will guide you on fixing the bug.

Slide 21

Slide 21 text

B U G F O U N D . W H AT N E X T ? Post on the relevant bug about your willingness to work on it. For eg: Hi, I’m Sushant. I’m currently new here and wish to work on this bug. Can you please guide me on the next steps? You should get a reply back by the mentor explaining on setting up your system and reproducing the bug. ProTip: In case you’ve figured out something more about the bug, do mention it in your initial post.

Slide 22

Slide 22 text

K N O W Y O U R T O O L S Meanwhile its good to know about these tools: • IRC (Internet Relay Chat) • Mailing Lists • Version Control Systems (git/hg/svn) • Bugzilla / Issue Tracker

Slide 23

Slide 23 text

N E X T S T E P S • An important part in fixing bugs is to be able to reproduce them. 
 In some cases, the bug might be a programming error and need not be reproduced. • Understanding the relevant codebase.
 The entire project might be million lines, you just need to understand enough to be able to fix the erroneous code

Slide 24

Slide 24 text

N E X T S T E P S • Show Interest • Write a patch to fix the bug • Test the change. Possibly add unit tests to check your changes. • Get the code reviewed • Iterate till you get a r+

Slide 25

Slide 25 text

P R O U D LY S H O W O F F !

Slide 26

Slide 26 text

Find an interesting bug and get started! N O W W H AT ?

Slide 27

Slide 27 text

Any Questions?