Giving Tuesday is a call to action for all of us to stop, and think about how and what we can give to make the world a better place.
For some that might mean helping a neighbour in need, or supporting a charity that matters to you. For others it might mean giving something back to the open source projects that you use on a daily basis, whether that’s by financially supporting the projects, or by giving your time and expertise to contribute in more practical ways.
Today the Mautic project is announcing our intention to financially support the top 10 projects - prioritised by the community - which we depend on to keep our community and product running. We have allocated $2,000 in our budget this year as a starting point for the ‘Back your Stack’ project.
As an open source project, we depend on many other open source projects, some large and some small. We want to play a small part in helping those projects to continue being sustainable. Together we all grow stronger.
For the next two weeks, we have a form which community members can use to prioritise the projects that they would like us to start funding. The top 10 voted projects will receive $200 over the next year from Mautic through GitHub Sponsors or Open Collective.
We appreciate that $200 per project is not much in the grand scheme of things, but it is a start. Our budget allocation this year represents 4% of our annual budget, and we would love to raise this to closer to 10% in the future as we become more financially stable ourselves. We hope that as our project continues to grow and thrive, the amount we can make available - and therefore the number of projects we can support - will increase.
If you would like to support some or all of these projects on a personal basis or from your company (and we really encourage you to do this, if you are able!), please find the full list of projects we know to be seeking funding below:
Name of project |
How it is used in Mautic |
Packages used |
Donation channels |
---|---|---|---|
Mautic |
Our core product |
mautic/core |
|
Babel |
Used in the GrapesJS plugin to make sure our JavaScript is compatible with a wide range of browsers |
Cli, core, plugin-proposal-class-properties, plugin-transform-runtime, preset-flow, babel-eslint |
https://opencollective.com/babel https://github.com/sponsors/babel https://gitcoin.co/grants/2906/babel-compiler-for-next-generation-javascript |
Clue |
Used by the Sparkpost SDK. |
stream-filter |
|
Composer |
Used in the installation process and in the Mautic Marketplace |
ca-bundle, installers, package-versions-deprecated, semver, xdebug-handler |
https://github.com/sponsors/composer https://tidelift.com/funding/github/packagist/composer/composer |
Doctrine |
ORM (object relational mapper) is used to define and manage the “data layer” in Mautic. Integrated into the API and Symfony Forms. DBAL (database abstraction layer) provides drivers to interact with SQL servers although Mautic only supports MySQL/MariaDB. Migrations used to manage changes to the database schema. |
ache, common, data-fixtures, dbal, doctrine-bundle, doctrine-fixtures-bundle, doctrine-migrations-bundle, event-manager, inflector, instantiator, lexer, migrations, persistence |
https://www.doctrine-project.org/sponsorship.html |
Egulias |
Used to validate emails in campaign builder |
email-validator |
|
ESLint |
Used in the GrapesJS plugin to improve the code quality |
eslint |
https://github.com/sponsors/eslint |
FriendsofPHP |
Used by developers to ensure that their code meets our code standards |
Php-cs-fixer |
|
FriendsofPHP |
Used in Doctrine Migrations. |
Proxy-manager-lts |
https://github.com/sponsors/Ocramius https://tidelift.com/funding/github/packagist/ocramius/proxy-manager |
Guzzlehttp |
Used in plugins, the integration framework, and core to make HTTP requests to third party servers. |
guzzle, promises, psr7 |
|
Intervention |
Used in El Finder. |
image |
https://www.paypal.me/interventionphp https://github.com/sponsors/Intervention |
JMS |
Used to define fields of Doctrine entities that are exposed through the API |
serializer, serializer-bundle |
|
Joomla |
Used by the InputHelper to sanitize user input. |
Filter, string |
|
Laminas |
Used by Friends of Symfony components. |
laminas-code |
https://funding.communitybridge.org/projects/laminas-project |
League |
Used by El Finder to manage images on the filesystem. |
Flysystem, mime-type-detection |
https://offset.earth/frankdejonge https://github.com/sponsors/frankdejonge https://tidelift.com/funding/github/packagist/league/flysystem |
Maennchen |
Used by components to export reports as XLS. |
zipstream-php |
|
Matomo |
Used to parse and identify devices from browsers’ user agents. |
device-detector |
https://opencollective.com/matomo-analytics https://www.paypal.com/donate/?hosted_button_id=RPL23NJURMTFA |
Mocha |
Used in the Zapier integration |
mochajs |
|
Monolog |
Used for application logging. |
monolog |
https://github.com/sponsors/Seldaek https://tidelift.com/funding/github/packagist/monolog/monolog |
Myclabs |
Used by Zipstream for exporting reports to XLS files. |
Deep-copy, php-enum |
https://tidelift.com/funding/github/packagist/myclabs/deep-copy https://github.com/sponsors/mnapoli https://tidelift.com/funding/github/packagist/myclabs/php-enum |
Parcel |
Used in the GrapesJS plugin to compile and test the source code |
parcel |
|
PHPseclib |
Used by RabbitMQ components which is an option for processing some requests via the RabbitMQ messenger service. |
phpseclib |
https://github.com/sponsors/terrafrost https://www.patreon.com/phpseclib https://tidelift.com/funding/github/packagist/phpseclib/phpseclib |
PHPSTAN |
Used by developers for static analysis of their code to find common coding errors. |
phpstan |
https://github.com/sponsors/ondrejmirtes https://github.com/sponsors/phpstan https://www.patreon.com/phpstan https://tidelift.com/funding/github/packagist/phpstan/phpstan |
PHPUnit |
Used by developers to write automated tests. |
php-code-coverage, php-file-iterator, php-invoker, php-text-template, php-timer, phpunit |
https://github.com/sponsors/sebastianbergmann |
Predis |
Used in the CacheBundle to support Redis as a caching adaptor. |
predis |
|
Prettier |
Used in the GrapesJS builder to format the source code |
prettier |
|
Ramsey |
Used to generate UUID strings currently leveraged through monitoring inboxes for email replies. |
uuid |
|
Rector |
Used by developers to help automatically upgrade code between Symfony versions. |
rector |
|
Sebastian Bergmann |
Packages that support other developer tools such as PHP-CS-Fixer and Flysystem. |
cli-parser, code-unit, code-unit-reverse-lookup, comparator, complexity, diff, environment, exporter, global-state, lines-of-code, object-enumerator, object-reflector, recursion-context, resource-operations, type, version |
|
Studio-42 |
Used as the file manager for images in the Email and Landing Page builders. |
elfinder |
|
Symfony |
The core framework Mautic is built on. |
asset, browser-kit, cache, cache-contracts, config, console, css-selector, debug, dependency-injection, deprecation-contracts, doctrine-bridge, dom-crawler, dotenv, error-handler, event-dispatcher, event-dispatcher-contracts, expression-language, filesystem, finder, flex, form, framework-bundle, http-client, http-client-contracts, http-foundation, http-kernel, inflector, intl, lock, mime, monolog-bridge, monolog-bundle, options-resolver, phpunit-bridge, polyfill-ctype, polyfill-iconv, polyfill-intl-grapheme, polyfill-intl-icu, polyfill-intl-idn, polyfill-intl-normalizer, polyfill-mbstring, polyfill-php70, polyfill-php72, polyfill-php73, polyfill-php74, polyfill-php80, polyfill-php81, process, property-access, routing, security, security-acl, security-bundle, service-contracts, stopwatch, string, swiftmailer-bundle, templating, translation, translation-contracts, twig-bridge, twig-bundle, validator, var-dumper, var-exporter, web-profiler-bundle, yaml |
https://github.com/sponsors/fabpot https://tidelift.com/funding/github/packagist/symfony/symfony |
Theofidry |
Developer tool to allow running Mautic code from the command line. |
psysh-bundle |
|
Theseer |
Used by PhpUnit. |
tokenizer |
|
Twig |
Templating engine used in the application for the UI and Mautic Themes for the templated content for builders. |
twig |
|
Voku |
Used in transliteration of languages with special characters into English letters. |
portable-ascii |
https://www.paypal.me/moelleken https://github.com/sponsors/voku https://opencollective.com/portable-ascii https://tidelift.com/funding/github/packagist/voku/portable-ascii |
Xdebug |
Used by developers to debug code. |
xdebug |
Useful resources
How to find dependencies seeking funding
If you use Composer, you can use the command
composer fund
to get a list of your dependencies which are looking for funding.
If you have a public repository on GitHub or a dependency file (e.g. package.json, composer.json, *.csproj, packages.config, Gopkg.lock, Gemfile.lock or requirements.txt), you can use backyourstack.com to pull out a list of dependencies - this only shows links to Open Collective projects but the dependencies are all listed, so you can search for alternative ways to fund the projects (e.g. GitHub Sponsors).
How to add your funding links in your Composer files
You can use the funding markup in your composer.json file to provide links to places where you accept funding.