Last week’s AI releases put a familiar question back into view: who controls the technology that digital systems depend on? On 10 August 2026, Meta released Muse Glimmer, a 30-billion-parameter model optimised for local agent workflows, with its weights under the Apache 2.0 licence. Mark Zuckerberg, Meta founder and CEO, argued in an essay published the same day that superintelligence should be broadly distributed rather than concentrated in a small number of hands. On 14 August, Alibaba Group’s Qwen team released Qwen3.8-27B, another downloadable model with weights under Apache 2.0.
There is a catch in calling all of this “open AI.” Downloadable weights under an open-source licence do not by themselves establish that an entire AI system is open source. Under the Open Source Initiative’s Open Source AI Definition, the preferred form for modification also requires sufficiently detailed information about the data used to train the system, the complete source code used to train and run it, and the model parameters. Even so, downloadable weights can expand practical deployment choices by allowing organisations to run and adapt models on infrastructure they control rather than relying solely on a vendor-hosted service.
Drupal is relevant here not because a content management system and an AI model are equivalent, but because the project has spent 25 years working within open-source principles. Drupal marked its 25th anniversary on 15 January 2026, and the Drupal Association’s Open Web Manifesto describes the open web through principles including freedom, decentralisation, participation, choice, privacy and security. The comparison should remain limited: a content management system, model weights, training data, source code and computing infrastructure are different layers with different licensing and governance problems. The shared principle is practical: leave organisations room to choose infrastructure, modify systems, and avoid unnecessary dependence on a single provider.
The larger question is whether those principles are becoming easier to recognise beyond software-development communities. AI is forcing organisations to consider what happens when a technology provider changes terms, raises prices, closes a service or simply stops fitting their needs. Drupal cannot answer AI’s licensing, computing, data-governance or portability questions, and open source does not guarantee independence. What Drupal can offer is a 25-year example of why choice, modification and exit matter when digital infrastructure becomes important enough to depend on.
As AI becomes another dependency inside websites and digital services, that old open-web argument has a new place to land. The question is no longer only what an AI model can do, but how much control remains with the people and organisations that build on it.
Follow The DropTimes on LinkedIn, X, Bluesky, and Facebook, or join #thedroptimes on Drupal Slack.
This issue of Editor’s Pick was written and curated by Kazima Abbas.
read moreIf AI can generate an application from a description, is software still worth anything?
I have lived with a version of that question longer than most.
I released Drupal for free more than twenty-five years ago, and later co-founded Acquia, which has grown into a large enterprise software company built around Drupal.
Granted, Drupal is free in a different way than AI-generated applications are free, but I'm not sure that changes the basic question of how to build a successful business around either one.
Open Source made code abundant by giving people broad rights to use, modify, and redistribute it. AI is lowering the cost of producing code. One lets you copy the software; the other makes it cheaper to recreate software.
Because anyone could use Drupal for free, Acquia could never build a durable business around access to the code. From the start, we had to make money another way.
We built that business around helping enterprises build, run, and manage Drupal applications throughout their lifecycle. That includes hosting, but goes well beyond it: the tools and services needed to develop, deploy, secure, scale, monitor, and improve applications in production.
Proprietary SaaS typically bundles access to the application with the hosting and operations required to run it. With Open Source, organizations can run the software themselves or choose who hosts and operates it.
As AI makes applications cheaper to recreate, the traditional SaaS bundle of software and operations comes under pressure. Customers may become less willing to pay for access to application functionality without becoming any less willing to pay to run and manage applications in production. For Open Source businesses those economics are not new.
Software can be free, or nearly free, without becoming cheap to depend on. The more people and organizations depend on a system, the more of its value comes from operating it securely, reliably, and at scale.
Once people depend on an application, the cost of its failure has little to do with how much it cost to build. An application that costs $1,000 to build can still cause a $10 million failure.
As AI makes enterprise applications easier to create, adapt, and integrate, they still have to be deployed, secured, scaled, monitored, and run reliably over time. As software cost comes down, dependability becomes a differentiator.
Linux is abundant; dependable cloud infrastructure is a service worth paying for. Drupal is abundant; dependable digital experience infrastructure is a service worth paying for.
Acquia has lived with those economics for nearly 20 years. Drupal made the code abundant, so we built our business around helping organizations build, run, and improve what they created with it. As AI makes code cheaper to generate, that business model may start to look a lot less unusual.
Either way, more software companies will have to answer the same question: if the code is abundant, what are customers really paying you for?
read moreThis is the second article in a series of articles looking at migrating from Jadu into a LocalGov Drupal (LGD) site for Central Bedfordshire. In the first article we looked at the Jadu API and setting things up so that we could make calls to the API and parse the XML data using the migration systems available.
In the last article I mentioned something about the Jadu API that caused me a lot of headaches. The API contains most of the information for a page, but critically, the Jadu API contains no information about the path of a page. There is basically no way to get the URL of a page in Jadu from the XML API.
I'm quire sure that this makes creating anything useful in the API a real pain since referring back to the site needs to be done with manually placed links, but it's clearly like this by design. I couldn't find any documentation on why it is like this, but it almost feels like vendor lock-in. Please correct me if I'm wrong here.
If you migrate a page from one system to another then it is highly important that you maintain the URL structure of the site. If you change the URL of a page then you need to add in a step that adds a redirect from the old system to the new so that all of your search engine results, the existing links from other sites, and any user bookmarks that have been created work correctly. This is critical to get right for a public facing council site like this.
Since I was migrating into a LGD site, it made sense to use the Drupal path auto system and LGD path management plugins to manage the paths on the Drupal site. We therefore needed to know the existing Jadu URLs so that we could create these redirects.
To get the URLs during the migration caused quite a bit of experimentation, but I did solve the issue with a solution that had a high success rate.
philipnorton42 read moreWebform is the most popular module for building forms in Drupal. You can use it for a simple contact form or for a long form with conditional logic, file uploads, and email alerts. Either way, you build the whole thing from the admin interface without writing code.
In the video above, you will learn how to build a form with Webform in Drupal CMS. You will create a Customer form, add conditional logic, send a confirmation email, split the form into pages, view submissions, and embed the form on a Drupal Canvas page.
read moreWhat three decades has taught us about what lasts
Thirty years ago last month, between my sophomore and junior years of college, I started a company called Palantir Internet Services, later known as Palantir.net. I had been building personal websites for nearly two years at that point and was captivated by this revolutionary new medium that allowed anyone, anywhere, to publish something that anyone else in the world could read.
While the internet touches nearly every part of our lives today, in the summer of 1996 it was still seen by many as a novelty. There were only about 250,000 websites on the web, and while Amazon and eBay had already launched, Google, Facebook, and Wikipedia were still years away.
That fall, I met Tiffany Farriss, and together we built Palantir into a company that developed websites for clients of all shapes and sizes. As college students, we were featured in a news story on CNN and profiled in a front-page Chicago Sun-Times article. Our first paying clients were colleges and universities, and then for several years we partnered with Chicago design firms who were making the transition from print to the web.
During that time, we built and deployed several versions of our own in-house content management platform, eventually deprecating it in 2007 in favor of the newly released Drupal 5. Putting our energy into contributing to an open source project not only brought us new business opportunities but also introduced us to a community we are proud to still be part of today.
Along the way we grew into a full-service digital consultancy, bringing our strategy, design, build, and support services to public sector agencies, higher education institutions, nonprofits, and healthcare organizations whose needs are genuinely complex and whose work has a profound impact on others.
Only a handful of companies in our industry have been around as long as we have. Over the years, we've watched it go through several transformations: the dot-com bubble of the late 1990s, the rise of "Web 2.0" and social media in the mid-2000s, and the emergence of smartphones and the mobile web in the late 2000s.
Today, we are in the middle of one of the web's biggest transformations yet, as generative AI has fundamentally disrupted the traditional ways that online content is both created and consumed. The business models that built the web are no longer sufficient for an environment increasingly dominated by bot traffic and bot-created content. As more money has flowed into generative AI, we've seen less of it invested in other forms of online infrastructure, and that shift has affected us and many others in our industry.
At the same time, these tools have already demonstrated their usefulness for automating manual and labor-intensive work, from code review to content audits. We believe that when used thoughtfully, generative AI can improve the online experience and make vital information more accessible to more people.
And that's why, in an era of slop and enshittification, we feel it's more important than ever to recommit to our mission and vision. Palantir exists to help others discover, create, and share knowledge, and to strengthen humanity through the work that we do and the way that we do it.
We may not be able to predict the future, but 30 years of experience gives us a lot of perspective on where things have been and where they might go next. Technology keeps changing, but it's people who decide where to put their time and attention. That's the choice we've made so far, and it's the one we will continue to make.
read moreI know this blog post's title implies losing my (programming) skills, and I will gladly address my feelings about how agentic coding has caused my problem-solving and coding to atrophy from lack of use. The main focus of this post is about losing, specifically deleting, my overly verbose and complicated skills and AGENTS.md files.
I was inspired to write this post after recently switching to the latest OpenAI GPT 5.6 models with Codex and OpenCode as my harnesses for Drupal development. In a previous post, I discussed that one approach to working with AI is to accept that every beginning and end of a session is like onboarding and offboarding a new team member. To help onboard an AI, we need to provide documentation, guidance, and workflows, typically implemented as AGENTS.md and agent skills.
AGENTS.md and agent skills are instructions added to your context to nudge the AI in the right direction. After switching to a more intelligent frontier model, I began to suspect I needed to rethink my assumptions about what the AI was capable of and how much initial context was required for the AI to succeed at a task. So I removed all my assumptions, deleted my AGENTS.md and skills directory, and started fresh.
Losing my agent skills
I had a hunch that some of my installed agent skills were costing me extra tokens and not adding enough value when I read a Reddit thread about "are you guys still using the superpowers skill?" Superpowers nudges coding agents to adopt a pragmatic workflow that includes brainstorming, specs, plans, tests, and review....Read More
read moreToday we are talking about Open Source sustainability, becoming your own content creation machine, and how drupal influenced some of that with guest Jeff Geerling. We'll also cover AI Metering as our module of the week.
For show notes visit: https://www.talkingDrupal.com/565
TopicsJeff Geerling - jeffgeerling.com geerlingguy
HostsNic Laflin - nLighteneddevelopment.com nicxvan Mike Anello - drupaleasy.com ultimike JD Flynn - dorficus
MOTW CorrespondentMike Anello - drupaleasy.com ultimike
The most dangerous moment in a Drupal-to-headless migration is the one where everything looks fine. The content exported. The article titles are all there. Then an editor opens a launch-ready page and half the images are missing, the "related articles" block is pointing at a press release from 2019, and one product's category is now, somehow, a staff bio. Nothing errored. Nothing turned red. The references just quietly stopped meaning what they used to mean. That is the trap, and it lives in taxonomy, media, and entity references specifically because Drupal stitches your content together with numbers instead of names. Drupal is a house where everything is labeled by drawer, not by name Picture a house where nobody wrote what anything is. Instead, every object has a little tag: see drawer 47 . The cookbook says "pairs with drawer 112." The remote says "belongs to shelf 9." It works…
Read the rest at Replatform Radar
read moreTraditional content staging servers have had their day. At DrupalCon Chicago 2026, Tag1's Peta Hoyes and Ray Stuart (presenting for Fabian Franz) made that case and showed exactly what replaces them. Their session, Workspaces is Revolutionizing Drupal Core: Unlock True Enterprise Content Management in Drupal, covered the core architecture, live demos, and a Q&A with the room.
We have expanded and organized the questions from that session into a standalone reference on how Workspaces works for enterprise content teams.
A. Workspaces is enterprise content staging built into Drupal core. It lets a privileged user preview a large set of changes exactly as a site visitor will see them, then publish the whole set at the click of a button. Instead of maintaining a separate staging site, each workspace is an isolated set of staged changes that layers on top of your live site. You stage, collaborate, and publish without touching production until you are ready.
Workspaces has been stable in Drupal core since version 10.3 (June 2024) and ships with every Drupal 11 installation. It is no longer experimental. It is core infrastructure, and it is free and open source.
A. Core Workspaces turns on with a single command that most Drupal teams already know:
drush en workspaces
For enterprise use, you also want Workspaces Extra (WSE), which installs the same way most contributed modules do:
composer require drupal/wse
That is a low barrier to entry for enterprise capability out of the box.
A. If core workspaces are content branches, WSE is closer to the full deployment pipeline you already have for code. WSE adds scheduled publishing, preview links for external stakeholders, rollback of an entire published workspace, access control, menu staging, task monitoring, and the ability to move content between workspaces when needed. WSE Config stages configuration changes alongside content, and WSE Theme lets you preview an entirely different theme staged in a workspace.
A. If you understand feature branches, you already understand Workspaces. The mental model maps almost exactly:
The workflow is the same one developers take for granted: create a branch for your campaign, make your changes, preview the complete state, get approval, then publish. Content teams simply have not had this tooling until now. As the session put it, if your dev team would not ship code without branches, why would your content team ship content without workspaces?
A. For a CMS to truly meet enterprise requirements, it needs to provide tools for both creating content and managing the end-to-end governance of that content. Content governance covers everything from procedures to technology that a complex organization needs to make sure its content meets its standards for brand, legal compliance, and accessibility. There can be a lot of content stakeholders with diverse concerns. Strong content governance is what stops all of that from devolving into chaos.
Drupal has been working toward this in core for a long time: granular user roles, workflows, content moderation in Drupal 8. With Workspaces in core, Drupal has closed another major governance gap. Content staging and review in the CMS.
Modern enterprise websites are composable. Content comes from multiple systems, dynamically laid out in the CMS, with edits and updates automatically propagating across the site. The governance of large-scale changes (adding new products, migrating a department, launching a campaign) needs to happen in the context of the overall site, with all the pieces of the puzzle present. Until Workspaces, Drupal hasn't had a clean solution for that.
A. External staging sites mean content managers work in two or more places. And what most content managers do not love is remembering which autogenerated subdomain from a git branch ID is the one they are supposed to be updating. Workspaces keeps everything inside a single Drupal installation.
A. More staging usually means more problems. With traditional staging servers, each parallel workstream typically means another environment, another subdomain, another database sync, and another deployment pipeline to track. Workspaces eliminates that. Each workspace is isolated, teams can work in parallel, and there is no artificial limit on concurrent campaigns or content initiatives. Tag1 has tested workspaces with more than a thousand entities changed in a single workspace.
A. Think of a workspace as a shallow copy. Only the changes you explicitly make are tracked in the workspace. If someone modifies different content directly on live, those changes are not in your workspace and will not be overridden when you publish. Your workspace only ever contains what you put there. The one edge case is the same entity being modified in both places, which Workspaces intentionally prevents (see the collaboration section below).
A. Each workspace is isolated with granular permissions. Design, content, legal, and translation teams can work in parallel workspaces without visibility into each other's work unless it is deliberately shared.
A. Yes. WSE preview links handle this. Create a dedicated role with preview access, assign it to the reviewer, and share the link. The reviewer does not need a full Drupal account, so this works for anonymous users too. The workflow is straightforward: prepare the role, generate the preview link, share it.
A. No. There are no changes to your anonymous content delivery. The active workspace is live 100 percent of the time for anonymous users, so the workspace system is invisible to them. The same caching setup that works for your anonymous visitors keeps working. The only thing to confirm is that your configuration is appropriate for the content editors using the site, which is standard practice.
A. This is the most important architectural property of Workspaces. When the active workspace is live, which it is 100 percent of the time for anonymous users, the workspace system is invisible, and your production site performs exactly as if Workspaces did not exist. That has been true since the architecture was first built in the Content Preview System (CPS) in 2014, and it is why Workspaces has run on some of the highest-traffic sites in the world for over a decade. Inside a workspace there is some overhead, but that is editorial traffic, a tiny fraction of your total load. Editors get a full-site preview, and visitors get full production speed.
A. Yes. File entities in Drupal aren't revisionable, so the Workspaces module can't scope a file to
a workspace the way
it scopes nodes. The moment a file is uploaded to public://, it's written to the default live storage in
sites/default/files and served directly by the web server, with no Drupal access check in the request
path.
So even when the node or media entity that references the file lives only in an unpublished workspace, the file itself is already on disk and reachable at its direct URL by anyone who has or guesses it. Publishing state doesn't gate it. Public means public, and only the obscurity of the filename keeps it from being found.
If the file needs to stay private until publish, use a private:// file field, which routes downloads
through Drupal so
access checks apply, or a module like File Unpublish, which keeps public files of unpublished media entities
inaccessible until the entity is published.
A. Once a workspace is published, whatever is live is what you would export, the same as always. For sites that manage configuration directly on the site rather than exporting it to code, this is largely a non-issue. For sites with strict configuration management workflows, WSE Config is still maturing (the session described it as almost production ready), so test it in a non-production environment before you rely on it in production.
A. They cannot, and that is deliberate. Once an entity is modified in a workspace, it is tracked there, and another editor cannot modify it in a different workspace. This is a feature, not a limitation. Automatic merging of structured content fields, entity references, and media relationships leads to data corruption, and every system that has attempted it has run into fundamental issues.
Workspaces takes the same approach as a well-run development team: coordinate through communication. Shared workspaces let teams collaborate, content ownership keeps responsibilities clear, and WSE lets you move content between workspaces when needed. If content is locked, discarding the change frees it again. The absence of automatic merging is a safety guarantee: your workspace will never contain content you did not put there.
A. Deleting content in a workspace is a special case, because the content needs to disappear from your workspace preview while staying visible on the live site until you publish. Workspaces solves this with the Trash module. Within the workspace, deleted content drops out of listings, views, and search results, but on the live site it remains visible until publish. Content deleted in a workspace stays recoverable until you publish, and this integration also removes an older constraint so that any entity type can participate in workspaces, not just those with a publication status.
A. Workspaces integrates with Drupal's core Workflows module. You can move an entire workspace through workflow states such as draft, review, approved, and published, so the whole collection of changes moves through the approval process as a unit. Your legal team reviews the complete workspace, your content manager approves the entire set, and when it reaches the publish state the whole workspace deploys atomically. The Content Moderation and Workspaces integration is nearly complete, with one remaining issue to resolve in core, and the simplified content workflow initiative will make the two work together for more complex scenarios where different entities need different approval paths.
A. Yes. Workspaces is compatible with Canvas. The implementation differs, because Workspaces aligns with the Layout Builder approach rather than Canvas's own, but the two work together.
A. Workspaces gives AI content generation the boundary it needs. AI content tools are scaling quickly, and Drupal's AI module integrates dozens of providers with automators that can bulk-populate fields, generate summaries, and translate content. But AI is non-deterministic: it can hallucinate and produce errors. Workspaces provides the natural safety architecture. Think of a workspace like a pure function: everything inside is safe and reversible with no side effects. An AI agent can generate content, edit fields, and populate entire sections inside a workspace, and nothing touches live until a human reviews the changes and publishes. The workspace diff makes that review straightforward. The result is governed automation, where AI helps and humans stay in control.
A. The architecture is sound, and the remaining work is about closing the last gaps and proving the system in the wild. Content Moderation and Workspaces are nearly integrated, with one issue left in core. WSE Config, which stages configuration changes alongside content, is almost production ready. WSE Theme lets you preview an entirely different theme staged in a workspace. What the system needs most now is real-world testing: try it with your contrib modules, test it with your custom entity types, and report bugs when you find them. Every production deployment proves the architecture.
Workspaces is stable, it is in core, and it is the right architecture for content governance at scale, including AI content generation.
read moreJSON:API on its own gets you decoupled entities: fetch a node, fetch a set of IDs, done. It doesn't get you the filtering, sorting and pagination that most real content listings actually need - a list of articles by tag, a paginated product catalogue, an events calendar with a date filter. You either reimplement that logic on the frontend, or Drupal ships a hand-written custom resource for every list on the site. That gap is the same regardless of what's rendering on the other end, React and Next.js, Vue and Nuxt, or anything else that can call an API.
JSON:API Views closes it: whatever a View can already do, a decoupled frontend can ask for over JSON:API, using the access checks and query logic the view already has, no separate endpoint to write or maintain. It's also, not coincidentally, why I still maintain the module at all: it's the backend half of DruxtViews, the piece that makes Views work in Druxt, my own Nuxt-based decoupled Drupal framework.
read moreThis is a guest post from the team at Zoocha, a Gold Drupal Certified Partner with offices in the United Kingdom, Spain, Brazil, and the United States.
As Drupal agencies, we're fortunate to benefit from a vibrant ecosystem that generates awareness, interest, and opportunities for all of us. At Zoocha we receive inbound enquiries from a variety of sources. Whether they arrive via Drupal AI, Drupal CMS, a community recommendation, a Drupal event, or direct through our site, every enquiry often represents something important: a person taking their first step towards our community.
Not every lead is a project.
Not every lead has a budget.
Not every lead is ready to buy.
But they always deserve a meaningful response.
When someone reaches out to a Drupal agency, they're rarely just evaluating that agency, they’re more often than not seeking to engage with Drupal itself. For many prospective clients, they may not know the difference between Drupal, the Drupal Association, Drupal CMS, an implementation partner, a hosting provider, or the wider open source community. They simply know they've heard about Drupal and are looking for guidance.
The response they receive helps shape their perception of the entire ecosystem. If their first interaction feels dismissive, transactional, or overly focused on qualification, they may walk away believing that's what the Drupal community is like. If their first interaction is friendly and genuine, they leave with a very different impression.
Most agencies have some form of qualification process. It's sensible, and so do we. Time is valuable, and we know not every conversation will become a project.
However, there is a difference between understanding someone's needs and interrogating them. We've all seen responses that immediately ask:
While those questions have their place, they are rarely the most important thing during an initial conversation. Many prospects simply don't know the answers yet.
Some are conducting research. Some are exploring options. Some are trying to understand whether Drupal is even the right fit. At this stage, what they often need most is guidance.
One of the most effective approaches we've found at Zoocha is to assume that the first conversation may never lead to a sale. That does sound counterintuitive for a commercial organisation, but it changes the nature of the interaction. Instead of trying to move the conversation towards a proposal as quickly as possible, we focus on being useful. That might mean:
Sometimes that conversation ends there, and that's ok. The contact doesn't leave empty handed. They leave with a positive impression of who we are in the Drupal community.
Interestingly, some of our most successful client relationships started with conversations that had no immediate commercial outcome. We've had early exchanges that were little more than an idea, with individuals facing a specific challenge and just looking to find out if they're even in the right place with Drupal. After a person-first conversation, they disappeared. But a few months, or even a year, later, they came back, and what began as a casual enquiry became a long-term client partnership.
This didn't happen because we had the best sales team or process. It happened because we prioritised human connection over a fast sale.
Drupal has always been built around principles of collaboration, openness, and knowledge sharing, these values really shouldn't stop at code contributions. They can also shape how we engage with prospective users of the platform. When we answer questions generously, share expertise freely, and help organisations make informed decisions, we're strengthening confidence in Drupal itself.
Even if a particular opportunity never becomes a client engagement, the person on the other end of that conversation is left with a positive impression of the community. That's good for all of us!
The next time a speculative Drupal enquiry lands in your inbox, try viewing it differently. Consider simply asking, "How can we actually help this person?" The answer might only require a short email, a useful link, or a brief conversation, and yes, the immediate commercial return is likely to be zero. But the long-term return, for your agency and for the Drupal ecosystem, can be significant.
Every first interaction is an opportunity to demonstrate what makes the Drupal community different. Let's make sure it's a positive one.
This is a guest post from the team at Zoocha, a Gold Drupal Certified Partner with offices in the United Kingdom, Spain, Brazil, and the United States.
As Drupal agencies, we're fortunate to benefit from a vibrant ecosystem that generates awareness, interest, and opportunities for all of us. At Zoocha we receive inbound enquiries from a variety of sources. Whether they arrive via Drupal AI, Drupal CMS, a community recommendation, a Drupal event, or direct through our site, every enquiry often represents something important: a person taking their first step towards our community.
Not every lead is a project.
Not every lead has a budget.
Not every lead is ready to buy.
But they always deserve a meaningful response.
When someone reaches out to a Drupal agency, they're rarely just evaluating that agency, they’re more often than not seeking to engage with Drupal itself. For many prospective clients, they may not know the difference between Drupal, the Drupal Association, Drupal CMS, an implementation partner, a hosting provider, or the wider open source community. They simply know they've heard about Drupal and are looking for guidance.
The response they receive helps shape their perception of the entire ecosystem. If their first interaction feels dismissive, transactional, or overly focused on qualification, they may walk away believing that's what the Drupal community is like. If their first interaction is friendly and genuine, they leave with a very different impression.
Most agencies have some form of qualification process. It's sensible, and so do we. Time is valuable, and we know not every conversation will become a project.
However, there is a difference between understanding someone's needs and interrogating them. We've all seen responses that immediately ask:
While those questions have their place, they are rarely the most important thing during an initial conversation. Many prospects simply don't know the answers yet.
Some are conducting research. Some are exploring options. Some are trying to understand whether Drupal is even the right fit. At this stage, what they often need most is guidance.
One of the most effective approaches we've found at Zoocha is to assume that the first conversation may never lead to a sale. That does sound counterintuitive for a commercial organisation, but it changes the nature of the interaction. Instead of trying to move the conversation towards a proposal as quickly as possible, we focus on being useful. That might mean:
Sometimes that conversation ends there, and that's ok. The contact doesn't leave empty handed. They leave with a positive impression of who we are in the Drupal community.
Interestingly, some of our most successful client relationships started with conversations that had no immediate commercial outcome. We've had early exchanges that were little more than an idea, with individuals facing a specific challenge and just looking to find out if they're even in the right place with Drupal. After a person-first conversation, they disappeared. But a few months, or even a year, later, they came back, and what began as a casual enquiry became a long-term client partnership.
This didn't happen because we had the best sales team or process. It happened because we prioritised human connection over a fast sale.
Drupal has always been built around principles of collaboration, openness, and knowledge sharing, these values really shouldn't stop at code contributions. They can also shape how we engage with prospective users of the platform. When we answer questions generously, share expertise freely, and help organisations make informed decisions, we're strengthening confidence in Drupal itself.
Even if a particular opportunity never becomes a client engagement, the person on the other end of that conversation is left with a positive impression of the community. That's good for all of us!
The next time a speculative Drupal enquiry lands in your inbox, try viewing it differently. Consider simply asking, "How can we actually help this person?" The answer might only require a short email, a useful link, or a brief conversation, and yes, the immediate commercial return is likely to be zero. But the long-term return, for your agency and for the Drupal ecosystem, can be significant.
Every first interaction is an opportunity to demonstrate what makes the Drupal community different. Let's make sure it's a positive one.
Organizations usually begin considering a multisite approach (the ability to manage multiple distinct websites from one single Drupal instance) when they are scaling their digital presence. This scaling is not only about traffic, but also about organizational structure.
Common drivers include:
A multisite architecture is not always the right answer. It often introduces additional complexity and is rarely justified when sites have fundamentally different goals or audiences, when editorial teams require complete independence, or when there is insufficient technical capacity to support shared infrastructure.
When a multisite approach does make sense, there are several established patterns in Drupal. Each pattern solves a different organizational problem and comes with meaningful tradeoffs.
This category includes approaches where many independent Drupal sites share a common codebase while maintaining separate databases, configuration, and content.
Two common implementations of this pattern are custom upstreams (commonly used on Pantheon) and Acquia Site Factory. These approaches are often discussed together, but they differ in important and practical ways.
What it is
Custom upstreams allow multiple Drupal sites to inherit from a shared upstream Git repository. Each site is a fully independent Drupal installation. The upstream defines only the shared code, and perhaps a starting point for the site configuration.
Sites choose when to pull updates and can diverge when necessary.
Best fit when
Pros
Cons
Summary
Custom upstreams optimize for operational clarity and independence. They scale well when sites are intentionally similar but not tightly coupled.
What it is
Acquia Site Factory is a managed multisite platform layered on top of Drupal and Acquia’s hosting infrastructure. In addition to sharing code, Acquia Site Factory provides a central control plane for provisioning, governance, and operations across a large portfolio of sites.
The platform is designed as a true site factory, with templated site creation and centralized management.
Best fit when
Pros
Cons
Summary
Acquia Site Factory optimizes for governance and scale. It trades architectural flexibility for centralized control and operational efficiency.
While both approaches support a single codebase with multiple sites, they emphasize different priorities.
This distinction affects deployment workflows, debugging, onboarding new sites, and the long-term evolution of the platform.
What it is
Traditional Drupal multisite allows multiple websites to run from a single Drupal codebase using separate directories under /sites. Each site typically has its own database and configuration. All sites share the same runtime, deployment process, and underlying infrastructure.
This approach is built into Drupal core and remains fully supported.
Best fit when
Pros
Cons
Summary
Traditional multisite optimizes for simplicity and cost reduction at small scale. Shared runtime risk becomes a significant drawback as complexity increases.
What it is
The Domain module allows a single Drupal site and database to serve multiple domains or subdomains. Content is explicitly assigned to one or more domains at publish time.
Out of the box, content is not automatically shared across domains. Editors must intentionally choose which domain or domains the content belongs to.
Best fit when
Pros
Cons
Summary
The Domain module shifts complexity away from infrastructure and into editorial experience and configuration management. Clear domain boundaries and editor training are essential.
What it is
In a decoupled approach, multiple sites share front-end applications, design systems, or component libraries. Each site maintains its own Drupal backend or content management system.
This pattern is typically part of a broader composable architecture strategy.
Best fit when
Pros
Cons
Summary
Decoupled multisite architectures prioritize strategic flexibility rather than cost savings.
In some cases, the best multisite decision is not to use a multisite approach at all and maintain separate websites.
Pros
Cons
| Approach | Governance | Editorial Complexity | Technical Complexity | Content Sharing | Failure Isolation | Best For |
|---|---|---|---|---|---|---|
| Pantheon Custom Upstreams | Low to medium, process-driven | Low | Medium | Low | High | Many similar sites that require autonomy |
| Acquia Site Factory | High, platform-enforced | Medium | High | Low to medium | Medium | Very large, compliance-driven portfolios |
| Traditional Drupal multisite | Low | Medium | Medium | Low | Low | Small multisite portfolios |
| Domain module | Medium | High | High | Intentional and manual | Low | Closely related brands with shared teams |
| Decoupled multisite | Low to medium | Medium | Very high | Low | Low to medium | Highly differentiated experiences |
| Fully separate sites | Low | Low | Low | None | High | Independent organizations or brands |
There is no universally perfect Drupal multisite solution.
The real question is what are you optimizing your site for? Autonomy, consistency, speed, and shared content lead to different architectural decisions.
Most multisite challenges are organizational first and technical second. The right architecture reflects how teams work today and how they expect to scale in the future.
Get in touch with us to talk about the best multisite options for your organization.
This started with an agent writing a comment into our Drupal intranet. It had traced an authentication flow, decided a sequence diagram was the clearest way to say it, and wrote one. What landed on the page was a grey box of monospaced text.
That is a small failure with a wider shape behind it. A growing share of what gets written into a Drupal site is no longer typed by a person into CKEditor. It arrives through an API, from a script, from an agent with an MCP connection to the site. And whatever writes it, the diagram comes out the same way:
<pre><code class="language-mermaid">sequenceDiagram
Alice->>Bob: hello</code></pre>
That is not a choice anyone made. It is what a fenced ```mermaid block becomes when Markdown is converted to HTML, which is the shape a language model writes in because it is the shape it was trained on. It is also, independently, exactly what CKEditor 5's Code Block plugin emits when a human picks a language from the dropdown. Human authors and machine authors converge on the same markup, which is a convenient thing to be able to rely on.
Mermaid is worth supporting for the ordinary reasons too. The diagram stays as text in the field, so it is searchable, it diffs, and the next person fixes one line instead of rebuilding a PNG that nobody has the source for. But the reason it became urgent for us is the one above: content we did not hand-write was arriving in a form the site silently failed to render.
Getting it working turned out to be short, with one genuinely non-obvious trap in the middle. This post is the trap, wrapped in the working solution.
Mermaid Integration is the contrib module. It has been around since 2020, it is maintained by people whose names you will recognise, and its filter renders diagrams from a [mermaid]...[/mermaid] shortcode.
That syntax is the whole problem, and it is worth being precise about why. No model will ever emit [mermaid] unprompted, because nothing in its training data looks like that. Neither will any Markdown converter, nor CKEditor, nor a paste from a README. A human can be told to switch to source view and hand-type a shortcode. A pipeline cannot be told anything, and it does not fail loudly: the content saves fine, the page renders fine, and the diagram is simply a code block forever.
So a shortcode-only integration is invisible to every non-human author your site has. That is a different problem from being inconvenient, and it is the one that decided this for us.
We wrote our own filter rather than fight that, and we are contributing code block support back upstream. More on that at the end.
The pattern to copy is Highlight.js Input Filter. Its filter does a cheap regex first and only attaches its libraries when the text actually contains a code block. That conditional attachment is the whole game when your library is measured in megabytes.
public function process($text, $langcode): FilterProcessResult {
$result = new FilterProcessResult($text);
// No diagram in this text: attach nothing, change nothing.
if (!preg_match(self::DETECT_PATTERN, (string) $text)) {
return $result;
}
$count = 0;
$processed = preg_replace_callback(self::BLOCK_PATTERN, /* ... */, (string) $text);
if ($processed === NULL || $count === 0) {
return $result;
}
$result->setProcessedText($processed);
$result->addAttachments(['library' => ['your_module/mermaid']]);
return $result;
}
Nothing surprising so far. Then you turn it on next to your existing syntax highlighter and the page breaks in two ways at once.
Our site runs Highlight.js Input Filter on the same text format. The moment a language-mermaid block appeared, two things went wrong: a 404 in the console on every page with a diagram, and syntax highlighting painted underneath the rendered graph.
The 404 is easy to explain. That module scans the text server-side for language-* classes and passes the languages it found to the browser in drupalSettings, and the front end then imports a grammar per language from a CDN. There is no Mermaid grammar in highlight.js, and there never will be, because highlighting and diagramming are not the same operation. One paints tokens and leaves the text as text. The other deletes the block and draws something else in its place. So the import 404s:
GET https://unpkg.com/@highlightjs/cdn-assets@11.9.0/es/languages/mermaid.min.js 404
The obvious fix is filter weight. Give your filter a negative weight so it runs before the highlighter, take the block out of the way, done.
It is not enough, and this is the part worth remembering. The highlighter has a second half that filter weight cannot reach. Its JavaScript calls:
hljs.highlightAll();
highlightAll() walks every pre code element in the document and auto-detects a language for each one. It does not consult drupalSettings. It does not know or care what your PHP decided. Ordering filters fixes the server-side half and leaves the client-side half completely untouched, which is why the double-render survives a fix that looks like it should have worked.
So the filter has to change the markup, not just run first. Two edits, one per half:
// Before: what CKEditor stored.
<pre><code class="language-mermaid">…
// After: what our filter emits.
<pre data-bloom-mermaid="1"><code class="nohighlight">…
The attribute on the <pre> defeats the server-side half, because that module's regex requires a bare <pre> immediately followed by <code:
'/<pre>\s*<code\s+class="\s*(?:[\w-]+\s+)?\b[\w-]*lang(?:uage)?-([\w-]+)\b/i'
Add any attribute and it stops matching, so mermaid never reaches drupalSettings and the 404 never happens.
The nohighlight class defeats the client-side half. It is the class highlightElement checks before giving up on an element:
const shouldNotHighlight = (languageName) => /^(no-?highlight)$/i.test(languageName);
Both, or you have only half a fix. We have this written down in the repo with a note not to remove it, because the rewrite looks redundant if you only know about the filter ordering.
There is a neater variant available if you control the output shape. Contrib's module emits <pre class="mermaid"> with no <code> element inside at all, and highlightAll() selects pre code, so the collision simply cannot occur. We kept the <code> because we wanted a readable code block as the failure mode. Pick whichever tradeoff you prefer, but pick deliberately.
Contrib pulls Mermaid from cdn.jsdelivr.net with no version pin. We wanted the file in the repo: no third-party dependency in the critical path of an internal page, and no surprise when a major version lands.
The tidy Drupal answer is composer require npm-asset/mermaid, which installs into web/libraries. We measured before committing to it, and the numbers ended the discussion. Mermaid 11.16.1 unpacks to 83 MB across 1171 files, about 26 MB of which are source maps that never reach a browser. web/libraries is tracked in git in our project, so that is 83 MB of repository for one diagram renderer.
What you actually need is one file. dist/mermaid.min.js is the self-contained UMD build, 3.6 MB raw and 975 KB gzipped, and it sets globalThis.mermaid. We vendored that single file with a README next to it recording the version, the licence, the exact source URL and the upgrade command.
3.6 MB is still a lot, which is exactly why the conditional attachment matters. A page with no diagram downloads none of it. We also set preprocess: false on the library so a file that size stays out of the aggregated JavaScript bundle:
mermaid:
version: 11.16.1
js:
js/vendor/mermaid.min.js: { minified: true, preprocess: false }
js/mermaid-init.js: {}
dependencies:
- core/drupal
- core/once
Read textContent, never innerHTML. The stored markup escapes the arrows, so a sequence diagram is sitting in the database as A-->>B. textContent gives you the decoded text that Mermaid's parser expects; innerHTML hands the parser the entities and it fails on every diagram with an arrow in it, which is to say all of them.
A broken diagram must never break the page. Someone will eventually get the syntax wrong in a comment, and a syntax error in one diagram cannot be allowed to take down a task page. So the render is wrapped, the failure is silent, and the original code block stays visible and readable:
mermaid.render(id, source)
.then((result) => { /* replace the <pre> with the SVG */ })
.catch((error) => {
// Degrade to the plain code block.
pre.classList.add('bloom-mermaid-error');
console.warn('Mermaid: diagram not rendered.', error);
});
Set securityLevel: 'strict' while you are there, and suppressErrorRendering: true so Mermaid does not inject its own error graphic into your page when a parse fails.
One more that cost us a test to find: Mermaid leaves a throwaway measurement element in document.body when parsing throws. It cleans up after a successful render but not always after a failed one. Remove #d<your-id> in a finally.
Last step, and easy to forget: put Mermaid in CKEditor's Code Block language list, so authors can pick it from the dropdown instead of needing source view.
plugins:
ckeditor5_codeBlock:
languages:
# …
-
label: Mermaid
language: mermaid
Export that config. If it only exists in the active store, the next config:import takes it away again.
None of the above is Mermaid-specific except the library name. Any renderer that replaces a code block rather than colouring it hits the same two-halves problem: PlantUML, Vega-Lite, ABC notation, chemical structures. If you build one of those, the ordering fix will look like it worked and it will not have.
Two merge requests are open against Mermaid Integration:
Reviews welcome.
As for the comment that started this: the agent reran it after the filter went live, and the diagram drew. Which is the useful test, in the end. If the machines writing into your site cannot render a diagram, neither the machines nor the people reading after them get one.
The latest chapter of content management within Drupal officially started with the release of Drupal Canvas. And we have to admit, the pages in this chapter look fantastic!
read moreRecent audited figures give Drupal’s sustainability debate a concrete baseline. The Drupal Association says unrestricted reserves are about $960,000, equal to 2.3 months of operating expenses and below the board’s three-month minimum. Its 2025 accounts put Drupal.org and supporting services at about $2.1 million in programme expenses, without a dedicated funding mechanism. The question is no longer whether shared work has a cost, but how those costs become recurring commitments.
The same problem appears across infrastructure, security review, dependency maintenance and contribution. These responsibilities continue after software is adopted and cannot be assumed to exist indefinitely through volunteer capacity, one-off grants, donated services or event revenue. Current proposals differ on the mechanism, but increasingly treat stewardship as capacity that organisations and institutions have to plan and fund.
That makes this week’s question narrower than whether Drupal needs stewardship. It is who pays, for what, and on what recurring basis. With voting in the 2026 Drupal Association at-large board election open until 14 August 2026 at 23:59 UTC, those choices are also part of a live governance decision.
Follow The DropTimes on LinkedIn, X, Bluesky, and Facebook, or join #thedroptimes on Drupal Slack.
This issue of Editor’s Pick was written and curated by Allen Jason.
read moreWe recently added PreviousNext's name to "A Manifesto for an Open Future," joining 15 other Drupal agency founders and leaders in a public declaration that open source, not closed platforms, is the foundation for the future. Since founding PreviousNext in 2009, we've built our business on that premise, so signing felt less like adopting a new position and more like putting our name to something we've already been doing for 17 years.
The manifesto's core conviction is: "we are here to help build a resilient civilisation, and to build it in the open." The nine statements that follow reinforce that open source code becomes a refuge as trust in proprietary technology erodes; that data sovereignty stops being optional; that structured content becomes the raw material machines reason best on; and that security earned through a quarter-century of public scrutiny counts for more than a security case a vendor simply asserts rather than proves.
We didn't need much convincing to sign. PreviousNext invests around 5% of our annual revenue by contributing to Drupal's codebase and community, we're Australia's only Top Tier Drupal Certified Partner, and we rank among the top five global contributors to the project despite our comparatively small team. From helping formalise the DrupalSouth Steering Committee through the 2010s and volunteering on the Drupal Association board from 2019 to 2025, the manifesto's language about supporting the wider community across competitive lines is the essence of the commitment we already have.
The manifesto asks signatories to commit to four things: contribute; support each other; tell the story of what open source makes possible; and meet the moment with courage instead of retreating into nostalgia. For us, our contributed time is a budget line, not a marketing spiel. The second means we'll keep sharing what we learn building on Drupal rather than treating it as a competitive advantage to hoard. The third and fourth are more about attitude: talking about Drupal in public more, like we just did with other Drupal Certified Partners at a major government conference, and being ambitious about Drupal's future evolution, rather than assuming 25 years of Drupal's legacy settles all arguments.
That last point matters more for our clients. While most of the industry conversation around AI has been about which platform is the newest and shiniest, the manifesto explains that machines reason best on content that's modelled, labelled and meaningful, which is what Drupal has spent two and ahlf decades getting right. As more of our clients start integrating AI into their platforms, that structure stops being a technical detail and starts being the difference between AI that actually understands content and AI that's guessing at it. Sovereignty works the same way: Drupal carries no licensing cost, we can modify and enhance every line of code we build on, and clients own their platform outright, something PreviousNext's clients already benefit from. From a security perspective, Drupal's codebase is available for any security researcher to inspect and is overseen by a global security team that PreviousNext team members are an active part of.
If you're a Drupal agency, hosting provider or product team that shares this view, the manifesto is still open for signatories at https://drupal-open-future-manifesto.com/. If you're a client wondering what our commitment to open source principles means for your own projects, please get in touch.
This post is adapted from the DA Insider, the Drupal Association's monthly newsletter. Subscribe here to get it in your inbox each month.
Dear Drupal community,
Open source hums along on the work that just gets done. As I step into the interim CEO seat, I'm making a point to notice the sheer volume of work powering this ecosystem, from the DA and beyond. Here's some of what has come together in the past month:
My goal as interim CEO is straightforward: make sure the Association's foundation is resilient enough to support all this energy. The first step is helping all of us notice and appreciate the work that already "just happens."
I hope you enjoy this month's newsletter and everything everyone's been building. And one final note: board elections are open. Please vote.
Tiffany Farriss Interim CEO
If you're a Ripple Maker, your ballot arrived by email from Helios Voting on 22 July. Voting closes 14 August 2026 at 23:59 UTC, so there's still time to get to know the candidates: read their profiles and leave questions on the election details page, catch the Open Community Forum recording on our YouTube channel, or revisit the async conversation in #drupal-association on Drupal Slack. Every vote counts — make yours matter.
DrupalCon Rotterdam 2026 is ready. Join the global Drupal community for four days of learning, collaboration, and connection — explore the program, meet the speakers, and start planning your experience. Secure your ticket now.
The DrupalCon Orlando 2027 Call for Speakers opened 4 August and closes 20 October 2026, with some notable changes this year:
A more focused program with fewer concurrent sessions and an emphasis on high-quality, impactful content. Updated session tracks reflecting the evolving Drupal ecosystem. And a new pathway for first-time speakers: if you've never spoken at a DrupalCon, DrupalCamp, or other Drupal event, you can submit to the new Poster Session — selected presenters showcase their work at the Monday Welcome Reception and present a 10-minute session on the Lightning Stage.
And keep an eye out for Bytes the Gator, the DrupalCon Orlando mascot, who'll be visiting Drupal events around the world between now and March 2027 — with a chance to win a free registration to DrupalCon Orlando 2027 along the way.
Nominations are open for the Women in Drupal Award, sponsored by Jakala, recognising women whose work strengthens the Drupal community — in the projects they build, the teams they support, the ideas they bring forward, and the space they create for others to grow. Know someone whose contribution deserves recognition? Submit a nomination.
When highly critical vulnerabilities emerge — like SA-CORE-2026-004, a SQL injection in Drupal core that anonymous users can trigger — every minute matters. Drupal Steward is a security service from the Drupal Association that gives you extra time to respond before vulnerabilities can be widely exploited: early notification of highly critical issues, recommended WAF mitigation rules, and access to security expertise, in coordinated collaboration with the Drupal Security Team. It's available in a Community Tier for smaller site portfolios, plus Small, Mid-Size & Enterprise tiers for organisations that want full control. Referral incentives are available for Drupal Certified Partners.
The migration of projects to GitLab issues continues — including security issues and hundreds of Ripple Maker projects — with GitLab soon to be enabled by default for all new projects, alongside updated contribution docs and a new custom commands reference. The team has also kicked off a collaboration with Alpha-Omega through their Security Engineer in Residence program to triage and respond to the growing wave of AI-generated security reports. And an RFP is under way for the Drupal Site Template Marketplace, focused on closing the last mile from template selection to live hosted site.
We're building a dedicated product marketing site for Drupal — a purpose-built, marketing-led site designed to reach the people who haven't heard of Drupal yet: marketers, IT directors, and enterprise decision-makers evaluating CMS platforms.
High-priority tasks are being added to the promote_drupal project on GitLab — real, scoped pieces of design, content, video, and strategy work with significant contribution credits attached, with more added on a rolling basis. If something catches your eye, reach out to Ryan Witcombe at ryan.witcombe@association.drupal.org or @RyanWitcombe on Drupal Slack.
On 15 July, the Drupal Burkina Faso Association, led by its president Seferiba Salif Soulama, met with Burkina Faso's Minister of Digital Transition, Dr. Aminata Zerbo/Sabane, to explore how Drupal can support the country's digital future. The meeting marks a significant step toward a formal partnership between the Ministry and the Drupal Burkina Faso Association, with Drupal at the heart of Burkina Faso's digital modernisation agenda.
This is what open source looks like in action: communities, governments, and technology coming together to build something that belongs to everyone. Read the full story.
The Drupal AI Initiative team has launched The AI Byte, a monthly LinkedIn newsletter curating the best content across the web about Drupal AI — new capabilities, case studies, events, and webinars. Subscribe on LinkedIn.
This roundup is adapted from the DA Insider, the Drupal Association's monthly newsletter. Want it in your inbox? Subscribe to email communications and browse previous editions.
AI was used to help adapt this newsletter into a blog post. It was reviewed and edited by Drupal Association staff before publishing.
When I took on the role of Interim CEO, I committed to being direct about our finances and noted that our earlier audits already told much of the story. The board has now released our 2025 audit report, which was provided to the Board of Directors of the Drupal Association on 8 July 2026 and approved on 25 July 2026. It provides additional context and detail, but does not change the overall picture or our path forward.
To be clear, nothing in this audit means any of the services the project depends on are at risk. What this audit does is help us to understand the status quo so that we can take appropriate action moving forward.
The DA spent about $451,000 more on operations than we brought in last year (2025), and that followed a larger shortfall the year before ($923,000).
Those two years are not cleanly comparable, because the 2025 audit also restates our previously audited 2024 results. Our auditors determined that about $353,000 of membership revenue had been recognized in 2024 that should instead have been allocated to 2025, when it was actually earned. This was a non-cash correction to our books: no money changed hands, and nothing was lost or misspent.
Together, 2024 and 2025 produced a combined shortfall of about $1.15M, which averages roughly $573,000 a year. Our current forecast puts 2026 on the same path.
Our cash reserves (the unrestricted funds we can actually spend on operations) have decreased by about 60% since the end of 2022, to roughly $960,000, which represents 2.3 months of operating expenses. Board policy sets a six-month target and a three-month reserve minimum. 2025 is the first year since 2019 that the DA has failed to meet the minimum. The DA remains a going concern and is not in danger of becoming insolvent, but it is time for action.
Coming out of 2022 with strong reserves, the board approved a three-year strategic plan on 6 June 2023 and chose to put some of its surplus toward ambitious, community-requested investments in marketing and project support. Funding strategic growth is how excess reserves are best leveraged.
These investments have had a measurable impact:
Contributions to Drupal strategic product innovation tripled, reaching 211,037 organizational credits in 2025, a 54% increase over 2024.
We reached 106 Drupal Certified Partners under enhanced "maker" requirements, roughly double the 2022 figure.
43 people were brought into Drupal leadership roles for the first time, against a goal of 38.
We adopted and executed a go-to-market plan for the launch of Drupal CMS, and built marketing capacity inside the DA for the first time.
However, the sustainability of these efforts long-term was tied to a goal which we did not meet:
Increase Drupal Association total revenues by 3X, from $3.49M in 2022 to $10.5M in 2026 to better support mission-driven activities.
Our reported revenue did grow about 25% between 2022 and 2025. While 2025 is one of our largest revenue years on record, this figure is misleading, because most of the growth is in non-monetary services provided in trade (described in more detail below). Putting that aside, the Association’s cash revenue grew 5% over three years while out-of-pocket costs grew 27%.
The gap is paid for out of our reserves. Reserves are the right instrument for starting something and the wrong instrument for running it. Funding our strategic initiatives from reserves was the right decision for the duration of the strategic plan, but while that plan ended last year, the work has continued without a viable funding plan.
Marketing and project support are precisely the kind of mission-aligned work the DA should be doing. So the task in front of us is to fund it properly: each program examined discretely, with its own revenue plan, and held to revenue neutrality now that it has moved out of pilot and into operations.
In 2022 we spent $1.3M running Drupal.org (the Web site, composer endpoints, GitLab, CI, authentication, and the global CDN), and in 2025 we spent $2.1M. That is up 61% in three years. It is the Drupal Association's single largest cost, and it has no direct funding mechanism. Every organization that uses Drupal relies on this infrastructure, but none of them are asked to pay for it, because we have never built a way for them to.
For most of Drupal's history that did not matter, because the surplus revenue from DrupalCon covered the costs of Drupal.org. However, since 2022 the DrupalCon surplus has fallen from about $994,000 to about $227,000. While event costs have continued to increase since we resumed in-person events, event revenue has gone down.
This means that we are increasingly relying on the generosity of a handful of vendors and partners who provide services for free or in trade for sponsorship placements. That generosity has grown from $249,249 in 2022 to $1,011,995 in 2025 and now covers nearly half of what we spend on Drupal.org. These services in trade and donated services have not reported in our monthly reports because they were “non-cash”; they appeared only at audit.
|
Share of what we spend on Drupal.org |
2022 |
2025 |
|
Covered by DrupalCon surplus |
76% |
11%↓ |
|
Covered by services in trade, gratis |
19% |
48%↑ |
|
Covered by general operating revenue |
4% |
41%↑ |
The remainder of the infrastructure spending gap must be paid for out of general operating revenue, and failing that, out of reserves. These costs increased from $56,825 in 2022 to $859,384 in 2025.
It is also important to note that these numbers do not account for work that is deferred because the funding is not there to pay for it. This technical debt does not appear on any of our financial statements, but is a growing liability that will need to be paid for at some point.
The bottom line is that while our cash spending on infrastructure has remained steady, we have a rising essential cost that currently has no funding model attached to it yet.
The fiscal year 2024 closed 31 December 2024. The initial audit for 2024 was released in July 2025 showing $570,000 of deficit. Then in July 2026, it was restated downward to a $923,000 deficit as part of the 2025 audit.
While the Drupal Association CEO is accountable for the organization’s day-to-day operations, the board provides oversight over the organization’s budget and finances. This oversight requires timely, accurate, and consistent financial reporting.
The monthly reports that the board’s Finance Committee reviewed and the audited statements published 6 months after the year close were prepared on different bases, with nothing reconciling the two. The Finance Committee struggled to get consistent answers or clarity about what individual figures included. In April 2026, Finance Committee asked our auditors to examine the reporting revenue recognition practices directly. That request is what produced the restatement of 2024 as part of the 2025 audit. This also explains how long it took to know where we stood in 2024.
The responsible approach is to act now, while we can still make changes on our own terms rather than in a crisis. Some of this is already underway and the rest has dates attached to it.
As Interim CEO, I am operationally accountable to make sure that the board has access to an annual budget that is actively managed with variances mitigated; receives consistent, contextualized and timely financial reports; and that robust internal controls and workflows are in place. This clarity will give the Finance Committee and the board what they need to exercise proper oversight within the policy guardrails they have set.
Our internal reporting will be reconciled to audit-basis accounting, so that the figures the board governs against during the year are as close as possible to the ones we publish after it; non-cash arrangements will be recorded as they occur rather than at year end; and our reserve position will be reported on a single defined basis, against both policy thresholds, every period.
Drupal.org will be presented as a program with a cost that the Drupal Association is accountable for funding. The Association needs a durable way to fund Drupal.org rather than the patchwork indirect one we have now. These issues are not unique to Drupal, and I am looking forward to hearing others' thoughts, but be assured that I do not intend to solve a funding problem by reducing the services the community relies on.
Within the coming months, I will publish:
What each part of our work actually costs and how it is funded
The full costs of Drupal.org as a measurable figure, which will be the first time anyone, including the board, will have seen that number
An updated 2026 forecast and preliminary mitigation plan
This fall, I will prepare a two-year 2027-2028 Operating Budget with the Finance Committee that the board will be able to review and approve before the end of the year.
Nothing about the 2025 audit changes our commitment, our mission or the direction we need to go. It just adds a little urgency. I am focused on co-creating a financial model where the work sustaining Drupal rests on a foundation that is resilient and sustainable for the next long-term CEO.
Author: Will Huggins
In our previous blog posts, we’ve talked about how our growing ecosystem — now backed by 32 global partner organisations and a dedicated delivery team — is structured to build a secure, stable, and highly integrable AI-native digital experience platform.
So what does this mean for your day-to-day digital communications and marketing operations? How do you translate this into improved experiences for your audience, higher conversion rates, and reduced cost?
To win in the age of AI, digital leaders don’t just need faster ways to generate content or build great digital experiences. They need a platform that helps them move at maximum speed, while still maintaining the highest quality and content standards.
Here is an inside look at the key features on the Drupal AI 2026 roadmap, focused on the outcomes that matter most to digital communications and marketing teams: speed, brand safety, and measurable ROI.
Many AI-powered page builders on the market suffer from what digital leaders call "AI Slop": random, messy, raw HTML blocks based on generic AI models. These pages can break your site's layout, look wildly off-brand, fail accessibility standards, and create the dreaded ‘technical debt’ for your developers to clean up.
Drupal AI’s upcoming Canvas AI Page Builder operates under a completely different paradigm. It is natively component-aware.
A major anxiety for marketing teams is brand dilution. If your team is using disconnected AI tools, your brand voice can quickly fragment, sounding professional on one page and generic on another.
Drupal AI solves this by embedding a centralised Context Control Centre directly into the CMS. This serves as the single source of truth for your brand's identity and governance rules.
You can scale your global content footprint across multiple regions and channels, confident that every single piece of copy, everywhere, sounds exactly like you.
Today, your content lives in the CMS, but your performance data is trapped inside a web analytics dashboard (like Google Analytics or Matomo), and the two systems rarely talk to each other. As a result, marketing teams often miss trends, fail to optimise low-performing pages, and struggle to scale what actually works.
Drupal AI is built to close this loop by bringing performance intelligence directly into the content creation interface.
No more digging through dashboards to find what's not working. Your website becomes a living, self-optimising engine, learning what works best for your audience and handing ready-to-publish optimisations directly to your content editors, bridging the gap between data and action.
Speed is meaningless if your IT department or compliance team vetoes your tools due to security risks. To build an AI platform organisations can trust, Drupal AI treats security and governance as structural priorities, not afterthought add-ons.
Unlike lightweight SaaS tools that operate outside of your corporate governance, Drupal AI operates entirely within your existing approval workflows and editorial permissions.
This means you get the agility of generative AI backed by enterprise-grade, auditable, secure workflows: the kind of governance IT teams look for.
The future of digital experience is being built on open-source, model-agnostic foundations. By giving your marketing team visual page building, centralised brand context, and performance-driven optimisation within an enterprise-grade secure environment, Drupal AI is paving the way for digital teams to operate at maximum velocity with zero brand risk.
The future of open-source digital experience is being built right now. If your digital product or content marketing teams are ready to experience what is possible today, explore our progress and try the live demo.
Author: Will Huggins
In 2025, the Drupal AI Initiative launched with a clear vision: to establish Drupal as the premier open-source AI platform for digital experiences.
One year later, the market momentum is clear. What began as a highly focused working group has grown into a powerful ecosystem supported by 32 global partner organisations, over 50 active contributors, and over $2.3 million in committed funding. Most importantly, with the core AI technology now clocking up over 18,000 installs, organisations are actively building their next-generation marketing engines on Drupal.
For digital teams, AI presents a host of opportunities. The power to increase speed of production on one hand, while maintaining quality, consistency and governance on the other. Drupal is addressing this head-on by creating two dedicated product workstreams: Inside AI and Outside AI.
This blog post outlines what this means for your digital roadmap and how Drupal can help your digital marketing operations win in the age of AI.
As AI has evolved from chat boxes into autonomous, multi-step agents, digital leaders need a platform that does two things simultaneously: empowers human creators inside the browser and securely integrates with external marketing systems.
To accelerate our product roadmap, we have divided our day-to-day development into two specialised, business-focused tracks:
Through this dual focus, we aim to make Drupal the most advanced, intuitive workspace for your marketing teams and content creators, as well as the most secure and connectable platform to build on.
As you plan your digital product roadmaps and marketing strategies, here is a summary of exactly what is production-ready, what is ready for pilot testing, and what is on the horizon:
These capabilities are fully stable, secure, and ready to drive immediate ROI in your production environments:
These features are highly advanced and close to general availability. They are perfect for controlled pilot programs to gain a competitive edge:
One of the cutting-edge, experimental capabilities currently being refined in sandbox environments is Fully Autonomous Agents. These background agents are designed to analyse website performance, automatically propose layout optimisations to boost conversions, or build complex database queries entirely on their own.
As a mature open-source platform, Drupal AI is structurally sovereign, model-agnostic, and transparently governed.
Whether you need to host open-source models locally to comply with strict regional privacy regulations or plug into the latest commercial LLMs for maximum speed, Drupal AI ensures you always own your data, your models, and your digital roadmap. We build trust directly into the architecture through branch-based content versioning, strict governance workflows, and deep audit trails.
The Drupal AI Initiative is driving the future of open-source digital experience. If your marketing or digital product teams are ready to leverage the power of collaborative AI, try Drupal today.
This is a guest post from the incredible team at 1xINTERNET, a Top-Tier Drupal contributor and digital agency headquartered in Frankfurt, Germany.
When the Drupal Association announced that 1xINTERNET had become one of the world's Top-Tier Drupal Contributors, it was a proud moment for the company. Reaching the highest level of contribution recognition places 1xINTERNET among a select group of organisations helping shape the future of one of the world's leading open-source content management systems.
Yet, ask anyone inside the company about the achievement, and you'll hear the same response: becoming a Top-Tier Contributor was never the ultimate goal. Instead, it is the natural outcome of more than a decade of believing that if you build your business on open source, you should help build open source itself.
For over thirteen years, 1xINTERNET has invested in the Drupal ecosystem, not only by delivering digital platforms for clients, but by contributing code, maintaining projects, sponsoring community events, supporting governance, leading strategic initiatives and encouraging employees to actively participate in the community.
Today, the company sponsors more than 500 hours of Drupal contribution every month, actively supports more than 85 Drupal projects, has sponsored over 50 Drupal events, and has contributed to hundreds of issues across the Drupal ecosystem. Those numbers tell one story. The people behind them tell another.
Contribution isn't only about strengthening Drupal, it creates real value for the organisations that choose Drupal as the foundation for their digital platforms. We spoke with Baddý Breidert, Christoph Breidert and James Tillotson about why contributing matters, how it benefits clients, and why they believe giving back is essential to building better digital experiences.
James Tillotson, Christoph Breidert, and Baddý Breidert (Composite visual created with generative AI tools)
For 1xINTERNET CEO Baddý Breidert, contributing to Drupal has always been part of the company's identity.
"It represents over a decade of dedication to the Drupal project," she says. "I've worked with Drupal since 2006 and been actively involved in the community since 2013. Being recognised as one of the top three Drupal companies globally validates the expertise and sustained effort our team has invested over the years."
But the motivation goes much deeper than recognition. Instead of simply following the direction of Drupal, 1xINTERNET believes in helping shape it. Since Drupal is the technological foundation behind many of the company's digital platforms, contributing to its future isn't viewed as optional, it's viewed as a responsibility.
That philosophy influences almost every decision the company makes. Rather than waiting for new features, improvements or innovations to arrive, the team actively participates in creating them.
Managing Director Christoph Breidert describes it simply.
"We don't just build with Drupal; we help influence where the platform is going next."
It's an approach that benefits not only the Drupal community, but every organisation that chooses Drupal as the foundation for its digital future.
Although contribution often means writing code, the three leaders agree that it's ultimately about something much bigger.
Open source succeeds because thousands of people collaborate, share knowledge and solve problems together. Every contribution, whether it's code, documentation, testing, mentoring, event organisation or strategic leadership, helps strengthen the ecosystem for everyone.
For Christoph, this spirit of reciprocity sits at the heart of open source.
"If you build digital solutions using an open-source project but choose to remain on the sidelines, you miss the opportunity to influence the tools you rely on," he explains. "Open source is built on shared knowledge, and contributing back is simply part of how we work."
That collaborative mindset is equally visible throughout 1xINTERNET's culture. 1xINTERNET’s UK Growth Manager James Tillotson sees open source as an extension of how the company works internally.
"We don't hoard knowledge," he says. "We share it to raise the baseline for everyone, which in turn allows us to keep innovating."
Rather than viewing contribution as something separate from day-to-day work, it's embedded in the way teams learn, collaborate and continuously improve.
One of the biggest misconceptions surrounding open source is that contribution somehow competes with client work. The reality, according to the team, is exactly the opposite.
James puts it bluntly: ""Contribution is client work."
When developers fix a bug in Drupal core or improve functionality that thousands of websites rely on, every client benefits, not just today, but for years to come.
Christoph agrees: "If you're not involved in building the technology, you're always reacting instead of leading."
Technology evolves quickly. Artificial intelligence, digital experience platforms, accessibility, security and content management continue to change at an unprecedented pace. Agencies that simply consume technology are forced to wait for innovation. Agencies that contribute help create it.
Baddý believes that's one of the company's greatest strengths.
"Contribution allows us to lead initiatives like Drupal AI, ensuring we aren't just consumers of the technology but creators of it."
Instead of adapting after the market changes, 1xINTERNET helps shape those changes from within.
Perhaps nowhere is that philosophy more visible than in Drupal AI. As Product Lead for Drupal AI, Christoph has been deeply involved in defining its roadmap, working alongside developers from around the world to build practical AI capabilities directly into Drupal.
For him, watching Drupal AI evolve from an ambitious idea into one of the platform's most exciting capabilities has been one of the defining milestones of the company's contribution journey.
"It's been incredible to collaborate with a global community to build something that will help shape the future of the web."
The significance goes beyond technical innovation. Because 1xINTERNET helps build Drupal AI, its teams understand the technology long before it becomes mainstream. They know what's coming, how it works and how organisations can use it responsibly.
James, who contributes to the Drupal AI Marketing Initiative, believes this creates a significant advantage for clients.
"Our clients have access to the latest innovations because we're involved in creating them."
Innovation isn't something clients wait for. It's something they experience alongside the people helping build it.
Although many clients may never see the code being contributed to Drupal, they experience its impact every day. Active contributors develop a much deeper understanding of the platform than those who simply implement it. Because the team understands Drupal's architecture, roadmap and future direction, they can make better long-term decisions for every project.
"Our clients receive stable and modern solutions without having to manage the underlying complexity," Christoph explains. "By maintaining our contribution status, we act as a direct pathway to web innovation."
That means fewer surprises, more sustainable architectures and platforms designed to evolve instead of becoming outdated. James believes clients increasingly recognise that value.
"They know we're not simply using Drupal, we're helping steer where it's going."
Contribution also creates something that's difficult to measure but incredibly valuable: trust.
When organisations invest in large scale digital platforms, they aren't simply buying technology. They're choosing partners who will help them navigate years of future development.
Being recognised as one of the world's leading Drupal contributors provides confidence that 1xINTERNET isn't standing on the outside of the ecosystem, it's helping lead it. Baddý has seen this become increasingly important during procurement processes.
More organisations now actively look for suppliers who contribute back to the technologies they depend on. Public sector organisations and enterprise businesses increasingly view contribution as evidence of technical excellence, long-term commitment and sustainability.
James has experienced this while expanding 1xINTERNET's presence in the United Kingdom. "When entering a new market where people don't yet know your brand, your contribution footprint becomes a global passport. The Drupal community already knows who you are."
That credibility opens doors long before a first meeting takes place.
For Christoph, contribution is also connected to a much broader movement taking place across Europe and beyond. As organisations become increasingly concerned about vendor lock-in, proprietary platforms and ownership of their data, open-source software is becoming strategically more important than ever. By contributing to Drupal, companies don't simply improve software, they strengthen an independent digital ecosystem that organisations can trust.
"Businesses increasingly want digital sovereignty," Christoph says. "By actively contributing to Drupal, we're helping build a secure and independent IT landscape that organisations can rely on."
It's a perspective that positions contribution not only as technical work, but as an investment in the future of open digital infrastructure.
Contribution doesn't only benefit clients. It also shapes the people who choose to work at 1xINTERNET. The company actively encourages employees to contribute code, maintain projects, organise events, mentor others and share knowledge across the community. For many developers, that's exactly the environment they're looking for.
"Top developers want to work on things that matter," James says. "We offer them a stage, not just a desk."
Christoph agrees. Many developers are motivated by solving meaningful problems that have an impact far beyond a single client project.
For Baddý, contribution creates something equally valuable: a culture of continuous learning. By collaborating with some of the best Drupal developers in the world, the entire team continually raises its own standards, creating an environment where innovation and professional growth go hand in hand.
Becoming a Top-Tier Drupal Contributor isn't viewed as a finish line. Instead, it's another milestone in a much longer journey. The company plans to continue investing heavily in Drupal AI, supporting the wider community, encouraging employees to contribute and helping organisations embrace open-source innovation with confidence.
Christoph hopes to make Drupal AI even more accessible through practical demonstration environments that allow organisations to experience its capabilities with a single click.
James wants to strengthen the connection between enterprise organisations and the open-source community, demonstrating that open source can successfully support even the most ambitious digital transformation projects.
Baddý remains focused on investing in people, community leadership and the long-term health of the Drupal ecosystem.
Ultimately, becoming a Top-Tier Drupal Contributor isn't really about rankings, badges or recognition. Those are simply the visible results of years of consistent investment.
The real achievement is building a company where contribution is part of everyday work, where sharing knowledge is expected, collaboration is celebrated, and innovation is something created together rather than consumed.
For 1xINTERNET, contributing to Drupal has never been about giving something away. It's about helping build a stronger platform, a stronger community and better digital experiences for everyone who depends on Drupal.
Because when the platform grows stronger, so do the organisations, developers and communities that build upon it.
Drupal's volunteer Security Team has protected millions of sites for more than 20 years and its process is world-class. Bandwidth among the security engineers has always been the limiting constraint. This spring that constraint met a new kind of pressure: AI-assisted analysis is finding latent vulnerabilities at an accelerating pace.
The Drupal AI Security Initiative adds funded security capacity in response. It is funded through Alpha-Omega's Security-Engineer-in-Residence (SEIR) program, coordinated by the Drupal Association, and works alongside the volunteer Security Team, which continues its normal process throughout.
This post introduces the initiative and reports on our first six weeks. The short version: the funded fractional team model is working and has already evolved our understanding of where we want to focus next.
Drupal's attack surface is what it has always been. What has changed is the cost of finding bugs. AI-assisted analysis makes discovery dramatically cheaper. AI can produce security issue reports at a volume and can discover exploit details at a speed that any volunteer effort struggles to absorb. Our advisory data shows the rate of discovery accelerating (our next post will work through what the data suggests in detail).
The initiative builds on the lessons of the Drupal 8 Accelerate Initiative, which showed that throughput efficiency depends on funding the whole contribution workflow, not just one part of it.
The Drupal security team needs fixes, not just findings of potential issues. As fixes are developed, they are collaboratively reviewed. An engineer cannot mark their own fix complete. Funding one full-time engineer would likely produce findings faster than volunteers could review them, and they would queue. So we’re using the grant to fund a fractional team that covers the full path from discovery to merge on both the project and infrastructure side for Drupal:
Drew Webber (@mcdruid) is the Fixer. He applies AI-security expertise directly to Drupal's code: scanning, writing patches, building experimental tooling, and then submitting contribution-ready work across Drupal core and the contributed-project ecosystem.
Greg Knaddison (@greggles) and Michael Hess (@mlhess) are Reviewers: They triage submissions, review patches, advance issues, and provide the RTBC status a fixer cannot grant themselves. Both come from the existing Security Team, and the grant helps subsidize the work they would otherwise do on volunteer time.
Neil Drumm (@drumm) handles infrastructure, focusing on Drupal.org itself. The package distribution, build pipelines, and update mechanisms are a high-consequence, specialized surface on their own.
Tiffany Farriss (@farriss) and Tim Lehnen (@hestenet) provide program support and coordination for the Drupal Association.
Our current grant has two three-month phases: Clarity (understand the problem) and Attention (fix issues and harden the process).
We're using the funding and AI tooling to find, validate, triage, and resolve vulnerabilities faster than before, including proactively, across core, contrib, and our own infrastructure. In six weeks, the team has made contributions to more than 10 published advisories and CVEs and filed more than 30 issues. This work includes SA-CORE-2026-005, a critical PHP object-injection issue reachable via JSON:API that arrived as an external report and was coordinated to a fast release, alongside triage and remediation across dozens of findings and hundreds of inbound requests. The team also worked on rapid response/urgent issues off-hours; in one case, AI-assisted review helped find and fix a significant issue in Drupal.org code.
We're also building reusable tooling and automation prototypes that increase throughput and make our security archive searchable and actionable. That includes five skills and a set of opengrep static-analysis rules, each targeting a vulnerability class, and local, open-weight tooling that processes about 40,000 historical security-mailbox emails to assign metadata like CWE mapping and flag duplicates (keeping sensitive data local). One key project outcome will be delivery of working tools the Security Team can continue to use after the initiative ends.
Drupal’s grant is one of several parallel Alpha-Omega grants across open source ecosystems. Being part of this cohort has allowed us to compare notes and share tooling, successes and failures with other open source projects. So far we’ve collaborated most directly with Volker Dusch, who leads the equivalent effort at the PHP Foundation, and with colleagues at the Open Source Technology Improvement Fund (OSTIF), who shared their report-validator protocol for separating real findings from noise. That protocol feeds straight into our intake, and into the report standard we want to co-create next.
The counts are perhaps not the most interesting part. We've resolved more security issues (10) than the minimum number (8) our proposal had committed to over the entire six-month project. We had assumed the meat of the task would be finding and fixing vulnerabilities. It turns out that the more interesting challenge will be adapting Drupal's security process to the volume and nature of higher-quality-than-expected AI-generated and AI-assisted reports.
So far that adaptation has happened downstream, after an issue has been reported. Shepherding issues to a fix, filing CVEs, automating that filing, and automating the analysis of published advisories are important and help scale the response process. But it is all at the bottom of the funnel. The opportunity we would like to explore is higher up, at intake, where issues arrive.
We've started exploring what that might look like. In discussions with core maintainers, some design principles emerged: AI stays limited to a single triage activity per issue and no bot noise on every commit and merge request. Ideally, early intake tooling would pre-filter inbound security issue reports and run a gated check that confirms whether they include enough context and reproduction detail before they reach a human.
The next six weeks will build on what is working and push the intake question in two directions. The first is triage. The volume of incoming security issues is expected to keep growing and AI-assisted triage of that queue is an area to explore. We are interested in looking at how modern tooling can sort and deduplicate incoming issues so human attention can be focused where it's actually needed.
The second is the report itself. A clear issue report helps the Security Team and maintainer community move faster; a vague or bloated one slows everyone down. We want to explore and define what a useful AI-generated or AI-assisted security report should contain and draft a working standard, co-created with the Security Team and maintainers. If you are a maintainer or security reporter and have examples of good (or bad) AI-generated reports, please share them in Drupal Slack #security-discussion.
Six weeks of supplemental funding has already made a couple things clear. The roles the Drupal ecosystem depends on (security work as well as release management) need a durable, community-owned funding model, not one-time support. And we need to keep talking and collaborating across ecosystems like this.
Huge thank you to Alpha-Omega for the support, funding and for access to AI tooling from Anthropic that enabled several of the findings above; to the Linux Foundation; and to the Drupal Association for coordination. And of course, none of this works without the two decades of effort from Drupal’s amazing Security Team.
DrupalCon Rotterdam 2026 is going to be way more than just sessions and keynotes, it’s a chance to be part of what actually builds and improves Drupal.
Contribution Day is a part of DrupalCon, and in Rotterdam it will be on Thursday, 01 Oct. This is the heart of the event, where the global community comes together to make a real and concrete impact to the project.
If you’re planning your trip, we highly encourage you to stay for Thursday. It’s the most rewarding day of the conference. Whether you write code, improve documentation, help with UX, fix bugs, or support translations, there’s a place for every skill level.
And better still, you don’t need any prior contribution experience, just curiosity and willingness to get involved. You’ll be guided by experienced mentors, collaborate with many contributors from around the world, and leave with new connections, new skills and something meaningful you helped create.
If you've never contributed before, this is the perfect moment to start!
So, what are you waiting for?
Let’s do it!
Contribution Day in Rotterdam on 01 Oct.
By Scott Falconer, Product Lead, Outside AI
Where Drupal really stands with AI agents, where it has a right to win, and what we need to do next.
AI agents can build with almost anything. That is both great news and a problem for Drupal.
A person can ask an agent to recommend a platform, rebuild an existing site, create a content model, configure permissions, or change a running system. The agent then has to decide whether Drupal is a good path, reach it, understand it, act on it, and verify the result.
When that experience fails, we usually do not get a bug report. The agent works around Drupal, produces something that only looks finished, or quietly chooses another stack.
That makes agent experience a growth problem for Drupal, not just a developer-experience problem.
Drupal does not need to be the fastest way to generate any page. Drupal should be the safest, clearest way to a governed, inspectable, long-lived site - and agents should be able to use it effectively.
By governed, we mean the controls that make a site safe to run and hand off - a real content model, scoped roles and permissions, review and audit, safe rollback - not just quick to generate.
This is the purpose of Outside AI, the workstream the Drupal AI Initiative launched: making Drupal legible, callable, safe, and verifiable for agents and builder tools operating from the outside.
The distinction from Inside AI, in shorthand:
These are different experiences, but they need substantially the same foundation: clear state, stable interfaces, scoped identity, governed actions, and reliable verification. Wherever possible, that foundation should be built once in Drupal and shared by both.
Our goal is not to make Drupal better for agents instead of people. It is to make Drupal's existing strengths explicit enough that both agents and people can safely use them. If we are successful we will make Drupal's strengths visible and attainable - improvements that hold no matter which agent, model, or tooling wins.
Early measurements from the Drupal Agent Readiness Scorecard point to a tricky but useful conclusion: capability is becoming table stakes.
Our first-hour study drops a cold agent onto each platform with no prior setup and measures how fast and how reliably it can stand up a small but real structured, permissioned site. The bar: a content model, seeded content, a public page, a scoped editor role. Every milestone is confirmed by an independent HTTP probe, not the agent's own say-so. Agents cleared that bar on every platform we tested: Drupal CMS, bare Drupal core, WordPress, and a from-scratch Node app (each across multiple models and two agent families), plus single spot-check runs on Wagtail, Joomla, Strapi, and Payload.
The evidence is still early and deliberately narrow - and the scorecard is useful for direction, but "can an agent build with Drupal?" is no longer an open question.
The better questions: when should an agent choose Drupal, how far can it reliably get, and what is left after the agent is done?
Drupal has an advantage here. It was not designed for agents - but it was not luck, either.
For two decades, enterprise and community pressure forced Drupal to care about structured content, relationships, roles and permissions, editorial workflows, configuration management, APIs, and migration. Complex digital experiences demanded structure, governance, and safe ways to change things, so the community built them.
Those are exactly the things agents need: structured state they can inspect, explicit permissions they can reason about, actions with known boundaries, configuration they can hand off, and evidence that a change worked. The foundation was already here. AI is now revealing why it matters.
And agents do find it. In the study's Drupal runs, agents reached for native capabilities - content types, roles, permissions, Views, exported configuration - instead of bypassing Drupal with a static lookalike, and what they left behind was inspectable. That evidence is promising, but as Dries wrote about Drupal's role in agentic workflows, a head start is not a plan to win. What this post attempts to measure is where the head start is real, where it is not, and what we need to do to turn it into a win.
Drupal still makes agents work too hard to reach the advantage. Setup choices, authentication, module selection, stale assumptions, unclear action surfaces, and weak verification can consume the whole first session before Drupal's strengths become visible.
Agents do not reward us for architecture they never reach.
Drupal core, contrib, and products like Drupal CMS are best understood not just as software, but as an accumulation of hard-fought decisions by many dedicated individuals: core is the architectural commitments (structured content, revisions, granular permissions), contrib the solved problems (search, forms, spam, SEO), and a product like Drupal CMS the curation - which of those a serious site actually needs, working together from day one. That accumulated judgment is the real inheritance, and the hard part to reproduce on any stack.
What makes those decisions unusually legible, inspectable, and reusable - without reading the code that enforces them - is that Drupal represents most of them as structured configuration: data with a schema, exportable to files, reviewable as a diff, and inspectable on a running site. Content types and fields, role grants, Views, editorial workflows - they all live there. That standard is the point: Drupal gives decisions a common, inspectable place to live. On a from-scratch build there is no such defined place - a decision may sit in code, a migration, an ad-hoc config file, or only in someone's head. On some headless CMSs, even the access rules are code. Drupal keeps an unusually large share of the decision surface legible as data.
That is what a human actually inherits from an agent-built Drupal site: decisions they did not know to ask for, in a form they can inspect and safely change. An agent building from scratch gives you exactly what it thought of. An agent building on Drupal CMS hands you the community's accumulated judgment - core's architecture, contrib's solved problems, the product's curation - as artifacts you can review, compare, export or change through the admin UI or by applying a recipe, without a developer touching code. When we verified agent builds, we did not take the agent's summary - we read the configuration. Decisions-as-data is what made that possible: legible, deployable between environments of the same site, composable across sites as recipes, and checkable by someone who was not in the room.
This is where Drupal's advantage can also become fragile - a decision can be structured and still be lost, bypassed, or stripped of its rationale:
So "those decisions aren't lost" turns out to be an assumption, not a guarantee - in these tests, it did not hold on its own… but the answer is not to freeze the decisions: the agent acts for the user, and sometimes changing one is exactly right. In the intent experiments the rationale was in the site, and the agents even read it - it still never entered the change. Our bet is timing: move the reason to the moment - keep it attached to the work, and put it in front of the agent exactly when it is about to change what that reason protects. The agent may still make the change; sometimes it should, but it is a tradeoff the agent had the opportunity to evaluate with the right context at the right moment.
And the stakes are rarely one big decision. A long-lived site is changed by many actors over many years - people and agents, each change small on its own. No single lost decision reads as damage; the damage is the trajectory. Small silent losses compound, change after change, until the governed site someone carefully built has drifted into something nobody chose. The advantage accumulated one hard-fought decision at a time, and it erodes the same way - which is why the lever has to sit at the moment of change, the same granularity where the drift happens. The advantage is made of decisions, for as long as you can remember them.
The Playing to Win choice cascade rests on one premise: strategy is a choice.
A disposable landing page, a one-off prototype, or a deeply bespoke product where a CMS addresses only a small slice of the job may be better served by a different stack. Drupal does not need to win every prompt to win the work it is built for.
This is the practical consequence of the great CMS unbundling: AI commoditizes creation while raising the value of control - it lowers the cost of creation, not the cost of trust.
Drupal has a right to win when the result must remain understandable and operable after generation:
This territory is defined by the work, not the organization's size. A small nonprofit can need strong editorial governance. A large enterprise will often find a disposable microsite sufficient for the right use cases.
In the language of the cascade:
Drupal's historical adoption barrier is not that it is powerful. It is that reaching the power has usually required someone who already knows Drupal.
A committed Drupal agency invests through that friction because it knows what is on the other side. A WordPress shop that occasionally considers Drupal, a system integrator with many platforms to choose from, or a lean in-house team may not.
AI can lower the expertise barrier - but only if the results can be trusted.
If an agent can absorb more of the repeatable setup and assembly, while experts review the consequential architecture, business, and governance decisions, then Drupal expertise moves up the value stack. Talented people spend their time on customer experience, editorial strategy, integrations, and the decisions that actually differentiate the site.
Prove that path and the agency pitch changes from:
We can build this after a substantial discovery and setup phase.
to:
We have already built a governed starting position. Here is the architecture, what we learned from the source site, which Drupal decisions we inherited, what we verified, and where expert judgment is still required.
That is a stronger way to enter a rebuild conversation - and it is how Drupal becomes a realistic choice for teams that do not already have deep Drupal expertise in-house.
It is still a strategic bet. We have not demonstrated that better agent experience produces Drupal adoption at scale, and we should not claim the market outcome before we have proven the mechanism. We would know the bet was wrong if agents kept bypassing Drupal's native capabilities even when they were easy to reach, if inspectable artifacts did not measurably cut a second team's time to change a site safely, or if entry friction never fell far enough for Drupal to enter consideration at all.
Underneath the expertise barrier sits a second one: the environment. Local tooling for Drupal provides an excellent experience - DDEV can stand up a real site in minutes for someone who lives in a terminal. The same first-hour measurements ran on exactly that tooling, and even there, install weight - not capability - set the pace. And that is the expert path: it assumes a capable machine, a terminal, a container runtime, and the time to configure them. A growing share of first evaluations do not start there. They start on a phone, in a browser tab, or inside a chat window - often mediated by an agent that has no local machine at all.
No amount of polish can remove that local barrier. And to be clear, this is not a criticism of tools like DDEV - DDEV should remain the expert path. But if the only way to try Drupal is to install Drupal, we lose the people - and the agents - who were only willing to spend five curious minutes. We risk rejection before the first page is ever built.
That is why hosted try-and-build surfaces matter: places where someone who does not know or care about Drupal yet - or an agent acting on their behalf - can start a real site with nothing installed. Hosted trials, browser-based build environments, demo workflows, commercial platform starters, and one-click hosting paths each attack that floor from a different angle. And each has a natural graduation path: a trial becomes a real site, and a real site launches onto hosted platforms as it grows. The front door feeds the installed base.
This is also where the community structure of the Drupal AI initiative becomes its advantage. No single on-ramp will fit every user, and each provider brings its own vision, market, and opinions - a browser trial optimizes for the five-curious-minutes case, a demo workflow for build-something-real, a commercial platform for launch-and-scale. That plurality is a strength, on one condition: the Drupal underneath must be the same agent-ready Drupal everywhere - the same state introspection, the same governed actions, the same verification. Providers should compete on experience and opinion, not re-invent the substrate.
The standard: someone who has never heard of PHP or SQL - or an agent with no machine at all - can go from curiosity to a real, governed Drupal site in one session, and graduate that site to production hosting without starting over.
From here the essay turns into inside baseball: issue by issue, for the people working with Drupal every day. If that is not you, feel free to skim, or skip to the closing.
The Outside AI roadmap follows the journey an external agent has to complete - the same path Dries has sketched, from setup to connection, context, governed action, validation, recovery, and launch. These five stages assume Drupal is already in the running; getting there - an agent discovering Drupal, recognizing the task fits its territory, and reaching a starting surface before any Drupal site exists - is stage zero, and it is what the front door and self-description work above are for. In the below, we focus on what we should be able to say, with evidence, before calling it done. And wherever external tooling has to keep explaining the same Drupal quirk to an agent, that quirk is a roadmap item: the workaround is the requirements document.
An agent needs supported ways into Drupal and a scoped, auditable identity - and there is still a lot to decide in what that identity can be. An agent can act as a delegate, carrying a scoped slice of the authority of the person it works for. Or it can act as an independent, non-human account with grants of its own - a principal actor. These are two different models of what an agent is, with different strengths: delegation cannot exceed the person it acts for, which keeps the blast radius small and the audit trail human-shaped; an independent identity can carry work no single person's permissions cover, like scheduled maintenance or operations across many sites.
Drupal should not pick the winner. Products, hosts, and teams will choose differently - reasonably - and the same site may run both. From the substrate's side, the fork matters less than it looks: both models need the same structure - a grant that is scoped, an action that is attributed, a denial that is auditable. Build those once and either model, or both at once, can run on top.
The mechanics are arriving. The core CLI entry point (vendor/bin/dr) landed in Drupal 11.4. Work on the execution principal, OAuth behavior, and MCP scope enforcement continues across the initiative: the execution-principal plan, OAuth identity work in Simple OAuth, and scope handling in the MCP Server module. No single entry point serves every environment: dr is a local and server transport, while a remote agent needs authenticated HTTP or MCP. What has to stay constant is the contract - the same action, authorization, and receipt model, reachable through the right transport for each.
The standard: given an agent operating under a scoped grant - delegated from a person or issued to a non-human identity - when it attempts an allowed action, the action succeeds and is recorded against an execution principal that names both the initiator and the executor. When it attempts an action beyond that grant, it fails clearly, safely, and with an auditable reason.
The agent should not have to guess what Drupal or the running site can tell it. We need supported, machine-readable inventory, site structure, API and schema fidelity, path ownership, available actions, and current constraints.
The standard: given a running Drupal site, when an agent requests site context, it can discover content types, fields, roles, permissions, workflows, path ownership, enabled extensions, available actions, and relevant constraints - without scraping the UI or guessing from routes.
Agents need typed inputs, predictable errors, least-privilege execution, approval boundaries, and results another system can inspect.
This fundamental is one Drupal's entity layer already demonstrates: authorization attaches to the operation, not the entry point. An editor does not write to the database - they work through forms their permissions allow, and when a change goes through the Entity API, the same permission and entity-access checks fire whether it arrived from the admin UI or the API. For agents, that is the right foundation: no separate "agent mode" to secure - a new caller walks through a new door and hits the same wall. It is not yet universal: some checks still live at the door, and the command line has historically carried implicit authority - which is exactly why the execution-principal work in stage one matters. Part of the roadmap is making the fundamental universal, not inventing it.
What is missing is declaration, not governance. Entity CRUD is well covered - JSON:API exposes entities as resources under the same policies. But the operations beyond CRUD - clear a cache, apply a recipe, run a migration, reindex search - are scattered across admin forms, Drush commands, and one-off endpoints, each with its own shape. An agent cannot reliably discover what operations exist, what they require, or what they return; efforts like the Tool API and tool declaration introspection are working toward that declared catalog. The requirement is the fundamental, not any one module: one action model, many doors - typed inputs, the same authorization, and a structured receipt from every transport. A receipt, though, is still a claim - judging it is the next stage's job.
The standard: given one declared site action, when an agent calls it through any supported action adapter - CLI, MCP, ECA, or Drupal's AI systems - its typed inputs, authorization, errors, and result receipts behave consistently. Where an operation is entity CRUD through JSON:API, the same identity and authorization policies apply.
The agent's own summary should not be held as proof - we would never expect a human to be the ideal judge of their own work. What matters is what the site actually shows. That is not a new problem: Drupal has always worked on it, because Drupal was never just for managing content - it manages how a team works together. Work does not count until someone else - or a system-enforced guardrail - says it does: drafts, moderation states, revision history with rollback, a permission model where the author does not have to be the approver. An agent is the newest actor in that system: it proposes within its permissions, the workflow gates what counts as done, a different actor approves, and revisions makes it reversible.
That machinery is fundamental to Drupal for content. For code and configuration, teams already have a mature review lane too - it just lives outside Drupal, in version control. And Drupal is unusually well placed to use it: because configuration exports to files, a config change can ride the same discipline as code - a diff, a pull request, a reviewer, CI, a revert. That is decisions-as-data paying off; most platforms cannot put their settings in a code review at all. An agent that works like a developer - building locally, exporting configuration, committing - inherits all of it.
The live site is the harder case, and not just for agents: a person doing site-building on production creates the same risk. Teams manage it by deciding where each kind of change is allowed to happen. Content is edited live, because live content has mechanisms for review. Structure is built in a development copy and flows to production through configuration import - so a config change made directly on production is temporary, and the next deployment erases it; some teams block live config edits outright. Giving an agent the same working agreement needs nothing new: a role that edits content on production, a freer hand in a development copy, the config path in between.
Two things are new though, and as a result they are the roadmap. First, the working agreement has to be explicit. Teams usually write it down for people - onboarding docs, locked-down production, review - but with agents, every session can be somebody's first day on the site, so anything left as "on the job" knowledge repeatedly fails fast. The boundary has to be stated by the site, and feedback given when it is enforced; the explicitness a cold agent needs is the same explicitness that protects a new hire.
Second, speed and scale. Where a team produced a handful of reviewable changes a day, agents can produce thousands. Human review alone does not survive that volume. Independent, automated verification has to absorb it - machine checks covering the routine, so human attention lands on the judgment calls. AI observability can trace requests through standard logging and telemetry, but tracing a request is not the same as independently verifying a change or rolling it back; the checking itself has to become machinery.
Our work is to extend the team discipline Drupal already applies to content - draft, review, approve, revert - to every surface an agent can change, at a speed and scale no site team has faced before.
The standard: given a change the agent claims is complete, when an independent process inspects the site, it can confirm what changed, show which content, configuration, code, or workflow surface was touched, report whether verification passed, and provide a preview, rollback, or recovery path.
The same governed path has to support a real way onto Drupal and a real handoff toward production. That includes source audits and discovery, content and pattern mapping, Drupal-native architecture advice, redirects, Canvas and configuration integrity, parity evidence, editorial review, and an explicit boundary between structured Migrate API work and agent-led re-architecture.
Issues such as Canvas configuration data integrity and reconciling updates to already-imported default content are part of this path even though they do not carry an "AI" label.
The standard: given a real source site, when an agent proposes or builds a Drupal replacement, the handoff includes source-site findings, mapped content and patterns, Drupal-native architecture, parity evidence, unresolved gaps, and a clear line where human judgment is required before launch.
Measurement is the spine across all five. The Drupal Agent Readiness Scorecard exists to tell us whether Drupal improved while the workflow held steady - separately from the normal improvement of the models themselves.
The Rotterdam plan - the proof we are aiming to have ready by DrupalCon Rotterdam - is intentionally narrow: one real rebuild of an existing non-Drupal site into Drupal CMS. The question it answers is precise: can an outside operator turn a real non-Drupal site into a defensible Drupal starting position, with independently reviewable evidence?
The bar we’re setting is not, are we "ready to launch.", it is "is this defensible enough to continue?"
One successful build would demonstrate a viable path in that case. A second site with a second operator would begin to test repeatability. Neither would prove that the market has moved - and we should not claim otherwise.
The question then is what remains after the agent is done. A clear test is: give the finished build to a fresh person or agent with none of the original context, and ask them to make a consequential change safely - add an editorial role, alter a workflow without weakening access, explain why the architecture is what it is, recover from a deliberately broken change - while we measure time-to-understand, mistakes, expert intervention, and whether the site's own state carried the reasoning. That tests "decisions as data" far more directly than a second build.
Drupal already has much of what builders need for serious sites. Again, that is the good news.
But the bad news is that potential has little value if agents reject Drupal before reaching it.
We should be careful not to declare victory because Drupal has structured content, permissions, workflows, and configuration management - The work that remains is to turn those properties into a clear, measurable advantage: make Drupal easy enough to choose, explicit enough to understand, safe enough to change, and verifiable enough to trust.
Outside AI needs real workflows more than speculative feature lists. If you are using an external agent to build with Drupal, calling Drupal from another system, or encountering friction anywhere from setup through launch, bring us the real task.
A use case, failed run, repeated workaround, missing capability, or existing issue is enough; you do not need to arrive with a solution or even know where the work belongs. Add it to the Outside AI meta issue or bring it to the #ai-initiative channel in Drupal Slack. We will help reproduce it, map it to the agent journey, connect it with the right maintainers and implementation work, and determine whether it belongs in the scorecard.
If you maintain a project agents need to use, tell us what they repeatedly misunderstand or work around. Those workarounds are requirements documents.
Drupal's earned advantage gives us the right to play. What we build, and what we prove next, determines whether we win.
Evidence note: the measurements described here are early and deliberately narrow; several are exploratory rather than claim-grade. The scorecard work publishes fixed tasks, retained failures and nulls, explicit evidence boundaries, and paired pre/post results before claiming that Drupal itself improved.
By Christoph Breidert, Product Lead, Inside AI
A year into the Drupal AI Initiative, AI inside of Drupal has a clear goal for the months ahead. At DrupalCon Rotterdam at the end of September, we want to show a single Drupal site where AI Search, an AI chatbot, AI content review, and AI translation all work together on real, multilingual content, with observability and security running underneath. The idea is simple: rather than describe these features one by one, let people see them working together on one site.
This post is about how we plan to get there, what our partners told us to build, and the team we are putting together to build it.
If you are new to the split, the Drupal AI Initiative now runs in two streams. “Inside AI” is AI inside Drupal, for the people using it. “Outside AI” is AI outside Drupal, acting on it through external agents. The simplest way to hold them apart is this: with Inside AI a person uses Drupal and Drupal uses AI to help; with Outside AI a person uses an agent and the agent uses Drupal. We introduced the two streams in an earlier post, and the distributed leadership structure behind them shortly after. This post is about the AI functionality we are building inside Drupal. Outside AI, led by Scott Falconer, will get its own update, and Dries Buytaert has already written about why that stream matters.
Here is something we have not shared publicly before. We asked our Drupal AI Partners, the organizations that fund and staff this initiative, which features they most want us to build inside Drupal. The results were clear.
Search was the standout. The next four clustered closely together, which tells us there is no single second priority so much as a group of capabilities people want in roughly equal measure. This shapes what we prioritize. Drupal AI is funded by our partners, therefore we build what they asked for, in the order they asked for it, against the public 2026 roadmap already in flight.
Two of these deserve a word. We have already been building chat-driven content editing in Canvas AI, and that work continues. Bulk content updates we are not tackling as a standalone feature yet, but it belongs naturally with content review. Once you can review a large body of content with AI, the obvious next step is letting AI help you act on what it found, so for now it lives within the content review work rather than as a separate capability.
What matters most to anyone building with Drupal AI is shippable features. The demo is how we prove they are ready, by showing each one working on a real site rather than only in isolation. That is why the demo is the most important thing we are building this year: it turns a list of capabilities into features our partners can put in front of their own clients. The two are not separate efforts. The recipes and configurations that make a feature work in the demo are largely the same ones that make it adoptable on a real project, so building the demo is how shippability becomes visible.
This is also why we are putting real effort into engaging, realistic demo content, a site with enough depth that the AI has something meaningful to search, review, and translate. The goal is for anyone to try it out with a single click and see for themselves how a fully AI-powered CMS behaves.
AI Search in Drupal
Search is a natural place to begin, since it was the most requested feature. Picture a search that returns an AI-generated summary, the sources behind it, and the ranked results below, the way modern web search now works, but over your own site's content.
Search sits alongside the other capabilities, and each carries real weight in the demo. A chatbot drawing on the same retrieval foundation. Content review that scores a page against criteria like brand, legal, and reading level and suggests concrete fixes. Translation that moves content across languages with quality worth presenting. And underneath it all, the observability and security layers that make the experience credible for production rather than a set of features that only hold up one at a time.
This is worth setting out clearly, because it changes what leading one of these areas involves. Most of these features already work today. The gap is usually not the core capability. The gap is that we have not yet shipped the recipes and demo configurations that make them work end to end, with results we are happy to show, on one realistic site.
This is the classic "it works" problem. Yes, it works in isolation. Making it work completely, convincingly, and repeatedly in a demo is a different kind of effort. So the leadership across these areas comes in two shapes. Some of it is making it work in the demo, building the recipe, wiring it to real content, and tuning prompts and results until the output is good enough to present. Some of it is net-new implementation, where the capability still needs to be built or substantially extended. Both are genuine leadership, and we are clear with anyone stepping in about which kind of work their area involves.
None of this happens without the hard work of our contributors. To strengthen our governance model, we have chosen to place responsibility for each area in the hands of a dedicated lead, someone who owns its direction and keeps a clear, public backlog for contributors to work from. The sprints themselves do not change. What changes is that every area now has a clear owner, and together these leads form the Inside AI leadership team.
Workflow Drupal AI Leads
Here is where each Inside AI area stands today.
| Area | What the lead work involves |
Lead and status |
| Demo |
Building the installation, recipes, and content so every feature works together |
Aidan Foster |
|
AI Search |
Mostly making it work in the demo, plus the search results experience |
Abhisek Mazumdar and Laurens Van Damme |
| AI Content Review | Mostly net-new implementation | Open |
| AI Translation | Mostly making it work in the demo | Sven Decabooter and Valery Lourie |
| AI Chatbot | Mixed, demo configuration and some surface implementation | Open |
| Observability | A demo backend over the telemetry export | Open |
| Security and guardrails | Packaging guardrails and usage metrics into the demo | Open |
|
Canvas AI |
Ownership first, then scope |
Akhil Babu |
| AI Context | Context management that feeds reliable site information to every AI feature | Kristen Pol |
Two things are worth making explicit, because they shape whether you picture yourself in that table.
First, a name beside an area does not mean you cannot join this focus area. The opposite is true. We are looking for strong teams rather than single owners, so contributing to an area that already has a lead is as real an opportunity as taking on one that is open.
Second, there is no formal application process. Becoming a lead happens through the work itself. A lead prepares issues and keeps the backlog in good shape. Our delivery managers, Arian Raeesi and Vidit Anjaria, plan those issues into the sprints. Some go through joint grooming with the technical leads, Marcus Johansson and Artem Dmitriiev, to check they fit the architecture, and I stay involved as product lead to keep them aligned with the overall product direction.
If one of these areas interests you, reach out in the #ai-initiative channel on Drupal Slack, or to any of us directly, and begin. Taking on that responsibility is what makes you a lead, and it is how you join the Inside AI leadership team.
This is where AI inside Drupal stands today. We know what our partners want, because we asked. We know where we want to show it working, at Rotterdam, on one site. And we know the only way to get there is together, with a team that owns each part of it.
If you have read this far, there is a good chance one of these areas already appeals to you. Come and say so in the #ai-initiative channel on Drupal Slack, or explore becoming a Drupal AI Partner. The demo will be better with your help, and so will Drupal.