Top Banner
23

Managing and contributing to open source projects

Mar 22, 2017

Download

Software

Spark Solutions
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Managing and contributing to open source projects
Page 2: Managing and contributing to open source projects

About me

Ruby & JavaScript engineer with 10 years of experience.

Worked for startups, software houses, marketing agencies. Founded my own startup with 2 VC funds, exited 2 years ago.

CEO @ Spark Solutions

Tech lead @ Spree Open Source

Page 3: Managing and contributing to open source projects

We will talk about..

1. Managing large scale Open Source projects

2. Contributing to Open Source

Page 4: Managing and contributing to open source projects
Page 5: Managing and contributing to open source projects

Spree Open Source Project

• biggest and most popular e-commerce framework for Ruby & Rails

• used by well-known brands and 45k stores aroung the globe

• created by Sean Schofield in 2007• $6.5+ mln of funding

Page 6: Managing and contributing to open source projects

Spree Open Source Project

• 650+ contributors• 7k GitHub stars• 16k commits• 2.6k tests

Page 7: Managing and contributing to open source projects

Spark + Spree = :heart:

• Spree is in our company’s DNA• 90% of our projects are Spree-based• we started working with Spree around 2010• we were chosen by Spree CEO to lead the

open source project forward• contributed to several Spree extensions in the

past

Page 8: Managing and contributing to open source projects

Healthy OSS project needs..

• clear development roadmap• dedicated Core Team• project management• community management• reasonable versioning policy and migration

path

Page 9: Managing and contributing to open source projects

OSS is not only writing code

• coding is less than 50% of time spent on OSS• reviewing PRs• responding to Issues• communicating with the community

Page 10: Managing and contributing to open source projects

Tools we use

Page 11: Managing and contributing to open source projects

Easy contributor onboarding

• developer docs• CONTRIBUTING.md• coding style guidelines• Rubocop/ESlint/Sasslint/editorconfig config

files in project• CI & other tools integrated into the process

Page 12: Managing and contributing to open source projects

Be polite

• say “Thank you” a lot• be patient• be communicative• be helpful

Page 13: Managing and contributing to open source projects

Be assertive

• Thanks, but..• Not everything can be merged• Less is more• know when to say NO

Page 14: Managing and contributing to open source projects

CONTRIBUTING

Page 15: Managing and contributing to open source projects

Why contribute?

• for fun & profit :)• learing new stuff• meeting interesting people from around the

globe• sharing knowledge• increasing Your value in the job market

Page 16: Managing and contributing to open source projects

How to contribute?

1. Find a problem (from your own experience or check the Issues section of the project)

2. Code3. Submit a PR4. Profit!

Page 17: Managing and contributing to open source projects

A really bad PR...

Page 18: Managing and contributing to open source projects

A good PR!

Page 19: Managing and contributing to open source projects

What makes a good PR?

• small• fixes only one problem at a time• well described in proper english (use

grammarly!)• includes additional tests if needed

Page 20: Managing and contributing to open source projects

What makes a good PR?

• Tackling multiple issues? split it into multiple commits

• Tackling one issue? Squash your commits into one

Page 21: Managing and contributing to open source projects

Useful GIT commands

• git rebase -i HEAD~5squash multiple commits into one

• git commit --ammendchange commit message (eg. fix a typo)

Page 22: Managing and contributing to open source projects

Other forms of contributions

• file issues• help other community members• star projects you use• code review PRs

Page 23: Managing and contributing to open source projects

Thank you!