FOSS
MASTERY

// Free as in freedom.

SOFTWARE SHOULD BE FREE.

Free and Open Source Software (FOSS) is about more than just free beer—it's about freedom. The freedom to run, study, modify, and share software. This philosophy built the modern internet and powers millions of applications worldwide.

OPEN SOURCE WINS.

From Android to Chrome, from Apache to Kubernetes, open source powers the technology world. Companies big and small rely on open source. Learning FOSS isn't just ideological—it's practical career advice.

BEGIN YOUR JOURNEY

// Your Training Path

Click a lesson to begin

LESSON 01

What is FOSS?

Free vs open source. The four freedoms. History of the movement.

Beginner
LESSON 02

Open Source Licenses

GPL, MIT, Apache, BSD. Choose the right license for your project.

Beginner
LESSON 03

The GNU Project & Linux

Stallman, Torvalds, and how free software ate the world.

Beginner
LESSON 04

Finding Open Source Projects

GitHub, GitLab, SourceForge. Where to find projects to join.

Beginner
LESSON 05

Your First Contribution

Good first issues, documentation fixes, and your first PR.

Intermediate
LESSON 06

Git & Collaboration

Fork, branch, PR, review. The GitHub flow for contributions.

Intermediate
LESSON 07

Code of Conduct

Community guidelines, inclusive coding, and being a good contributor.

Intermediate
LESSON 08

Bug Reporting

How to report bugs effectively. Provide useful context and steps.

Intermediate
LESSON 09

Sustainability & Funding

GitHub Sponsors, Open Collective, Patreon. How maintainers get paid.

Advanced
LESSON 10

Starting Your Own Project

README, CONTRIBUTING, LICENSE. How to launch an open source project.

Advanced
LESSON 11

FOSS in the Enterprise

Open source at work. Contributing as a company. Compliance.

Advanced
LESSON 12

The Future of Open Source

AI, licensing challenges, and where FOSS is heading.

Advanced

// Lesson 01: What is FOSS?

×

Free as in Freedom

Free and Open Source Software (FOSS) is software that grants users the freedom to run, study, modify, and distribute the software. It's about liberty, not price.

The Four Freedoms

  • Freedom 0: Run the program as you wish
  • Freedom 1: Study how the program works
  • Freedom 2: Redistribute copies
  • Freedom 3: Distribute modified copies

Free vs Open Source

While often used interchangeably, there are philosophical differences:

  • Free Software: Emphasizes freedom and ethics
  • Open Source: Emphasizes development model and practical benefits

Quiz

1. What does FOSS stand for?

Show Answers
  1. Free and Open Source Software

// Lesson 02: Open Source Licenses

×

Why Licenses Matter

Without a license, your code defaults to "all rights reserved." A license grants others permission to use, modify, and distribute your code.

Common Licenses

  • MIT: Simple, permissive. Very popular.
  • Apache 2.0: Similar to MIT, plus patent rights.
  • BSD: Permissive, similar to MIT.
  • GPLv3: Strong copyleft. Must share modifications.
  • AGPLv3: GPL + network use counts as distribution.
  • CC0: Public domain. No rights reserved.

Copyleft vs Permissive

  • Permissive: MIT, Apache, BSD - can use in proprietary software
  • Copyleft: GPL, AGPL - must keep open source

Quiz

1. Which license is the most permissive?

Show Answers
  1. MIT or BSD (both are permissive)

// Lesson 03: The GNU Project & Linux

×

Richard Stallman

In 1983, Richard Stallman announced the GNU Project—to create a free operating system. He also created the GPL and the Emacs text editor.

The GNU Project

GNU (GNU's Not Unix) created essential tools: GCC compiler, GDB debugger, Make, and more. But they needed a kernel.

Linux

In 1991, Linus Torvalds created a free kernel. Combined with GNU tools, it became GNU/Linux—the free operating system that powers most servers, supercomputers, and Android devices.

Key Figures

  • Richard Stallman: GNU, GPL, FSF
  • Linus Torvalds: Linux kernel
  • Eric S. Raymond: The Cathedral and the Bazaar

Quiz

1. Who created the GNU Project?

Show Answers
  1. Richard Stallman

// Lesson 04: Finding Open Source Projects

×

Where to Look

  • GitHub: Largest code hosting platform
  • GitLab: Open source alternative
  • SourceForge: Classic open source hosting
  • Bitbucket: Atlassian's platform

Finding Projects

  • Search for "good first issue" labels
  • Explore trending repositories
  • Look at projects you use daily
  • Check Awesome lists on GitHub

What to Look For

  • Active maintenance (recent commits)
  • Friendly community
  • Clear documentation
  • Good first issue标签

Quiz

1. What label should beginners look for?

Show Answers
  1. good first issue

// Lesson 05: Your First Contribution

×

Start Small

Your first contribution doesn't have to be code. Documentation fixes are valuable and a great way to learn the project.

Easy Ways to Contribute

  • Fix typos in documentation
  • Translate README files
  • Improve error messages
  • Write tests
  • Answer user questions

Steps to Contribute

  1. Fork the repository
  2. Clone your fork locally
  3. Create a new branch
  4. Make your changes
  5. Commit with clear messages
  6. Push and create PR

Quiz

1. What should your first contribution be?

Show Answers
  1. Something small (docs, typos, etc.)

// Lesson 06: Git & Collaboration

×

The GitHub Flow

  1. Fork the repo
  2. Clone locally
  3. Create feature branch
  4. Make changes
  5. Push to your fork
  6. Open Pull Request
  7. Respond to review
  8. Merge when approved

Best Practices

  • One feature per PR
  • Write clear commit messages
  • Keep PRs small and focused
  • Link related issues

Quiz

1. What do you create before making changes?

Show Answers
  1. A branch

// Lesson 07: Code of Conduct

×

What is a CoC?

A Code of Conduct defines expectations for behavior and outlines the process for handling conflicts.

Why They Matter

  • Create welcoming environments
  • Protect contributors
  • Set clear expectations
  • Enable diverse participation

Common Elements

  • Be respectful and inclusive
  • No harassment or discrimination
  • Reporting process
  • Enforcement guidelines

Being a Good Contributor

  • Read the CoC before contributing
  • Be patient with newcomers
  • Give constructive feedback
  • Credit others' work

Quiz

1. What does a Code of Conduct define?

Show Answers
  1. Expectations for behavior

// Lesson 08: Bug Reporting

×

Good Bug Reports

A great bug report helps maintainers fix issues faster. Bad reports get ignored or closed.

What to Include

  • Steps to reproduce: Clear, numbered steps
  • Expected behavior: What should happen
  • Actual behavior: What actually happens
  • Environment: OS, version, browser
  • Logs/screenshots: Relevant debugging info

Before Reporting

  • Search existing issues
  • Check if it's already fixed
  • Try to reproduce yourself
  • Read the contribution guide

Quiz

1. What is the most important part of a bug report?

Show Answers
  1. Steps to reproduce

// Lesson 09: Sustainability & Funding

×

The Sustainability Problem

Many open source projects are maintained by volunteers. Without funding, projects can become abandoned or insecure.

Funding Options

  • GitHub Sponsors: Recurring donations
  • Open Collective: Transparent funding
  • Patreon/Ko-fi: Monthly support
  • Corporate sponsorship: Company backing
  • Grants: Software foundations

Other Ways to Support

  • Contribute code
  • Write documentation
  • Answer issues
  • Translate
  • Donate infrastructure

Quiz

1. What is GitHub Sponsors?

Show Answers
  1. A platform for recurring donations to maintainers

// Lesson 10: Starting Your Own Project

×

Essential Files

  • README: What the project does, how to use it
  • LICENSE: Choose an open source license
  • CONTRIBUTING: How to contribute
  • CODE_OF_CONDUCT: Community guidelines

README Structure

  • Project title and description
  • Quick start / installation
  • Usage examples
  • Features list
  • Contributing guidelines
  • License
  • Contact/info

Promotion

  • Share on social media
  • Submit to Hacker News
  • Post on Reddit
  • Write a blog post

Quiz

1. Which file declares the license?

Show Answers
  1. LICENSE

// Lesson 11: FOSS in the Enterprise

×

Open Source at Work

Most companies use open source. Many contribute back. Understanding FOSS in business is valuable career skill.

Benefits for Companies

  • Lower development costs
  • Access to better software
  • Community support
  • Talent attraction

Contributing as a Company

  • Open source internal projects
  • Pay developers to contribute
  • Sponsor maintainers
  • Donate to foundations

Compliance

  • Track dependencies
  • Understand license obligations
  • Use tools like FOSSA or Black Duck
  • Maintain license compliance

Quiz

1. What tools help track license compliance?

Show Answers
  1. FOSSA, Black Duck, etc.

// Lesson 12: The Future of Open Source

×

Current Challenges

  • AI and licensing: Who owns AI-generated code?
  • Supply chain security: SolarWinds, Log4j
  • Commercialization: Open core models
  • Sustainability: Burnout in maintainers

Emerging Trends

  • More corporate involvement
  • Better funding mechanisms
  • Security focus (SigStore, SBOMs)
  • Remote work driving OSS adoption

How to Stay Involved

  • Contribute regularly
  • Mentor newcomers
  • Support maintainers
  • Advocate for open source

Congratulations!

You've completed the FOSS Mastery guide. You now understand:

  • FOSS philosophy and the four freedoms
  • Open source licenses and when to use them
  • History of GNU and Linux
  • How to find projects to contribute to
  • The contribution workflow
  • Git collaboration and PRs
  • Community standards and codes of conduct
  • Bug reporting best practices
  • Funding and sustainability
  • How to start your own open source project
  • FOSS in enterprise
  • The future of open source

Quiz

1. What is the biggest challenge facing FOSS today?

Show Answers
  1. Sustainability / funding / burnout

// Why FOSS

Free and Open Source Software powers the modern world. From the servers that host the internet to the apps on your phone, FOSS is everywhere.

Understanding FOSS isn't just about using free software—it's about participating in a global community that shares knowledge and builds tools together.

Free as in freedom. Open as in collaboration.

// Tools & References

Choose a License

License Selector Tool

choosealicense.com

Open Source Initiative

OSI Definition

opensource.org

Free Software Foundation

FSF Resources

fsf.org

First Contributions

Tutorial for Beginners

firstcontributions.github.io

GitHub Sponsors

Fund Maintainers

github.com/sponsors

Open Collective

Transparent Funding

opencollective.com