# Contributing

How can I contribute to &kde;?

&kde; is a free software project that lives from voluntary contributions. Everybody is encouraged to contribute to &kde;. Not only programmers are welcome. There are many ways in which you can help to improve &kde;:

- Test the software.

- Send in bug reports. For more information on this, see How do I submit a bug report?.

- Write documentation or help files. You can get some information by visiting the &kde; Editorial Team Home Page.

- Translate programs, documentation, and help files. For more information on this, you should visit The &kde; Translators' and Documenters' Web Site.

- Draw nice icons or compose sound effects. You can visit the &kde; artists page to find out more.

- Write articles and books about &kde;. If you want to help spread the word about &kde;, simply send an email to kde-pr@kde.org. This will get you in touch with the &kde; public relations volunteers.

- Program new &kde; applications. Please refer to programming for more information.

- Of course, sponsors are also welcome. :-)

There are several places to look for more information if you want to get involved in the development. The first step is to subscribe to some of the mailing lists. You will soon see something that can be improved or added.

How do I submit a bug report?

There is a bug tracking system available at http://bugs.kde.org. The system features a wizard to submit new bug reports and a list of all known bugs.

The easiest way to submit a bug is to select Help Report Bug... from the menu bar of the application with the bug. This will open a small dialogue box with a link to the bug tracking system. Please make sure to follow the instructions of the bug reporting wizard.

I want to program for &kde;. What should I do first?

Everybody is encouraged to develop software for &kde;. What you should do first depends strongly on your experience, ⪚ whether you have already learned C++ or have experience with the &Qt; toolkit and so on.

To get into &kde; programming, you will need some basic tools: automake, autoconf, and egcs. You should look to http://developer.kde.org/ for more tips.

Another excellent resource for learning &kde; programming is the &Qt; online tutorials. These are installed along with &Qt;. To view them, open `$`QTDIR`/doc/html/index.html` in &konqueror; and bookmark it. The tutorials can be found under "Using Qt". The source code for each lesson can be found in the `$`QTDIR`/tutorial` directory.

There is, however, one thing that everybody interested in programming for &kde; should do: subscribe to the developers mailing list. To subscribe, you have to send an email to kde-devel-request@kde.org with the subject `subscribe `your_email_address``.

Please read How to subscribe/unsubscribe to these lists carefully. Everything said there applies to the development list as well.

How do I get access to the CVS?

The &kde; project uses CVS to develop the core parts of the software. Usually, when you have changed one of the parts (⪚ fixed a bug), and you want to commit this change, the best way is to create a patch against a current snapshot and send this patch to the developer/maintainer of the respective program.

If you are doing this more or less regularly, you can ask Stephan Kulow, coolo@kde.org for direct access to the CVS server. But be aware that more users will slow down CVS access for all developers, so we want to keep the number of people with direct CVS access reasonably small. But feel free to ask!

I am just curious. Can I have read-only access to the CVS?

Yes. It is possible to get read-only access to the CVS repository with cvsup or cvs utility. You can find more information about how to set up cvsup for the &kde; repository from How to use cvsup to get &kde;.

In addition, anonymous CVS service is also available. To find out more about how to set up and use anonymous CVS, please see here.

Are there any cvs mirror sites for &kde;?

Yes. The main &kde; server is normally very busy. Please take a look at http://developer.kde.org/source/cvsupmirrors.html and http://developer.kde.org/source/anoncvs.html for the list of available mirrors.

Once you have selected a new cvsup server, simply replace

    *default host=cvs.kde.org

with

    *default host=cvsup.your.new.host

in your cvsup script.

The instructions to change the anoncvs server can be found on http://developer.kde.org/source/anoncvs.html, too.

How do I go about translating &kde; programs into my native language?

Look at the The &kde; Translators' and Documenters' Web Site to see whether your program is already translated (most are). Otherwise you will find information there on how to do it yourself.