masabi’s role in open source and the wider community
At Masabi, we use open source software as a key part of our app production toolchain. One of the great things about open source is that you can inspect the source code to see exactly how the software works. And if it doesn’t do quite what you want, or has a bug, you can fix it. And once you’ve fixed it, you can submit the change back to the open source project, so all of the users of the software benefit.
We recently did just this with an annoying bug in Jenkins. Jenkins is a piece of software we use to build our apps in different configurations, and we discovered that the list of available configurations was mysteriously omitting entries. We tried searching online, and while we found someone with a similar problem, we couldn’t find a solution, or even a good workaround. So, we decided to apply our skills as software developers to the problem.
Jenkins is hosted on Github, which is both an open source project host and a developer community. Being on Github made it really easy for us to download the original source code for Jenkins, and after a small amount of poking around we found the bug. The programmer had decided to use timestamps as a unique key, which meant any time there was more than one entry with the same timestamp, all but one of them was discarded.
We rewrote the problematic code, tested the fix on our system, and submitted it to the project maintainer. Github made this as simple as a few clicks on their website – there’s even a web interface for editing files. Within a few hours the project maintainer sent us a message to say, “Seems perfect”. Then a couple of days later our fix was merged into the main project, meaning all of the users of Jenkins will benefit from it in the future.
Open source software is a hugely valuable part of Masabi’s development ecosystem. For a growing technology company, open source projects like those hosted on Github are a great alternative to proprietary software because they’re inexpensive and usually very effective.
What we really like about it, though, is that it gives larger companies like us the opportunity to repay the development community by contributing to a global project, which potentially helps out other people and gives something back to companies still making their way in the world.
This blog post is an example of the sort of thing we do nearly everyday for open source projects, but wider example can be found in the work we did back in 2008 on improving Frontline SMS – an open source SMS hub aimed at the not-for-profit sector that allows people to send and receive SMS messages in bulk from a desktop client.
If you have and questions or comments about our work in open source, feel free to contact us or leave a comment below.
Mobile Application Engineer