Since the past two years we have been in the world of OSS releasing different projects and contributing to community projects through bug reports and fixes, you can check out all our projects at Xmartlabs Github account.
At Xmartlabs we make use of a lot of open source projects. When we face a no domain-based problem we try to find out a robust OSS project to solve it. If we find one that fits the app needs, we contribute over it making feature suggestions, reporting bugs or making pull requests.
If we're facing a repetitive problem and we don't find a good library that solves it, a good first step is to create a modular solution, taking into account how an external user would use the library. While we replicate the solution, we incrementally invest time to refine it and polish the documentation, resulting in a robust solution that can be shared across the community.
No one likes to solve the same problem over and over again, no one likes to waste time doing simple or already solved tasks. We make a conscious effort to avoid reinventing the wheel and wisely invest our time solving complex problems. In our experience this results in great productivity and efficiency wins, finding an elegant solution pays for itself faster than you might expect.
Open sourcing is all about collaboration. Learn, teach, create elegant, robust, well tested, documented solutions. All this is done openly, collaboratively and passionately. Everyone in our team believe in the open source core values, its power and its benefits.
We really believe that by open sourcing our code and using open source solutions we are able to build top quality apps. Primarily because we get the benefits of something created collaboratively, used and tested by thousands. Bug detection and fixes by the community is super fast as well as technical support. As Raymond says "given enough eyeballs, all bugs are shallow". Continuous improvements either by adding features, making it more robust through continuous integrations tests, etc is supported by many developers getting more elegant solutions.
There are infinite benefits of open source but nothing is more gratifying than being able to work with great developers from around the globe, learning, teaching and making decisions with people that you have never seen face to face.
This constant commitment to work together in order to make something that could make a developer day easier is what we really call open source.
There are two particular events that made me reflect on open source philosophy and write this blog post:
Exacly one year ago we released XLForm, a powerful iOS library for easily creating dynamic table-view forms. XLForm was a top trending github repository many times, it was featured by iOSBytes podcast, and it got the attention of many cocoa active contributors.
About one month ago XLForm was selected to be included in CocoaPods Testing Jam because it is one of the 200 most popular CocoaPod libraries. The idea behind the Test Jam open source community event is to improve the quality of popular cocoaPods libraries adding test cases, making them less prone to error and more maintainable. CocoaPods Testing Jam will be taking part in April 18th & 19th, 2015 at SF, NY, London and other locations. We are really proud and extremely excited about this!
Hopefully this post encourage you to join the amazing journey of the open source community if you're not already on board!
Many thanks to Santiago, Helen and Agustin for reviewing this blog post!