Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Success of Rails: Ensuring Growth for the N...

The Success of Rails: Ensuring Growth for the Next 100 Years

RailsConf 2022 Day 2 Opening Keynote in which I explore the history of Rails, Shopify's role in the evolution of Rails, and the reasons that more companies should be investing in the framework with ongoing contributions.

Eileen M. Uchitelle

May 18, 2022
Tweet

More Decks by Eileen M. Uchitelle

Other Decks in Programming

Transcript

  1. 2004 Rails is born Tobi receives a zip of Rails

    2005 Snowdevil launches Rails 1.0 is released The History of Rails
  2. The History of Rails 2006 Shopify launches 2004 Rails is

    born Tobi receives a zip of Rails 2005 Snowdevil launches Rails 1.0 is released
  3. 2008 GitHub launches The History of Rails 2006 Shopify launches

    2004 Rails is born Tobi receives a zip of Rails 2005 Snowdevil launches Rails 1.0 is released
  4. Rails moves to GitHub The History of Rails 2008 GitHub

    launches 2006 Shopify launches 2004 Rails is born Tobi receives a zip of Rails 2005 Snowdevil launches Rails 1.0 is released
  5. 2004 Rails is born Tobi receives a zip of Rails

    2008 GitHub launches Rails moves to GitHub 2005 Snowdevil launches Rails 1.0 is released 2006 Shopify launches The History of Rails
  6. 1. Core 2. Committers 3. Issue 4. Triage Security Includes

    Core and other security-focused contributors Rails Governance Structure
  7. Security Team • Triaging security issues on HackerOne and [email protected]

    • Writing patches for vulnerabilities • Requests CVE
  8. Core Team • Triage issues, review PRs, nurture contributors •

    Setting the direction of the framework • Releasing Rails
  9. Core Team • Triage issues, review PRs, nurture contributors •

    Setting the direction of the framework • Releasing Rails • Setting Policy & Guidelines
  10. Core Team • Triage issues, review PRs, nurture contributors •

    Setting the direction of the framework • Releasing Rails • Setting Policy & Guidelines • Contributor Growth
  11. Making Rails more welcoming • Open Discord server coming soon

    • Implement review rounds for PRs • Disabled the stale bot
  12. Making Rails more welcoming • Open Discord server coming soon

    • Implement review rounds for PRs • Disabled the stale bot • Open source of fi ce hours at RailsConf: Shopify Booth - today 3-4pm PST
  13. My History of Rails 2014 First Rails PR 2009 First

    learn of Rails 2011 Attend Big Nerd Ranch
  14. My History of Rails 2014 First Rails PR 2009 First

    learn of Rails 2011 Attend Big Nerd Ranch Issues Team
  15. My History of Rails 2015 Committers Team 2014 First Rails

    PR 2009 First learn of Rails 2011 Attend Big Nerd Ranch Issues Team
  16. My History of Rails 2015 Committers Team 2014 First Rails

    PR 2009 First learn of Rails 2011 Attend Big Nerd Ranch Issues Team 2017 Core Team
  17. What does a good PR look like? • Write a

    descriptive commit message
  18. Fix tag helper regression Vue.js, alpinejs, and potentially other JS

    libraries support tags starting with `@` symbols. This was broken by the recent security release in 649516c. I've only added `@` to the list even though there are potentially other safe characters. We can add more if necessary (and if safe). Fixes: * #45014 * #44972
  19. What does a good PR look like? • Write a

    descriptive commit message • PRs should be 1 commit
  20. What does a good PR look like? • Write a

    descriptive commit message • PRs should be 1 commit • Open PRs against `main`
  21. What does a good PR look like? • Write a

    descriptive commit message • PRs should be 1 commit • Open PRs against `main` • Add tests & docs
  22. What does a good PR look like? • Write a

    descriptive commit message • PRs should be 1 commit • Open PRs against `main` • Add tests & docs • Add a CHANGELOG entry if applicable
  23. * `rails db:schema:{dump,load}` now checks `ENV["SCHEMA_FORMAT"]` before config Since `rails

    db:structure:{dump,load}` was deprecated there wasn't a simple way to dump a schema to both SQL and Ruby formats. You can now do this with an environment variable. For example: ``` SCHEMA_FORMAT=sql rake db:schema:dump ``` *Alex Ghiculescu*
  24. What does a good PR look like? • Write a

    descriptive commit message • PRs should be 1 commit • Open PRs against `main` • Add tests & docs • Add a CHANGELOG entry if applicable • Follow Rails style and patterns
  25. What does a good PR look like? • Write a

    descriptive commit message • PRs should be 1 commit • Open PRs against `main` • Add tests & docs • Add a CHANGELOG entry if applicable • Follow Rails style and patterns • Don't break public APIs