Apache way of building software
For those who are some Mainframes and other proprietary technologies, it might be strange that companies had been aggressively open sourcing some of their internal software. Open sourcing is when the code for a particular project has been made open to the public and anyone can access/modify it to meet their requirement. Here are the projects open sourced by LinkedIn and here are the ones by Twitter.
Microsoft had been a bit late into this space, but they are also into the game and recently opened up the .NET stack and bunch of other projects here. This blog is for those who are not familiar with the open source model. The FOSS (Free and open-source software) revolution has been rocking the software space for quite some time. Knowingly and unknowingly all of us are being impacted by it. In fact, this blog is being hosted on a Linux server which is again FOSS.
There are different venues where the open source software are brewing like GitHub, Apache Software Foundation (ASF) and others. The ASF a non-profit organization had been the most popular and provides a platform where different companies and individuals can work together in a collaborative environment on a common goal to develop new software and improve on it.
Here is the list of projects under the ASF. Usually, projects start as an incubator project and then are promoted to a TLP (Top Level Project). The promotion to TLP happens when the project is making a good progress and an active community is formed around it. As shown below there are a lot of projects which fall under the ASF. There are a lot of Big Data and non-Big Data projects under it. As mentioned earlier any company or an individual can contribute to any project of his/her interest. The contribution need not be only code. If someone is not in development, they can contribute to documentation, testing, helping others etc. Although, the contribution is open to anyone there is a process built in so that to make sure that the quality of the project is maintained.
Any changes to the code have to go through a committer. While the rest of us have read of access to the code, a committee has additional privileges of write access to the code. A person is made a project committer if he/she demonstrates a good amount of involvement in that particular project. Committer is one of the roles in the ASF. The advantage of working in a collaborative way is that the improvements done by one company can be immediately absorbed by someone else as shown above. This way they all work towards a common goal of improving the software for everyone’s advantages.
Usually, for any project, there are multiple companies and individuals working on it at any point in time. There are a lot of ways to add credibility to one’s profile and involved with the ASF is one way. It’s not an easy task but requires a lot of time and commitment.
Here is more about how the Apache Software Foundation works, if someone wants to get involved with the Apache software way of working. In the future blogs, we will look at some of the advantages/disadvantages of using the open source software and will also look at the other revolution which is brewing up called the Open Source Hardware (OSH). Explore All Courses offered by Cognixia.