.. _contributing-howto-chapter:
====================
Contributing HOWTO
====================
.. contents:: Sections
:local:
.. _join-the-community-section:
Join the community!
===================
We're super glad you want to join our community!
See `the join page on the website `_ for
where we hang out.
There are a variety of ways you can help us and become part of the
team. We're not just looking for coders! We're also looking for
documentation writers, users, testers, evangelists, user-interface
designers, graphics designers, user-experience designers, system
administrators, friends, painters, bakers, candle-stick makers...
Here are some things you can do today:
**Hang out with us**
You should hang out with us! We like people like you!
At a bare minimum, join the `mailing list
`_ and say, "Hi!"
We also hang out on IRC in ``#mediagoblin`` on Freenode.net.
**File bugs**
Filing bugs is a critical part of any project. For more
information on filing bugs, see :ref:`filing-bugs`.
**Write/Fix some code**
If you are a coder and you're looking to code, check out the
:ref:`hacking-howto`. We even have tips on *becoming* a coder
and we're willing to help you!
**Send encouragement**
A nice word from you could send someone into a tizzy of
productive work. Ten nice words could complete a feature.
One hundred nice words could get us to the next milestone.
Send it to the `mailing list `_
or hop into ``#mediagoblin`` on Freenode.net and let us know.
**Spread the word**
The seductive call of Free Software services is a powerful
one, but many cannot hear it because it's drowned out by the
rush hour traffic honking of proprietary walled gardens and
faux free services. Yuck! Be the sweet chirrup of the bird
amidst the din! Tell others that there is a better way to
live!
FIXME - do we want to talk about ways to spread the word?
FIXME - how can people notify us that they're spreading the
word?
We're still working on project infrastructure. We hope to have the
bits in place for these additional things to do in the coming months:
**Become a user**
We're building GNU MediaGoblin for us and for you but really
you're one of us and I am you and we are we and GNU
MediaGoblin is the walrus.
Sign up for an account. Use the service. Relish in the
thought that this service comes with a heaping side of Freedom
and you can salt and pepper it to your liking.
**Help other users**
Have you spent time with GNU MediaGoblin? If so, your
experience and wisdom are invaluable and you're the best
person we can think of to help other users with their
questions.
**Run your own instance**
Are there things about our instance you want to change? Are
there things about other instances you wish were different?
Want to test upcoming changes? Want to create patches to
implement things you need? That's great---you can run your
own instance!
For more information on deploying your own instance, see
:ref:`deployment-howto`.
**Translate GNU MediaGoblin**
Knowing more than one language is an important skill. If you
are multi-lingual and are interested in translating GNU
MediaGoblin, see :ref:`translating`.
**Create a theme**
As people deploy their own GNU MediaGoblin instances, good
themes are a must have! For more information on theming, see
:ref:`theming-howto`.
Contributing thank you drawings / copyright assignment
======================================================
Copyright assignment with GNU MediaGoblin to the `FSF
`_ is highly encouraged but not mandatory. To
incentivize both this and people to make cool contributions to our
project, if you make useful contributions to GNU MediaGoblin *and* do
a copyright assignment to the Free Software Foundation, the founder of
the project, Chris Webber, will make a custom drawing of a goblin
dedicated specifically to you.
For why we're doing copyright assignment, see the
:ref:`design-decisions-chapter`.
.. _filing-bugs:
File bugs
=========
GNU MediaGoblin uses a bug tracker called `Redmine
`_.
The bug tracker is at ``_.
A good bug report has the following things in it:
1. A short summary that's 60 characters or less.
2. A description that describes the issue (bug, feature request, ...)
as well as the context.
* If it's a bug, can you reproduce it? Is the issue specific to a
browser, computer, image, ...?
* If it's a feature request, are there related links on the Internet
for more information? Would you be willing to help implement or
test the feature?
That's it! When someone looks into the issue and has questions,
they'll contact you!
If you don't hear from anyone in a couple of weeks, find someone on
IRC.
.. _translating:
Translate GNU MediaGoblin
=========================
Coming soon when we set up translation infrastructure.
Where to go when you get stuck
==============================
Go to `our Web site `_ where we list the
various places we hang out and how to get a hold of us.