let's contribute

61
Let's Contribute ANOOP THOMAS MATHEW @atmb4u CTO @ Profoundis Labs (one day workshop) FOSSMeet 2014 NIT, Calicut

Upload: anoop-thomas-mathew

Post on 08-Sep-2014

217 views

Category:

Software


3 download

DESCRIPTION

Contribute to Opensource - A tutorial on what to do and how to do for beginners.

TRANSCRIPT

Page 1: Let's Contribute

Let's ContributeANOOP THOMAS MATHEW

@atmb4uCTO @ Profoundis Labs

(one day workshop)

FOSSMeet 2014NIT, Calicut

Page 2: Let's Contribute

➢Who Am I

➢Quick Hands Up!➢ project contributors ?➢ git users ?➢ coders – python/C/C++/javascript/java ?

Welcome!

Page 3: Let's Contribute

Contributing to Communitywe need to be producers; not just consumers!

Page 4: Let's Contribute

Group of 5

Page 5: Let's Contribute

Contribution Options

Documentation

Page 6: Let's Contribute

Contribution Options

Bug Reports

Page 7: Let's Contribute

Contribution Options

Review

Page 8: Let's Contribute

Contribution Options

Feature Requests

Page 9: Let's Contribute

Contribution Options

Feature Requests

Page 10: Let's Contribute

Contribution Options

Development

Page 11: Let's Contribute

Contribution Options

Project Design

Page 12: Let's Contribute

Contribution Options

Release Management

Page 13: Let's Contribute

Contribution Options

Maintaining

Page 14: Let's Contribute

Contribution Options

Testing

Page 15: Let's Contribute

Contribution Options

Tutorials and Code Samples

Page 16: Let's Contribute

Contribution Options

Translations

Page 17: Let's Contribute

philosophical methodologies of open source

We are gonna play a

GAME !

Page 18: Let's Contribute

philosophical methodologies of open source no more boring!

We are gonna play a

GAME !

Page 19: Let's Contribute

we'll create a calculator

Page 20: Let's Contribute

Rules

●Name your Team

Page 21: Let's Contribute

Rules

●Create personal github account.

Page 22: Let's Contribute

Rules

●Choose your comfortable language

Page 23: Let's Contribute

Rules

●Learn git

Page 24: Let's Contribute

Rules

●Document everything you write

Page 25: Let's Contribute

Rules

●write Tests for everything you write

Page 26: Let's Contribute

Rules

●Each one of you should be involved

Page 27: Let's Contribute

Rules

●Commit each change

Page 28: Let's Contribute

Rules

●push to the repo allocated to you

Page 29: Let's Contribute

Rules

●It must be extensibleelse might have to redo it!

Page 30: Let's Contribute

Rules

●one task will be given every 15 mins

Page 31: Let's Contribute

Learn some git

try.github.io

Quick Referencegit initgit statusgit add <filename>git commit -m “Message”git remote add origin <url>git remote -vgit push origin mastergit pull origin mastergit mergegit rm <filename>

Page 32: Let's Contribute

SimpleCalculatorAddSubtractDivideMultiply

Task #1

Page 33: Let's Contribute

SimpleCalculatorAddSubtractDivideMultiply

Review #1

Documented?Test cases added?Committed?Pushed?Who is idle in team?

Page 34: Let's Contribute

➢log➢pow(x,y)➢mod

Task #2

Page 35: Let's Contribute

●Coding Style – GNU C/ Python PEP8●Testing Frameworks●Tickets/Issues/Bugs

INTERMISSION

Page 36: Let's Contribute

➢sin➢cos➢undo feature

Task #3

Page 37: Let's Contribute

➢tan➢add History to the calcuator

Task #4

Page 38: Let's Contribute

Conversion➢hex➢binary➢decimal

Task #5

Page 39: Let's Contribute

Polynomial Solver

x2+x+1 = 0

Task #6

Page 40: Let's Contribute

➢Polynomial Solver➢ any second degree polynomial

➢Expression Evaluator➢Paranthesis

Task #7

Page 41: Let's Contribute

➢Polynomial Solver

➢Any nth degree polynomial

Task #8

Page 42: Let's Contribute

Good News EveryOne! Let's review some code

Page 43: Let's Contribute

AskMeAnything

Break

Page 44: Let's Contribute

Development Process

➢ pick any open source project

➢ pick one which you use or want to use➢ any of it you find interesting

Page 45: Let's Contribute

Development Process

➢ clone code

➢ find location from the website➢ use git or other version control system

Page 46: Let's Contribute

Development Process

➢ install it from source code

Page 47: Let's Contribute

Development Process

➢ get it running; use it

➢ Might need some external libraries.➢ Look at README, INSTALL

or Installation Guide

Page 48: Let's Contribute

Development Process

➢ translate project to mother tonguetransifex.com

Page 49: Let's Contribute

Development Process

➢ read documentation

Page 50: Let's Contribute

Development Process

➢ write documentation

Page 51: Let's Contribute

Development Process

➢ write tests

Page 52: Let's Contribute

Development Process

➢ browse bug tracker/issues/tickets

Page 53: Let's Contribute

Development Process

➢ subscribe to mailing list; chat over IRC

Page 54: Let's Contribute

Development Process

➢ discuss with the community

Page 55: Let's Contribute

Development Process

➢ find priorities for the community; talk.

Page 56: Let's Contribute

Development Process

➢ find tickets to work on

tickets tagged: 'low hanging fruit', 'easy pickings'

Page 57: Let's Contribute

Development Process

Let's make the world a better place!

Page 58: Let's Contribute

https://leanpub.com/opensourcebook/

A Code Explorer's Guide to Open Source Jungle

Page 59: Let's Contribute

reach me at

999 53 44 675@atmb4u

[email protected]

Page 60: Let's Contribute

This is the end.

or is this the begining?

Your Choice !Ideas

● talk to people – group on every week● use time more effectively● find opportunities to contribute● let other's see your code

Page 61: Let's Contribute

Thank You

@atmb4u

Feedback @ bit.do/quickfeedback