Skip to the content
Documentation
Manuals

Contribute to the project: every way to help build Exponential

How to take part in building Exponential, following the "Support Exponential!"

  • Topic type: Concept
  • For: Visitors Editors Administrators Developers Partners Designers Supporters
  • doc.help.project.contribute-to-the-project
  • Last changed
  • JSON
On this page

"No matter your experience level", the website's Support Exponential! FAQ says, you can contribute to Exponential. The community page adds that the project now actively welcomes pull requests from the community. This page lists the ways in, from the ones that need no code at all to changes in the kernel, with the first step for each.

Choose your way in

You canStart hereNeeds
Answer someone's questionShare Exponential forums, TelegramExperience with Exponential
Report a bug wellWhen something goes wrongA free GitHub account
Test a release or a pull requestTesting a change before it is releasedA test installation
TranslateTranslationsYour native language
Write or fix documentationDocumentationClear writing
Fix a bug or add a featureCodePHP, Git
Share an extension or a designContribute extensions backAn extension that others could use
Add a composer.json to an extensionComposer packagesComposer basics
Fund the workGive and donate

Code: pull requests to the kernel and extensions

The website describes the path: get a GitHub account, fork the repository, make your fix on a branch, and send a pull request to 7x's repository, where it is reviewed and, when merged, released to everyone. In detail:

  1. Read the rules. CONTRIBUTING.md in the root of the installation, and the code of conduct it links to (The Exponential code of conduct).
  2. Work on a clone. Fork se7enxweb/exponential (or the extension's repository), clone your fork and create a branch for one change. Develop with Git shows how to turn an installation into clones you can work in.
  3. Make the change, small and focused. One pull request per change. Follow the code style of the files around you; the website also points to the Exponential code standards.
  4. Write the commit message the project's way. The subject starts with what the change does: Added:, Updated:, Fixed:, Removed: or Renamed:, for example Fixed: The redirect keeps the query string.
  5. Keep the checks green. Run make hooks once in your clone; the hooks then check the commit message, the PHP syntax, the code style and the file manifest (share/filelist.md5, fixed with make manifest-fix) at every commit. Run the tests and update the documentation when your change needs it.
  6. Open the pull request and describe what you changed, why, and how you tested it. Mention the issue it fixes (Fixes #123). If the "bug" you fix is behavior that is deliberate or open to interpretation, a negative feature other sites depend on, explain the use case carefully, prefer a new option over a changed default, and expect several rounds of review before it is accepted and merged.
  7. Copyright assignment (CLA). The Exponential Foundation and 7x merge a code contribution to the core kernel (se7enxweb/exponential), sent in any form (pull request, patch, code in an issue, or mail), only after you have signed the Contributor Licensing Agreement. By signing and submitting, you assign the copyright in your contribution to the Exponential Foundation and 7x, which become its owners, and give up control over it: The Exponential Foundation and 7x may use, change, relicense and distribute it in any way, also under other licenses and in commercial products, without asking or paying you, and you cannot withdraw it or set conditions on it. See Copyright assignment (CLA) and the CLA page. Your own custom extensions, site packages and themes are not affected.

The project's continuous integration runs on every pull request (CI). The project merges every pull request. While it is open, you squash it and rebase it onto main as the reviews ask (git fetch origin, git rebase -i origin/main, git push --force-with-lease to your pull request branch only); once it is merged, main's history is never rewritten, and later fixes come as new pull requests (Who is the Exponential Foundation?).

The license of your contribution

Contribute under the same terms as everyone else: the GNU GPL version 2 or later. The website's FAQ asks for this so that contributions stay compatible with the rest of the code and the project can move to later versions of the GPL as a whole; CONTRIBUTING.md says the same. For the kernel, the CLA additionally assigns the copyright in your contribution to the Exponential Foundation and 7x, which may then use, change and relicense it without asking or paying you. If you cannot license a contribution that way, do not submit it (Licensing questions).

Test changes before they are released

Every change reaches main on GitHub long before it is in a release. Running main on a test installation and reporting what breaks is one of the most useful contributions there is. Update with Git shows how to follow main and how to go back to a release. Report what you find in the issue tracker, with the commit you tested.

Translations

The website's Exponential Translation Project (ETP) restarted the translation work for the Exponential family: first to take stock of the existing translations and how complete each is, then to add new languages, with the aim that every language in common use has a ready translation.

In this repository the translations are the files share/translations/<locale>/translation.ts; the state of each language, and which are complete, is on Languages. How to translate and test: Contributing translations.

Documentation

The documentation you are reading is the folder doc/ of the kernel, under the GNU Free Documentation License; a correction is a pull request like any other (Free documentation). The community wiki, eZpedia, is open to anyone who signs in. The roadmap also asks for help with the documentation websites (The roadmap). More: Contributing documentation.

Composer packages and site packages

The official roadmap asks for volunteers for two jobs (The roadmap):

  • Composer packages: many older extension repositories still lack a composer.json and a Packagist entry. Adding them is a small, well-defined pull request per extension (Contribute extensions back).
  • Site packages: the project wants community site packages in the setup wizard's list (Contribute your site package).

Help in the community

Answer questions in the forums and chats, write an article on Share Exponential, report a broken link on a project website in the project tracker, or tell others about Exponential. These cost no money and keep the community alive. More ideas: Helping in the community and the advocates' section.

Become an Exponential Partner. Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster. Start with Partners: start here and How to apply.

Since 29 October 2026 the copyright of Exponential is held by the Exponential Foundation and 7x together, the Foundation named first: "Exponential Copyright © 1998-2026 Exponential Foundation and 7x", in files "Copyright (C) 1998 - 2026 Exponential Foundation and 7x. All rights reserved." Who holds it and why, what the GPL lets you do, the third-party notices that stay and how to write the notice in new files and extensions: Copyright and copyleft.

Was this helpful?

Only your answer is kept, not who you are.

Something wrong on this page? Report an error