There is always a great deal of Joomla! development activity underway and communicating with other developers in the community is essential. This site is a resource for anyone looking to build or maintain software based on the Joomla! platform.
Where to Start
1. Purpose
The "Generative AI policy" outlines the expected use of Artificial Intelligence (AI) tools, such as code-generation, code-suggestion or conversational tools, when making contributions to the Joomla! project.
The policy ensures that contributions are in compliance with Joomla!s GNU General Public License (GPL), protects maintainers time, especially to avoid shifting the contributors work load into maintainers through unreviewed AI output ("vibe coding").
2. General Principles
2.1 AI is allowed, but not a substitute for contributor responsibility
Contributors may use AI tools to assist with research, code suggestions, documentation, or problem analysis. However, AI-generated code must never be submitted without full human understanding, review, and validation by the contributor.
2.2 Contributors remain fully responsible for their submissions
The contributor is always accountable for the final submission. Especially the correctness, security, licensing, maintainability of submitted code.
2.3 Respect for Maintainers & Volunteers
Submitting unreviewed AI output is considered disrespectful to maintainers and community members, because it shifts the workload from the contributor to the reviewer.
Joomla! maintains a volunteer-driven ecosystem where the project must protect maintainers' time.
If you save time using AI but create extra work for maintainers & volunteers, the net effect harms the project.
3. Licensing and Compliance Requirements
3.1 GNU/GPL Compatibility
All contributions must be compatible with the GNU GPL version 2 or later.
This applies equally to AI-assisted output. Contributors must ensure:
- The AI’s training data and licensing terms permit GPL-compatible use.
- The generated code does not reproduce identifiable copyrighted code from proprietary sources.
- Any included snippets are permissible under Joomla’s licensing rules.
3.2 No Proprietary Code Leakage
If an AI tool generates code that appears identical or suspiciously similar to non-GPL, proprietary, or copyrighted material, the contributor must:
- remove it, or
- replace it with an original implementation, or
- provide clear provenance demonstrating compatibility with the GPL.
4. Quality & Review Requirements
4.1 AI Contributions Must Be Labeled.
Any pull request that contains AI-assisted or AI-generated content (code, tests, documentation, or substantial comments) must be clearly marked by adding [AI] at the beginning of the PR title and/or using the [AI Generated] label.
PRs that are not labeled accordingly may be requested to be updated before review or may be closed.
4.2 Mandatory Self-Review Before Submitting
Every AI-assisted pull request must undergo a full human review like any contribution.
This includes:
- Test the submission including potential side effects.
- Reviewing variable names, architecture and comments.
- Eliminating unnecessary or irrelevant code and comments produced by the AI.
- Ensuring the code solves the original problem in the simplest reasonable way.
Submitting AI-generated code without personal validation is prohibited.
4.3 No “Vibe Coding” Submissions
“Vibe coding” or “prompt-dump coding”, where large blocks of AI-generated code are submitted without meaningful contributor oversight, is not allowed.
Characteristics of disallowed submissions include:
- Large, unreviewed AI code blobs.
- Obvious mechanical mistakes that a human would fix in 1–2 minutes.
- Code that clearly has never been executed (as it does not behave the expected way).
- PRs that fundamentally shift debugging and cleanup to maintainers.
Maintainers may close such PRs with a request for proper review and, in case of recurrence, may block the person from further contributions.
4.4 Standards of Communication
AI-generated explanations, testing instructions, comments or documentation must also be reviewed.
Posting raw AI-generated answers (including in issues or discussions) is discouraged because it:
- Often contains inaccuracies/hallucinations.
- Lacks context.
- Signals low investment from the contributor.
- Wastes time for others reading and correcting it.
Respect for community members requires thoughtful, human-reviewed communication.
5. Summary
- You may use AI.
- You must review and understand all AI-generated code yourself.
- You must ensure GPL compatibility.
- Never dump a raw AI blob into a pull request.
- Do not shift the workload to maintainers.
- Be respectful in how you use AI in issues, comments, and PRs.
- Maintain high engineering standards, regardless of AI usage.
There are many ways to volunteer with Joomla. Below are three categories to get you started within the CMS. Select the one most appropriate for your interest and abilities and get started contributing today!
I'm a User
Explore
The first thing necessary to do when beginning to get involved with Joomla! is to understand where things are. The issue tracker provides a great way to understand the current issues or questions being asked of the current version of Joomla, as well as past versions. Our documentation is available for anyone to edit and add new pages. We also have a mailing list on Google Groups, where we can discuss bigger issues together.
View Tracker View Our Docs View Our Mailing listJoin the squad
Once you have gotten familiar with the different areas, the next step is to join! The process is quite simple and all you have to do is email our Joomla! Bug Squad (JBS) coordinator,
Start helping
We recommend starting small and finding an area in which you're interested. There are many different things that you can do, such as report bugs, test fixes, write documentation, and more. There are also plenty of docs to get you started regarding running Joomla! locally, reporting a bug, testing fixes, and other useful tools in our docs. Testing bug fixes is probably the area in which we could most use your help, since it's a usually a bottle-neck for other tasks. If you need another suggestion or want some advice, send us a message on our mailing list.
I'm a Developer
Learn Joomla! Code Structure
As a developer it is also important to understand the steps outlined for the User section previously. Review the three areas listed above to ensure a thorough knowledge before proceeding with development. Understanding more about how Joomla! structures code is vital to the contribution process. Learn how code should be formatted to be prepared for when you begin submitting code to Joomla. You can learn about Joomla's Coding Standards here.
Joomla! Coding StandardsFix Bugs
Often one of the first areas for developers to get involved is addressing issues which have already been raised. This provides a simple easy to understand method for beginning your Joomla! contributions. On a technical note, we recommend using git to post fixes for bugs. Our Git for Coders tutorial will get you started and walk you through the setup process.
Git for CodersContribute New Features
Joomla! development is a very open and collaborative process. Everyone is welcomed and encouraged to propose new features to the CMS. Although it might feel overwhelming when beginning to understand the best place to start, once you've begun you'll find yourself quickly improving many different aspects of Joomla. To get started, familiarize yourself with the new feature contribution process.
Contribute to Joomla!
I'm a Business
Learn how to contribute
If you would like to see a specific new feature in Joomla! but you are not able to develop it yourself, there is the opportunity to fund a developer to program the feature. It is important to keep in mind that although this is an opportunity to see desired features incorporated into Joomla, the steps for this are the same as for any other new feature, and no new feature is guaranteed to be accepted.
Contribute to Joomla!Hire developers to code
Hire a developer to program the new feature. You could use the Joomla! Resources Directory (JRD) as one possible way to find qualified developers. You could also coordinate with the Joomla! Production Department to find possible developer candidates. Note that the choice of a developer and the contract arrangements are entirely up to you.
Joomla! Resources DirectoryDonate your dev time
If you're interested in devoting your developer's time to the Joomla! project you should contact the Production Department to get started. The Production Department for Joomla! helps coordinate the efforts of developers with businesses interested in donating to Joomla. Joomla! is always interested in seeing more developers join and as a business the opportunity to help the project with your developers' time is an incredible option.
Contact the Production DepartmentJoomla! values community feedback for catching and reporting issues in the CMS. The bug tracker provides a central location for reporting these issues.
Where to report an issue
The Joomla! Issue Tracker is the current location where issues are tracked and you can report new issues here. This tracker is used for all Joomla! releases. More detailed instructions regarding this process can be found in the Joomla! documentation here.
How to report an issue
When you believe you’ve found a problem in the CMS the first thing you can do is to check the bug tracker to see if that particular issue has been listed already. This can easily be done on the tracker by filtering the list of known and pending issues. Once you’ve verified there are no other current listings for an issue you can then post it.
Important Note
When reporting a security issue in Joomla! an email should be sent to the Joomla! Security Strike Team (JSST) at