Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
174 changes: 162 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,171 @@
![DISC logo](./assets/DISC.png)

# Overcoming barriers to entry in Open Source projects
## Overcoming Barriers to Entry in Open Source Projects

This repository contains documents and resources on getting started with Open
Source projects.
This repository contains documents and resources to help people get started with Open Source projects, with a special focus on **first-time contributors**.

This resource was created as part of the [NumFOCUS DISC Unconference](https://pydata.org/nyc2017/diversity-inclusion/disc-unconference-2017/). 📃 Read about its creation on the [NumFOCUS blog](https://numfocus.org/blog/getting-started-open-source-notes-numfocus-disc-unconference).
This resource was created as part of the NumFOCUS DISC Unconference. Read about its creation on the NumFOCUS blog.

### [Why contribute to Open Source?](./what_is_open_source_and_why_contribute.md)
Wondering why you contribute to Open Source? Here are a few good reasons it can benefit both you and the world!
---

### [Compilation of Open Source Resources](./compilation_of_open_source_resources.md)
This file includes a collection of external resources (links) that elaborate on how to contribute to Open Source projects effectively as a newbie.
## Why Contribute to Open Source?

### [How to organize an Open Source sprint](./how_to_organize_an_open_source_sprint.md)
An Open Source sprint is a short event where groups of people get together to work on a single Open Source project with help from its maintainers. We provide detailed instructions and resources for organizing an Open Source sprint at your company, club or Meetup Group.
Wondering why you should contribute to Open Source? Here are a few reasons it can benefit both you and the world:

* Improve your technical and collaboration skills
* Gain real-world development experience
* Build a public portfolio of work
* Learn from experienced maintainers and contributors
* Give back to the community by improving shared tools

### [Meet the Contributors](./open_source_stories.md)
About the contributors to this repo and their Open Source experience.
---

## Getting Started with Open Source (Beginner-Friendly Guide)

If you are new to Open Source or participating through programs like **Hacktoberfest, GSoC, or NumFOCUS events**, this section will walk you through the basics.

### 1. Install Git

Git is a version control system used by most Open Source projects.

* Official website: [https://git-scm.com/](https://git-scm.com/)
* Download and install Git for your operating system (Windows, macOS, or Linux)

After installation, verify Git is installed by running:

```bash
git --version
```

---

### 2. Create a GitHub Account

Most Open Source projects are hosted on GitHub.

* Sign up at: [https://github.com/](https://github.com/)
* Choose a professional username if possible (this will be public)

---

### 3. Fork the Repository

Forking creates your own copy of this repository under your GitHub account.

1. Open this repository on GitHub
2. Click the **Fork** button (top-right corner)
3. Select your GitHub account

---

### 4. Clone the Forked Repository

Cloning downloads the repository to your local machine.

```bash
git clone https://github.com/<your-username>/<repository-name>.git
```

Navigate into the project directory:

```bash
cd <repository-name>
```

---

### 5. Create a New Branch

Always create a new branch before making changes.

```bash
git checkout -b my-first-contribution
```

Use a descriptive branch name related to your change.

---

### 6. Make Your Changes

* Read the repository documentation
* Make small, focused changes
* Follow existing formatting and style

After editing files, check the changes:

```bash
git status
```

---

### 7. Commit Your Changes

Save your changes with a clear commit message:

```bash
git add .
git commit -m "Add beginner contribution guide to README"
```

---

### 8. Push Changes to GitHub

```bash
git push origin my-first-contribution
```

---

### 9. Open a Pull Request (PR)

1. Go to your forked repository on GitHub
2. Click **Compare & pull request**
3. Add a clear title and description
4. Mention what you changed and why
5. Submit the pull request

Maintainers may request changes. This is normal and part of the learning process.

---

## Compilation of Open Source Resources

This section includes a collection of external resources (links) that explain how to contribute to Open Source projects effectively as a beginner.

* Guides on Git and GitHub
* Best practices for first-time contributors
* Open Source etiquette and communication tips

---

## How to Organize an Open Source Sprint

An Open Source sprint is a short event where groups of people work together on a single Open Source project with help from its maintainers.

This repository provides:

* Step-by-step guidance for organizing a sprint
* Tips for engaging beginners
* Resources for companies, clubs, or Meetup groups

---

## Meet the Contributors

Learn about the contributors to this repository and their Open Source experience.

We welcome contributors of all experience levels. First-time contributors are especially encouraged to participate.

---

## Contributing Guidelines

* Be respectful and inclusive
* Follow the project code of conduct
* Ask questions if you are unsure
* Small contributions are valuable

Happy contributing :)