One of my brightest students asked me to talk about free and open source software, and gave me 2 hours to do so. For him and for the future, here I am...
The Free software movement, as defined by the Free Software Foundation, is a social/political movement about freedom, ethics, and user rights/freedoms. Richard Stallman created the movement in 1983 and the 4 essential user freedoms are:
The term "open source" was coined to rebrand free software with a business-friendly focus. It emphasizes practical benefits like better quality, reliability, and development methodology rather than ethical considerations. Bruce Perens created the Open Source Initiative in 1998 and Open source criteria include:
Here are compelling reasons why African people should fully embrace Free and Open Source software :
Free and Open Source Software often attract talented developers. When your code get reviewed by maintainers at companies around the globe, you receive mentorship that money can't buy. You'll encounter diverse codebases, architectural patterns, problem-solving approaches that you might never see in your day job. Free and Open Source Software forces you to read and understand existing code, which dramatically improves your development skills.
Open source contributions can help you land jobs or consulting opportunities. There are many companies worldwide are actively seeking talents. Open source provides the perfect showcase of your abilities. Open source software is often the most accessible option for people with limited budgets. There are a lot of startups across the Black Continent that rely on free and open source solutions to build their digital infrastructure.
Thanks to Free and Open Source Software, your code quality matters more than your location or background. African developers can showcase their skills on the same platforms as Silicon Valley engineers. Free and Open Source is our opportunity for challenging stereotypes and demonstrating our technical talent to the world.
The open source community represents humanity at its best, a global network where people freely exchange expertise and genuinely celebrate one another's wins. When you realize your contribution has solved someone's problem or saved them hours of work, that feeling is pure gold.
Digital sovereignty encompasses control over critical digital infrastructure like internet networks, data centers, communication systems and mobile/web platforms. Digital sovereignty is the ability to regulate how our data is collected, stored, and processed within our jurisdiction.
What happens when a country's government systems, banking infrastructure, or communication networks depend entirely on software and services controlled by foreign companies. This is where free and open source software becomes crucial for digital sovereignty.
When you use non free and non open source software:
Public money, public code an initiative advocating that software developed with public funds should be made freely available under a free and open-source license.
Pôle open source et communs numériques, Initiative to support government administrations in using free and open source software, assist their efforts to publish and share source code, and create connections with the open source ecosystem.
The German federal state has decided to move from Microsoft Windows and Microsoft Office to Linux and LibreOffice (and other free and open source software) on the 30,000 PCs used in the local government.
EU OS, a proof-of-concept for an Operating System for a typical organization inside the European Union public sector.
If you've ever used Google, Facebook, WhatsApp, Microsoft or watched a Netflix movie today, you've been relying on free and open source software without even knowing it. These tech giants don't reinvent the wheel, they build their services on top of thousands of open source projects. None of those things would exist without free and open source software.
1. discover & explore
┌─────────────────────────────────────────┐
│ Find a project you use/care about │
│ Read documentation & contributing │
│ Browse issues (look for "good │
│ first issue" or "beginner" tags) │
└─────────────────┬───────────────────────┘
│
v
2. setup your environment
┌─────────────────────────────────────────┐
│ Fork the repository │
│ Clone to your local machine │
│ Set up development environment │
│ Create a new branch for your work │
└─────────────────┬───────────────────────┘
│
v
3. make your contribution
┌─────────────────────────────────────────┐
│ Write code/fix bugs/add features │
│ Update documentation if needed │
│ Add or update tests │
│ Follow project's coding style │
└─────────────────┬───────────────────────┘
│
v
4. test & prepare
┌─────────────────────────────────────────┐
│ Run tests locally │
│ Review your changes │
│ Write clear commit messages │
│ Check against contributing guide │
└─────────────────┬───────────────────────┘
│
v
5. submit your work
┌─────────────────────────────────────────┐
│ Push your branch to your fork │
│ Create a Pull Request (PR) │
│ Fill out PR template with details │
│ Link related issues if applicable │
└─────────────────┬───────────────────────┘
│
v
6. collaborate & refine
┌─────────────────────────────────────────┐
│ Respond to code review feedback │
│ Make requested changes │
│ Engage in discussion respectfully │
│ Address any failing CI checks │
└─────────────────┬───────────────────────┘
│
v
7. merge & celebrate!
┌─────────────────────────────────────────┐
│ Your contribution gets merged! │
│ You're now a project contributor │
│ Your GitHub profile shows activity │
│ Your code helps users worldwide │
└─────────────────────────────────────────┘
contribution types:
┌─────────────────┬─────────────────┬─────────────────┐
│ Bug Fixes │ Features │ Docs │
│ │ │ │
│ • Fix reported │ • Add new │ • Improve │
│ issues │ functionality │ readability │
│ • Improve error │ • Enhance UX │ • Add examples │
│ handling │ • Optimize │ • Translate │
│ • Security │ performance │ • Fix typos │
│ patches │ │ │
└─────────────────┴─────────────────┴─────────────────┘
QUICK START TIPS:
════════════════════════════════════════════════════════
* Start small - even typo fixes help!
* Read CONTRIBUTING.md first
* Be patient - reviews take time
* Ask questions if you're stuck
* Follow the Code of Conduct
* One logical change per PR
We could easily spend days on this topic! Since we only have two hours, here are some excellent resources to continue your journey into this fascinating subject.
In french:
In english:
Let's be optimistic:
By the way...:
In the next few weeks, I will publish findings regarding the Syndromic Surveillance System currently under development. Expect a detailed writeup showing exactly how free and open source software is driving a positive change to the West Africa's public health infrastructure. Stay tuned...
Thanks for sharing!