SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
I        To
       contribute
WANT       to
         Ruby
YOU       on
         Rails
Sure you can!

I felt like that too!

It's not that hard…
Go to an Open
Source Hacknight!

Thanks, Johannes Edelstam :)

We should have more of those.
Find something
                 you want to fix,
                     then…

open http://github.com/rails/rails
Search issues and pull requests – don't duplicate work
Set up a local copy
First, fork Rails

Clone your repo

Add github.com/rails/rails as upstream git remote
Get the tests running

Use rvm or rbenv – tests give some warnings in 1.9.

Bundle install – I got warnings about journey, but it works.

Bundle exec rake test – takes about 30 mins on my laptop.
Create a branch and go to work

Pick a good branch name. Others will see it.

Clear, concise code as always! Follow the Rails coding style.

Write tests, and make sure all tests pass.

Have someone else look at the code. (Thanks, David Billskog)
Push to github & do a Pull Request

First, fetch from upstream and rebase your work.

Push your branch to origin – your github repo.

Go to your new branch on github.

Push the magic Pull Request button.
Pull Request primer

Explain your code and why it should be merged into Rails.

Your message starts a discussion thread.

If you need to make changes, do them and push them. The
pull request will be automatically updated.

Help the Rails team. Be kind. In return, they'll help you.
Boom!




That was easy
But there's a quicker way…

Add a new remote docrails: git@github.com:lifo/docrails.git

Create a new docrails branch, set to track docrails remote.

Make documentation fixes and push them straight up.

Boom! You're a contributor!
Now you're one of THEM
  http://contributors.rubyonrails.org/
Happy camper ->
Resources
 RailsGuides: Contributing to Ruby on Rails
http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html

                Rails BugMash Guide
        http://bugmash.com/BugMashManual.pdf

Railscasts #300 Contributing to Open Source
            http://railscasts.com/episodes/300

Mais conteúdo relacionado

Mais procurados

Your first Elm program
Your first Elm programYour first Elm program
Your first Elm programPer Lundholm
 
Quick dive into Ruby on Rails
Quick dive into Ruby on RailsQuick dive into Ruby on Rails
Quick dive into Ruby on RailsHosam Aly
 
Stockholm Jenkins Area Meetup, March 2017
Stockholm Jenkins Area Meetup, March 2017Stockholm Jenkins Area Meetup, March 2017
Stockholm Jenkins Area Meetup, March 2017Andrey Devyatkin
 
Hackerbeach: working from an island
Hackerbeach: working from an islandHackerbeach: working from an island
Hackerbeach: working from an islandDoYouBuzz
 
Building a µservice with Kotlin, Micronaut & GCP
Building a µservice with Kotlin, Micronaut & GCPBuilding a µservice with Kotlin, Micronaut & GCP
Building a µservice with Kotlin, Micronaut & GCPRobert MacLean
 
Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...
Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...
Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...VMware Tanzu
 
Leiningen 2 - Humane build management for Clojure
Leiningen 2 - Humane build management for ClojureLeiningen 2 - Humane build management for Clojure
Leiningen 2 - Humane build management for ClojureJohn Stevenson
 
GenRetry: Simple Exponential Backoff in Elixir
GenRetry: Simple Exponential Backoff in ElixirGenRetry: Simple Exponential Backoff in Elixir
GenRetry: Simple Exponential Backoff in ElixirPete Gamache
 
Madison PHP 2015 - DevOps For Small Teams
Madison PHP 2015 - DevOps For Small TeamsMadison PHP 2015 - DevOps For Small Teams
Madison PHP 2015 - DevOps For Small TeamsJoe Ferguson
 
Git Ready! Workflows
Git Ready! WorkflowsGit Ready! Workflows
Git Ready! WorkflowsAtlassian
 
Building Open-source React Components
Building Open-source React ComponentsBuilding Open-source React Components
Building Open-source React ComponentsZack Argyle
 
Building Open-Source React Components
Building Open-Source React ComponentsBuilding Open-Source React Components
Building Open-Source React ComponentsZack Argyle
 
Simulation in R and Python
Simulation in R and PythonSimulation in R and Python
Simulation in R and PythonShunichi Otsuka
 
Rails automatic test driven development
Rails automatic test driven developmentRails automatic test driven development
Rails automatic test driven developmenttyler4long
 
End to-end async and await
End to-end async and awaitEnd to-end async and await
End to-end async and awaitvfabro
 

Mais procurados (20)

Testing Toolbox
Testing ToolboxTesting Toolbox
Testing Toolbox
 
Resolving xcode git merge conflict
Resolving xcode git merge conflictResolving xcode git merge conflict
Resolving xcode git merge conflict
 
Your first Elm program
Your first Elm programYour first Elm program
Your first Elm program
 
Smolder Introduction
Smolder IntroductionSmolder Introduction
Smolder Introduction
 
Quick dive into Ruby on Rails
Quick dive into Ruby on RailsQuick dive into Ruby on Rails
Quick dive into Ruby on Rails
 
Stockholm Jenkins Area Meetup, March 2017
Stockholm Jenkins Area Meetup, March 2017Stockholm Jenkins Area Meetup, March 2017
Stockholm Jenkins Area Meetup, March 2017
 
Hackerbeach: working from an island
Hackerbeach: working from an islandHackerbeach: working from an island
Hackerbeach: working from an island
 
Building a µservice with Kotlin, Micronaut & GCP
Building a µservice with Kotlin, Micronaut & GCPBuilding a µservice with Kotlin, Micronaut & GCP
Building a µservice with Kotlin, Micronaut & GCP
 
Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...
Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...
Cloud Foundry Summit 2015: Rocking the Lattice: A New Path for Cloud Foundry ...
 
Leiningen 2 - Humane build management for Clojure
Leiningen 2 - Humane build management for ClojureLeiningen 2 - Humane build management for Clojure
Leiningen 2 - Humane build management for Clojure
 
GenRetry: Simple Exponential Backoff in Elixir
GenRetry: Simple Exponential Backoff in ElixirGenRetry: Simple Exponential Backoff in Elixir
GenRetry: Simple Exponential Backoff in Elixir
 
Madison PHP 2015 - DevOps For Small Teams
Madison PHP 2015 - DevOps For Small TeamsMadison PHP 2015 - DevOps For Small Teams
Madison PHP 2015 - DevOps For Small Teams
 
Frontend testing with Codeception
Frontend testing with CodeceptionFrontend testing with Codeception
Frontend testing with Codeception
 
Git Ready! Workflows
Git Ready! WorkflowsGit Ready! Workflows
Git Ready! Workflows
 
Building Open-source React Components
Building Open-source React ComponentsBuilding Open-source React Components
Building Open-source React Components
 
Building Open-Source React Components
Building Open-Source React ComponentsBuilding Open-Source React Components
Building Open-Source React Components
 
Simulation in R and Python
Simulation in R and PythonSimulation in R and Python
Simulation in R and Python
 
Rails automatic test driven development
Rails automatic test driven developmentRails automatic test driven development
Rails automatic test driven development
 
Git sourcecontrolpreso
Git sourcecontrolpresoGit sourcecontrolpreso
Git sourcecontrolpreso
 
End to-end async and await
End to-end async and awaitEnd to-end async and await
End to-end async and await
 

Destaque

Destaque (8)

Trabajo Ingles
Trabajo InglesTrabajo Ingles
Trabajo Ingles
 
Рисунок
РисунокРисунок
Рисунок
 
Umbanda candomble
Umbanda candombleUmbanda candomble
Umbanda candomble
 
Delegación Miguel Hidalgo programa fiestas decembrinas
Delegación Miguel Hidalgo programa fiestas decembrinasDelegación Miguel Hidalgo programa fiestas decembrinas
Delegación Miguel Hidalgo programa fiestas decembrinas
 
Codemocracy
CodemocracyCodemocracy
Codemocracy
 
Art_Chitecture Prop Visual
Art_Chitecture Prop VisualArt_Chitecture Prop Visual
Art_Chitecture Prop Visual
 
Codigo fiscal
Codigo fiscalCodigo fiscal
Codigo fiscal
 
Statistika Odgovori
Statistika OdgovoriStatistika Odgovori
Statistika Odgovori
 

Semelhante a Contribute to rails

Ruby tutorial
Ruby tutorialRuby tutorial
Ruby tutorialknoppix
 
Inside GitHub
Inside GitHubInside GitHub
Inside GitHuberr
 
Message Queues in Ruby - An Overview
Message Queues in Ruby - An OverviewMessage Queues in Ruby - An Overview
Message Queues in Ruby - An OverviewPradeep Elankumaran
 
Exploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQLExploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQLBarry Jones
 
RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)alloy020
 
Boxen: How to Manage an Army of Laptops and Live to Talk About It
Boxen: How to Manage an Army of Laptops and Live to Talk About ItBoxen: How to Manage an Army of Laptops and Live to Talk About It
Boxen: How to Manage an Army of Laptops and Live to Talk About ItPuppet
 
WTF is Twisted?
WTF is Twisted?WTF is Twisted?
WTF is Twisted?hawkowl
 
Go After 4 Years in Production - QCon 2015
Go After 4 Years in Production - QCon 2015Go After 4 Years in Production - QCon 2015
Go After 4 Years in Production - QCon 2015Travis Reeder
 
DiUS Computing Lca Rails Final
DiUS  Computing Lca Rails FinalDiUS  Computing Lca Rails Final
DiUS Computing Lca Rails FinalRobert Postill
 
Collaborative Package Development in R
Collaborative Package Development in RCollaborative Package Development in R
Collaborative Package Development in Regoodwintx
 
aosp_crave_tutorial-3.pdfhasudshsuajdhkhh
aosp_crave_tutorial-3.pdfhasudshsuajdhkhhaosp_crave_tutorial-3.pdfhasudshsuajdhkhh
aosp_crave_tutorial-3.pdfhasudshsuajdhkhhahmadsubqi1
 
Introduction to rails
Introduction to railsIntroduction to rails
Introduction to railsGo Asgard
 
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyFast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyKyle Drake
 

Semelhante a Contribute to rails (20)

Ruby tutorial
Ruby tutorialRuby tutorial
Ruby tutorial
 
Inside GitHub
Inside GitHubInside GitHub
Inside GitHub
 
First app
First appFirst app
First app
 
Inside GitHub with Chris Wanstrath
Inside GitHub with Chris WanstrathInside GitHub with Chris Wanstrath
Inside GitHub with Chris Wanstrath
 
Ruby on Rails 3 Day BC
Ruby on Rails 3 Day BCRuby on Rails 3 Day BC
Ruby on Rails 3 Day BC
 
Hack Rio/OS
Hack Rio/OSHack Rio/OS
Hack Rio/OS
 
Message Queues in Ruby - An Overview
Message Queues in Ruby - An OverviewMessage Queues in Ruby - An Overview
Message Queues in Ruby - An Overview
 
Exploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQLExploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQL
 
FGCU Camp Talk
FGCU Camp TalkFGCU Camp Talk
FGCU Camp Talk
 
RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)
 
Boxen: How to Manage an Army of Laptops and Live to Talk About It
Boxen: How to Manage an Army of Laptops and Live to Talk About ItBoxen: How to Manage an Army of Laptops and Live to Talk About It
Boxen: How to Manage an Army of Laptops and Live to Talk About It
 
TorqueBox
TorqueBoxTorqueBox
TorqueBox
 
WTF is Twisted?
WTF is Twisted?WTF is Twisted?
WTF is Twisted?
 
Go After 4 Years in Production - QCon 2015
Go After 4 Years in Production - QCon 2015Go After 4 Years in Production - QCon 2015
Go After 4 Years in Production - QCon 2015
 
DiUS Computing Lca Rails Final
DiUS  Computing Lca Rails FinalDiUS  Computing Lca Rails Final
DiUS Computing Lca Rails Final
 
Collaborative Package Development in R
Collaborative Package Development in RCollaborative Package Development in R
Collaborative Package Development in R
 
aosp_crave_tutorial-3.pdfhasudshsuajdhkhh
aosp_crave_tutorial-3.pdfhasudshsuajdhkhhaosp_crave_tutorial-3.pdfhasudshsuajdhkhh
aosp_crave_tutorial-3.pdfhasudshsuajdhkhh
 
Introduction to rails
Introduction to railsIntroduction to rails
Introduction to rails
 
Dev streams2
Dev streams2Dev streams2
Dev streams2
 
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::SynchronyFast, concurrent ruby web applications with EventMachine and EM::Synchrony
Fast, concurrent ruby web applications with EventMachine and EM::Synchrony
 

Último

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Contribute to rails

  • 1. I To contribute WANT to Ruby YOU on Rails
  • 2. Sure you can! I felt like that too! It's not that hard…
  • 3. Go to an Open Source Hacknight! Thanks, Johannes Edelstam :) We should have more of those.
  • 4. Find something you want to fix, then… open http://github.com/rails/rails Search issues and pull requests – don't duplicate work
  • 5. Set up a local copy First, fork Rails Clone your repo Add github.com/rails/rails as upstream git remote
  • 6. Get the tests running Use rvm or rbenv – tests give some warnings in 1.9. Bundle install – I got warnings about journey, but it works. Bundle exec rake test – takes about 30 mins on my laptop.
  • 7. Create a branch and go to work Pick a good branch name. Others will see it. Clear, concise code as always! Follow the Rails coding style. Write tests, and make sure all tests pass. Have someone else look at the code. (Thanks, David Billskog)
  • 8. Push to github & do a Pull Request First, fetch from upstream and rebase your work. Push your branch to origin – your github repo. Go to your new branch on github. Push the magic Pull Request button.
  • 9.
  • 10. Pull Request primer Explain your code and why it should be merged into Rails. Your message starts a discussion thread. If you need to make changes, do them and push them. The pull request will be automatically updated. Help the Rails team. Be kind. In return, they'll help you.
  • 12. But there's a quicker way… Add a new remote docrails: git@github.com:lifo/docrails.git Create a new docrails branch, set to track docrails remote. Make documentation fixes and push them straight up. Boom! You're a contributor!
  • 13. Now you're one of THEM http://contributors.rubyonrails.org/
  • 15. Resources RailsGuides: Contributing to Ruby on Rails http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html Rails BugMash Guide http://bugmash.com/BugMashManual.pdf Railscasts #300 Contributing to Open Source http://railscasts.com/episodes/300