It’s about time for EmberConf again, and with that comes a lot of energy. A common question I get is “I want to contribute, but where do I start?” This post will be my answer to that question. After reading this post, you should have an idea of what the different types of contributions available, the type of contributors there are, and where you can go to start helping out in the Ember.js community.
Types of contributions
There are different kinds of contributions, and all are equally as essential in an open source community:
- Triage support
- Guide Review & Editing
- Graphic Design
- Writing Code
- Community Conversations
Let’s dive a little bit into each one of these, and see what contributing for each looks like.
Triage support can take a few different forms- the one that might come to mind first is issue reproduction. It’s super helpful when community members look at an issue and try to reproduce it. If you want to try it out, find an issue without an example, and try to reproduce it.
- If you are able to reproduce the issue: add a comment that outlines how you reproduced the issue.
- If you’re not able to reproduce, post a comment that outlines how you tried to reproduce the issue. This really really helps!
Guide Review & Editing
A lot of effort goes into writing the official guides and API docs, but sometimes authors have been staring at it for so long, it’s hard to know what’s working or what isn’t. A new set of eyes with a knack for finding typos or identifying unclear language is very helpful. When you find these areas, you can submit an issue for what you’ve found (try to include screenshots). Then, you can submit a pull request (PR) to resolve the issue yourself, if you’re feeling ambitious!
While Ember may be one of the most well-documented JS frameworks, there is always a need for more documentation. Check out the repository for the guides to see if there’s an issue that you want to tackle, or propose your own!
Documentation always benefits from graphics that illustrate the text! The ability to take a concept and draw a diagram that illustrates that concept is invaluable and necessary.
There is also design for UI elements that are in our UI addon, ember-styleguide. If you have specific ideas for how a particular part of the UI could be designed (or redesigned), you can open a well-articulated issue. You can also look for existing issues with the “design” label and submit PRs for those!
There are also places to contribute code! The website and the UI addon (ember-styleguide) that supports the website are two great places to contribute code. Additionally, any of the official repositories that make up Ember may have places to contribute code. Finally, the Adopted Ember Addons org may have an addon that needs a new maintainer or additional contributor. All great places to find places where you can contribute!
While our community is good at narrowing down the number of places one could go to ask a question, there are still several distinct places where answering questions is a helpful way to contribute. Contributing to the community by answering questions in a kind and considerate way is important! You can find questions to answer on our community chat, the official Ember.js forum, or even questions on StackOverflow tagged with EmberJS.
Another way to contribute to community conversations is by writing articles about Ember, creating tutorials so others can learn how to do specific things in Ember, and sharing those on social and professional networks. Making the information open and available to everyone reduces the need for duplicate internal documentation, and has proven to be an invaluable tool for the Ember community. Not sure where to start? Writing tutorials for things that are obvious to you are perfect! Not only is it easier to write about something you have already mastered, but there is always someone else who is newer in their journey who will benefit from the guide!
Finally, participating in the RFC process is another way to contribute to Ember. You can do this by reading and commenting on open RFCs or even looking over the issues to see if you want to try your hand at writing an RFC. Help and support for this can be found on the community Discord chat, in the #dev-rfc channel.
Types of Contributors
The Learning Core Team is always looking for new contributors, and we recognize that sometimes this takes different levels of commitment. Some folks want to occasionally contribute, some folks want to seasonally contribute (the time before/after EmberConf is a big one, as is the holiday season), and some folks want to find a place to grow as a contributor and take on more of a long-term role (and perhaps a future place on the learning team). No matter what kind of time commitment you’re willing to make, there is always a place for you to contribute.
Sometimes it’s even helpful to identify that you’re in a place where you might be using Ember for a long time, and maybe you want to step up and contribute more explicitly with that in mind. This is great!
Here’s some of the things we look for in potential members:
- Has the person been contributing for a while? Occasional contributions are so helpful, but for core team members, we are looking for folks who are interested in longer term commitments (typically 2-3 years for the Learning Core Team).
- Is the person regularly attending the weekly learning core team meetings? The link to attend these meetings is posted in Discord chat in #dev-ember-learning, and are open to the community to attend.
- Does the person demonstrate the leadership characteristics we value as a community?
If you are interested in something like this, then proactively reaching out to a core team member is a great way to get the conversation started.
How to get started
First, take some time to check out help-wanted.emberjs.com. Not only was the website itself a community contributor effort, it’s a great place to find issues that have been specifically marked with “help wanted”.
Another place to look is the “How to Contribute” section of the guides. It provides good practical information that you may need as you look to contribute to the Ember ecosystem. The guides repository itself has a CONTRIBUTING.md file that outlines more specific instructions.
Every year at EmberConf, there is a contributor’s workshop- a place to specifically learn how to contribute! Attending this workshop is my #1 recommendation for how to get your feet wet. If it’s not time for EmberConf though, check out the contributor’s workshop repository – either for ideas for how to contribute or how to run your own contributor’s workshop locally!
No matter who you are or what kind of contributing you want to do, we have a place for you- we’re all in this together.
Other people have talked about this before- here’s some of the excellent references that you can dig into and enjoy: