Skip to main content
← All articles
craft cms

Coming from free Drupal contrib: making peace with Craft's paid plugin economy

Coming from free Drupal contrib: making peace with Craft's paid plugin economy

The biggest adjustment moving from Drupal to Craft wasn't an API or a template syntax. It was opening the Plugin Store, finding the field type I needed, and seeing a price on it. In Drupal, "is there a module for that?" is answered on drupal.org, for free, forever. In Craft, the answer is often "yes, that'll be $99, and $39 a year after that." For a lifelong Drupal dev that lands as a values-level culture shock — and after sitting with it, I think Craft's model is a feature wearing the costume of a tax.

How the money actually works

Craft runs a first-party commercial Plugin Store, and the economics are explicit. Pixel & Tonic take a 20% cut of every plugin sale. Commercial plugins use a one-time purchase plus a mandatory annual renewal, with the docs suggesting renewals land at 20–50% of the initial price — so a $99 plugin renews somewhere around $19–$49 a year. The store's own price guidance runs from $10–$29 for small utilities up to $499–$999 for major applications, and real listings bear that out: the Hyper links field around $19, SEOmatic and Formie around $99, accessibility tooling up into the low hundreds. There's also a one-way door built in: a plugin published as free can't later flip to paid — you ship a separate commercial edition and keep the core free.

And that's on top of the CMS itself, which is only partly free: Solo is free, but Team is $279 and Pro is $399, each with a $99/year renewal after the first year. So a modest professional Craft build isn't "download and go" — it's a Pro license plus a handful of plugin licenses, several of them renewing annually.

Why a Drupal dev flinches — and why the flinch is wrong

The flinch is real. In Drupal, contrib is GPL, community-maintained, and free; the cost you pay is your time reading issue queues and the risk that the module you depend on is a half-finished 0.x that its maintainer abandoned two years ago. You budget hours, not dollars. Craft flips both sides of that: SEOmatic, Formie, Freeform and their peers are commercial, and they're also polished, documented, and — this is the part that changed my mind — actively supported, because someone's mortgage depends on the renewal revenue.

Drupal's contrib is free and maintained by goodwill, which is exactly as reliable as goodwill. Craft's plugins cost money and are maintained by self-interest, which is one of the most reliable forces there is.

That's the honest reframe: the 20% cut and the annual renewals aren't rent-seeking, they're the funding mechanism for the maintenance that Drupal's volunteer contrib chronically struggles to sustain. Every Drupal dev has been burned by an unmaintained module; the Craft model is a structural answer to that specific pain. You stop paying with your weekend and start paying with your invoice, and for a lot of professional work that's the better deal — a supported $99 form builder is cheaper than three days of your time fighting a free one.

The caution I'd still write in bold

But I won't pretend it's free of downsides, because two are real. First, the costs compound and recur: a build carrying a Pro license plus five plugin licenses is five-plus annual renewals a Drupal shop never had to budget, and clients don't love a line item that grows every year. Second — and this is the genuine lock-in — those renewals gate your updates. A client who stops paying doesn't lose the plugin; they silently stop getting fixes and security patches for it, which is a slow-motion risk nobody notices until it bites. In Drupal, an unmaintained module is a visible, communal problem; in Craft, an unrenewed plugin is a quiet, private one.

So my peace with it is conditional. Craft's paid economy buys you a healthier maintenance incentive and genuinely better plugins, and I'd rather pay a maintainer than pray to one. Just go in with the renewals mapped, the client's who-pays-for-this conversation had up front, and a clear eye on the fact that "we stopped paying" and "we stopped getting security updates" are, in Craft, the same sentence.

Links

BM
Blue Moose
The moose behind Blue Moose. Full-stack PHP developer — Drupal by day, Symfony by night, tests always.