BDD for the OSS Contribution Process

  • 320 views
Uploaded on

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
320
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • \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

Transcript

  • 1. BDD for the OSS Contribution ProcessMike Gehard, Software Engineer mgehard@pivotallabs.com @mikegehard
  • 2. Feature:
  • 3. Feature: As a prospective open source contributor
  • 4. Feature: As a prospective open source contributor I would like to be able to easily contribute to a project
  • 5. 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
  • 6. Scenario: Easily set up a development environment
  • 7. Scenario: Easily set up a development environment Given there is an OSS project that I want to work on
  • 8. 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
  • 9. 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
  • 10. 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”
  • 11. 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”
  • 12. 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
  • 13. 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
  • 14. Scenario: Contribute code
  • 15. Scenario: Contribute code Given I have green tests
  • 16. Scenario: Contribute code Given I have green tests When I write tests for the functionality I want to add
  • 17. Scenario: Contribute code Given I have green tests When I write tests for the functionality I want to add And I watch them fail
  • 18. 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
  • 19. 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
  • 20. Scenario: Have my commit integrated in the project
  • 21. Scenario: Have my commit integrated in the project Given I have have submitted a well tested patch
  • 22. Scenario: Have my commit integrated in the project Given I have have submitted a well tested patch When I wait about a week
  • 23. 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
  • 24. 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
  • 25. Make it easy to set up dev environmentWrite well tested codeQuickly integrate changesKeep you contributors happy
  • 26. Be the change you wish to see in the world.- M Gandhi