5 common terms used in Open Source, explained.
Tags: hacktoberfest, opensource, github, git
Published: 2023-10-04 11:39:38

October is here which means one thing: *Hacktoberfest is back!*

People only are showing their excitement about making their contributions to their favourite open source projects!

If *you* want to start with Open Source, you first need to learn the terms Open Source contributors use.

In this article, I'll list 5 of the most common terms, and as a bonus, I'll tell you the easiest way to make your very first contribution!

## 5 open source terms

### 1. Open source

What does it mean when a project is *open source*? A lot of times the applications and web apps you use have their code (or "source") protected by their companies. Only the developers directly working on the application can see and make changes to the code.

"Open source" is a complete shift from this. When a project is *open source*, it just means that the code is publicly available to everyone to look and make changes to. For example, [here's the source code for Ubuntu](https://cdimage.ubuntu.com/releases/20.04/release/source/)

### 2. Git

Git is a tool that helps you manage your code better. It gives you a history of all the changes you've ever made and makes it easier to update your code. 

Git also makes it easy for a lot of people to work on the same code. This is why a lot of people use it for open source projects.

### 3. Repository

For everyone to browse, make changes and test the code for an open source project, it needs to live somewhere. This *somewhere* is what we call a "repository". All the code for a project together with all past and future changes live there.

![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f6w9aylehjjzyojv3prw.png)


### 4. Fork

A fork is a copy of someone's code that gets added *in your own Github account*. 

If you need to make changes to a project that *you don't own*, the first thing to do is to create a "fork", so that a repository gets created with all the code, *which is yours*.

*Then*, you can make changes if you need to. 

After you've made your changes in your own fork, it's time to ask nicely for your code changes to be added to the original repository!

![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7fdtunt7r78jas685t5y.png)

### 5. Pull request

This is where you ask for the changes you've made to be added from the fork (your copy of the code) to the actual code of the project.

Someone will look at the changes and if they agree with them, the pull request will be approved and your changes will added!


![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/92s8937hd4aly1924wo0.png)

I hope this helped you make sense of some common terms. Are there any terms I've missed? Let me know!

## Make your very first open source contribution!

Now that you've understood the most common terms in open source, it's time to make your first contribution. The best thing you can do in this case, is **start simple**, instead of jumping straight into huge codebases.

What if your first contribution was **literally creating a simple file**, just so you can practice and dip your toes in the water?

My project [*Say Something*](https://just-say-something.vercel.app/) is here to help! 


![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rzhzsidbtnxk2cs1toyb.png)



Say Something is a project where you can share a message with the world. But to do that, you'll need to contribute to the source code by creating a very simple file. Say Something will give you clear instructions on how to post a message in the *Write* page.

**Perfect for first time contributors!**

Give it a go:

https://just-say-something.vercel.app/