Understand Open Source Software
Have you ever imagined what is open source software and why it is important? Do you know that most if not all the internet is running on open source software? Excited? Let's dig dip in this newsletter
We all know that software are made using source codes. If those source codes are open and can be seen by anyone without any restrictions, then these types of software are called Open source software.
At its heart, open source is like a shared recipe for creating software. Imagine baking a cake together – everyone can see the recipe, make improvements, and even add new flavors. In the same way, open source software is a type of computer program where the "recipe" (called the source code) is available for everyone to see and use.
Why Open Source Matters
Open source software help people to learn by collaborating with each other. When a huge number of intelligent people collaborate together, they innovate new technology.
Due to the open nature of open source software, individuals and businesses use open source software as a base in their product. If you look closely, almost entire internet servers runs on Linux operating system. Linux is an open source software.
Open sourcing a software also helps to keep the software more secure. As more people see the source code, they can identify if there is any bug or exploit. If they find something, a developer can easily make a patch and merge the changes. If you want to learn how this process works, please refer to my Git newsletter.
Open source software are generally free to use. You use plethora of open source software without even knowing it. Imagine a world where you have to pay for every tool you use in your computer. Thus, open source software helps computers to gain mass adoption.
Almost all developer tools are open source. It increases developer productivity and reduces software development related spendings.
Popular Open Source Projects
In this section, you will learn some of the very popular open source projects. If you recognize some of it, comment down below.
Gnu/Linux: This is maybe the biggest open source software till date. Development of Gnu/Linux begins in 1984. The Free Software Foundation starts to develop GNU as a comprehensive set of tools to use with Unix or Unix Like operating system such as Linux.
Programming Languages: Almost all programming languages are open source. You may have heard the names of C, C++, Python, Java etc.
Cryptocurrency: Most of the CryptoCurrencies are Open source. Bitcoin, Ethereum, Solana are example of some of the public Blockchain cryptocurrencies.
Databases: Most popular databases are open source. Postgres, SQLite, MySQL etc. are some examples.
AI Libraries: TensorFlow, PyTorch are some very popular AI libraries which are open source. Some very popular AI projects like ChatGPT, Stable Diffusion are based on those libraries.
Game Engines: You can make Video games using Godot open source game engine.
3D software: Blender is a very popular open source 3D modelling software.
Open Source Licenses
Open source licenses are like rules for sharing software recipes. They tell you what you can and can't do with the software's code. Here are a couple of common licenses:
MIT License: Imagine lending your friend a recipe to bake cookies, but you say they can do whatever they want with it. The MIT License works like that. You can use the code for anything – even for your own projects, and you don't have to share your changes if you don't want to. Just like sharing cookies, this license is super permissive.
GNU General Public License (GPL): This one's like sharing a recipe but with a twist – if your friend makes changes and shares the cookies, they have to share the recipe too. GPL is all about keeping the code open. If you use GPL code in your project, your project's code must also be open source.
Apache License: Imagine someone giving you a recipe and telling you that you can use it, change it, and sell your cookies, but you have to say where you got the original recipe. That's the idea behind the Apache License. It's friendly to businesses and encourages collaboration.
Remember, these licenses help everyone play fair in the open source world. They make sure everyone knows the rules, just like in a big, friendly baking competition.
How to Support Open Source Software
You can support open source software in 2 ways.
Making code contributions: You can contribute to an open source software by adding new features or applying some code corrections. Make sure to read the contribution guideline in their repository before making any pull requests.
Support financially: If you don’t know how to code or don’t have time to make code contribution, you can support open source financially. Open source software, use Open collective or GitHub donations to receive your financial support.



