If you've been around open source software for any length of time, you'll hear the terms fork and distribution thrown around casually in conversation. For many people, the distinction between the two isn't clear, so here I'll try to clear up the confusion.
First, some definitions
Before explaining the nuances of a fork vs. a distribution and the pitfalls thereof, let's define key concepts.
Open source software[1] is software that:
- Is freely available to distribute under certain license[2] restraints
- Permits its source code to be viewable and modified under certain license restraints
Open source software can be consumed in the following ways:
- Downloaded in binary or source code format, often at no charge (e.g., the Eclipse developer environment[3])
- As a distribution (product) by a vendor, sometimes at a cost to the user (e.g., Red Hat products[4])
- Embedded into proprietary software solutions (e.g., some smartphones and browsers display fonts using the open source freetype software[5])
Free and open source (FOSS) is not necessarily "free" as in "zero cost." Free and open source simply means the software is free to distribute, modify, study, and use, subject to the software's licensing. The software distributor may attach a purchase price to it. For example, Linux is available at no cost as Fedora, CentOS, Gentoo, etc. or as a paid distribution as Red Hat Enterprise Linux, SUSE, etc.
Community refers to the organizations and individuals that collaboratively work on an open source project. Any individual or organization can contribute to the project by writing or reviewing code, documentation, test suites, managing meetings, updating websites, etc., provided they abide by