At Mollie we regularly organize a so-called 20% day: a day where developers can work on something they find interesting. This is based on the model of Google’s 20% day, a concept in which Google developers were allowed to choose what they wanted to work on one day a week. It is said that products such as Adwords and Gmail have emerged from this. In the meantime, Google itself has partly returned to it but the concept remains popular with startups: it’s nice to work on something different from time to time than what the sprint dictates.
Last Friday we had about 20% day, but in a special open source theme: a day where all developers can work on their favorite open-source projects during working hours strong>.
In practice, it turns out to be even more difficult than expected to fill in such a day. Within one day there is only limited time and so you can only work on small features or bug fixes, especially if you still have to get to know the project you want to work on well. And just writing the code isn’t enough, you also need to open a pull request and convince the project maintainer to merge it. Because maintainers are often in different time zones and have their own priorities, communication is slow.
For these reasons, we mainly contributed small improvements around tooling and some minor features to our favorite projects. A selection from the result of the day:
- league/flysystem-sftp: Set password and private key to null after authenticating
- league/flysystem-sftp: Add fingerprint verification
- okonet/lint-staged: Running Ribbon-staged from within a sub directory
- omnipay/mollie: Implemented the Customer endpoint
- ruflin/Elastica: Don’t distribute tests, build files etc. for composer
- league/oauth2-client: Fix typo
A number of developers have also worked on our own open source API clients. There is always room for improvement and there are also regular pull requests, which we also have to review and merge ourselves.
Contributing to these open source libraries has given us a deeper understanding of the libraries themselves and the tooling and frameworks these projects use. Opening a pull request and surrendering to a maintainer’s review is exciting. This way we get to know the dependencies we use even better. And most importantly, it’s nice to give back to open source projects that we use ourselves.
We also regularly contribute to open source projects outside this 20% day. For example, we have previously contributed minor changes to PHPUnit, Phake, xmlseclibs and other open source projects.