What is open source?

What is open source?

Open source has changed the worlds of IT and business. It started as an idea to share source code of software and grant developers a permissive license to review and modify software and foster innovation. Today, it has grown into an agile and transparent development methodology that  harnesses the power of collaboration by bringing together the brightest minds in computing to create higher quality software that is more interoperable, flexible and reliable, and often, cost-effective.

What is the simplest possible definition of open source?
“Source code is essentially the ‘magic stuff’ that engineers use to make computers do interesting things. It’s often considered a secret, like in a magic trick, that is hidden from prying eyes. Open source is about uncovering that magic, so that all developers can see the work of others and join the global effort.

Eric Mountain, Designation, Amadeus IT Group
Open source is at the heart of the latest technology trends. For instance, most clouds are based on OpenStack, a cloud operating system. Docker, an open development platform, is popular for application packaging - the Microsoft Windows Containers are also based on Docker. GIT and Jenkins are extensively used for quality assurance and testing. 

Why open source?

From a vision and ambition, open source is now considered as a necessity for IT companies to succeed. Because it allows companies to innovate quickly, securely, and in a cost-effective way, open source development is being backed by the biggest names in IT like Netflix and Facebook.

It’s like sharing a wonderful secret cake recipe with the entire world! That way, more people can try it, improve it and find new ways of making the cake tastier and even more wonderful!

Leonardo Freitas, Manager, Software Development, Amadeus IT Group
Here’s why we love open source.  
  1. Innovation: Working collaboratively fosters diverse thinking and in turn, enhances quality and innovation. Open source and Innovation go hand in hand, and need sharing to grow. 
  2. More secure code: Not only is the code superior, it is also very secure as it is reviewed by many developers before being approved. In fact, 55% of companies believe open source delivers superior security when lined up against proprietary solutions.
  3. Cost: The total cost of ownership, in most cases, is lower than the one generated by proprietary software. 
  4. Time to market: Open source allows us to better allocate resources to areas which bring unique value to our customers, thus reducing time-to-market.  
  5. Business continuity: One of the risks of proprietary software is ‘what if the software supplier ceases to trade or discontinues the product?’ In an open source world, this isn’t a problem, as no one company ‘owns’ the code.
  6. Flexibility: We can customise code to our exact requirements, and build exactly what we want or need  
  7. Talent: It’s the freedom to ‘give back’ that attracts the brightest minds. Many talented, young engineers and developers pride themselves on being able to contribute to a global peer network and build future-proof systems. 
From a software development viewpoint, open source offers immense benefits. 
  1. Faster, more efficient development: The technology is open to everybody, and it’s very easy to get the technology, install it, and start prototyping new software. Developers can easily compare different technologies and get the most efficient one depending the use case.
  2. Easy access: In terms of licensing, there is no need to ask for a trial version, for permissions, or to get in touch with a vendor to use and try the technology.
  3. Better support: Since the code is open, developers can increase their expertise with the technology enabling them to react quickly in case of problems. Open source software is tested in real environments, real-time, thanks to the community using it in their daily lives. This means the code is more robust and issues are fixed quickly and more easily. 
  4. Continuous improvement:  It nurtures a sense of ‘we’re in this together’. Everyone can use it. Sufficient documentation ensures everyone can read and understand it.  This allows a more participative approach to proposing modifications, and improvements.   

How does open source development work?

Open source development relies on code sharing and the support of the developer community to design and create really great software. In some instances, permissive licensing of open source code allow for easy sharing and collaboration. 
Contributing Code: Contributing to open source projects is fairly easy although some open source project owners have requirements.
Actively participating and contributing code whether fixing bugs or adding new features, is essential to gaining the trust of other members. This also enhances efficiency of the development process, preventing several people from working on the same thing. Once the code is reviewed, it is thoroughly reviewed by other members and often goes through several iterations to fit the project’s guidelines before being accepted.  
Beyond Contributing: There is actually so much work to do that happens outside of the software. For instance the maintenance, improvement or translation of the documentation, translating the UI to a new language, improving tests, or test coordination are a just equally important tasks. In an active project there is always something to work upon. “See a need, fill a need!”
Deployment: Companies can audit open source code before adopting it. Plus at the end when open source software is going into production, companies can choose whether to buy support from the provider of the enterprise version of the technology or to support the technology themselves by applying modifications directly into the code.