Mautic Community Forums

Giving Tuesday: Mautic 'backs their stack' to support the open source projects they depend on

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.

Share your priorities  

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

https://github.com/sponsors/mautic

		<p><a href="https://opencollective.com/mautic">https://opencollective.com/mautic</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Babel</p>
		</th>
		<td>
		<p>Used in the GrapesJS plugin to make sure our JavaScript is compatible with a wide range of browsers</p>
		</td>
		<td>
		<p>Cli, core, plugin-proposal-class-properties, plugin-transform-runtime, preset-flow, babel-eslint</p>
		</td>
		<td>
		<p><a href="https://opencollective.com/babel">https://opencollective.com/babel</a></p>

		<p><a href="https://github.com/sponsors/babel">https://github.com/sponsors/babel</a>&nbsp;</p>

		<p><a href="https://gitcoin.co/grants/2906/babel-compiler-for-next-generation-javascript">https://gitcoin.co/grants/2906/babel-compiler-for-next-generation-javascript</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Clue</p>
		</th>
		<td>
		<p>Used by the Sparkpost SDK.</p>
		</td>
		<td>
		<p>stream-filter</p>
		</td>
		<td>
		<p><a href="https://clue.engineering/support">https://clue.engineering/support</a></p>

		<p>&nbsp;<a href="https://github.com/sponsors/clue">https://github.com/sponsors/clue</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Composer</p>
		</th>
		<td>
		<p>Used in the installation process and in the Mautic Marketplace</p>
		</td>
		<td>
		<p>ca-bundle, installers, package-versions-deprecated, semver, xdebug-handler</p>
		</td>
		<td>
		<p><a href="https://packagist.com">https://packagist.com</a></p>

		<p><a href="https://github.com/sponsors/composer">https://github.com/sponsors/composer</a></p>

		<p><a href="https://tidelift.com/funding/github/packagist/composer/composer">https://tidelift.com/funding/github/packagist/composer/composer</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Doctrine</p>
		</th>
		<td>
		<p>ORM (object relational mapper) is used to define and manage the “data layer” in Mautic. Integrated into the API and Symfony Forms.&nbsp;</p>
		&nbsp;

		<p>DBAL (database abstraction layer) provides drivers to interact with SQL servers although Mautic only supports MySQL/MariaDB.&nbsp;</p>
		&nbsp;

		<p>Migrations used to manage changes to the database schema.</p>
		</td>
		<td>
		<p>ache, common, data-fixtures, dbal, doctrine-bundle, doctrine-fixtures-bundle, doctrine-migrations-bundle, event-manager, inflector, instantiator, lexer, migrations, persistence</p>
		</td>
		<td>
		<p><a href="https://www.doctrine-project.org/sponsorship.html">https://www.doctrine-project.org/sponsorship.html</a></p>

		<p><a href="https://www.patreon.com/phpdoctrine">https://www.patreon.com/phpdoctrine</a></p>

		<p><a href="https://tidelift.com">https://tidelift.com</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Egulias</p>
		</th>
		<td>
		<p>Used to validate emails in campaign builder</p>
		</td>
		<td>
		<p>email-validator</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/egulias">https://github.com/sponsors/egulias</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>ESLint</p>
		</th>
		<td>
		<p>Used in the GrapesJS plugin to improve the code quality</p>
		</td>
		<td>
		<p>eslint</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/eslint">https://github.com/sponsors/eslint</a></p>

		<p><a href="https://opencollective.com/eslint">https://opencollective.com/eslint</a></p>

		<p><a href="https://tidelift.com/funding/github/npm/eslint">https://tidelift.com/funding/github/npm/eslint</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>FriendsofPHP</p>
		</th>
		<td>
		<p>Used by developers to ensure that their code meets our code standards</p>
		</td>
		<td>
		<p>Php-cs-fixer</p>
		<br />
		&nbsp;</td>
		<td>
		<p><a href="https://github.com/sponsors/keradus">https://github.com/sponsors/keradus</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>FriendsofPHP</p>
		</th>
		<td>
		<p>Used in Doctrine Migrations.</p>
		</td>
		<td>
		<p>Proxy-manager-lts</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/Ocramius">https://github.com/sponsors/Ocramius</a></p>

		<p><a href="https://tidelift.com/funding/github/packagist/ocramius/proxy-manager">https://tidelift.com/funding/github/packagist/ocramius/proxy-manager</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Guzzlehttp</p>
		</th>
		<td>
		<p>Used in plugins, the integration framework, and core to make HTTP requests to third party servers.&nbsp;</p>
		</td>
		<td>
		<p>guzzle, promises, psr7</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/GrahamCampbell">https://github.com/sponsors/GrahamCampbell</a></p>

		<p><a href="https://github.com/sponsors/Nyholm">https://github.com/sponsors/Nyholm</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Intervention</p>
		</th>
		<td>
		<p>Used in El Finder.</p>
		</td>
		<td>
		<p>image</p>
		</td>
		<td>
		<p><a href="https://www.paypal.me/interventionphp">https://www.paypal.me/interventionphp</a></p>

		<p><a href=" https://github.com/sponsors/Intervention">https://github.com/sponsors/Intervention</a></p>
		<br />
		&nbsp;</td>
	</tr>
	<tr>
		<th scope="row">
		<p>JMS</p>
		</th>
		<td>
		<p>Used to define fields of Doctrine entities that are exposed through the API</p>
		</td>
		<td>
		<p>serializer, serializer-bundle</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/goetas">https://github.com/sponsors/goetas</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Joomla</p>
		</th>
		<td>
		<p>Used by the InputHelper to sanitize user input.&nbsp;</p>
		</td>
		<td>
		<p>Filter, string</p>
		</td>
		<td>
		<p><a href="https://community.joomla.org/sponsorship-campaigns.html">https://community.joomla.org/sponsorship-campaigns.html</a></p>

		<p><a href="https://github.com/sponsors/joomla">https://github.com/sponsors/joomla</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Laminas</p>
		</th>
		<td>
		<p>Used by Friends of Symfony components.</p>
		</td>
		<td>
		<p>laminas-code</p>
		</td>
		<td>
		<p><a href="https://funding.communitybridge.org/projects/laminas-project">https://funding.communitybridge.org/projects/laminas-project</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>League</p>
		</th>
		<td>
		<p>Used by El Finder to manage images on the filesystem.</p>
		</td>
		<td>
		<p>Flysystem, mime-type-detection</p>
		</td>
		<td>
		<p><a href="https://offset.earth/frankdejonge">https://offset.earth/frankdejonge</a></p>

		<p><a href="https://github.com/sponsors/frankdejonge">https://github.com/sponsors/frankdejonge</a></p>

		<p><a href="https://tidelift.com/funding/github/packagist/league/flysystem">https://tidelift.com/funding/github/packagist/league/flysystem</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Maennchen</p>
		</th>
		<td>
		<p>Used by components to export reports as XLS.</p>
		</td>
		<td>
		<p>zipstream-php</p>
		</td>
		<td>
		<p><a href="https://opencollective.com/zipstream">https://opencollective.com/zipstream</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Matomo</p>
		</th>
		<td>
		<p>Used to parse and identify devices from browsers’ user agents.&nbsp;</p>
		</td>
		<td>
		<p>device-detector</p>
		</td>
		<td>
		<p><a href="https://opencollective.com/matomo-analytics">https://opencollective.com/matomo-analytics</a></p>

		<p><a href="https://patreon.com/matomo">https://patreon.com/matomo</a></p>

		<p><a href="https://ko-fi.com/matomo">https://ko-fi.com/matomo</a></p>

		<p><a href="https://liberapay.com/Matomo">https://liberapay.com/Matomo</a></p>

		<p><a href="https://www.paypal.com/donate/?hosted_button_id=RPL23NJURMTFA">https://www.paypal.com/donate/?hosted_button_id=RPL23NJURMTFA</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Mocha</p>
		</th>
		<td>
		<p>Used in the Zapier integration</p>
		</td>
		<td>
		<p>mochajs</p>
		</td>
		<td>
		<p><a href="https://opencollective.com/mochajs">https://opencollective.com/mochajs</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Monolog</p>
		</th>
		<td>
		<p>Used for application logging.</p>
		</td>
		<td>
		<p>monolog</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/Seldaek">https://github.com/sponsors/Seldaek</a></p>

		<p>&nbsp;<a href="https://tidelift.com/funding/github/packagist/monolog/monolog">https://tidelift.com/funding/github/packagist/monolog/monolog</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Myclabs</p>
		</th>
		<td>
		<p>Used by Zipstream for exporting reports to XLS files.</p>
		</td>
		<td>
		<p>Deep-copy, php-enum</p>
		</td>
		<td>
		<p><a href="https://tidelift.com/funding/github/packagist/myclabs/deep-copy">https://tidelift.com/funding/github/packagist/myclabs/deep-copy</a></p>

		<p><a href="https://github.com/sponsors/mnapoli">https://github.com/sponsors/mnapoli</a></p>

		<p><a href="https://tidelift.com/funding/github/packagist/myclabs/php-enum">https://tidelift.com/funding/github/packagist/myclabs/php-enum</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Parcel</p>
		</th>
		<td>
		<p>Used in the GrapesJS plugin to compile and test the source code</p>
		</td>
		<td>
		<p>parcel</p>
		</td>
		<td>
		<p><a href="https://opencollective.com/parcel">https://opencollective.com/parcel</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>PHPseclib</p>
		</th>
		<td>
		<p>Used by RabbitMQ components which is an option for processing some requests via the RabbitMQ messenger service.&nbsp;</p>
		</td>
		<td>
		<p>phpseclib</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/terrafrost">https://github.com/sponsors/terrafrost</a></p>

		<p><a href="https://www.patreon.com/phpseclib">https://www.patreon.com/phpseclib</a></p>

		<p><a href="https://tidelift.com/funding/github/packagist/phpseclib/phpseclib">https://tidelift.com/funding/github/packagist/phpseclib/phpseclib</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>PHPSTAN</p>
		</th>
		<td>
		<p>Used by developers for static analysis of their code to find common coding errors.&nbsp;</p>
		</td>
		<td>
		<p>phpstan</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/ondrejmirtes">https://github.com/sponsors/ondrejmirtes</a></p>

		<p><a href="https://github.com/sponsors/phpstan">https://github.com/sponsors/phpstan</a></p>

		<p><a href="https://www.patreon.com/phpstan">https://www.patreon.com/phpstan</a></p>

		<p><a href="https://tidelift.com/funding/github/packagist/phpstan/phpstan">https://tidelift.com/funding/github/packagist/phpstan/phpstan</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>PHPUnit</p>
		</th>
		<td>
		<p>Used by developers to write automated tests.&nbsp;</p>
		</td>
		<td>
		<p>php-code-coverage, php-file-iterator, php-invoker, php-text-template, php-timer, phpunit</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/sebastianbergmann">https://github.com/sponsors/sebastianbergmann</a><br />
		<br />
		<a href="https://phpunit.de/sponsors.html">https://phpunit.de/sponsors.html</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Predis</p>
		</th>
		<td>
		<p>Used in the CacheBundle to support Redis as a caching adaptor.&nbsp;</p>
		</td>
		<td>
		<p>predis</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/tillkruss">https://github.com/sponsors/tillkruss</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Prettier</p>
		</th>
		<td>
		<p>Used in the GrapesJS builder to format the source code</p>
		</td>
		<td>
		<p>prettier</p>
		</td>
		<td>
		<p><a href="https://opencollective.com/prettier ">https://opencollective.com/prettier&nbsp;</a></p>

		<p><a href="https://tidelift.com/funding/github/npm/prettier ">https://tidelift.com/funding/github/npm/prettier&nbsp;</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Ramsey</p>
		</th>
		<td>
		<p>Used to generate UUID strings currently leveraged through monitoring inboxes for email replies.</p>
		</td>
		<td>
		<p>uuid</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/ramsey">https://github.com/sponsors/ramsey</a></p>

		<p><a href="https://tidelift.com/funding/github/packagist/ramsey/uuid">https://tidelift.com/funding/github/packagist/ramsey/uuid</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Rector</p>
		</th>
		<td>
		<p>Used by developers to help automatically upgrade code between Symfony versions.</p>
		</td>
		<td>
		<p>rector</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/tomasvotruba">https://github.com/sponsors/tomasvotruba</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Sebastian Bergmann</p>
		</th>
		<td>
		<p>Packages that support other developer tools such as PHP-CS-Fixer and Flysystem.&nbsp;</p>
		</td>
		<td>
		<p>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</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/sebastianbergmann">https://github.com/sponsors/sebastianbergmann</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Studio-42</p>
		</th>
		<td>
		<p>Used as the file manager for images in the Email and Landing Page builders.</p>
		</td>
		<td>
		<p>elfinder</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/nao-pon">https://github.com/sponsors/nao-pon</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Symfony</p>
		</th>
		<td>
		<p>The core framework Mautic is built on.&nbsp;</p>
		</td>
		<td>
		<p>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</p>
		</td>
		<td>
		<p><a href="https://symfony.com/sponsor">https://symfony.com/sponsor</a></p>

		<p><a href="https://github.com/sponsors/fabpot">https://github.com/sponsors/fabpot</a></p>

		<p><a href="https://tidelift.com/funding/github/packagist/symfony/symfony">https://tidelift.com/funding/github/packagist/symfony/symfony</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Theofidry</p>
		</th>
		<td>
		<p>Developer tool to allow running Mautic code from the command line.&nbsp;</p>
		</td>
		<td>
		<p>psysh-bundle</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/theofidry">https://github.com/sponsors/theofidry</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Theseer</p>
		</th>
		<td>
		<p>Used by PhpUnit.</p>
		</td>
		<td>
		<p>tokenizer</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/theseer">https://github.com/sponsors/theseer</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Twig</p>
		</th>
		<td>
		<p>Templating engine used in the application for the UI and Mautic Themes for the templated content for builders.</p>
		</td>
		<td>
		<p>twig</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/fabpot">https://github.com/sponsors/fabpot</a></p>

		<p><a href="https://tidelift.com/funding/github/packagist/twig/twig">https://tidelift.com/funding/github/packagist/twig/twig</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Voku</p>
		</th>
		<td>
		<p>Used in transliteration of languages with special characters into English letters.</p>
		</td>
		<td>
		<p>portable-ascii</p>
		</td>
		<td>
		<p><a href="https://www.paypal.me/moelleken">https://www.paypal.me/moelleken</a></p>

		<p><a href="https://github.com/sponsors/voku">https://github.com/sponsors/voku</a></p>

		<p><a href="https://opencollective.com/portable-ascii">https://opencollective.com/portable-ascii</a></p>

		<p><a href="https://www.patreon.com/voku">https://www.patreon.com/voku</a></p>

		<p><a href="https://tidelift.com/funding/github/packagist/voku/portable-ascii">https://tidelift.com/funding/github/packagist/voku/portable-ascii</a></p>
		</td>
	</tr>
	<tr>
		<th scope="row">
		<p>Xdebug</p>
		</th>
		<td>
		<p>Used by developers to debug code.&nbsp;</p>
		</td>
		<td>
		<p>xdebug</p>
		</td>
		<td>
		<p><a href="https://github.com/sponsors/derickr ">https://github.com/sponsors/derickr&nbsp;</a></p>
		</td>
	</tr>
</tbody>

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.

This is a companion discussion topic for the original entry at https://www.mautic.org/blog/community/giving-tuesday-mautic-backs-their-stack-support-open-source-projects-they-depend