Getting Started Contributing
To Open Source
Brian P. Hogan
• What is open source software?
• Why should I contribute?
• How do I jump in?
• How do I contribute?
What is open source?
Free as in beer
Free as in speech
Why should I
contribute?
Learn From
Others
Give back
Discover new
tools and
technologies
make money
Get paid to do it
Get interviews
and offers
How do I jump
in?
First, build a thing.
"Remove Images"
bookmarklet
JavaScript code
var images = document.getElementsByTagName('img');
while(images.length > 0) {
images[0].parentNode.removeChild(images[0]);
}
Make it a link
<a href="javascript:(function(){
var images = document.getElementsByTagName('img');
while(images.length > 0) {
images[0].parentNode.removeChild(images[0]);
}
})();">Remove images</a>
Second,
embrace
version control
Versioning With Git
Create new repository in folder
$ git init
Add files to be committed
$ git add .
Commit files
$ git commit -m "First release"
Choose A License
Protect your work
• MIT license
• Apache 2.0 license
• GPL
• Creative Commons
http://choosealicense.com/
Write a README
(and learn
Markdown)
README.md
# Hide Images Bookmark
## What it does
Hides all the images on the page
## How to use it
Open `index.html` and drag the link to your bookmarks toolbar.
## How to contribute
Fork this repository, make changes, and send a pull request.
## License
MIT. See `license.txt`
Add your README and License
Add files to be committed
$ git add README.md LICENSE
Commit files
$ git commit -m "Add readme and license"
Share with the world
Push Code
Add Github as a remote
$ git add remote origin https://github.com/napcs/hide_images_bookmarklet
Then push your code
$ git push origin master
How Do I Contribute?
Open Source
Projects need
• Proofreaders
• Designers
• Coders
• Testers
Find The
community
• IRC
• Google Groups
• Email lists
• Slack
(the project homepage usually says
where people meet.)
Identify an issue
Getting Started Contributing To Open Source

Getting Started Contributing To Open Source