RE: developer.gnome.org needs some love



> > We need more people who help us with content!
> 

While speaking about content, I wrote this small FAQ last week. It still
needs some work (some proof-reading/grammar correction by fluent english
speaking people, some parts probably need to be reworked/corrected, and
it needs to be converted to HTML, ...) but I feel it can already be
quite useful to guide new gnome developers.

Any comment about that document are welcome,

Christophe
* Which language is GNOME developped in ?

The core of GNOME is coded in C, but there are binding for C++ and Python for 
example. If you want to contribute to core gnome libs/apps, you'll have to use 
C though ;)


* I know C, I want to help

GNOME heavily uses glib and gtk+, so if you are not familiar with those 
libraries yet, you'll want to learn a bit about them first. gtk.org has a 
tutorial on gtk+ (and a bit on glib), gtk-fr.org has a different tutorial for
French-reading people. For further information on these libs, there are good 
API docs on http://www.gtk.org/api.
Don't worry if you don't read the whole tutorial at once, or if there are 
advanced topics you don't understand at first, you can try to hack on GNOME, 
and come back later to the tutorials if there are things you don't understand.


* I know C, glib and gtk+, where do I start now ?

If you feel you are up to speed with C, glib and gtk+, you can know start some 
real coding action. If you don't know where to start, here are a few 
suggestions:
  - fix some annoying bugs you found in your favourite GNOME app
  - add some missing features in your favourite app
  - look for some bugs on bugzilla.gnome.org you think you can fix

If you are planning to add a feature and are a novice programmer, try to choose
a not too ambitious one ;) If you plan to implement a big feature, you should 
first talk about it on the appropriate mailing list to be sure the maintainers 
of the module won't reject it once you have spent lots of time on it.


* Where do I get the source ?

You can get the source for released modules (both stable and development 
versions) from ftp.gnome.org, but if you want to hack on a module, you'd better
grab the CVS version, see http://developer.gnome.org/tools/cvs.html for more 
information.
If you want to build GNOME from CVS, use the build script 'jhbuild', this will
make things much easier. You can get it from GNOME CVS.


* What is bugzilla ?

bugzilla is a bug tracking system developed by the mozilla folks, and used for 
GNOME development. It is used to store bugs feature requests, ... and also to 
store patches to fix these bugs or missing features.


* I made my first patch to a GNOME app or library, what do I do now ?

The first thing to do is to attach it to a bug in bugzilla. If there isn't 
already an appropriate bug, just create a new one, describe the problem you 
solved, and attach your patch there. Don't forget to add the PATCH keyword to 
this patch.
You also need to check the HACKING file in the base directory of your source 
tree (if it exists at all), you may also need to mention your patch to a 
mailing list (Nautilus patches should be mentioned on nautilus-list for 
example). In general, you shouldn't mail the module maintainers directly, 
unless it's explicitly stated in the HACKING file.


* I attached my patch in bugzilla one month ago and didn't get any feedback, 
that's not really motivating :(

First, check the various README, HACKING, ... files in your source directory 
in case you missed instructions about what to do with patches. You must also 
take into account that most GNOME maintainers generally have a lot of work, 
and sometimes maintain several modules, so unfortunately they may not have 
enough time to look at your bug report yet :( In that case, you can try to add 
a comment to your bug once in a while to get it to try to get the maintainer 
attention. You can also send a mail to the project mailing list if there is 
one, or come by on irc  on the app channel to try to find out what's going on.


* Where do I get in touch with other people involved in GNOME development/
  where can I follow what is happening in GNOME world

The mailing list where most of the discussions about future GNOME development 
occurs is desktop-devel gnome org
There are also some mailing lists dedicated to specific apps or libraries 
development which you may want to subscribe to.
You can get in touch with some other people developing apps for GNOME on the 
forums on gnomedesktop.org.
Finally, many gnome developers are also present on IRC on the server 
irc.gnome.org.


* This FAQ is incomplete, it doesn't answer to my question! What do I do now ?

If this FAQ is missing a really important question, don't hesitate to send me a
mail to tell me about it (teuf at users.sourceforge.net). If you need help 
quickly, you should be able to find someone able to answer your question on IRC
or on the gnome-love mailing list.


* I'd like to help, but I can't find any docs about GNOME

First, keep in mind that any gtk doc will be really helpful for GNOME 
development, and that gtk.org has both a tutorial and API docs. Then, 
developer.gnome.org has quite a lot of docs and API docs which are really
helpful. Be careful though, some of them are outdated :( Finally, if you 
really can't find doc about a specific part of GNOME, you still have the source
code... The header files are generally helpful to figure out an API, and 
there are often some sample code which come with the source code. If you feel
sample code is really missing for a library, feel free to write additionnal
one and to send it ;)


* Why isn't there doc about xxx, why is feature xxx not implemented yet, 
  why is bug xxx not fixed yet, why is this part of the web site not up to 
  date

The first thing to do is to make sure that this problem has already been 
reported to the appropriate person (generally, you just need to check if it's 
already in bugzilla). If nobody knows about a problem, it's not really likely
to be fixed ;)
Another thing to keep in mind is that GNOME is always lacking helping hands. 
So a bug that annoys you, or a feature you really need is probably more likely
to be done if you take care of it ;)
A last reason for a missing feature may be that the maintainer decided that
this feature didn't fit really well in his module. There's no need to flame
him, a maintainer generally spends lots of time on his module, and give
you all his work for free, you should be grateful instead of aggressing him.

Attachment: signature.asc
Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]