Introduction To Open Source Vocabulary
Published: 2023-11-18 13:54:51

---
title: Introduction To Open Source Vocabulary
published: true
date: 2023-11-18 08:13:37 UTC
tags: 
canonical_url: https://cliffordmapesa.hashnode.dev/introduction-to-open-source-vocabulary
---

## What is open source software?

Open source software (OSS) is software whose **source code** is made available to the public. In this way, it is available for use, modification, and distribution with its own rights. **Source code** is part of the software that most users don't see, it's code that programmers manipulate to control how a program or application behaves. Programmers with access to source code can change a program by adding to it, changing it, or fixing sections of it that arent working properly. OSS includes a license that permits programmers to modify a piece of software to best fit their needs or user's needs and control how the software can be distributed.

## Open source vocabulary

To be able to delve into the world of open source and in the process have a smooth transition it is imperative for one to know the vocabulary used. Here are some of the terms used in open source:

- **Repository:** It is a collection of files and folders associated with a project, along with each file's revision history. Mostly managed by [version control](https://en.wikipedia.org/wiki/Version_control).

- **Collaborators/Contributors:** These are people who take part in the contribution process. It can be through code, documentation, reviews, etc.

- **Commit:** A commit indicates changes made to files and folders in a repository. It provides a history of changes made.

- **Forking:** It is making a copy of a `repository` from one user's account when you don't have write access to it. So you can just copy it and modify it under your own account.

- **Pull request:** When you have made changes and you want to update the changes to the original repository you make a `pull request`.

- **Merge:** It is when the owner of the original accepts the changes you've made and updates the changes to the original `repository`. If your `pull request` is accepted by the owner then you get its credit on the original site and shows up in your user profile

- **Branch:** When you want to make changes to a `repository` you create a branch and then check it out.

- **Maintainers:** They are in charge of making decisions, code reviews, and supervising the project.

- **Code review:** Acts as quality assurance of a code base. Help in identifying bugs, increase code quality, and help developers understand/ or learn the source code.

- **Issues:** Mostly used in reporting bugs and requesting features. Sometimes it hosts discussions, helps process support requests, or even submits documentation feedback.

- [**README.md**](http://README.md) **:** It serves as the face of the project. It introduces and explains a project by providing a detailed description of the project.

- [**CONTRIBUTING.md**](http://CONTRIBUTING.md) **:** A [CONTRIBUTING.md](http://CONTRIBUTING.md) file, in an open source repository or site, provides potential project contributors with a short guide to how they can help with the project.

- **CODE-OF-CONDUCT:** It is a document that establishes expectations for behavior for a project's participant. Defines standards for how to engage in a community

## Conclusion

Open source contribution is an opportunity to learn new skills, connect with other contributors, and make a positive impact.

Happy coding!

## References

- [Github Docs](https://docs.github.com/en)

- [Code review:](https://about.gitlab.com/topics/version-control/what-is-code-review/)