Getting Started as a Content Contributor
Originally published on the Spinnaker Community Blog
Hi! Nikema here. I co-lead the Spinnaker Contributor Experience Special Interest Group (SIG) with Adetokunbo Ige. Since stepping into this role, I’ve wanted to write a post to explicitly welcome non-code contributions to the project. This is meant to be a living document, and I am open to feedback and suggestions. Let’s work together to make open source contributing a little less intimidating.
I will be loosely referring to contributing to Spinnaker, but I intend to make this a starting point for anyone new to content contributing.
What You Need to Get Started
Prerequisites
Familiarity with Git and GitHub
The Spinnaker project lives on GitHub. It’s helpful to know how to navigate the platform and complete common tasks. Later in the post, I’ll list some ideas for non-code contributions. Not everything you do as a community member needs to go through GitHub, but it’s a good skill to have and to practice.
If you aren’t familiar with GitHub, Kent C. Dodds has a free community course on egghead.io. He’s a great teacher so this is an awesome place to start.
https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github
An interest in an open source project
My suggestion is to find a project that is exciting to you or solving a problem you have experienced. You may also want to work backwards from finding a great community. Good people can make the most challenging work enjoyable.
Willingness to participate in a community
You’ll have to interact with people as you are making your contributions. There might be times when you have to discuss an issue or Pull Request (PR). Don’t be afraid but keep in mind that you don’t have to put up with toxicity or dismissive attitudes. If people are jerks to you, find a better, more inclusive project to contribute to.
Helpful Resources
Ways to Contribute Content Without Coding
If there’s one point I’d like to get across, it’s that you don’t have to be an expert in the technology to make awesome contributions. In this post, I’ll provide a short list of ideas for creating content for project contributions.
Participate in community discussions
Join the community forum (in our case, it’s Slack) and introduce yourself. Ask questions. Find out what the project needs and how you may be able to help. Make comments and bring yourself to the community.
Learn in public
It’s okay to be a beginner and content from a newbie perspective is incredibly valuable. Once you are familiar enough, it’s hard to remember the things that were challenging or blocking for you when you were just starting out. The more perspectives we have documented, the more accessible our projects are to people within a range of experience levels.
Add your perspective to existing content
View talks, tutorials, and workshops and add your perspective. You could talk about it on video or write a blog post.
What did you learn? What was hard to understand? Did you get stuck?
Again, it’s super-helpful to do this. If you got stuck and were able to resolve an issue, sharing that with the community will help others avoid the problem and could eliminate the problem for future users.
Share on social media
Like (or clap), comment, subscribe, share.
Organize or join local or virtual meetups around a project
Meet up with others. There is so much potential for magic ✨ to happen when we get together.
Give a talk on your experience
Your experience matters. Your unique voice is a value add to the community and no one can provide it but you.
Publish interviews of community members and maintainers
Learn from others through interviews; share them with the community.
Start a study group and document your progress
The journey from newbie to knowledgeable is much more fun with friends. Get a group together and level-up as a team. Learn stuff and tell people about it.
Use your writing skills to make existing documentation more readable or easier to understand
Break out those GitHub skills and make a pull request to improve documentation. Find something missing or lacking? Fill in that blank with your awesome technical writing.
Teach something you’ve learned about the project
Document your learning as if you are teaching it to someone else.
Submit issues when you come across bugs or errors
Find out how your project handles bug reports and submit them as needed. Don’t underestimate how helpful this is!
Become an ambassador
Find out how to become a champion for your project and community. Some projects have formal ambassador roles. If you’re excited about the work your community is doing, help spread the word.