Updated September 2026
The open source Ruby on Rails apps worth reading are Mastodon, Huginn, Discourse and Chatwoot at the large end, and Lobsters, Publify and Alchemy CMS at the small end. All seven pushed code within days of 2026-09-04, the date every number here was read from the GitHub API. Licenses vary more than most lists admit. Huginn is MIT, Discourse is GPL-2.0, Mastodon is AGPL-3.0, and Chatwoot carries a license GitHub could not classify. Two projects still on old lists are finished: hotwire-rails is archived, and Sharetribe calls itself unmaintained.
In short
- Four large, active Rails codebases: Mastodon (AGPL-3.0, 50,265 stars), Huginn (MIT, 49,895), Discourse (GPL-2.0, 47,790) and Chatwoot (36,497). Counts read on 2026-09-04.
- Two projects on most list pages are finished. hotwired/hotwire-rails is archived, last pushed 2021-12-20. Sharetribe Go calls itself unmaintained.
- The license decides what a fork costs. MIT and BSD-3-Clause let your changes stay private. GPL-2.0 and AGPL-3.0 do not, and AGPL-3.0 reaches software you run as a service.
- Reading a Rails app teaches you the shape of one. Running one for your business is a standing job. LlamaPress does that part.
I read other people's Rails code most weeks. Every customer app we ship runs on Ruby on Rails, and we operate a fleet of production Rails apps for our customers. We also maintain LlamaBot, an open source Ruby on Rails AI framework, with the llama_bot_rails gem. The list below carries license and activity date, because a list without those columns is how people clone a dead repo.
What are the best open source Ruby on Rails apps?
The best open source Ruby on Rails apps to read are Mastodon, Huginn, Discourse and Chatwoot, in that order by GitHub stars on 2026-09-04. All four pushed code that day. Each is a complete product rather than a demo, which is the reason to read them. The bugs, migrations and compromises are real.
The largest Rails codebase on GitHub is Rails itself: rails/rails, MIT licensed, 58,752 stars on 2026-09-04. Reading the framework is a different exercise from reading an app built on it. Scale is also a poor guide to where to start, because a 47,000-star product is a hard first clone.
Which open source Rails projects should you bookmark?
Every value below was read from the GitHub API on 2026-09-04. Counts and push dates drift, so treat them as a dated snapshot. Two rows are marked because those projects are finished. Five say "read the LICENSE file" because GitHub's detector could not classify what it found.
| Project | What it is | License | Stars | Last push | Repo |
|---|---|---|---|---|---|
| Mastodon | Self-hosted, federated microblogging community | AGPL-3.0 | 50,265 | 2026-09-04 | mastodon/mastodon |
| Huginn | Agents that monitor and act on your behalf | MIT | 49,895 | 2026-09-04 | huginn/huginn |
| Discourse | Platform for community discussion | GPL-2.0 | 47,790 | 2026-09-04 | discourse/discourse |
| Chatwoot | Live chat, email support and omni-channel desk | Read the LICENSE file | 36,497 | 2026-09-04 | chatwoot/chatwoot |
| Forem | Community platform, the software behind dev.to | AGPL-3.0 | 22,774 | 2026-09-04 | forem/forem |
| Spree | Ecommerce platform for B2B, marketplace and enterprise | BSD-3-Clause | 15,666 | 2026-09-04 | spree/spree |
| Diaspora | Privacy-aware, distributed social network | AGPL-3.0 | 13,650 | 2026-07-28 | diaspora/diaspora |
| Canvas LMS | Learning management system by Instructure | AGPL-3.0 | 6,794 | 2026-04-30 | instructure/canvas-lms |
| Redmine | Project management and issue tracking. The GitHub repo is a mirror of the official SVN source | Read the LICENSE file | 6,029 | 2026-09-04 | redmine/redmine |
| Solidus | Ecommerce framework | BSD-3-Clause | 5,324 | 2026-09-04 | solidusio/solidus |
| Lobsters | Link aggregation and discussion community software | Read the LICENSE file | 4,822 | 2026-09-04 | lobsters/lobsters |
| Publify | Self-hosted web publishing platform | MIT | 1,854 | 2026-08-31 | publify/publify |
| Open Food Network | Connects suppliers, distributors and consumers trading local produce | AGPL-3.0 | 1,278 | 2026-09-04 | openfoodfoundation/openfoodnetwork |
| Alchemy CMS | Content management system built on Rails | BSD-3-Clause | 906 | 2026-09-04 | AlchemyCMS/alchemy_cms |
| LlamaBot | Our own open source Rails AI framework, paired with the llama_bot_rails gem | AGPL-3.0 on GitHub | 240 | 2026-09-01 | KodyKendall/LlamaBot |
| Sharetribe Go (dormant) | Marketplace software. The repo's own description says it is no longer actively maintained | Read the LICENSE file | 2,445 | 2026-05-11 | sharetribe/sharetribe |
| hotwire-rails (archived) | Bridge gem for adding Hotwire to older Rails apps. Modern Rails ships Turbo and Stimulus without it | MIT | 963 | 2021-12-20 | hotwired/hotwire-rails |
Source for every row: the GitHub REST API, read 2026-09-04. The LlamaBot row carries a nuance worth copying. The llama_bot_rails gem is MIT on RubyGems, while the repo it ships from is AGPL-3.0. A package and its repo can differ.
What does each of the big Rails codebases teach you?
Each project below teaches one thing a tutorial cannot. Open the repo in your browser, go to the file named, and read it before cloning. Every path here is a Rails convention.
Discourse: read config/routes.rb first
Discourse is GPL-2.0, had 47,790 stars on 2026-09-04, and pushed code that day. Open config/routes.rb first. In an app that size the routes file is the product map: every screen, every API endpoint, every admin surface, in one list. Ten minutes there tells you more about scope than an hour in the models.
Mastodon: read db/schema.rb, then read the license twice
Mastodon is AGPL-3.0, had 50,265 stars, and pushed code on 2026-09-04. Open db/schema.rb and count the tables. The schema is the honest version of the feature list. The license lesson matters more to a business. AGPL-3.0 extends copyleft to network use, so hosting a modified copy for other people can trigger obligations GPL-2.0 would not.
Huginn: read the Gemfile
Huginn is MIT, had 49,895 stars, and pushed code on 2026-09-04. It exists to "create agents that monitor and act on your behalf." Most of its work runs on a schedule rather than in a web request. Open the Gemfile and find the job-processing gem. A Gemfile is a bill of materials, and it predicts your operations burden before you run a migration.
Chatwoot: read the LICENSE file before you plan anything
Chatwoot had 36,497 stars on 2026-09-04 and pushed code that day, so it is very much alive. GitHub's license detector could not classify its LICENSE file, which is why this page names no license for it. Popularity is not evidence of a permissive license. A star count says nothing about whether you may ship a modified copy.
Redmine: check where the real source lives
Redmine had 6,029 stars on 2026-09-04, and its GitHub repo describes itself as a mirror of the official Redmine SVN source. Before you plan a patch or a tracked fork, find out where the project's source of truth lives. A mirror accepts your clone and ignores your pull request.
The rest of the table rewards narrower reading. Spree and Solidus are BSD-3-Clause ecommerce projects that both pushed code on 2026-09-04. Read their models back to back to see how much of that domain every store shares. Forem, at 22,774 stars, is the software behind dev.to.
Which small Rails codebases should you read first?
Start with a codebase you can hold in your head, which rules out all four big apps above. Discourse, Mastodon, Chatwoot and Forem show how a Rails app is organised at scale. They make poor first clones, because your first day goes on setup.
Four smaller full apps are better first reads. Alchemy CMS (BSD-3-Clause, 906 stars), Open Food Network (AGPL-3.0, 1,278), Publify (MIT, 1,854) and Lobsters (4,822, license unclassified) all pushed code within a week of 2026-09-04.
Two libraries are worth reading even sooner. Devise (MIT, 24,357 stars, pushed 2026-06-22) is the authentication solution most Rails apps use. Pundit (MIT, 8,521 stars, pushed 2026-08-28) calls itself "minimal authorization through OO design and pure Ruby classes," and reads end to end in an evening. Calling those good first reads is my assessment, not their claim.
How do you run one of these Rails apps locally?
Clone the repo and follow its README, because the setup command differs by project and guessing wastes an afternoon.
- Read the README end to end. Setup lives there, and so do the parts that will stop you, such as a required search engine or an API key.
- Check the Ruby version the project pins. Ruby's current major series is 4.0, with 4.0.6 released 2026-07-14. The 3.4 branch is maintained in parallel, and 3.3 and 3.2 get security-only patches, per the Ruby releases page.
- Check the Rails version in the Gemfile. Current stable is the 8.1 series, with 8.1.3.1 released 2026-07-29. Rails 7.2, from August 2024, made Ruby 3.1 the minimum.
- Use the project's Docker or dev container setup if it ships one. Rails 7.2 added dev container files to new apps by default, so a recent project likely has one.
- Expect a database and possibly Redis. Rails 8 ships Solid Cache, Solid Queue and Solid Cable, designed to drop Redis as a required dependency. Older apps here predate that.
- Point it at throwaway data. Never run an unfamiliar codebase against a database you care about.
Starting from zero instead of someone else's repo? Our companion page walks the path in order: how to create a website with Ruby on Rails.
What do MIT, AGPL and a dual CE and EE license mean for a business?
The license controls whether you may keep your changes private. None of what follows is legal advice, and a commercial fork deserves a lawyer.
- MIT. Do almost anything, including selling a modified version, as long as you keep the copyright notice. Your changes stay private.
- BSD-3-Clause. The same permissive deal, plus a clause saying you may not use the project's name to endorse your product. MIT with a marketing restriction.
- GPL-2.0. If you distribute a modified version, you must offer its source under the same terms. Running a modified copy for your own staff is generally not distribution.
- AGPL-3.0. Extends that obligation to people who use the software over a network, closing the hosting gap GPL-2.0 leaves open. Offering a modified copy as a service is the case it targets.
- Unclassified, shown by GitHub as NOASSERTION. GitHub found a LICENSE file and could not match it to a standard license. The project is not unlicensed. Read the file.
- Dual Community Edition and Enterprise Edition. GitLab is the example most people know. Its Community Edition is open source and its Enterprise Edition adds proprietary features, so "GitLab is open source" is true of one edition only. Its engineering handbook calls the product a "large monolithic application, using Ruby on Rails framework."
A permissive license makes a fork cheap on day one. It says nothing about day four hundred, when your copy and upstream have drifted and every patch is merged by hand.
What is the Rails sample method?
There is no Rails method called sample. Array#sample is plain Ruby, and it returns one random element from an array, or several with sample(n). Docs: the Ruby core docs for Array.
Pulling a random database record is a different job, and Rails has no named method for it. The standard idiom wraps the raw SQL in Arel.sql, which marks it known-safe:
Model.order(Arel.sql("RANDOM()")).first # PostgreSQL or SQLite
Model.order(Arel.sql("RAND()")).first # MySQL or MariaDB
Model.offset(rand(Model.count)).first # database-agnostic
All three get slow on a large table. The first two force a full-table sort. The third runs a full count then skips, and can race with inserts. On a big table, sample from a random primary-key range instead.
Where reading an open source Rails app stops helping
Reading these codebases teaches you how a Rails app is shaped. It does not hand you one that runs your business.
A fork is a permanent job. The day you change a line, you own the merge. Each Rails minor release gets bug fixes for one year, and security fixes for two years, after the first release in its series. That is the official Rails Maintenance Policy. Longer version: Rails upgrade and maintenance.
A dormant project transfers the whole burden to you. Sharetribe Go and hotwire-rails are in the table so you can see what that looks like.
Some of this page is the wrong advice for you. If you want to learn Rails, read the code and ignore the rest. If you have a Rails developer on staff, you do not need a vendor. If a project in the table does the job, install it unmodified.
Most business software is not on this list at all. Nobody has open-sourced your estimating process, your job tracker or your onboarding checklist, because those are specific to how you work.
Reading a Rails app and owning one are different problems
Some readers came here to learn Rails. Clone Alchemy CMS or Publify and read for a weekend. Two pages carry that further: websites built with Ruby on Rails and Rails project ideas worth building.
Other readers came here because someone said "just fork an open source Rails app." Doing that means hiring or becoming a Rails developer. LlamaPress is the other option. Our AI agent, Leonardo, writes the Rails code, supervised by US-based engineers who ship Rails daily. You get a standard Rails app on PostgreSQL, with no upstream fork to merge.
The fastest starting point is the spreadsheet you already run the process in, because it holds your tables, fields and rules. Upload it at the Excel to app page. For AI features in an existing Rails app, read Rails AI. For how we work, read a Rails development company where AI writes the code. Plans: pricing.
Get a Rails app built for your process
Upload the spreadsheet your team already runs on. Leonardo builds a first working Rails app from it. A US-based engineer reviews every change. Free, no credit card.
Already have a Rails app? Contact us and we will read it with you.
Frequently Asked Questions
What are the best open source Ruby on Rails apps?
Mastodon, Huginn, Discourse and Chatwoot are the largest active ones, with 50,265, 49,895, 47,790 and 36,497 GitHub stars read on 2026-09-04. All four pushed code that day. For smaller reading, Alchemy CMS, Open Food Network, Publify and Lobsters are active and easier to hold in your head.
Where can I find open source Rails projects to learn from?
GitHub is the practical answer, and the table on this page lists seventeen repos with license, star count and last push date, read on 2026-09-04. Check the push date before you clone. A dead repo still shows a large star count, and hotwired/hotwire-rails is the example: archived, last pushed 2021-12-20.
Is GitLab open source and written in Ruby on Rails?
GitLab is built on Ruby on Rails, and only part of it is open source. Its engineering handbook calls the product a "large monolithic application, using Ruby on Rails framework." The Community Edition is open source and the Enterprise Edition adds proprietary features. Its source is hosted on GitLab.com, so no GitHub star count exists for it.
Can I use an open source Rails app for my business?
Yes, if you check two things first. The license decides whether you may keep changes private, and MIT and BSD-3-Clause allow it while GPL-2.0 and AGPL-3.0 do not. The maintenance cost is bigger: once you fork, every upstream security patch becomes a merge your team owns. Installing an unmodified project is far cheaper.
What is the Rails sample method?
There is no Rails method called sample. Array#sample is plain Ruby and returns one random element from an array, or several with sample(n). For a random database record, the common idiom is Model.order(Arel.sql("RANDOM()")).first on PostgreSQL or SQLite, and RAND() on MySQL. Both get slow on large tables.
What is a good Rails sample project for a beginner?
Pick a small active app rather than a large one. Alchemy CMS (906 stars), Open Food Network (1,278) and Publify (1,854) all pushed code within a week of 2026-09-04 and are small enough to read. Devise and Pundit are good library reads too. That ranking is our assessment, not a claim by the maintainers.