Selecting my first Open Source Projects to Contribute to

The task seems so intimidating, like walking into the wolf den. These are the feelings I get when I look at different github repos and their open source communities. Nothing is easy, no one is there to really hold your hand on your first time through. It’s quite literally 0 to 100 and a lot of these repos don’t make it user friendly for first timers, sure an experienced open source contributor might know what to do but what about me? A student. From learning my first “hello world” a few years ago, to being babied by my school’s learning curriculum to being thrown into what feels like the gladiators pit, open-source communities on git-hub are very intimidating.

For one, they assume you know everything they are talking about. Like seriously, I do not. I’m a visual learner, fancy words and inside jargon do nothing but discourage me and make me feel inept. The feeling that everyone is a pro and I am to come in and ask a noob question like “can someone help me set this up”? The fear of retaliation from the community for being so ill informed would surely drive me away from such a question and maybe even turn me away from the community.

Furthermore when you first go onto a popular open-source project you are hit with an endless amount of information and there is no way to parse what information I will need depending, key work depending on my level of understanding. This is the main problem I find with open source projects, it doesn’t matter if I am a noob, novice, intermediate or experienced contributor. Regardless, I am hit with the same amount of content which I must navigate through.

Enough with the crying already, time to man up.

No one ever got stronger from doing nothing

Enough bickering and ranting and complaining, it is so easy to complain but I need to start diving into this world of open source. Everything seems scary and intimidating at first, but once you dip your feet in the water it won’t isn’t so bad. If others can do then why can’t I, there is no biological difference between me, you and others out there. We are all humans capable of comprehending the world around us.

I am sure that if anyone puts in a solid amount of effort into anything they will benefit greatly from it and have a deeper understanding of what they once didn’t understand.

This is my goal with open source, and there is no better time than now to start. So believe I have outlined some projects I glanced over which I will try to work with to contribute and communicate to their respective communities in the open-source world.

PROJECTS

GATSBY 2.0

Gatsby lets you build websites using REACT or as quoted by the official website “Gatsby is a blazing fast modern site generator for React.”

Github Repo

https://github.com/gatsbyjs/gatsby

Main Site

https://www.gatsbyjs.org/

Tutorial

https://www.gatsbyjs.org/tutorial/

Introduction

https://www.gatsbyjs.org/docs/

Examples of existing sites created by Gatsby

https://www.gatsbyjs.org/starters/?v=2

Examples of Gatsby Plugins which make coding look easier and less intimidating

https://www.gatsbyjs.org/packages/gatsby-image/?=

  
I chose Gatsby because I want to work with some kind of web development project.  Sometimes personally, I would like to create a webpage to display some data that I have collected and want to present in a graphical way, potentially anywhere in the world as long as I have an internet connection.  The issue is the amount of time it takes to create web apps with the current model, this project not only tackles that issue it also works with JavaScript which is a language I am more familiar with and enjoy.

The project is also somewhat active, with over 500 issues I can find something to work on or even talk to others about the project if I get stuck.

PROJECT

MAILPILE

Mailpile is a web-client based email service which emphasizes a clean and elegant user-friendly interface, encryption and privacy settings.  The project also supports a command line API for developers and can be used locally or remotely.  Currently there is no stable release, they are working towards a 1.0 release. 

Github repo

https://github.com/mailpile/Mailpile

Official Site

https://www.mailpile.is/

Getting Started links

https://github.com/mailpile/Mailpile/wiki/Getting-started

Demo

https://www.mailpile.is/demos/

Note:  The beta release is out of date, and some features may not work anymore, the developers are urging not to use these releases for anything except development.

I chose mailpipe for 2 reason the first is that I would like to try getting some hands on experience with Python which is the language this program uses.  Furthermore I have an interest in privacy, encrypting and web based programming for example dealing with clients and servers.  There is a good amount of activity on the project so asking for help should not be an issue.  And secondly, an email application seems like a good simple first time project to get involved with in the open source community. The more I understand the project the more comfortable I will be working with it.  

PROJECT

VSCODE

Vscode is a very popular code editor which a lot of developers use in the field.  The benefit of vscode is that it is lightweight, but at the same time it is a powerful editor which provides native support for such languages like Javascript, Typescript and NodeJs and has extensions for other languages as well. 

Github repo

https://github.com/Microsoft/vscode

Official site

https://code.visualstudio.com/

    Why did I choose it?

I use vscode regularly and thought it would be neat to see how it is all put together.  These guys push new releases monthly so I would be able to follow along and see the new releases functionality work in my own copy of vscode.  I feel like this will give me a better understanding of how a tool we use daily whether it be a source code editor, web browser or something else comes together and works with all its moving parts and pieces.


What goals do I have with these projects?

My goal is to start getting involved in open source and so my goals for these projects are to interact with the project communities, contribute and be involved with the project, pretty much get my hands dirty for the first time. I do not have wild expectations of fixing bugs which will WOW everyone because I believe that would be slightly unrealistic at my current level and experience but rather I will just practice being an open source contributor.

At the end of the day this will just be a learning experience with what seems like a steep learning-curve.

 



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s