DEV Community

Cover image for Contributing to Open Source
The Open Coder
The Open Coder

Posted on • Edited on

Contributing to Open Source

Over the past two weeks, I've made my first 3 commits to a real, open source project. Open source has been something I've been passionate for around 2 years now, and its one of the trends in technology right now that I really enjoy learning more about. Today, I'm going to talk about what it's like to contribute to open source software, and how you can get started.

The First Commit

I think the easiest way to get started is do something completely irrelevant to the code. Let's say you find a cool project on GitHub, and you want to get involved. Don't start by trying to find the biggest software bug in their system or trying to solve an issue that's been in the queue for months with no one being able to fix it. These bugs will kill your spirit, since you have no idea what the intricacies of the project are. Start by finding a super simple issue in the queue that no one wants to waste time on, or even fix a typo in the README or on one of the pages. For example, my first commit to HAX was changing the word "You're" to "Your" in one of the demos. Stuff like this will help you get your name on the project, and you'll begin to understand the layout of the project and the other contributors.

Get Connected

I can't really say much about this, since the founder of the project I worked on is my professor. However, if you can find someone to message that is a consistent developer on the project, you will save yourself a lot of trouble. People who are passionate about a project will want to help you. They'll tell you what issues to go after, what future development tasks you could start, or help you when you get stuck. Don't be afraid to reach out, because developers need help on these things. Open source relies on the idea that your project can get contributions from people outside your team.

Big Projects are Fun to Work On

If you can find a sizable project that really interests you, you'll get a ton out of it. I love personal projects and creating random ideas that I have, but these things are short lived usually. I don't work out all the kinks. I hack it together, and go "Look what I made! Click that! Whoa nice transition!" and then forget about it. With a real project, you can get your hands dirty, mess with the code, add a cool feature, and people will actually use it. There's a different kind of joy you get, cause you know the project won't be a forgotten graveyard in someone's GitHub. Find something you love and dive into it when you start to get comfortable. I promise you'll enjoy it more than work and more than your other projects, because it's some of the most meaningful code you'll ever write.

So that's my introduction to contributing to open source. I'm still new, but this certainly won't be the end of my open source development journey. I hope you enjoy working on this stuff as much as I do!

The Repo and My Recent Contribution

GitHub logo elmsln / lrnwebcomponents

@lrnwebcomponents Monorepo for NPM based element definitions

lrnwebcomponents

License: Apache 2.0 lerna Lit #HAXTheWeb code style: prettier

Published on npm build Dependency Status Published on webcomponents.org Slack Twitter

Welcome to the lrnwebcomponents project!

ELMS:LN produced web components for any project

Logo

Quick-start

Notice: You will need to use Node version 6.0 or higher. Verify that you have yarn enabled — if not install yarn globally. These web components are written in ES6 and build routines compile to es5 to encompass legacy browsers.

Quick Install

curl -fsSL https://raw.githubusercontent.com/elmsln/lrnwebcomponents/master/scripts/lrnwebcomponentsme.sh -o lrnwebcomponentsme.sh && sh lrnwebcomponentsme.sh
Enter fullscreen mode Exit fullscreen mode

Manual Install

git clone https://github.com/elmsln/lrnwebcomponents.git
cd lrnwebcomponents
yarn global add @wcfactory/cli
yarn global add polymer-cli
yarn global add @web/test-runner
yarn global add @web/test-runner-commands
yarn global add @web/test-runner-puppeteer
yarn global add @web/test-runner-playwright
yarn global add lerna
yarn global add web-component-analyzer
yarn install
Enter fullscreen mode Exit fullscreen mode

Syncing Your Fork

git remote add upstream https://github.com/elmsln/lrnwebcomponents.git
git fetch upstream
git pull

Windows

Git bash should already be installed on your Windows machine and can be found by searching through your computer's applications or by right-clicking anywhere inside of the File Explorer Cygwin


Top comments (0)