In real open source, you have the right to control your own destiny
When we think of the term "Open-source", we tend to think of software whose source code is available to everybody. According to Wikipedia,
“Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized software-development model that encourages open collaboration. The main principle of open-source software development is peer production, with products such as source code, blueprints, and documentation freely available to the public. The open-source movement in software began as a response to the limitations of proprietary code.”
The majority of open-source software is now licensed. The good news is that most licenses allow developers to include those code blocks in their personal projects. Even if you don't have the authorization to use the code, all of the licenses allow you to view it, which is an excellent way to learn about different coding styles and best practices.
Anyways, I will not describe much about what is open source and how it works. In this blog post, I will share why is open-source and how is it benefitting the entire tech industry.
Assume you are a non-developer. No matter which industry you work in, naturally there are a few top companies that you admire a lot and want to be a part of. Observing their contributions to your industry leaves you speechless.
Won’t it be awesome if you get a chance to see the entire workflow of your dream organization? How do they create their world-class products from scratch? More importantly what if you get a chance to collaborate with that organization in one of the upcoming mega projects? JUST ASK YOURSELF.
It is really sad that most people only dream about those things but can’t really manage to materialize them. After trying to achieve their objectives multiple times, they eventually fail and blame their fates. Well, I know some exceptions reach their goals through hard work. But it is true for the top 5%-10% of people working in any particular field except the tech industry.
As a developer, we get an advantage in these circumstances and all thanks go to open source. Multiple organizations provide open-source services for free like GitHub, GitLab, Bitbucket etc. Not only individuals but also top tech giants like Google, Facebook, Amazon, Netflix, Microsoft host the source code of their products in the cloud and make every aspect of that product open.
These directories which contain open-source code blocks are referred to as repositories. Developers can discover how a project is built from the ground up by looking at the public repositories. You can see who contributed to which specific portion of the project and how different rules code blocks are linked to one another, ensuring a good code of conduct and structure. For example, you can find the public repository of React in Facebook’s GitHub profile and another public repository named Fonts in Google’s GitHub profile which actually contains all the font files which are available on Google Fonts.
Now not only, but you can also see the code in those repositories, you can fork or clone those repositories meaning you can create an exact copy of that project. So, what's the point of copying? The first reason is you may want to use that code in your personal project and the second reason is that you want to collaborate on the existing project.
YES, you read that correctly. You can actually contribute to your dream company’s project. You must follow the code of conduct and contribute to the repository in a systematic manner if you want your modifications to be merged into the real project. It is not necessary to collaborate with code. You can also use your design abilities to contribute to the design files, as well as your writing skills to contribute towards the documentation.
There is a chance that you will run into a bug while using any product, such as EdX. Open-source gives the opportunity of bug reporting as well. So, you can simply go to the EdX’s repository and create an issue to report that particular bug. This will be considered as a contribution as well.
After you collaborate on one of the world’s top projects of your dream organization, millions of people will use your code every day. Your code even could be utilized in astronautical missions such as the Mars Ingenuity project's robots and rockets. Doesn’t that sound amazing? Just think about it.
These minor contributions motivate developers to contribute more to open-source projects and even start their own open-source projects and invite others to collaborate as well. That is how the tech industry is evolving so fast. Thousands of developers are now working cooperatively on millions of projects thanks to the blessings of open-source.
Collaboration is the main mantra in the world of open-source. As open-source citizens, we believe that collaboration comes first, code comes second. And by collaboration, I mean networking between developers all over the globe, which aids in the evolution of developers' EQ, as well as teamwork and communication skills.
Again, there are a lot of opportunities are waiting for developers in the open-source world. It is a common scenario nowadays that many large corporations are directly recruiting developers who have contributed to that company’s open-source projects because it is clearly a better decision to hire someone who is already familiar with the workflow.
Besides, many global developer communities are powered by the idea of open-source. These communities organize various events throughout the year. Enthusiast developers participate in those and win awesome swags and fantastic prizes, including money.
So, if you are a developer and haven’t yet been introduced to the magic of open-source, I will highly encourage you to check it out once. I guarantee that you won’t regret it. You can start your open-source journey right now by creating an account on GitHub (recommended) or GitLab. As an open-source citizen, you will have a few responsibilities. The most important one is to respect other developers who are collaborating with you. Not only in cyberspace, but also in real life, you should respect others. Always use open source wisely and control your own destiny. May the source be with you.
If you have enjoyed my writing and want to keep me motivated, consider leaving starts on GitHub, endorse me for relevant skills on LinkedIn, and follow me on Twitter. You can always hit me with direct messages.
In the end, please consider sharing this article with your friends/teammates who will find this helpful as well. Stay safe and keep learning :)