aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/contributinghowto.rst
blob: 8eaff5e47f6ed4659d13ed14522aa14b797be1d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
.. _contributing-howto-chapter:

===================================
HOWTO Contribute to GNU MediaGoblin
===================================

.. contents:: Sections
   :local:

.. _join-the-community-section:

Join the community!
===================

We're **really** glad that you want to join the MediaGoblin community!

There are a variety of ways to help and support MediaGoblin and to
join the team.  If you want to code, great, if not, even better!
MediaGoblin interested contributors in many different roles: users,
system administrators, technical writers, testers, evangelists,
UI/UX and graphics designers, cheerleaders, and dreamers. 

This document provides an overview of different ways you can get
involved with MediaGoblin along with instructions for getting
started. There is some obvious overlap with `the "join" page on
mediagoblin.org <http://mediagoblin.org/pages/join.html>`_ at present.

Hang out with the MediaGoblin folk
----------------------------------

MediaGoblin has a `discussion listserv <http://lists.mediagoblin.org/listinfo/devel>`_, 
and an IRC (``#mediagoblin``) channel on `freenode.net <http://freenode.com>`_.

Don't be afraid to drop by and say "Hi!" And, if you're looking for
something to do, just ask: there's always work to be done. 

File Bugs / Triage Bugs
-----------------------

Issue reports are critical for all projects. Identified bugs give
developers a basis for beginning work, and providing an idea of what
features and issues are most important to users and the overall
usability of the software. If you identify errors, flaws, unexpected
behaviors, or deficits that impede use, file a bug. 

See the section on `filing bugs <#filing-bugs>`_ for more information on how to file the best
and most useful bug reports. 

If you want to contribute to MediaGoblin and don't know where to
start, look at the `bug database <http://bugs.foocorp.net/projects/mediagoblin/issues>`_
as a starting point. 

See the section on `bug triage <#triage-bugs>`_ for suggestions on how
to most effectively triage and approach the issue queue.

Write/Fix Code
--------------

If you are a coder and you would like to write code, the `repository <https://gitorious.org/mediagoblin>`_ 
is hosted on `gitorious <https://gitorious.org/>`_. Clone or fork the
repository and start poking around. Become familiar with this `manual </>`_ 
for an overview of how the software works and is used. Consider the
`contributor wiki <http://wiki.mediagoblin.org/>`_ for more
information about the project, our preferred methods, and guides for
developing MediaGoblin. We even have tips on *becoming* a coder and
we're willing to help!

Send Encouragement, Spread the Word
-----------------------------------

Sometimes, a nice word, simple encouragement, and interest in the work
we're doing is enough to inspire a tizzy of productive work. Just a
bit more interest and encouragement can even make the difference
between a complete feature and limited functionality; between a
completed milestone and lost momentum. 

Similarly, MediaGoblin, and the movement for free network services, is
always in need of encouragement. Use free network services, understand
the `principals <http://autonomo.us/2008/07/franklin-street-statement/>`_ 
behind the movement, be able to articulate the benefits of free
network services and the problems with psudo-free applications that
don't respect the users' freedom. 

Write a blog post, post a status update, drop by the `listserv <http://mediagoblin.org/join/>`_
or join ``#mediagoblin`` on freenode.net and let us know.

Participate in MediaGoblin
==========================

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 Others
-----------

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 MediaGoblin 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
the `Deployment HOWTO </deploymenthowto.html>`_ 

.. _translating:

Translate MediaGoblin
---------------------

If you know English and another language and feel comfortable
translating elements of the interface or even the documentation,
we'd love to have help translating the software and resources. 

Create a Theme
--------------

MedaGoblin development is premised on the idea that the entire
interface for the platform be completely theme-able. If you have a
design or theming background, consider developing themes for
MediaGoblin. New themes help test the theming system, provide
attractive and appealing interfaces for prospective users. If you want
to start a new theme but don't know where to start, touch base with
the development community on the list or in the IRC channel for more
information.

.. _filing-bugs:

File Bugs
=========

MediaGoblin uses a bug tracker called `Redmine <http://www.redmine.org>`_.

Our instance is located at `<http://bugs.foocorp.net/projects/mediagoblin>`_.

The most useful bug reports have the following components: 

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. Consider: 

   * If you think you've found a bug, can you reproduce it in a
     controlled environment?  Is the issue specific to a browser,
     computer, image, media type, or other dimension? All data helps. 

   * If you're submitting 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! 

The better the issue report, the easier it is to address the bug, and
the more likely that the developers will be able to resolve the
issue. If someone has questions about the bug report, they may reach
out to the reporter directly. 

If you get a response after a couple of weeks, find someone on IRC.

.. _triage-bugs:

Triage Bugs
===========

The triage process involves reviewing bugs, removing duplicates,
validating that the issues described are reproducible, ensuring that
the exact behavior is properly documented, diagnosing the cause of
each issue, and working with developers to ensure that critical bugs
get addressed. In many cases, developers do this kind of work as a
matter of course, but one need not be able to code in order to help
working with bugs.

To triage bugs, go to the `bug tracker <http://bugs.foocorp.net/projects/mediagoblin>`_ 
and begin reviewing the open issues. If you are able, attempt to: 

- ensure that one or two people in addition to the initial reporter
  have been able to reproduce the issue. 

- document the issue more clearly. If you had any trouble reproducing
  the issue, provide any elucidating information that you can to help
  others solve the problem more effectively.
  
- find a way to resolve the problem or provide a workaround.

For help, instructions, and suggestions be in touch with the
development community on the list or in the IRC channel for more
information. With many eyes, all bugs are shallow. 

How to Get Help with MediaGoblin
================================

The usual channels, the IRC channel, the listserv, the bug tracker,
are all great ways to be in touch with us. Check the `web site <http://mediagoblin.org/pages/join.html>`_
for more specific contact information.