A Short Guide to Open Source

Open source projects are built by communities of people collaborating around shared code. Understanding how these projects are structured, who participates, how communication works, and how contributions happen, can make it much easier to get involved.

Presentation

Authors: the original creators of the project. In some contexts, the term may also refer to anyone who wrote part of the code.
Owners: people with administrative control over the repository or organization. They are usually repository or organization administrators (especially on GitHub). Some projects refer to them as the core team or project leads.
Maintainers: people responsible for reviewing contributions, managing releases, and guiding the project’s direction.
Contributors: anyone who contributes to the project, including code, documentation, design, bug reports, or other improvements.
Community Members: users and participants who provide feedback, participate in discussions, and help shape the direction of the project.

Documentation

Usually listed at the top level of a repository, these files provide important information about the project and how to contribute to it. While not every project includes a CONTRIBUTING or CODE_OF_CONDUCT file, their presence often signals that contributions are welcome.

LICENSE: Without an open source license, the project is not legally open source, and others cannot freely use or modify the code.
README: explains what the project is, why it exists, and how to get started using it. Many READMEs include installation instructions, a quick start guide, a list of features, and links to further documentation.
CONTRIBUTING: describes how to contribute to the project. It may include coding standards, branching strategies, and commit message conventions.
CODE_OF_CONDUCT: sets ground rules for participants’ behavior and helps facilitate a friendly and welcoming environment.

Tools

Pull requests are commonly used on platforms like GitHub and GitLab. Some projects still use patch-based workflows through mailing lists instead of pull requests (for example, communities around Git and the Linux kernel project).

Issue tracker: where project-related issues are reported and discussed.
Pull requests: where proposed changes are reviewed and discussed before being merged into the project.
Discussion forums or mailing lists: some projects use the issue tracker for most conversations, while others prefer separate channels for broader discussions instead of bug reports or feature requests.
Synchronous chat channels: some projects use chat platforms (such as Discord or IRC) for casual conversation, collaboration, and quick exchanges.

Contributions

Open source contributions are not limited to writing code. There are many ways to help a project grow.

Designing

Writing

Organizing

Helping

Coding

Getting Started

Resources