Frictionless Open Source Contributions with a single click
Tags: beginners, opensource, hacktoberfest, javascript
Published: 2019-10-16 09:41:51

Contributing to Open Source can be intimidating as you have to spend a lot of time while going through long README files to find out how to do the development setup that is essential for getting started. This is a serious barrier for contributors. It can be a huge pain especially if you're someone who is just starting out.

Let's say you want to contribute to [Carbon](https://carbon.now.sh/) (a JS app that lets you create and share beautiful images of your source code). Before you can make your contribution you have to make sure that you have done everything from steps 1 to 4 as shown below in the screenshot from the [Contribution Guide of Carbon](https://github.com/carbon-app/carbon/blob/master/.github/CONTRIBUTING.md).

![Contribution Steps](https://user-images.githubusercontent.com/46004116/66287768-66713100-e8f0-11e9-9bb9-b712236059d0.png)

Before step 2 you have to make sure that you have [Node.js](https://nodejs.org/) installed and then you have to continue with the rest of the steps. Now the setup for Carbon is not that complex but it can be intimidating and frustrating for beginners and it still requires time and energy to be spent on what is not even part of the contribution.

Contrary to Carbon, other popular and valuable Open Source projects usually have more complicated development environments (i.e they include modern build pipelines + test suites + linters and things like that and so on). Configuring and setting up all this stuff can be cryptic, hard and can take a lot of time and effort.

What if something could save us from spending our time and energy on configuring all these cryptic and repetitive development setups? What if we could automate all of this with a single click so that we can focus and spend more time on our goal which is contributing to Open Source while forgetting about the development environment?

Well! [contribute.dev](https://contribute.dev) is here to help. It has a list of really cool Open Source Projects that are beginner-friendly and can all get you started with a single click:

![Projects List](https://user-images.githubusercontent.com/46004116/66307071-d695ac00-e91c-11e9-9eb1-8aa97bb6ca67.png)


Setup for all of the listed projects is completely automated with the help of [Gitpod](https://gitpod.io). So within seconds, you get a fully working development environment, including a VS Code-like interface and a cloud-based Linux container configured specifically for the project. All you need is a browser!

For getting started with the project of your choice just hit the blue `Open in Gitpod` button in the bottom right corner.

![image](https://user-images.githubusercontent.com/46004116/66307306-82d79280-e91d-11e9-9c8b-00d92b710892.png)

This will launch a ready-to-code environment with everything setup (like the dependencies pre-installed and the web server running) as shown below.

![Gitpod Workspace](https://user-images.githubusercontent.com/46004116/66307804-d5fe1500-e91e-11e9-9032-b5efa3cb8ff8.png)

Now you can make your contribution and once you're done you can do all sorts of cool stuff from within the full-featured Gitpod IDE like reviewing the changes that you made in the diff editor or making a Pull Request.


If the project that you're looking for is not in the list please file an issue [here &rarr;](https://github.com/gitpod-io/contribute.dev/issues/new?title=Please+add+project) with a link to the repository and we'll help you set it up. Once the experience is great we're happy to add your project to the list.

BTW this is my first blog post ever if you have any feedback or questions or just want to say hi! please 🤗 let me know I'm [@nisarhassan12](https://twitter.com/nisarhassan12) on Twitter.

Happy contributing! 🥰