47

I want to participate in Open Source projects, but I cannot code (that well. Or.. at all).

I would love to contribute to GitHub projects, but as a designer I'm not sure what's the best way to do this (I mention GitHub because it makes it really easy to find stuff which is already happening, but any platform would apply).

What's the place of a graphic designer in the Open Source world, or what are some good practises when deciding to join a project of these characteristics?

  • 2
    Find a project whose goal you really enjoy and reach out to the creator(s). I'm sure they'd love for you to help out and tell you exactly how you could do so best :) – Zach Saucier Jan 27 '15 at 17:49
  • Is creating fonts something that you would want to do (or is included in the scope of this question)? – Wrzlprmft Jan 27 '15 at 17:56
  • @Wrzlprmft It could be! I hadn't actually thought about it, it's definitely something worth mentioning as an example! I personally want to start collaborating, but I'm new to the platform. I just don't know where to begin, what sort of courtesy rules apply to non-coders... – Yisela Jan 27 '15 at 18:02
  • 1
    You might be interested in this Open Source Proposal on area 51. – overactor Jan 28 '15 at 10:24

12 Answers 12

32
+200

The most important thing is to find a project who's goals you really support. I'd hate for open source work to become a chore, you should quit if it does, and you're more likely to create good work for something you're passionate about. Hopefully the project itself won't die out quickly, because you want to make something that lasts.

Once that is established, you should reach out to the creator(s) and talk to them. Since it's open source, their information is likely clearly visible. I'm sure they'd love for you to help out however you can, and by talking to them and asking, they can tell you exactly how you could help out best.

As for what that may look like, they'd likely be having you do something along the lines of the following (assuming they have work that a designer can do - it's not just code, but includes some type of interface, at least a splash page for people looking at the project):

  • Critiquing their project's usability
  • Critiquing the layout / flow
  • Coming up with a color scheme or even the visual identity of the application
  • Finding new ways to improve the user experience, whether it's improving their copy, adding transitions, creating a creative 404 page, or some other little gem that users would enjoy but not expect. I think this is would be one of the most fun things for you to create and (assuming the basics of the application's design are covered) one that has the biggest end effect
  • Choosing a better typeface
  • Creating a logo
  • Coming up with a new design/layout for components or even the entire application
  • Coming up with alternative themes
  • Implementing the design in the languages used (even if this means you learn it) - this would put you in the role of a front end developer

In addition, there are many design-specific open source projects that help developers. These can range from image libraries (both photography and illustration libraries), to fonts, to templates, to grid systems, to something else entirely. The purpose of these are to make developer's jobs easier and to offer resources so that companies don't have to do everything from scratch by themselves.

What you end up doing, of course, depends on how involved you want to be, the skill set you have, and the type of application you're working on, but I think this answer gives a good idea of what some possibilities of work for you are. It really is the same type of design work you'd be doing for work, just (perhaps) for a better cause.


As Scribblemacher commented, using open source programs and being active in their community by posting tutorials, sample works, templates, questions, new scripts, and feature requests regarding the program helps the application get better. This is something that you could be doing in your regular workflow and is an integral feature of any open source project.

  • 1
    For a more implementation related view, open issues on the project saying what things you think you could better, and telling you're willing to contribute, so the maintainers now you can help them. – mgarciaisaia Jan 28 '15 at 15:36
  • 1
    One thing that I would add that is very helpful is to actually use open source design programs. Project like GIMP, Inkscape, and Scribus benefit greatly when people post tutorials, sample works, templates, questions, new scripts, and feature requests. – Scribblemacher Feb 2 '15 at 15:24
12

GitHub opportunities:

Help making Wikimedia Commons images in a vector format:

Contribute to website templates/themes:

Design new icon packs:

  • Tango
  • Nuvola
  • No open source icon packs for the visually impaired, for example

Add illustrations to:

Contribute to graphical design software:

5

Many Open Source games are looking for graphic designers.

For example, at Pushover we are looking for a volunteer to redesign the main character (in all movement states).

As a graphic designer you are one of the most wanted people by Open Source teams. They usually have enough programmers (or at least know where to find them), but finding good graphics people willing to volunteer is hard.

You shouldn't have trouble finding projects which want as well as need you.

5

One thing that you need to be aware of is that a lot of open-source projects (and software in general) do not have a huge amount of work to offer for a graphic designer. First, there is a vast number that does not have any graphical component whatsoever. For others, the UI is mostly implemented via some UI library that pretty much determines the look and arrangement of buttons and similar. Thus, there are many projects that will have little more to do than some icons and a logo. If you want to make a big contribution or you want your work to have a huge impact, participating in such projects will likely not satisfy you. On the other hand, if you want to do a series of short projects, this may be fine.

There are exceptions to this, however:

  • The UI projects themselves. These obviously would offer a bigger amount of workload for a graphic designer. However, it makes much more sense to participate in those, if you actually use that UI library (indirectly) – which may be only the case if you work on an open-source operating system (but then again it’s been a while since I worked on a proprietary operating system, so I might be wrong about this).
  • Then there are big projects such as office suits and similar, which require the same relative amount of graphic designing but due to their sheer size need more in total.
  • Finally, there are naturally graphics-heavy projects, such as games, web-based software or learning software (in particular for children). I expect that this is something where you can really shine as a graphic designer.

Another point that you need to consider is that, if you are not a programmer, working some projects may require a lot of interaction with programmers who would have to implement your designs. This means an additional workload for both the programmers and you, which may have a serious impact on the cost–benefit ratio of your contributions. Sure, everybody wants their software to look good, but in most cases they do not want to invest much time on this and have more urgent problems at hand. Thus you may want to look for projects, where you can work somewhat independently.

Whatever you do, it is always a good idea to talk to the people doing a project whether and how you can best contribute.


Finally, a somewhat special case are fonts. They usually involve little, if any programming and thus you can easily contribute to an existing project, only needing to learn Git or whatever versioning system is used. There are some font projects on GitHub as well as on Sourceforge (12). I also have one font project on each of these platforms myself.

Also, it does not take much to start a new font project yourself. Quality open-source fonts are a rare thing and there are many niches (or rather big holes) you can fill.

  • 6
    I disagree strongly with this. Most open source project need massive amounts of graphic and UI design improvements. Whether or not the team is open to that is another issue. – DA01 Jan 27 '15 at 23:40
  • While the basics of the design for local applications are usually chosen by the toolkit, there are plenty of other things that need to be done: Logos, icons, and other pictures, layouts, sometimes typographic work (although that's usually handled at lower levels too). And that's not even considering the large number of open source web-based projects, which need good themes (colors, layout, etc.). – Brendan Long Jan 28 '15 at 3:27
  • @BrendanLong: „Logos, icons, and other pictures, layouts.“ – And that’s exactly the point: A lot of open-source projects have one logo, a handful of icons and no other pictures. As for the web-based projects: They would probably fall under my third exception point, if I understand correctly what you are referring to. – Wrzlprmft Jan 28 '15 at 8:33
  • 2
    @DA01: I wasn’t referring to examples for projects that are in dire need of visual improvements (and I do not dispute that many of those exist), but about projects that have much work to do. If a software’s only visual problem that is not related to the employed UI library are horrible icons, then all a graphic designer can do is to create new icons. That’s all fine and proper, but not neccessarily the kind of work that the OP really desires to do. – Wrzlprmft Jan 28 '15 at 15:08
  • 1
    actually there are lots of projects that should fire their graphics design and ux department. Like firefox. Then there is the gfx apps themselves, blender, gimp an inkscape same thing, they really need a better designer. problem being its hard to dominate look and feel in opensource. – joojaa Feb 2 '15 at 19:07
3

Already some excellent answers here, but one thing I'd like to add is help them make a better looking website. Most projects, if they have a website, usually have one that's really bare-bones. A good looking website will help promote the project thereby attracting not only more users but also more volunteers and possibly more donations.

Speaking of GitHub, they offer free hosting for static websites: https://pages.github.com/

3

Redesign the documentation. Project maintainers don’t want to do this, it has minimal dependencies on the project at large, and it makes everyone happier. (I did this for Racket.)

Additionally, it should go without saying that:

  1. you should be a user of the open-source software that you plan to contribute to (not necessarily expert, but if you don't know anything about the project, why should the maintainers take you seriously?)

  2. you should know what you're doing in terms of design (i.e., not causing headaches that others are going to have to fix).

In other words, an open-source project is not the place to build your skills or grind out pieces for your portfolio.

  • But then again, a lot of projects use some other software to automatically generate the documentation (which is generally good as it saves a lot of work). That does not mean that this documentation software isn’t in need of some graphic designing. – Wrzlprmft Jan 28 '15 at 8:51
  • A “contribution” on an open-source project means doing something that needs to be done, regardless of what bucket it’s in. Also, most documentation generators these days offer some degree of customizability in the typography and layout. – Matthew Butterick Jan 29 '15 at 21:01
2

Make friends with a developer. They actually like a lot of the same things designers do—like beer, brownies, video games, the Lord of the Rings trilogy, and ping pong. Once you do this, find a common interest, and build something together.

1

OpenSource games can really benifit from graphics designers. Please check out CrosixTH, OpenTTD, Colobot and many other wonderful projects.

Most of these still depends on artwork from the original games because of lack of enough dedicated graphics designers.

1

What's the place of a graphic designer in the Open Source world?

Considering the fundamentals1 of graphic design, an answer could be about: leadership, solving problems and communication.2 Those skills and that vision are valuable assets for project management, and art direction generally, as well as for learning, and contributing to, software development itself3(skills),4(git). From a real world problem solving perspective, graphic design and programming both solve problems, and are most certainly complementary, while often being overlaid within distinct solutions. Furthermore, even the designs of old were rendered through displays, although interaction with a rock face was minimal. Graphic design is a persistent language, the support and expression of which must be safeguarded and promoted.5 Consequently, their place could extend from the edge to the center of open source.


1. From wikipedia on graphic design:

Graphic design is the methodology of visual communication, and problem-solving through the use of type, space and image. The field is considered a subset of visual communication and communication design, but sometimes the term "graphic design" is used interchangeably with these due to overlapping skills involved. Graphic designers use various methods to create and combine words, symbols, and images to create a visual representation of ideas and messages. A graphic designer may use a combination of typography, visual arts and page layout techniques to produce a final result. Graphic design often refers to both the process (designing) by which the communication is created and the products (designs) which are generated.

See some typical reminder of the impact of graphic designs, old and new(1 2 3 4). Thereby also follows some acknowledged principles of the trade:

Some of the most commonly acknowledged principles of design are alignment, balance, contrast, proximity, repetition, and white space. These are all elements of graphic design "composition." Additionally, compositions are evaluated based on the use of (and the successes or failures of) harmony, emphasis, gestalt, pattern, movement, rhythm, proportion, and unity.

2. Since this is also generally communication (more specifically graphic communication) then R&D, experimenting, teaching, and writing about graphic design should be welcome. One cannot see the need for something they haven't been trained for; it is also up to the people who know to help explain graphic design to specific audiences outside the field. As designs do tell something and constitute solutions to different problems, a graphic designer should naturally, in the context you provide, research and seek out material challenges, and people, according to their interests and values. Bringing insight, and creating a breadth of solutions which may be useful to one or many other projects, free from commercial imperatives. So initiating projects, creating free designs, documenting, showcasing, and actively contributing to the distribution of such designs - as an expressive human method for problem solving, and for providing a unique outlook into our world, including that of the designer(s) or artist(s) - whether in solo or within a community, should also prove essential. Designs have a legacy of meanings and people want to know. Applying the graphic design methods in other fields through interdisciplinary endeavors may be mutually benefecial and cast further insight into graphic design itself.

3. For someone who is not a software engineer, tangential and continued improvement of development skills is arguably more important, and realistic, than "fullstack" level at a specific point in time. Most certainly basic knowledge of javascript is commonplace nowadays, at least as it applies to layout, composition and style. There are also high level "languages" which use and enable many of the building blocks of graphic design. Such an example is the p5.js javascript library, a reimplementation of the "painting by numbers" idea behind the Processing language. It's a recent web oriented contribution to modern visual arts which allows for easy layout and interactivity on the html canvas. It surely helps improve skills with javascript for the enthusiast. See also frameworks such as openFrameworks, OpenCV and others for world interaction, where graphic design expertise will be a blessing i.e. new media arts. There is also most likely certain value in surviving a Haskell tutorial (see 2013 J. Carmack Quakecon talk. Haskell is about clarity and sustanbility of vision. It makes an impression.).

4. As for version control systems, there is no reason git couldn't be used for other purposes than strict software development. And it has(see also sth. like this DIY). Furthermore git supports image differentiating, including for the PSD format. In this context, it can be leveraged even for contributing purely graphical projects. A design could be contributed which would possibly ripple for a very long time. Assuredly other platforms exist; sustainability and licensing should always be a scrutinized.

5. Please engage in, ask questions about and contribute to, licensing. For instance researching and assessing the licensing schemes available, the artistic or type related licenses, Open Content, the licensing used for a specific project etc. according to the different graphic designers' needs, and the values a graphic designer holds themself to. And clearly leveraging the chosen license(s) for personal contributions. A designer should know which license(s) they would choose to use should they contribute a free design, and why imho. This is a freedom which past designers didn't have. Finding a balance between acknowledgment and reuse, and so many copyright related issues are still open for discussion. Established professionals can also contribute small endowments for research in the field. Don't leave licensing solely in the hands of legal if you want it to reflect what graphic designers want!

  • 1
    Is there a particular reason most of your answer is in superscript? I think it would be better as regular text – JohnB May 1 '15 at 17:56
  • @JohnB Thank you. I thought it was too long; furthermore, for instance asking a pro to go through the wiki entry for GD and such wasn't very interesting. I found writing this was very challenging. If you think it would be better, I could use regular text. – user29318 May 1 '15 at 18:52
0

The Fedora Project — which, huge disclaimer, I work on — has an excellent and highly-functional design team which invites, encourages, and mentors new members. Take a look at the Join the Design Team wiki page.

Like many open source projects, the group uses the Freenode IRC network to communicate — becoming familiar with this will be beneficial for many projects, not just Fedora. And there's a mailing list, too — and not completely coincidentally, Fedora designers worked on HyperKitty, a new, modern UI for mailing lists.

So, one approach is to join the mailing list and introduce yourself, or come to an IRC-based meeting (normally Tuesdays at 19:00 UTC in the #fedora-design channel. Or, you can look at the open tickets waiting for love and dive in.

Again, I'm hugely biased, but — since a distribution like Fedora is by definition an integration point for many different projects, it can also be a way to branch out and connect with many different people in many different areas. Within the project itself, there's always work both big and small, fitting whatever your skill level and available time might be. And, you can have influence on something that's used and seen by many, many people.

0

Many Github project's would like the help of a graphics designer, just look for an active project that has a ugly icon. Design a first sketch and attach it to a new "issue" for the project.

0

You can follow Open Source Design on Twitter. They post new openings in open source community.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.