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.
Gatsby lets you build websites using REACT or as quoted by the official website “Gatsby is a blazing fast modern site generator for React.”
Examples of existing sites created by Gatsby
Examples of Gatsby Plugins which make coding look easier and less intimidating
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.
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.
Getting Started links
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.
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.