• Save
BDD for the OSS Contribution Process
Upcoming SlideShare
Loading in...5
×
 

BDD for the OSS Contribution Process

on

  • 438 views

A lightening talk that I gave at Mountain West Ruby Conf about how I feel that the OSS contribution system should work.

A lightening talk that I gave at Mountain West Ruby Conf about how I feel that the OSS contribution system should work.

Statistics

Views

Total Views
438
Views on SlideShare
438
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n\n
  • \n\n
  • \n\n
  • \n\n
  • \n\n
  • \n\n
  • \n\n
  • \n\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Thanks to Evan Pheonix and the Rubinius project for the idea of commit rights.\n
  • Thanks to Evan Pheonix and the Rubinius project for the idea of commit rights.\n
  • Thanks to Evan Pheonix and the Rubinius project for the idea of commit rights.\n
  • Thanks to Evan Pheonix and the Rubinius project for the idea of commit rights.\n
  • Thanks to Evan Pheonix and the Rubinius project for the idea of commit rights.\n
  • \n
  • \n

BDD for the OSS Contribution Process BDD for the OSS Contribution Process Presentation Transcript

  • BDD for the OSS Contribution ProcessMike Gehard, Software Engineer mgehard@pivotallabs.com @mikegehard
  • Feature:
  • Feature: As a prospective open source contributor
  • Feature: As a prospective open source contributor I would like to be able to easily contribute to a project
  • Feature: As a prospective open source contributor I would like to be able to easily contribute to a project In order to give back to the community
  • Scenario: Easily set up a development environment
  • Scenario: Easily set up a development environment Given there is an OSS project that I want to work on
  • Scenario: Easily set up a development environment Given there is an OSS project that I want to work on When I clone the git repo
  • Scenario: Easily set up a development environment Given there is an OSS project that I want to work on When I clone the git repo And I cd into the project
  • Scenario: Easily set up a development environment Given there is an OSS project that I want to work on When I clone the git repo And I cd into the project And I run “bundle install”
  • Scenario: Easily set up a development environment Given there is an OSS project that I want to work on When I clone the git repo And I cd into the project And I run “bundle install” And I run “rake”
  • Scenario: Easily set up a development environment Given there is an OSS project that I want to work on When I clone the git repo And I cd into the project And I run “bundle install” And I run “rake” Then I should see all of the tests pass
  • Scenario: Easily set up a development environment Given there is an OSS project that I want to work on When I clone the git repo And I cd into the project And I run “bundle install” And I run “rake” Then I should see all of the tests pass And I can start working
  • Scenario: Contribute code
  • Scenario: Contribute code Given I have green tests
  • Scenario: Contribute code Given I have green tests When I write tests for the functionality I want to add
  • Scenario: Contribute code Given I have green tests When I write tests for the functionality I want to add And I watch them fail
  • Scenario: Contribute code Given I have green tests When I write tests for the functionality I want to add And I watch them fail And I write code to make them pass
  • Scenario: Contribute code Given I have green tests When I write tests for the functionality I want to add And I watch them fail And I write code to make them pass Then I can easily push code to a fork of the repo
  • Scenario: Have my commit integrated in the project
  • Scenario: Have my commit integrated in the project Given I have have submitted a well tested patch
  • Scenario: Have my commit integrated in the project Given I have have submitted a well tested patch When I wait about a week
  • Scenario: Have my commit integrated in the project Given I have have submitted a well tested patch When I wait about a week Then I should be able to see my commit in the repo
  • Scenario: Have my commit integrated in the project Given I have have submitted a well tested patch When I wait about a week Then I should be able to see my commit in the repo And I should have commit rights in the main repo
  • Make it easy to set up dev environmentWrite well tested codeQuickly integrate changesKeep you contributors happy
  • Be the change you wish to see in the world.- M Gandhi