Once seen as niche within the programming community, open-source software has gradually entered the mainstream. Defined as publicly accessible software which can be edited, modified, or distributed by anyone, open-source software relies on collaborative peer reviews and decentralized community production.
Read on to find out more about this global collective, the impact open-source software has on all of us, and how Amaris Consulting is contributing to this dynamic programming community.
Open-source adoption
Open-source began in the 1970s at the MIT’s Intelligence Lab when staff programmer Richard Stallman wanted to solve an issue with the office printer. He altered the source code so that everyone in the lab would receive a message when the printer was jammed. In the 1980s when the lab got a new printer, he asked for the code to add the same message. However, his request was denied due to non-disclosure agreements, and he decided to quit his job to develop a completely open operating system called GNU in 1983. The free software and open-source movement was born!
Today, the open-source software movement continually facilitates advances in technology due to the improvements, fixes, and updates constantly being suggested and developed by the individuals and organizations using them. Chances are that you’ve already encountered open-source software in your everyday life: in 2019, open-source software ran more than half the world’s websites and more than 80% of Android smartphones.
The ability to share reusable code that removes the need to ‘recreate the wheel’ by using software that is already peer-reviewed and produced means that many household names use open-source software; the benefits in improved security, encryption, and data privacy far outweigh any reservations surrounding proprietary licensing. For instance, anyone can use Facebook’s user interface source code, or even Google’s Android operating system, for another type of project: this is the beauty of open-source.
We frequently use open-source software here at Amaris Consulting. The development flexibility and agility open-source working facilitates makes it the ideal model for our tailored solutions, allowing us to create efficiencies and maximize our output for our clients’ benefit. We therefore rely on solutions created, maintained, and proven to be useful by the community.
The open-source community
The success of the open-source software model has been driven by its active behind-the-scenes community. Spanning a wide spectrum of participants, from unpaid volunteers to employees in technology consulting companies like Amaris Consulting, thousands of developers (from beginners to experts) collaboratively contribute to the open-source ecosystem.
Joining this community couldn’t be more straightforward: the only requirements are some basic programming skills and an internet connection. Platforms such as GitHub provided dedicated spaces for the open-source community to “come together, ask and answer questions, and have open-ended conversations”, and often release guides (like this one) which can help beginners find their feet in this fast-paced sphere.
Case study: CoreDataCandy
A project lead by Alexis Bridoux, Consultant at Amaris Consulting
CoreData is Apple’s library for managing a database in an application. For many years, and despite competing solutions (Google, Microsoft), Core Data remains relevant and is updated by Apple. Unfortunately, using Core Data can be complicated, with code that is difficult to read, unclear, and repetitive.
We use open-source software frequently at Amaris Consulting, so we felt the time was right to give something back to this dynamic community. Our intention was to build a solution that simplifies the use of the Apple API and prevents errors that can cause a crash.
We named our solution CoreDataCandy, and were driven by the desire to make Core Data even better by providing a range of tools for most standard use cases that could mitigate the inherent complexity of the existing Core Data framework.
Thanks to our experience in code reviewing, agile project management, and daily sprints, we were able to develop this project quickly while gathering feedback from everyone in our team. As soon as we had our first usable version, we released it as open-source software, followed by regular new updates and features. These features were based on ideas we had within the team, but also on early feedback from other external developers.
It’s understandable that developers sometimes feel inclined to wait for final, polished versions before releasing their work to the wider community, but open-source collaboration is of particular benefit in the early stages of development; new ideas, helpful suggestions, and bug-spotting by members of the community all serve to improve the overall quality of the finished solution.
In this case, CoreDataCandy benefitted from progressive improvements from the open-source model, and today’s version of the solution has been well tested thanks to this approach. Our desire is to continue to improve it by offering new features, and we already have some interesting ideas such as the possibility of being able to declare a data model using only code. Stay tuned!
Visit our IS & Digital page to learn more about our solutions.