An introduction to GitHub for your open source project

A beginner's guide to GitHub

GitHub logo with navy background
Image credits : 

From GitHub

From Google to The White House, everyone is on GitHub. If you don't know what GitHub is, keep reading, because I'm also going to talk about why it's one of my favorite websites and share some of its most popular features.

What's GitHub?

GitHub is a web-based Git repository hosting service that offers all of the distributed revision control and source code management functionality of Git combined with a unique set of other features.

In layman's terms, it's a place where every developer (or aspiring developer) can share their source code and stories with the world. It's a huge and highly respected collaboration platform, and it's used by just about every big technology company you can think of: Google, Twitter, Mozilla, Facebook, IBM, Netflix, Dropbox, and PayPal, to name a few. So, why did they all choose GitHub?

It's the place to store your code

Let's be honest—if you're not hosting your source code on GitHub right now, your open source project pretty much doesn't exist. I have a lot of respect for solutions like Launchpad and BitBucket, but GitHub is still the place to go if you need a place to store and share your source code.

Huge developer community

There are 8.2 million people collaborating across 19 million GitHub repositories. As GitHub says on its about page, "Developers from all around the world are building amazing things together. Their story is our story."

GitHub as a replacement for LinkedIn

I've been using LinkedIn for quite some time and love it, but the truth is, you can say pretty much anything you want on there. Say, for example, that you have C++ listed as a skill on your LinkedIn profile. Your connections can endorse you for it, but it doesn't give employers any idea of how good you are at it, or whether you can program in it at all. With GitHub, they can see your knowledge and skills in action.

Now don't get me wrong—GitHub is not a replacement for your resume, but it's a place where you can show your skills instead of just talking about them. One project, called Open Source Report Card, grabs your public GitHub data and converts it into a format that's pretty similar to a resume.

GitHub pages

Let's say you want to build a website. You have a couple of options: You can buy a domain and hosting service and build it from scratch, or you can use a "freemium" service like Wix, which allows you to create a stunning website in minutes, but limits what you can do with it.

So if you want to have full control, showcase your website development and design skills, and do it all free of charge, what should you use? GitHub Pages!

With GitHub pages, you can create a personal, organization, or project website with ease. Don't believe me? Check out my online portfolio! It took me less than 15 minutes to create using a template offered by GitHub, and I have full control of the site. I even managed to alter the design of the original template!

GitHub training

GitHub uses Git, which is a distributed revision control system designed and developed by Linus Torvalds for Linux kernel development back in 2005. Since then, it's become the most widely adopted version control system for software development there is.

But what if you don't know how to work with Git? Is that a problem? Heck no! GitHub provides resources for working with Git using GitHub as a platform in the form of free training kits and online courses. Whatever learning option you choose, you'll see that your materials are divided into three difficulties: beginner, intermediate, and advanced.

GitHub gists

This is GitHub's newest service—a place where you can share text or code snippets publicly or privately. Public gists can show up in search results and be found by anyone with access to GitHub, while private gists can only be accessed by those with the link.

Atom Text Editor

When I first found out about Atom, GitHub's hackable text editor, I fell in love with the site all over again. So just how "hackable" is it? Completely. You can "hack" every single thing inside of that text editor. Don't know how? Not to worry, there are thousands of packages already available, all of them hosted on GitHub and offered free of charge.

Don't like the design of the editor? Pick one of thousands of alternate "flavors." You can customize your installation to be anything from a simple text editor to a fully integrated development environment. You can even write your publications, blog posts, or books in it. In fact, I used it to write this very post!

GitHub student developer pack

A few days ago I got a letter from my college professor stating that as a student, I'm eligible to receive a GitHub student developer pack, which offers more than 15 free and paid development tools from GitHub and its partners at a huge discount.

Amazing support

I'm a developer. I use lots of stable and unstable software and services on a daily basis, and it's important that I get support as fast as possible. I once had an issue with a GitHub feature and reached out to them for support. I received an email response within 20 minutes. Support was eventually able to explain exactly why I was having the issue and what I had to do to resolve it. I have to give them a straight 10/10 for their support.

Any reason not to use GitHub?

If you're developing proprietary software, there are plenty of reasons you shouldn't post the source code on GitHub, but that shouldn't stop you from working on open source software in your free time. Doing so will benefit you when you start looking for a new job, benefit the developers, and benefit every single user of that open source project. GitHub offers you a wide variety of opportunities, and you should take advantage of them!

Beginners to
Open Source

A collection of articles about how to get started in open source.

About the author

Aleksandar Todorović
Aleksandar Todorović - I'm a part of the tech department for an awesome investigative journalism network called OCCRP. I'm really passionate about open source software, artificial intelligence and information security. My open source contributions are now merged with projects like reddit, elementary OS and the