What Is Open Source?
Open source software is code that's publicly available for anyone to view, use, modify, and distribute. The source code (human-readable instructions) isn't hidden, it's open for inspection.
This contrasts with closed source (proprietary) software like Microsoft Windows, where only the company sees the code. You use the compiled program but can't see how it works.
History: GNU and Linux
In the 1980s, Richard Stallman believed all software should be free. He created GNU (a Unix-like operating system) and established the Free Software Foundation. In 1991, Linus Torvalds created Linux, a free operating system kernel.
Linux + GNU tools = a fully functional free operating system. This was revolutionary. You could build and run a complete system without paying a company.
Today, Linux runs most of the internet: servers, Android phones, AWS infrastructure, and supercomputers. It's the most successful open source project ever.
"Free software is a matter of liberty, not price.". Richard Stallman, GNU Founder
How Open Source Works
Code Repositories
Open source code lives in repositories (usually GitHub). Anyone can view the code, download it, and contribute improvements.
Contributions and Pull Requests
If you fix a bug or add a feature, you submit a "pull request": essentially saying "I improved the code; please review my changes." Project maintainers review and decide whether to accept your changes.
Community-Driven Development
Unlike corporate software (where one company decides everything), open source is developed by communities. Thousands of volunteers contribute based on what they need.
Transparent Issues
Bugs, feature requests, and discussions are public. You see exactly what's being worked on and can contribute solutions.
Merit-Based Contributions
Your code matters based on quality, not seniority. A teenager with good code has more influence than a manager with bad code.
Open Source Licenses Simply
Open source code has licenses that define what you can do with it. Main types:
Permissive Licenses (MIT, Apache, BSD)
MIT License: Super permissive. You can use code however you want, including in closed source products. No obligations.
Apache 2.0: Similar to MIT but includes explicit patent protection.
Best for: Libraries, tools you want many people to use. Companies prefer these because of minimal obligations.
Copyleft Licenses (GPL, AGPL)
GPL (General Public License): If you use GPL code, your derivative work must also be open source and GPL. Your improvements must be shared with the community.
AGPL (GNU Affero General Public License): Stricter than GPL: even if you don't distribute software, if you run it over a network, you must share the source.
Best for: Projects where you want to ensure improvements stay free. Companies avoid GPL for commercial products.
Other Licenses
Creative Commons: Not really software but similar concept. Used for media, documentation.
Public Domain: No restrictions at all. Do anything.
Famous Open Source Projects
Linux
Operating system kernel. Powers 99% of servers, most phones (Android), and supercomputers. Maintained by thousands of developers. Sponsored by major companies (Google, Microsoft, Intel).
Apache Web Server
Powers ~40% of websites. The original open source killer app that proved OSS could handle production workloads.
Python
Programming language used in data science, web development, and AI. Free, powerful, with a massive community.
WordPress
Runs ~40% of websites. A blogging platform you can host yourself and customize completely.
Kubernetes
Open source container orchestration. Google open-sourced it, and it became industry standard for managing cloud applications.
Firefox
Open source web browser. Competes with Chrome despite being built by volunteers and a non-profit (Mozilla).
TensorFlow and PyTorch
Open source machine learning libraries. Google and Meta respectively released them. Now used by millions.
Open Source AI Models
AI has traditionally been closed (OpenAI, Google, Anthropic). Recently, open source AI is gaining ground.
Llama (Meta)
Meta released Llama language models (2B, 7B, 13B, 70B parameters). Powerful enough for production but not as big as GPT-4. Allows modifications and fine-tuning.
Mistral and Mixtral
Smaller, efficient open source LLMs. Focused on running on consumer hardware.
Stable Diffusion
Open source image generation model. You can run it locally on your GPU, unlike proprietary DALL-E or Midjourney.
Whisper
OpenAI's open source speech recognition. Competitive with closed source alternatives.
Trade-offs
Open source AI models are smaller and less capable than closed source giants. But they're cheaper to run, can be customized, and don't require cloud APIs.
Business Models for Open Source
Professional Support and Services
Red Hat provides enterprise Linux support (paying millions for updates, training, 24/7 help). Canonical does the same for Ubuntu.
Hosted Services
Provide open source software as a service in the cloud. You can self-host WordPress, but Automattic makes money offering hosted WordPress.
Premium Features
Core software is free, but advanced features or versions are paid. This is called freemium.
Donations and Sponsorship
Some projects rely on donations (Wikipedia, Linux Foundation) or corporate sponsorship.
Dual Licensing
Offer software under open source license and commercial license. Companies can use for free under GPL but pay for closed source rights.
Selling Derivative Products
Companies build proprietary software on top of open source. This works if the base is permissive (MIT), not copyleft (GPL).
How to Contribute to Open Source
Find a Project
Start with something you use: your favorite tool, library, or framework. Find its GitHub repository.
Read the Contribution Guide
Most projects have CONTRIBUTING.md with guidelines. Follow them.
Start Small
Fix typos, improve documentation, solve simple bugs. Building credibility matters.
Communicate First
Check if someone's already working on it. Comment on the issue saying you want to help. Avoid duplicating effort.
Make a Pull Request
Branch the code, make your changes, and submit a pull request. Be clear about what you changed and why.
Be Patient
Maintainers are volunteers (often). Your PR might take time to review. Don't take feedback personally, the goal is good code.
Non-Code Contributions
Projects need writers, designers, translators, and testers. You don't need to code.
Resources to Start
- GitHub's "good first issue" tag filters easy tasks for newcomers
- Hacktoberfest encourages contributions with incentives
- First Timers Only lists projects welcoming first-time contributors
Further reading: Explore APIs which many open source projects provide, and learn about cloud computing where open source thrives.