Open Source depends on the community. The larger and more competent a community (which voluntarily solves problems), the better the Open Source software. The idea behind Open Source, making one’s own developments freely available to the community, sounds somewhat strange for many at first. Why should one make valuable work available free-of-charge for someone else? And Open Source, at that, where others can change your code! And why should customers, who pay good money for development, allow this to happen and consider it money well spent?
We will show how we combine our Open Source culture with the interests of our customers – to the benefit of all!
To meet the special requirements of our customers we regularly develop high-quality, customized extensions. To date, we have developed, and for the most part published, approximately 150 extensions for TYPO3 and Magento, for instance on GitHub. If we think extensions represent an added value for the community, we publish them as Open Source extensions under the GNU General Public License. Needless to say, we do this only with the consent of the customer – which very often is the case.
Also, publishing shouldn’t incur any disadvantages for the customer; only if this is guaranteed, do we even consider publishing:
In most cases publication produces a number of benefits for the customer – and thus the Open Source community as well:
An example: An external team of developers asked AOE if we were planning to develop an update for the extension felogin_bruteforce_protection for the next TYPO3 version. As a response to our answer that this wasn’t included in the current project plan in the mid-term, the external team decided to implement the update itself and loaded the adjustment into our repository. A benefit for all: the development team, for AOE, the community and – the customer.
During the development of Open Source projects, such as, for example, with Magento or TYPO3, already-existing extensions are often simply added to the CMS and, if necessary, tweaked to fulfill the requirements of the customer. In this manner, functions can be mapped faster than actually planned, effort is reduced, thus lowering project costs. At AOE we currently have no project that doesn’t utilize a large number of public extensions. Successfully, as our global project examples show.
Of course, even at AOE not everything runs smoothly. Not all customers want us to publish extensions we developed for them – naturally, we don’t publish in this case. And, publication doesn’t actually take place automatically, which means that unpublished extensions developed at AOE remain with us, though they might still be of interest to the Open Source community.
For this reason we’ve founded a task force at AOE – in a truly agile manner – that actively concerns itself with the publication of extensions. We intend to optimize the process for publishing extensions, and to make heretofore-unpublished extensions available to the Open Source community. We plan to run this check regularly in the future. Regarding publication, our main focus will be on GitHub, as we are convinced of this platform and it also has a broad reach. In addition, we also want to publish an overview of the extensions developed in-house on our website aoe.com – so that are efforts become more transparent and public.
An additional goal is publishing documentation as part of the extensions, so that not only our customers but additional users can benefit as well. We will create documentation for our customers so that it conforms to standards, which is an important quality attribute of extension development.
Open Source is dependent on the contributions of its community. We are entirely convinced of the benefits of Open Source, live the Open Source idea on a daily basis and thus actively and regularly provide access to extensions we develop for the Open Source community. In this way everyone wins – the community, the customers and AOE.