Brad wood -_whats_a_pull_request

49
What's a Pull Request (Contributing to Open Source) Brad Wood @bdw429s

description

 

Transcript of Brad wood -_whats_a_pull_request

Page 1: Brad wood -_whats_a_pull_request

What's a Pull Request(Contributing to Open Source)

Brad Wood

@bdw429s

Page 2: Brad wood -_whats_a_pull_request

Who Am I?● ColdFusion Architect (12 years)

● Geek

● Android Lover

● Blogger (codersrevolution.com)

● ColdBox Platform Evangelist

● Musician

● Shade-Tree Mechanic

● Husband (11 years)

● Dad (3 beautiful girls)

Page 3: Brad wood -_whats_a_pull_request

In this Session

● Open Source● Getting off your duff● Source control● Double Rainbows● GitHub● Submitting a pull request

Page 4: Brad wood -_whats_a_pull_request

What Is Open Source?

Source code of software is publicly available

Page 5: Brad wood -_whats_a_pull_request

What Is Open Source?

Free*

*Gratis versus Libre

"Think free as in free speech, not free beer." -- Richard Stallman

Page 6: Brad wood -_whats_a_pull_request

What Is Open Source?

Not all free software is OSS

Not all OSS is free

Page 7: Brad wood -_whats_a_pull_request

What Is Open Source?

License controls what you can and can't do with the software. (www.choosealicense.com)

● GPL● Apache● MIT● BSD

Page 8: Brad wood -_whats_a_pull_request

What Is Open Source?

Support, training, or feature development may be offeredfor charge

Page 9: Brad wood -_whats_a_pull_request

What Is Open Source?

Everyone can view, understand, and modify yourcode

Page 10: Brad wood -_whats_a_pull_request

What Is Open Source?

Everyone can view, understand, and exploit yourcode

Page 11: Brad wood -_whats_a_pull_request

Why Release OSS

● Open Exchange● Collaborative Participation● Transparency● Meritocracy● Community

Page 12: Brad wood -_whats_a_pull_request

Why Use OSS

● Less Restrictive● Easier to debug● Can be modified● Avoid lock-in● Security/Quality (many eyes)

Page 13: Brad wood -_whats_a_pull_request

Why Avoid OSS

● Poor community support● Small projects “dry up”● Lack documentation● Bad ease of use● Disorganized

Page 14: Brad wood -_whats_a_pull_request

Fight Back

Apache Software Foundation

Open Source Initiative

Eclipse Foundation

Creative Commons

Page 15: Brad wood -_whats_a_pull_request

Fight Back

Open CFML Foundation

Team CF Advance

Page 16: Brad wood -_whats_a_pull_request

Plug In

● Stay current● Ask questions● Answer questions● Report bugs● Give back

Page 17: Brad wood -_whats_a_pull_request

Contributing To Others' Work

● Documentation● New features● Bug fixes● Typos

Page 18: Brad wood -_whats_a_pull_request

Go To The Source

● BitBucket● Google Code● SourceForge● Assembla● GitHub

Page 19: Brad wood -_whats_a_pull_request

What is source control?

The management of changes to documents and other collections of information. Changes are identified

by unique “revision" identifiers which are associated with a timestamp and

the person making the change. Revisions can be compared,

restored, and merged.

Page 20: Brad wood -_whats_a_pull_request

What is source control?

Page 21: Brad wood -_whats_a_pull_request

What is source control?

Page 22: Brad wood -_whats_a_pull_request

What is source control?

Page 23: Brad wood -_whats_a_pull_request

What is source control?

Page 24: Brad wood -_whats_a_pull_request

What is source control?

Page 25: Brad wood -_whats_a_pull_request

GitHub Terms

● Distributed Source Control● Fork● Push/Pull● Remotes (origin, upstream)● Clone● Branch● Pull Request

Page 26: Brad wood -_whats_a_pull_request

GitHub Model

Page 27: Brad wood -_whats_a_pull_request

GitHub Model

Page 28: Brad wood -_whats_a_pull_request

GitHub Model

Page 29: Brad wood -_whats_a_pull_request

GitHub Model

Page 30: Brad wood -_whats_a_pull_request

GitHub Model

Page 31: Brad wood -_whats_a_pull_request

GitHub Model

Page 32: Brad wood -_whats_a_pull_request

GitHub Model

Page 33: Brad wood -_whats_a_pull_request

What You Need

● GitHub account● Git client

– IDE plugins like eGit

– GitHub for Windows

– SourceTree

– SmartGit

● A bit of time and patience

Page 34: Brad wood -_whats_a_pull_request

Demos

● Forking a repository on GitHub● Cloning a repository locally● Making changes● Submitting a pull request

Page 35: Brad wood -_whats_a_pull_request
Page 36: Brad wood -_whats_a_pull_request
Page 37: Brad wood -_whats_a_pull_request
Page 38: Brad wood -_whats_a_pull_request
Page 39: Brad wood -_whats_a_pull_request
Page 40: Brad wood -_whats_a_pull_request
Page 41: Brad wood -_whats_a_pull_request
Page 42: Brad wood -_whats_a_pull_request
Page 43: Brad wood -_whats_a_pull_request
Page 44: Brad wood -_whats_a_pull_request
Page 45: Brad wood -_whats_a_pull_request
Page 46: Brad wood -_whats_a_pull_request
Page 47: Brad wood -_whats_a_pull_request
Page 48: Brad wood -_whats_a_pull_request
Page 49: Brad wood -_whats_a_pull_request

Questions?

Brad Wood

www.codersrevolution.com

[email protected]

@bdw429s

github.com/bdw429s