---
description: 14th December, 2020 - 1st February, 2020
---

# Program Overview

To kickoff the program, a workshop would be hosted on 14th December which would give you an understanding on FOSS, git, GitHub, open source contributions, OpenHack and other amazing open source programs. The program managers, mentors, junior mentors and students would also introduce themselves.

After the workshop, you need to:

1. **Make sure you have a GitHub account**\
   \*\*\*\*We will be using GitHub for hosting the code, collaboration, reviews, etc.\\
2. **Check out this site thoroughly**\
   \*\*\*\*Especially the [student responsibilities](https://openhack.gitbook.io/openhack-20/responsibilities/students) section and the [communication](https://openhack.gitbook.io/openhack-20/cohort-2/communication) section.\\
3. **Introduce yourself at Discord**\
   \*\*\*\*Let everyone know your name, which semester and department you are in, your GitHub username, your place, facts about you and anything you wish to share at the #introduce-yourself channel at our Discord!\\
4. **Accept the email invitation to join** [**FOSS Cell, GEC PKD org**](https://github.com/FOSS-Cell-GECPKD) **on GitHub**\
   \*\*\*\*That's where your projects would be hosted.\\
5. **Sign up for GitHub's** [**student education pack**](https://education.github.com/pack)\*\*\*\*\
   \*\*\*\*The education pack provides free access to a lot of really helpful resources while you're a student. Make sure you use your college email ID while signing up.

Once you're done with the aforementioned things, you can choose your track. The program is divided into two tracks: **Alpha** and **Beta**.

## Alpha Track

In this track, you'll build 1-2 open source projects at the FOSS Cell in a team of 2-3 students. The mentors will review your code, suggest best practices and they would be available throughout the program if you require any assistance! Going with this track would help you learn the git workflow, explore new languages, frameworks & tools, project management, improve leadership and collaboration skills while following best coding and open-source practices. You'll walk away with 1-2 interesting projects in your portfolio and you would get to put an amazing experience on your resume! If you wish to apply for the [MLH Fellowship](https://fellowship.mlh.io) and similar programs in the future, this track would be a good choice!

How to get started?

1.  **Team up with 2-3 students and choose a project idea**

    \*\*\*\*\
    \*\*\*\*Your project team would have 2-3 students who would use GitHub and Gitter to collaboratively build the project. The mentors would provide you some ideas but it's better if you come up with your own ideas to solve real-world problems then discuss with us! You can put forward your ideas in the #alpha-track along with the language/stack and other students would show interest. Don't go with an idea just because it can be built with a language/framework you already know. If you are new to coding, you still have enough time to get familiar with the basics of a programming language like Python or Javascript and build a mini project! After you come up with ideas, you need to discuss with the mentors its scope, features, tech used, time required, etc. after which a final idea would be decided and the mentors would suggest good resources to learn and follow.\\
2. **Join your project's Gitter chatroom**\
   \*\*\*\*Once we create a GitHub repository for your project, you need to join your project's Gitter chatroom using the button in your project's readme (at the repository) since students would have project related discussions in their project's Gitter chatrooms.\\
3. **Discuss roles**\
   \*\*\*\*You can divide your project into smaller meaningful parts after dicussing with your mentors and then divide the roles among your team. Your project should also have a maintainer who would look after the project, goals, contributions, etc.\\
4. **Start learning and building**\
   \*\*\*\*Have discussions in your chatrooms or video calls and start building! The mentors will open an issue titled "Best practices TODO" at your project's repo which is a list of things you need to take care of before submitting your project for the final review.

## Beta Track

In this track, you'll be contributing to major open source projects under the guidance of mentors at both OpenHack and at the organisation you wish to contribute to. Contributing to major open source projects is a great way to get a practical understanding of real-world software development. You would get to learn the git workflow, explore new things, solve challenging bugs and issues while following best coding and open-source practices. Also, your code is potentially used by lots of people! If you wish to apply for [Google Summer of Code](https://summerofcode.withgoogle.com) or similar open source programs in the future, this track would be a good choice!

How to get started?

1. **Find open source projects**\
   \*\*\*\*You can find interesting open source projects at GitHub, Google Summer of Code's organisations list, etc and try contributing to them. You can also contribute to open source projects you use in your daily life!
2. **Some ways of contributing**
   * Check out good-first-issues/beginner-friendly-issues
   * Find bugs and fix them
   * Improve the documentation which will help a lot of other people using the library/software/framework.
   * If you're using the project and need a feature, you can get in touch with the community, request for the feature and even code it up.
   * Add tests\\
3. **Read experiences of open source developers, GSoC & MLH Fellowship alumni**\
   \*\*\*\*That's a good way of understanding how their journey was like, how they overcame challenges, etc. [Here](https://www.cncf.io/spotlights/cncf-maintainer-spotlight-goutham-veeramachaneni/)'s an interesting blog you might like and [here](https://medium.com/@viveknigam3003/getting-into-gsoc-20-with-cern-hsf-by-vivek-nigam-d7ec866c0533)'s another one.\\
4. **Approach OpenHack '20 mentors at #beta-track if you're stuck**\
   \*\*\*\*We would be happy to help you get on track to getting your first few PRs merged!\\
5. **Stay positive**

![](https://977469898-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MNXPQaqGYZx90LxWnkX%2Fuploads%2Fgit-blob-9f5c74e45827fe6bb0fc4b9926b8080a7bafc9ed%2Fnever-give-up.jpeg?alt=media)

{% hint style="info" %}
You can choose either of the tracks or even both of them if you wish!
{% endhint %}

Decided your track?

1. **Follow best practices**\
   One of the goals of OpenHack is to inclulcate best coding, communication and open source practices among student developers. The mentors will review your pull requests (your code contributions) and provide you with suggestions on best practices. You're required to listen to the feedback and respond accordingly. Asking good questions is another good-to-have skill. Please check the section on student responsibilities for more good practices and feel free to explore online too!\\
2. **Attend weekly stand-ups**\
   \*\*\*\*We'll have meetings at 4PM every Saturday where all the OpenHackers would share what they've been upto the previous week, how their projects are going, any challenges they faced, etc. So be sure to attend the stand-ups! We will also have show-and-tells where teams would explain their projects in detail along with what they learnt and the challenges they faced. All the meets will be uploaded to our [YouTube channel](https://www.youtube.com/channel/UCWFTHKmCRTlBx-XWhHuGSKg).
