OpenHack 2020

by NUS Hackers

Getting Started

Not sure how to start? Fret not! Even experienced contributors were once in your shoes. In this section, we will help you to get started to work on open source projects.

Using Git

Open source projects are typically maintained using Git and made available online through Git hosting services (e.g. GitHub, GitLab, and BitBucket). Before you start contributing to existing projects or even building your own projects, it would be wise to understand how people collaborate using Git.

The following are some of the online resources that can help you to understand how to use Git:

  1. Guides and resources by GitHub
  2. The Git book
  3. An introduction to Git: what it is, and how to use it
  4. Introduction to Git — Orbital 2020 (Slide narration, live workshop)

Contributing to Open Source Projects

To contribute toward an open source project, the following are typically some of the steps that you may need to go through:

  1. Find a project of your interest and look at how you can contribute.
    • Either visit their issue tracker (under "Issues" in their repository) to find an issue that the maintainers need help with, and offer your help or;
    • Open an issue that explains what you want to improve (e.g. bug report, feature request, clean-up request, etc.), because a problem that you notice may not seem like a problem for other people (remember those memes saying "it's not a bug, it's a feature").
  2. Once your help has been accepted, you can ask for guidance (if necessary) from those who are more experienced in the project on how you can make changes. Each project might have its own styles and design patterns (you can spot these easily if they have a contribution guide on their README). If they do have them, you should adhere to them to follow the project's conventions.
  3. Fork the repository and create a branch for you to make your changes.
  4. Finally, make your changes! Make sure to keep your code human-readable and create commits whenever you achieve a portion of the task or make notable changes. Make sure that people who will review your code can easily understand your implementation.
  5. Submit a PR (pull request) to the project repository and wait for reviews from the maintainers of the repository.
  6. Reviewers might accept your changes or request certain changes. Make sure you check your submitted PR often to see if it is merged or if there are any further changes that you need to make.

Since open source projects vary in terms of the technologies they use and concepts that you need to understand before being able to contribute, the best guide is probably to read their documentation directly.

The following are some resources that can help you to understand how to contribute to open source projects:

  1. Open Source Guides — How to Contribute to Open Source?
  2. DigitalOcean Open Source Tutorial Series — How to Create a Pull Request on GitHub

Here are some examples of good PR that adhere to the standards of OpenHack:

  1. MarkBind — Fix plugin live reloading for relative file paths
  2. NUSMods — Highlight today on exam calendar

Starting Your Own Open-Source Project

Some of you probably enjoy building your own projects more! To help you get started with that, here are some resources that might be useful:

  1. Daniel Stefanovic — Build Your Own X
  2. Web Developer Roadmaps
  3. Hackerschool by NUS Hackers

Looking for Help?

If you want to discuss ideas or require any help, you can always join our community at our OpenHack Telegram chat.