Repository: Plan-Vert/open-letter
Branch: main
Commit: b947a017823c
Files: 2
Total size: 17.6 KB
Directory structure:
gitextract_i80fmu_1/
├── .github/
│ └── workflows/
│ └── automod.yml
└── README.md
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/workflows/automod.yml
================================================
name: Auto-Close PRs With >1 Line Changed
permissions:
pull-requests: write
issues: write
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
close_large_pr:
runs-on: ubuntu-latest
steps:
- name: Check PR line changes and close/lock if >1 line
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const pr = context.payload.pull_request;
const prNumber = pr.number;
const { data } = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: prNumber
});
const totalChanges = data.additions + data.deletions;
if (totalChanges > 1) {
// Close the PR
await github.rest.pulls.update({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: prNumber,
state: "closed"
});
// Lock the PR
await github.rest.issues.lock({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
lock_reason: "resolved"
});
// Optionally, leave a comment
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: prNumber,
body: "This pull request was automatically closed and locked because it modifies more than 1 line. Please submit PRs with only a single line change."
});
}
================================================
FILE: README.md
================================================
# Plan Vert
## An open letter to the Rails Core team and Ruby community
David Heinemeier Hansson (DHH) has publicly published writings that make clear he holds [racist](https://web.archive.org/web/20250920182553/http://world.hey.com/dhh/as-i-remember-london-e7d38e64) and [transphobic](https://web.archive.org/web/20250920061926/https://world.hey.com/dhh/gender-and-sexuality-alliances-in-primary-school-at-cis-97f66c06) views, as well as a number of other traits [undesirable](https://tomstu.art/the-dhh-problem) in any figurehead and community leader.
We, the undersigned, call upon the Rails Core team and the wider Ruby community, to:
1. cut ties with DHH and his work from this point forward
2. hard fork Rails and associated projects to a new name and development free from his influence
3. adopt a modern Code of Conduct with suitable community governance
If a forked Rails project can meet these criteria, we pledge to support and cheerlead it to the best of our ability, and will make efforts to change our Rails code to use it at the earliest opportunity.
<!-- Please add your name in alphabetical order! -->
|Name|Project/Affiliation|Contact|
|-|-|-|
|0x1eef|[llm.rb](https://github.com/llmrb/llm)|0x1eef@proton.me|
|Aaron Allen|-|[https://aaronmallen.me](https://aaronmallen.me)|
|Aaron Sumner|-|[@ruralocity@mastodon.social](https://mastodon.social/@ruralocity)|
|Adrian McEwen|[MCQN Ltd](https://mcqn.com)|[@amcewen@mastodon.me.uk](https://mastodon.me.uk/@amcewen)|
|Aji Slater|-|[@doodling.dev](https://bsky.app/profile/doodling.dev)|
|Alexander Gräfe|[-](https://rickenharp.dev)|[@rickrickenharp.bsky.social](https://bsky.app/profile/rickrickenharp.bsky.social)|
|Alison Withonel|-|[@alison@tacobelllabs.net](https://tacobelllabs.net/@alison)|
|Andreas Haller|-|[@ahx](https://ruby.social/@ahx)|
|Andrew France|-|[@odaeus@social.vivaldi.net](https://social.vivaldi.net/@Odaeus)|
|Andrew Nesbitt|[Ecosyste.ms](https://ecosyste.ms)|andrew@ecosyste.ms|
|Andy Callaghan|[-](https://andycallaghan.com)|https://andycallaghan.com|
|Andy Piper|-|[@andypiper@macaw.social](https://macaw.social/@andypiper)|
|Anna Wilcox|[Wilcox Technologies Inc.](https://www.wilcoxti.com/)|[https://www.awilfox.com/](https://www.awilfox.com/)|
|Ariane R.|-|[@ariaru](https://ruby.social/@ariaru)|
|Astrid Gealer|-|[@astrid.place](https://bsky.app/profile/astrid.place)|
|Aurora Nockert|-|[@rawrafox](https://ruby.social/@rawrafox)|
|Austin Ziegler|[mime-types](https://github.com/mime-types), [diff-lcs](https://github.com/halostatue/diff-lcs), [minitar](https://github.com/halostatue/minitar)|[@halostatue@cosocial.ca](https://cosocial.ca/@halostatue)|
|Avner Shanan|-|[https://ashanan.com](https://ashanan.com)|
|Bastian Greshake Tzovaras|[openSNP](https://github.com/opensnp/snpr)|[@gedankenstuecke@scholar.social](https://scholar.social/@gedankenstuecke)|
|Brad Grzesiak|rubyist since 2008|[@listrophy@ruby.social](https://ruby.social/@listrophy)|
|Can Olcer|-|[@can@mstdn.social](https://mstdn.social/@can)|
|Cédric Delalande|[Barley Serializer](https://github.com/MoskitoHero/barley)|[@MoskitoHero@ruby.social](https://ruby.social/@MoskitoHero)|
|Chloe Arciniega|-|[sapphic.moe](https://sapphic.moe)|
|Chris Finazzo|-|[@chrisfinazzo](https://chrisfinazzo.com)|
|Christof Damian|-|[@cdamian@rls.social](https://rls.social/@cdamian)|
|Chuck Lauer Vose|-|[@vosechu@ruby.social](@vosechu@ruby.social)|
|Corey Farwell|-|[rwell.org](https://rwell.org/)|
|Damien Mathieu|Former Rails Issues Team (2012-2014)|[dmathieu](https://github.com/dmathieu), [dmathieu.com](https://dmathieu.com)|
|Daniel Barlow|-|[@dan@axillae.telent.net](https://axillae.telent.net/@dan)|
|Danielle Smith|[mittsu](https://github.com/danini-the-panini/mittsu), [kdl](https://github.com/danini-the-panini/kdl-rb)|[@danini.dev](https://bsky.app/profile/danini.dev)
|David Celis|-|[davidcel.is](https://davidcel.is/about)|
|David Mora|-|[@dgmora](https://github.com/dgmora)|
|David Roetzel|-|[@dave@upp2.com](https://upp2.com/@dave)|
|Denis Defreyne|-|[denisdefreyne.com](https://denisdefreyne.com/)|
|Derek Houck|-|[derekhouck.com](https://derekhouck.com)|
|Dirk Breuer|-|[@code-later](https://github.com/code-later)|
|Dmitry L Rocha|-|[@yetanother.place/@dmitry](https://yetanother.place/@dmitry)|
|Dustin van Schouwen|-|[djvs.co](https://djvs.co)|
|Edward Loveall|-|[edwardloveall.com](https://edwardloveall.com)|
|Eleanor McHugh|rubyist since 2001|[@feyeleanor@ruby.social]|(https://ruby.social/@feyeleanor)|
|Elouan Martinet|User of Mastodon, GitLab and Jekyll|[@Exagone313](https://share.elouworld.org/@Exagone313)|
|Elijah Waxwing|-|[@waxw.ing](https://bsky.app/profile/waxw.ing)|
|Eric Schultz|-|[@wwahammy.com](https://wwahammy.com)|
|Eugen Rochko|-|[@Gargron@mastodon.social](https://mastodon.social/@Gargron)|
|Evangelos Paterakis|-|[@GeopJr@tech.lgbt](https://tech.lgbt/@GeopJr)|
|F|-|[@erbridge@sunspot.garden](https://sunspot.garden/@erbridge)|
|Flynn Peck|-|[@pigeon_@tech.lgbt](https://tech.lgbt/@pigeon_)|
|Giles Bowkett|-|[@gilesb@gmail.com](https://gilesbowkett.com)|
|Glen Pike|-|https://github.com/glenpike|
|Greg Donald|[TDD Book](https://tddbook.com/)|[@gregdonald@mastodon.social](https://mastodon.social/@gregdonald)|
|Gregory Brown|Original author of PrawnPDF|[skillstopractice.com](https://skillstopractice.com)|
|Gregory McIntyre|-|[gregorymcintyre.com](https://gregorymcintyre.com)|
|fell sunderland|-|[hello@fellsunder.land](https://www.fellsunder.land)|
|Hans de Graaff|[Ruby maintainer @ Gentoo Linux](https://packages.gentoo.org/maintainer/ruby@gentoo.org)|[@graaff@ruby.social](https://ruby.social/@graaff)
|Harry Wood|-|[@en.osm.town/@harry_wood](https://en.osm.town/@harry_wood)|
|Henry Catalini Smith|-|henry@catalinismith.se|
|Huy Dinh|-|[@huydinh@hachyderm.io](https://hachyderm.io/@huydinh)|
|Jakub Tuček|-|public@otaznik.net|
|James Jefferies|-|[@jamesjefferies@mastodon.me.uk](https://mastodon.me.uk/@jamesjefferies)|
|James Smith|[Manyfold](https://manyfold.app)|[@floppy@mastodon.me.uk](https://mastodon.me.uk/@Floppy)|
|Jamie Schembri|-|[@jamie.schembri.me](https://bsky.app/profile/jamie.schembri.me)|
|Jan Krutisch|-|[halfbyte@ruby.social](https://ruby.social/@halfbyte)|
|Jan Lelis|-|[@janl@mastodon.social](https://mastodon.social/@janl)|
|Jared White|[Fullstack Ruby](https://fullstackruby.dev)|[@jaredwhite@indieweb.social](https://indieweb.social/@jaredwhite)|
|Jason Garber|[Not to be confused with the other Jason Garber 👇](https://github.com/Plan-Vert/open-letter/pull/56)|[sixtwothree.org](https://sixtwothree.org)|
|Jason Garber|[Not to be confused with the other Jason Garber 👆](https://github.com/Plan-Vert/open-letter/pull/112)|[jasongarber.com](https://jasongarber.com)|
|Javier Cervantes|-|[jvrc.ca](https://www.jvrc.ca)|
|Jay Caines-Gooby|-|[jay.gooby.org](https://jay.gooby.org)|
|Jeff Atwood| co-founder [discourse.org](https://discourse.org), co-founder [Stack Overflow](https://stackoverflow.com/questions), [2008 blog re: DHH](https://blog.codinghorror.com/douchebaggery/)|jatwood@codinghorror.com|
|Jens-Christian Fischer|[Professionelle Webentwicklung mit Ruby on Rails 2 (Book)](https://www.amazon.com/Professionelle-Webentwicklung-mit-Ruby-Rails/dp/3826616839)|[@jcfischer@swiss.social](https://swiss.social/@jcfischer)|
|Jérémy Lecour|-|[jeremy.lecour.fr](https://jeremy.lecour.fr/)|
|JeremyStar™|[staropensource](https://staropensource.de)|[@jeremystartm@fly.staropensource.de](https://fly.staropensource.de/@jeremystartm)|
|Jesse Brooklyn Hannah|-|[jbhannah.net](https://jbhannah.net)|
|Jessica Ete|-|[kohrvid.com](https://www.kohrvid.com)|
|Jessica Phoenix Canady|-|[jess@canady.tech](mailto:jess@canady.tech)|
|Jim O'Donnell|-|[@eatyourgreens@mastodon.social](https://mastodon.social/@eatyourgreens)|
|Jim Kingdon|-|[@soaproot@sfba.social](https://sfba.social/@soaproot)|
|Jochen Lillich|-|[@monospace@floss.social](https://floss.social/@monospace)|
|Joe Sak|-|[@joesak.com](https://bsky.app/profile/joesak.com)
|Joff Miller|Rails user since 2008|[joffotron](https://github.com/joffotron)|
|John Baylor|-|[@johnb@sfba.social](https://sfba.social/@johnb)|
|John Colagioia|-|[home page](https://john.colagioia.net)|
|John Small|-|jds340@gmail.com|
|John-Paul Teti|-|[@jpteti@mastodon.social](https://mastodon.social/@jpteti)|
|Jon Wood|-|[@jon@blankpad.net](https://activitypub.blankpad.net/@jon@blankpad.net/)|
|Jonathon Anderson|-|[@anderson_jon@hachyderm.io](https://hachyderm.io/@anderson_jon)|
|Juanjo Salvador|-|[@jsalvador@mastodon.social](https://mastodon.social/@jsalvador)|
|Karl Oscar Weber the First|[Camping](https://github.com/camping/camping)|[kow.fm](https://kow.fm)|
|Kate Donaldson|-|[@katelovescode](https://github.com/katelovescode)|
|Dr Kim Foale|[Geeks for Social Change](https://gfsc.community/), founder of [PlaceCal](https://github.com/geeksforsocialchange/PlaceCal/)|[@kim@social.gfsc.studio](https://social.gfsc.studio/@kim)
|Konstantin Haase|[Sinatra](https://sinatrarb.com/), [Rack](https://rack.github.io/rack/)|[open-letter@rkh.im](mailto:open-letter@rkh.im)|
|Laurent Sansonetti|RubyGNOME/RubyCocoa/MacRuby/RubyMotion|[hipbyte.com/~lrz](http://hipbyte.com/~lrz)|
|Lea Rosema|-|[@lea@lea.lgbt](https://lea.lgbt/@lea)|
|Liam Arbuckle |-|[TheMrScrooby](https://twitter.com/TheMrScrooby)|
|Lloyd Watkin|-|https://www.evilprofessor.co.uk
|Lucas Dohmen|[The Rails 6/7/8 Way books](https://leanpub.com/therails8way)|[@moonglum@social.yakshed.org](https://social.yakshed.org/@moonglum)|
|Lumen Sierra|-|[@myrialux](https://github.com/myrialux)|
|Luna Nova|-|[@luna@enby.life](https://enby.life/@luna)|
|Maarten Brouwers|-|[https://murb.nl/contact/](https://murb.nl/contact/)|
|Manuel Bustillo|-|[https://blog.bustikiller.com/about/](https://blog.bustikiller.com/about/)|
|Mark Wyner|-|[Sites/profiles](https://markwyner.omg.lol)|
|martin|-|[@clemtre](https://mastodon.social/@clemtre)|
|Martin Hamilton|[Made you type 'www'](https://datatracker.ietf.org/doc/html/rfc2219)|[martinh.net](https://martinh.net)|
|matt bluelander|-|[mattbee.zone](https://mattbee.zone)|
|Matteo Figus|-|[matteofigus](https://github.com/matteofigus)|
|Matthew B|-|[https://famichiki.jp/@matthew](https://famichiki.jp/@matthew)|
|Michael Schulze|[Brain Gourmets GmbH](https://www.braingourmets.com/)|[@michsch@chaos.social](https://chaos.social/@michsch)|
|Miguel Cobá|-|[@miguelcoba.com](https://bsky.app/profile/miguelcoba.com)|
|Mike Sax|-|[@mikesax@mas.to](https://mas.to/@mikesax)|
|Mike Subelsky|-|[https://www.subelsky.com](https://www.subelsky.com)|
|Miko Zdravkovski|CEO of Hcat GmbH|[@mikozdravkovski](https://github.com/mikozdravkovski)|
|Mina Slater|-|[@minaslater](https://github.com/minaslater)|
|Nate Montgomery|Ruby lover since 2011|[@natemontgomery](https://github.com/natemontgomery)|
|Nic Lake|-|[https://niclake.me](https://niclake.me)|
|Nicolas Bouilleaud|-|[@_nb@mamot.fr](https://mamot.fr/@_nb)|
|Nicolas Jean|Enercoop|[enernico @github](https://github.com/enernico)|
|Oliver Klee|[Brain Gourmets GmbH](https://www.braingourmets.com/)|[@oliklee@chaos.social](https://chaos.social/@oliklee)|
|Omar Luqman|[stimulus-store](https://github.com/omarluq/stimulus-store)|[@omarluq.bsky.social](https://bsky.app/profile/omarluq.bsky.social)|
|Pat Allan|-|[freelancing-gods.com](https://freelancing-gods.com)|
|Peter Boling|[ruby-oauth](https://github.com/ruby-oauth), [ruby-openid](https://github.com/ruby-openid), [appraisal-rb](https://github.com/appraisal-rb), [kettle-rb](https://github.com/kettle-rb), [galtzo-floss](https://github.com/galtzo-floss), [RuboCop-LTS](https://github.com/rubocop-lts), [floss-funding](https://github.com/floss-funding)|[@galtzo@ruby.social](https://ruby.social/@galtzo)|
|Pete Keen|-|[@zrail@hachyderm.io](https://hachyderm.io/@zrail)|
|Peter Solnica|Ruby programmer since 2006, former [Hanami Framework](https://hanamirb.org) core team, creator of [rom-rb](https://github.com/rom-rb) and co-founder of [dry-rb](https://github.com/dry-rb)|[solnic.dev](https://solnic.dev)|
|Philip Gillißen|-|[@guerda@ruhr.social](https://ruhr.social/@guerda)|
|Pierre de La Morinerie|-|[@pmorinerie@mastodon.xyz](https://mastodon.xyz/@pmorinerie)|
|Rasmus Grouleff|-|[@nerdd@mstdn.social](https://mstdn.social/@nerdd)|
|Richard Degenne|-|[https://richarddegenne.fr](https://richarddegenne.fr)|
|Rick Bradley|-|[@rick](https://github.com/rick)|
|Rob Yurkowski|-|[@robyurkowski@oceanplayground.social](https://oceanplayground.social/@robyurkowski)|
|Robbe Van Petegem|-|[https://robbevanpetegem.be](https://robbevanpetegem.be)|
|Ryan Bigg|-|[https://ruby.social/@ryanbigg](https://ruby.social/@ryanbigg)|
|Ryan MacGillivray|-|[@ryn@ruby.social](https://ruby.social/@ryn/)|
|Sam Livingston-Gray|working in Rails since 2006|[@geeksam@ruby.social](https://ruby.social/@geeksam/)|
|Sam Phillips|Rails dev and community member since 2009|[@samsworldofno.bsky.social](https://bsky.app/profile/samsworldofno.bsky.social)|
|Sam Pikesley|-|[sam.pikesley.org](https://sam.pikesley.org/)|
|Sander van Kasteel|-|[https://social.sandervankasteel.nl/@me](https://social.sandervankasteel.nl/@me)|
|Sarah Eggleston|fflow.io|[https://github.com/sarah-fflow](https://github.com/sarah-fflow)|
|Shannon Skipper|-|[https://ruby.social/@havenwood](https://ruby.social/@havenwood)|
|Sol Ise|-|@solisenet@gmail.com|
|Sunny Ripert|-|[@sunny](https://github.com/sunny)|
|Thomas Fuchs|former Rails Core|[@thomasfuchs.at](https://bsky.app/profile/thomasfuchs.at)|
|Ti Zhang|-|[@zero_tea](https://techhub.social/@zero_tea)|
|Tim Bray|-|[@timbray@cosocial.ca](https://cosocial.ca/@timbray)|
|Tim Cowlishaw|-|[timcowlishaw.co.uk](https://www.timcowlishaw.co.uk)|
|Torsten Schönebaum|-|[@tosch@gruene.social](https://gruene.social/@tosch)|
|Udo Gröbner|-|[@udl](https://github.com/udl)|
|Vito Sartori|-|[vito.io](https://vito.io)|
|Weldys Santos|[WS Tech](https://www.github.com/weldyss)|[@weldyss@bolha.us](https://bolha.us/@weldyss)|
|Wout Fierens|-|[@wout.codes](https://bsky.app/profile/wout.codes)|
|Ynda Jas|-|[@YndaJas@tech.lgbt](https://tech.lgbt/@YndaJas)|
|Yvan Sraka|-|[@yvan@functional.cafe](https://functional.cafe/@yvan)|
<!-- Please add your name in alphabetical order! -->
### Notes (non-normative)
* We appreciate that this would be a very difficult process, and there are many reasons why it "can't be done". However, we don't really know unless we try, and at the very least we can show that there is community demand for action.
* We do not want to restrict DHH's freedom of speech, he can write and say what he likes. However, free speech is not "freedom from the consequences of that speech", and we as a community are completely free not to associate with people who hold views we find abhorrent.
* ["Plan Vert"](https://en.wikipedia.org/wiki/Railway_sabotage_during_World_War_II#France) was a railway sabotage campaign by the French resistance during WW2. Reference suggested by [@cinebox@masto.hackers.town](https://masto.hackers.town/@cinebox/115210459164892947).
* DHH's writings are available on [his blog](https://web.archive.org/web/20250920182553/world.hey.com/dhh); we link the archive.org mirror rather than send traffic his way.
* Many people have written their own thoughts on the problems with DHH's influence in Rails and the wider Ruby community (which is not a new problem, but is reaching new levels). Here's a selection:
* [David Celis: Rails Needs New Governance](https://davidcel.is/articles/rails-needs-new-governance)
* [Tekin Süleyman: The Ruby community has a DHH problem](https://tekin.co.uk/2025/09/the-ruby-community-has-a-dhh-problem)
* [Jared White: Ruby Central is Not Behaving in Good Faith, and I’ve Got Receipts](https://jaredwhite.com/articles/ruby-central-is-not-operating-in-good-faith)
* [Victor Wynne: Ruby deserves better leadership than DHH](https://victorwynne.com/dhh/) and [Duke University Libraries’ commentary on DHH](https://victorwynne.com/duke-university/)
* [Jake Lazaroff: DHH Is Way Worse Than I Thought](https://jakelazaroff.com/words/dhh-is-way-worse-than-i-thought/)
* [Tom Stuart: The DHH Problem](https://tomstu.art/the-dhh-problem) (old, but illustrative)
* GitHub issues are disabled on this repo to keep it on-topic and reduce argumentative discussions that go nowhere. Feel free to discuss this in all the usual places though.
gitextract_i80fmu_1/ ├── .github/ │ └── workflows/ │ └── automod.yml └── README.md
Condensed preview — 2 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (18K chars).
[
{
"path": ".github/workflows/automod.yml",
"chars": 1725,
"preview": "name: Auto-Close PRs With >1 Line Changed\npermissions:\n pull-requests: write\n issues: write\non:\n pull_request:\n ty"
},
{
"path": "README.md",
"chars": 16270,
"preview": "# Plan Vert\n## An open letter to the Rails Core team and Ruby community\n\nDavid Heinemeier Hansson (DHH) has publicly pub"
}
]
About this extraction
This page contains the full source code of the Plan-Vert/open-letter GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2 files (17.6 KB), approximately 5.8k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.