A great question popped up on designer news:
As a designer. How can I get involved in Open Source Projects on GitHub?
Let’s say I’d like to recommend a better gradient for a button in an open source project (just kidding) or I like to suggest an usability improvement… how exactly does this work? Are there any references or Quick Start Guides?
This is such an awesome question. Contributing to an existing open source project as a designer can be super rewarding. In my experience developers are, for the most part, grateful for the help. Often times they are not focused on certain aspects of the design and could use another pair of eyes on the issue.
In this post I’ll go through a couple of ideas of how designers can participate in open source projects in general, and then some ideas specific to GitHub hosted projects.
Contributing to Any Open Source Project
1. Contact the owners/contributors
A good open source project is also an open community and is actively looking for contributions. Find out their main method for group communication and let them know you are interested in doing some design work. Spend some time finding out their workflow and where you could fit in, and ask them where you could be of best use.
2. Declare your intention
Before working on something, it is usually a good idea to tell the group what you are planning on doing; it could be as simple as saying, “I think the gradient on this button is off and I’m going to put together a comp with some alternatives.” This type of broadcasting gives contributors a chance to participate in the design process. A designer shouldn’t just do some design work and drop off the psds to the group.
3. Discussion is contribution
The least a designer can do is start to participate in design discussions on a project. File user experience issues, recommend ui changes, and challenge the current design decisions. Make sure to do it in a constructive manner. Most decisions on projects had a lot of thought behind them, so don’t expect to drop in and tell everyone to change everything. Spend time understanding the process that got the project to where it is.
Joining the discussion really is the least you can do though, so put in the effort to create visuals to accompany your ideas wherever possible.
4. Code prototypes
You don’t have to be an expert programmer to contribute to an open source project. Some interactions are best explained through an interactive prototype. This might take you out of your comfort zone a bit, but use contributing to an open source project as an excuse to sharpen your development skills, and add another tool to your toolbox.
GitHub Specific Workflows
Pull request all the things!
Pull requests are my single most favorite feature of GitHub. Spend some time reading up on them if you aren’t familiar with the workflow. In essence they are a tool used by a project owner, or team to make sure all contributions are reviewed and tested before accepting them.
It is also an awesome tool that lets people make contributions without having to be a core contributor. Anyone can fork a GitHub repo, make changes, and initiate a pull request back to the original project.
GitHub Pages FTW!
GitHub Pages is another awesome tool that designers can start utilizing. Sim Bateman made a great little tool I use all the time called httpster. I was so happy with the project and inspired by the name that I made him some branding, and a single page introduction site. I forked his original repo, added a “gh-pages” branch with the html and css, and made a pull request. Sim then reviewed the branch (probably using httpster to view it in the browser), and accepted it.
GitHub Pages is a simple way that any front end designer could contribute to just about any existing GitHub hosted project.
GitHub Issues is the place to start your design discussions. Search to see if the issue/feature you have in mind has been posted before. Then file a new issue or contribute to the existing ones. Issues supports images so make sure to post screenshots with your descriptions and visuals for your design recommendations. Also, post lots of animated gifs of happiness when things get fixed; everyone loves that.
Open source projects need designers as much as other any other projects, maybe more so. We are looking into starting a job board of sorts with projects looking for design contributions. I just filed an issue, so watch that for updates, or join in the conversation.