Mollie-developers dragen bij aan Open Source

18 oktober 2016

Bij Mollie organiseren we regelmatig intern een zogenaamde <em>20% dag</em>: een dag waarop developers aan iets kunnen werken wat ze interessant vinden. Dit naar het model van Google’s <em>20% day</em>, een concept waarbij developers van Google één dag in de week zelf mochten kiezen waar ze aan wilden werken. Naar verluidt zijn hier producten zoals Adwords en Gmail uit voortgekomen. Inmiddels is Google er zelf ook alweer <a href=“http://www.hrzone.com/lead/culture/why-did-google-abandon-20-time-for-innovation”>deels op teruggekomen</a> maar het concept blijft populair bij startups: het is leuk om af en toe aan wat anders te werken dan wat de sprint dicteert.

Vorige week vrijdag hadden we zo’n 20% dag, maar dan in een special o<em>pen source </em>thema: <strong>een dag waarop alle developers binnen werktijd aan hun favoriete open-source projecten kunnen werken</strong>.

Het blijkt in de praktijk nog lastiger dan gedacht om zo’n dag in te vullen. Binnen één dag is er maar beperkt tijd en dus kun je alleen maar werken aan kleine features of bugfixes, zeker als je het project waar je aan wilt werken nog goed moet leren kennen. En alleen het schrijven van de code is niet voldoende, je moet ook een pull request openen en de maintainer van het project overtuigen deze te mergen. Doordat maintainers vaak in andere tijdzones zitten en hun eigen prioriteiten hebben verloopt de communicatie langzaam.

<!–more–>

Om deze redenen hebben we voornamelijk kleine verbeteringen rondom tooling en enkele kleine features aan onze favoriete projecten bijgedragen. Een selectie uit het resultaat van de dag:
<ul>
<li>league/flysystem-sftp: <a href=“https://github.com/thephpleague/flysystem-sftp/pull/28”>Set password and private key to null after authenticating</a></li>
<li>league/flysystem-sftp: <a href=“https://github.com/thephpleague/flysystem-sftp/pull/27”>Add fingerprint verification</a></li>
<li>okonet/lint-staged: <a href=“https://github.com/okonet/lint-staged/pull/65”>Running Lint-staged from within a sub directory</a></li>
<li>omnipay/mollie: <a href=“https://github.com/thephpleague/omnipay-mollie/pull/30”>Implemented the Customer endpoint</a></li>
<li>ruflin/Elastica: <a href=“https://github.com/ruflin/Elastica/pull/1183”>Don’t distribute tests, build files etc. for composer</a></li>
<li>league/oauth2-client: <a href=“https://github.com/thephpleague/oauth2-client/pull/571”>Fix typo</a></li>
</ul>

git-768x432

Een aantal developers heeft daarnaast gewerkt aan onze eigen open source API clients. Hier valt altijd nog wat aan te verbeteren en er zijn ook regelmatig pull requests, die we zelf ook moeten reviewen en mergen.

Bijdragen aan deze open source libraries heeft ons dieper inzicht gegeven in de libraries zelf en de tooling en frameworks die deze projecten gebruiken. Een pull request openen en je overgeven aan de review van een maintainer is spannend. We leren zo de dependencies die we zelf gebruiken nog beter kennen. En het belangrijkste: het is leuk om iets terug te doen voor opensourceprojecten die we zelf gebruiken.

Ook buiten deze 20% dag dragen we regelmatig bij aan opensourceprojecten. Zo hebben we eerder al kleine wijzigingen bijgedragen aan PHPUnit, Phake, xmlseclibs en andere opensourceprojecten.