Development/FAQs/General FAQ/nl: Difference between revisions

From KDE TechBase
(Created page with "== Wat betekent kdebindings? ==")
(Updating to match new version of source page)
 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Proposed_deletion|Content is now at https://community.kde.org/KDE/FAQs/General_FAQ and this page may no longer be up-to-date. Translations are still available for this page, however.}}
<languages />
<languages />


== Ik wil beginnen aan een nieuw programma. Wat raad je aan? ==
== I want to start this new application. What do you advise? ==


We zijn het er allemaal over eens dat er heel veel KDE-programma's zijn die geschreven moeten worden. Maar er zijn ook veel bestaande KDE-programma's die je hulp nodig hebben.
We all agree that there are plenty of KDE applications that need to be written. But there are also a lot of existing kde applications that need your help.


Om te zien waar hulp nodig is, kun je [http://www.kde.org/jobs/ deze pagina] bekijken.
To see the areas where help is needed, check [http://www.kde.org/jobs/ this page].


Voordat je een nieuwe applicatie start, is het altijd een goed idee om te kijken op [http://www.kde-apps.org/ KDE-Apps.org] voor bestaande programma's, en op de [https://mail.kde.org/mailman/listinfo/kde-devel kde-devel]-maillijst te vragen of er nog niemand aan een soortgelijk project is begonnen.
Before starting a new application, it's always a good idea to check [http://www.kde-apps.org/ KDE-Apps.org] and other open source software hosting services like [https://github.com/ GitHub], [https://code.google.com Google Code], and [http://sourceforge.net/ SourceForge] for existing applications and to ask on the  [https://mail.kde.org/mailman/listinfo/kde-devel kde-devel] mailing-list whether someone is already working on a similar project.


== Ik ben een ontwikkelaar; hoe kan ik bijdragen aan KDE-software? ==
== I am a developer, how can I contribute to KDE software? ==


Alhoewel Calligra en KDevelop zeer geliefd zijn, hebben ze maar weinig ontwikkelaars; je kunt daar eens kijken. Je hoeft geen ontwikkelaar van de KDE-werkruimte of het KDE-platform te zijn om mee te helpen. KDE-software is erg modulair, dus je kunt makkelijk één gebied verbeteren zonder te weten hoe de andere werken.
Calligra and KDevelop, despite being very praised, have very few developers, so you might check there. There is no need to be a developer of the KDE workspaces or KDE platform libraries to help. The whole range of KDE software is very modular so you can perfectly improve one area without knowing how others work.


Je kunt ook vragen op [https://mail.kde.org/mailman/listinfo/kde-devel kde-devel] of iemand je hulp nodig heeft.
You can also ask on  [https://mail.kde.org/mailman/listinfo/kde-devel kde-devel] if someone needs help on an application.
Gebruik de nieuwste versie van je favoriete KDE-programma, en kijk waar er dingen nog ontbreken. Een themagenerator? Een Konsole-schemabewerker? Een spel dat verbeterd moet worden? Er is altijd wel iets wat beter kan. Implementeer dat!
Use the latest version of your favourite KDE software and spot things that are needed. A theme generator? A konsole schema editor? Improve a game? There is always a small feature missing. Go and implement it!


Ben je bekend met een specifiek vakgebied? Kijk dan of er een gerelateerde applicatie is die je hulp kan gebruiken. Of schrijf er zelf een. KDE verwelkomt vooral wat meer applicaties die niet zijn gericht op experts.
Are you familiar or attracted with a specific field? See if there is a related application that could use your help. Or write one. KDE especially welcomes more non-geek oriented applications.


== Ik ben geen ontwikkelaar; hoe kan ik meehelpen? ==
== I am not a developer, how can I help? ==


Er zijn heel veel taken waarvoor geen ontwikkel-vaardigheden nodig zijn. Schrijf recenties van applicaties om publiciteit voor KDE te genereren (zie de maillijst [https://mail.kde.org/mailman/listinfo/kde-promo kde-promo]), help het documentatieteam (zie [http://l10n.kde.org/docs/ i18n.kde.org/doc]), help de vertalers (zie [http://l10n.kde.org/ i18n.kde.org]), of help met het sorteren van de binnenkomende bug-rapporten (zie [https://bugs.kde.org/ bugs.kde.org]).  
There are plenty of tasks that don't require development skills. Write reviews of applications for the promoting of KDE (see the [https://mail.kde.org/mailman/listinfo/kde-promo kde-promo] mailing-list), help the documentation team (see [http://l10n.kde.org/docs/ i18n.kde.org/doc]), help the translations (see [http://l10n.kde.org/ i18n.kde.org]), help to filter the incoming bugs (see [https://bugs.kde.org/ bugs.kde.org]).  


== Waar kan ik afbeeldingen van het draakje Konqi vinden? ==
== Where can I find images of Konqi the dragon? ==


Een SDK voor Konqi is te vinden op [ftp://ftp.kde.org/pub/kde/devel/konqi_sdk.tar.bz2 ftp.kde.org/pub/kde/devel/konqi_sdk.tar.bz2]<br />
The Konqi for some people SDK is at [ftp://ftp.kde.org/pub/kde/devel/konqi_sdk.tar.bz2 ftp.kde.org/pub/kde/devel/konqi_sdk.tar.bz2]<br />
Deze stond eerst op artist.kde.org, maar deze site werd niet langer bijgehouden.
It was posted to artist.kde.org before that site ceased to be updated.


Meer afbeeldingen zijn te vinden op [http://kde.org/stuff/clipart.php KDE-plaatjes].
Further images are on [http://kde.org/stuff/clipart.php KDE merchandise]. Also you can find some  unofficial Konqi images and models from [http://forum.kde.org/viewforum.php?f=254 Create Konqi with Krita Contest] and [http://sourceforge.net/projects/supertuxkart/ SuperTuxKart] game.


== Wat is het vereiste niveau om bij te dragen aan KDE? Wat moet ik leren? Wat moet ik lezen? ==
== What is the level required to contribute to KDE? What should I learn? What should I read? ==


You need to know C++. Read the [http://qt.nokia.com/learning Qt tutorials] and browse the Qt docs to get familiar with what's available with Qt. Then read the KDE tutorials and browse architecture and documentation. You can also read the KDE Book, it can not harm. But you don't have to be familiar with the whole KDE architecture to become a kde developer. Using kde's technologies is quite easy, so concentrate on what you really need, you can learn the other bits later on.  
You need to know C++. Read the [http://qt-project.org/doc/qt-4.8/tutorials.html Qt tutorials] and browse the Qt docs to get familiar with what's available with Qt. Then read the [http://techbase.kde.org/Development/Tutorials KDE tutorials] and browse architecture and documentation. You can also read the [http://flossmanuals.net/kde-guide/ KDE Book], it can not harm. But you don't have to be familiar with the whole KDE architecture to become a KDE developer. Using KDE's technologies is quite easy, so concentrate on what you really need, you can learn the other bits later on.  
[http://techbase.kde.org KDE TechBase] and [http://doc.qt.nokia.com/ doc.qt.nokia.com] (also in your {{path|$QTDIR/doc/html}}) are invaluable resources, take advantage of them.
[http://techbase.kde.org KDE TechBase] and [http://doc.qt.digia.com/ doc.qt.digia.com] (also in your {{path|$QTDIR/doc/html}}) are invaluable resources, take advantage of them.
Then, browse the source, look for the examples directories, see how the other did code their applications. Reading and writing code is the best way to learn.
Then, browse the source, look for the examples directories, see how the other did code their applications. Reading and writing code is the best way to learn.


== How do I get KDE software from the KDE git or SVN repositories? ==
== How do I get KDE software from the KDE git or SVN repositories? ==


See the "Building and Running KDE Software From Source" section on the [[Special:myLanguage/Getting_Started|Getting_Started]] page.
See the [[Special:myLanguage/Getting_Started#Building_and_Running_KDE_Software_From_Source|Building and Running KDE Software From Source]] section on the [[Special:myLanguage/Getting_Started|Getting Started]] page.


== Can I access KDE source code online? ==
== Can I access KDE source code online? ==


Yes
Yes. There are many ways to do this:
* Browse http://websvn.kde.org/ and https://projects.kde.org/
* Browse [http://websvn.kde.org/ websvn.kde.org], and [http://quickgit.kde.org/ quickgit.kde.org].
* Search the source code at http://lxr.kde.org/search
* Search the source code at [http://lxr.kde.org/search lxr.kde.org/search]
* Browse API docs generated from the source code at http://api.kde.org/
* Browse API docs generated from the source code at [http://api.kde.org/ api.kde.org]
* Browse the source code on http://code.woboq.org/kde as in KDevelop


== Wat moet ik in mijn .subversion/config zetten? ==
== What should I put in my .subversion/config? ==


<syntaxhighlight lang="text">[miscellany]
You need to add the ignore list to the [miscellany] group in your ~/.subversion/config:
<syntaxhighlight lang="bash">
[miscellany]
global-ignores = *.moc *.moc.cc *.moc.cpp config.log config.status \
global-ignores = *.moc *.moc.cc *.moc.cpp config.log config.status \
config.cache *.gmo .deps .libs SunWS_cache *.lo *.la *.rpo *.la.closure \
config.cache *.gmo .deps .libs SunWS_cache *.lo *.la *.rpo *.la.closure \
Line 55: Line 60:
*_meta_unload.C *_meta_unload.cxx index.cache.bz2 .memdump Makefile.rules.in \
*_meta_unload.C *_meta_unload.cxx index.cache.bz2 .memdump Makefile.rules.in \
Makefile.calls.in Makefile.rules Makefile.calls autom4te.cache *.kidl \
Makefile.calls.in Makefile.rules Makefile.calls autom4te.cache *.kidl \
*.o *.lo *.la #*# .*.rej *.rej *.pyc</syntaxhighlight>
*.o *.lo *.la #*# .*.rej *.rej *.pyc
En verder, om svn diff witruimte te laten negeren en functienamen te laten weergeven:
</syntaxhighlight>
<syntaxhighlight lang="text">[helpers]
 
diff-cmd = /usr/local/bin/_svndiff</syntaxhighlight>
And to make svn diff ignore whitespace, and print function names:
 
<syntaxhighlight lang="bash">
[helpers]
diff-cmd = /usr/local/bin/_svndiff
</syntaxhighlight>
 
with the following in {{path|/usr/local/bin/_svndiff}}:


met het volgende in {{path|/usr/local/bin/_svndiff}}:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="text">#!/bin/sh
#!/bin/sh
exec /usr/bin/diff -b -u -p "$@"</syntaxhighlight>
exec /usr/bin/diff -b -u -p "$@"
</syntaxhighlight>


Vergeet niet om {{path|/usr/local/bin/_svndiff}} uitvoerbaar te maken.
Don't forget to make {{path|/usr/local/bin/_svndiff}} executable.


== Ik wil mijn applicatie graag in KDE hebben... ==
== I want to put my app in KDE ==


Daar zijn drie vereisten voor:
There are three requirements:  
* je programma moet compileren met de recentste KDE-versie (git master of SVN trunk);
* Your app must compile with the latest version of KDE (git master or SVN trunk).
* je programma moet stabiel zijn;
* Your app must be stable.
* je programma moet onderhouden worden. Je krijgt waarschijnlijk een berg aan bug-rapporten en wensen. Mensen verwachten dat je de bugs oplost en de (nuttige) wensen inbouwt.
* Your app must be maintained. You will probably get a good deal of bug reports and wishes. People expect you to fix the bugs and implement the wishes that make sense.
Zie ook de volgende vraag.
See also the next question.


== Kun je beter binnen of buiten KDE ontwikkelen? ==
== Is it better to develop inside or outside KDE? ==


Eén van de hoofd-ontwikkelaars, Waldo Bastian, legt uit in een gecopyrighte mail (vertaald uit het Engels):
As core developer Waldo Bastian explains in a copyrighted mail:  
<blockquote>
<blockquote>
Onderdeel uitmaken van KDE betekent dat je zult moeten samenwerken met anderen. Zulke samenwerking brengt voordelen, maar ook verantwoordelijkheden met zich mee.
Being part of KDE means that you have to work together with others. Such cooperation brings along advantages but it also brings along responsibilities.
<br /><br />


:Enkele van deze voordelen zijn: je code belandt in alle distributies, mensen gaan misschien jouw bugs oplossen, je krijgt vanzelf vertalingen en documentatie, en je krijgt ladingen aan bug-rapporten.
Some of those advantages are: your code ends up on all distro's, people might fix your bugs, you get free translations and documentation, you get tons of bugreports.
<br /><br />


Aan de andere kant zijn er nadelen en verantwoordelijkheden: je zult moeten communiceren met andere ontwikkelaars over je werk, andere mensen kunnen jouw code aanpassen, je moet *freezes* voor releases respecteren, je krijgt ladingen aan bug-rapporten en mensen verwachten ook nog eens dat je die oplost (wat zijn die aan het roken?), en mensen verwachten dat je je code onderhoudt.
On the other side there are disadvantages and responsibilities: you will have to communicate with other developers about your work, other people might make changes to your code, you will have to respect release freezes, you get tons of bugreports and people actually expect that you fix them as well (what are they smoking?), people expect you to maintain your code.
<br /><br />


Je kunt niet kiezen voor de voordelen, en de verantwoordelijkheden die erbij horen negeren; het is een compleet pakket; het is beide of niets.
You can't chose for the advantages and ignore the responsibilities that come with it, it's a complete package, it's both or nothing.
<br /><br />


In het algemeen zou het de auteur van een stuk software moeten zijn die kiest om zijn applicatie in KDE's repository's op te nemen. Meestal zetten we geen software in KDE tenzij de auteur dat graag wil. Aan de andere kant, als de auteur graag ergens anders werkt aan zijn applicatie, dan heeft hij dat recht. Tenzij er een splitsing is in de groep mensen die werkt aan de applicatie, heeft het geen zin om de ontwikkeling van een applicatie te forken om die reden.
In general it should be the author of a piece of software that chooses to put his application in KDE's repositories. We usually don't put software in KDE's repositories unless the author wishes to do so. The other way around, if the author prefers to work on his application elsewhere then that's his right as well. Unless there is a split in the actual group of people working on the application it makes no sense to fork the development of an application because of that.
<br /><br />


'''MAAR'''... door je code onder een open-source-licentie te plaatsen, en het in een KDE-repository te plaatsen, geef je de hele wereld, en daarmee ook KDE in het bijzonder, het niet meer in te trekken recht om je code te gebruiken. En KDE zal dat recht, als dat nodig is, ook gebruiken om de belangen van KDE te beschermen, zelfs als dat dan tegen de wensen van de auteur ingaat.
'''BUT'''... by putting your code under and open source license and putting it in a KDE repository you give the world at large, as well as KDE in particular, the irrevocable right to use your code. And KDE will use that right at its discretion to protect the interests of KDE, even if that goes against the wishes of the author at that point in time.
</blockquote>
</blockquote>


Dat is belangrijk om te weten, maar wees niet bang. Meestal werkt het allemaal heel goed. In 5 jaar is het maar één keer voorgekomen dat werk van een ontwikkelaar in KDE gebleven is, terwijl deze ontwikkelaar het wilde verwijderen.
It is important to know that but don't be afraid. Usually, things work very well. In 5 years, it has only happened once that a developer had his work put kept in KDE while he wanted to remove it.


== Hoe krijg ik schrijfrechten in de KDE-repository's? ==
== How do I get write access to KDE repositories? ==


Zie het volledige artikel op [[Special:myLanguage/Contribute/Get_a_Contributor_Account|Bijdragen > Een KDE-contributor-account krijgen]].
See full article at [[Special:myLanguage/Contribute/Get_a_Contributor_Account|Get a KDE Contributor Account]].


Go to [[http://identity.kde.org KDE Identity]] , fill out the form and describe why you need write access. Make sure to specify your full name and e-mail address.
Go to [http://identity.kde.org KDE Identity], fill out the form and describe why you need write access. Make sure to specify your full name and e-mail address.


Please also include the name of your bugs.kde.org account, if non-existent please create one so that it can be given usual developer rights. Closing bugs.kde.org reports with keywords in commit comments only works if the email address of your KDE Identity and bugs.kde.org accounts match. You can change your bugs.kde.org address in the Bugzilla user settings.
Please also include the name of your [https://bugs.kde.org/ bugs.kde.org] account, if non-existent please create one so that it can be given usual developer rights. Closing bugs.kde.org reports with keywords in commit comments only works if the email address of your KDE Identity and bugs.kde.org accounts match. You can change your bugs.kde.org address in the Bugzilla user settings.


Git requires use of an ssh key, and new accounts for SVN must also choose the svn+ssh protocol. Send a public ssh key (e.g. {{path|~/.ssh/id_dsa.pub}})
Git requires use of an ssh key, and new accounts for SVN must also choose the svn+ssh protocol. Send a public ssh key (e.g. {{path|~/.ssh/id_dsa.pub}})
Line 107: Line 125:
If you are contributing to an application that is not yours, it is a good idea to first submitting your coding as patches to the author and let him apply them. If the author is not maintaining his application, you might become the new maintainer...
If you are contributing to an application that is not yours, it is a good idea to first submitting your coding as patches to the author and let him apply them. If the author is not maintaining his application, you might become the new maintainer...


Although there are few restrictions on repository commit rights, we expect you not to disrupt other developers' code without their consent. You must also respect the feature freezes of the release schedule (published on developer.kde.org)
Although there are few restrictions on repository commit rights, we expect you not to disrupt other developers' code without their consent. You must also respect the feature freezes of the release schedule (published on [[Schedules]] page)


A detailed list of rules you should follow when committing to KDE repositories are listed in the [[Special:myLanguage/Policies/SVN_Commit_Policy|KDE  Commit Policy]].
A detailed list of rules you should follow when committing to KDE repositories are listed in the [[Special:myLanguage/Policies/SVN_Commit_Policy|KDE  Commit Policy]].


== Mijn programma is niet stabiel, maar ik wil het toch in KDE hebben... ==
== My app is not stable but I would like to have it in KDE ==


As a first step, we can put it in playground, which is essentially "kde-alpha". Develop it there and when it is ready, request that your app to be moved to the appropriate KDE package or the extragear module.
As a first step, we can put it in playground, which is essentially "kde-alpha". Develop it there and when it is ready, request that your app to be moved to the appropriate KDE package or the extragear module.


== Ik wil mijn SVN-geschiedenis niet verliezen... ==
== I don't want to lose my SVN history. ==


This is no longer possible with Subversion. Maybe in the future, if the server is upgraded and allows that. Note that for git this is not an issue.
This is no longer possible with Subversion. Maybe in the future, if the server is upgraded and allows that. Note that for git this is not an issue.


== Wat betekent kdebindings? ==
== What is kdebindings? ==


It contains Qt bindings for Ruby, PHP, C# to use Qt classes with those langages, KDE bindings for  Ruby, C#, python to use KDE classes with those langages, and XParts to embed non-KDE apps as a KPart. Check the [[Special:myLanguage/Development/Languages|binding page]] of TechBase.  
It contains Qt bindings for Ruby, PHP, C# to use Qt classes with those langages, KDE bindings for  Ruby, C#, python to use KDE classes with those langages, and XParts to embed non-KDE apps as a KPart. Check the [[Special:myLanguage/Development/Languages|binding page]] of TechBase.  
Line 129: Line 147:
==Can I have a stable and an unstable KDE on the same computer?==
==Can I have a stable and an unstable KDE on the same computer?==


Yes, check the Building 2 Versions documentation.  
Yes, check Building KDE Software from git.kde.org video series:
* [http://www.youtube.com/watch?v=cqnNVmJocR4 Building KDE Software from git.kde.org Part 1]
* [http://www.youtube.com/watch?v=OBJjk5q__Cc Building KDE Software from git.kde.org Part 2]
* [http://www.youtube.com/watch?v=SgwEnLeqsg8 Building KDE Software from git.kde.org Part 3]


== How do I know which version of Qt/KDE I am using? ==
== How do I know which version of Qt/KDE I am using? ==


<tt>kde-config</tt> and all kde programs accept <tt>--version</tt> as argument.
<tt>kde-config</tt> and all KDE programs accept <tt>--version</tt> as argument.


==Qt-copy or Qt from qt.nokia.com : if one were doing a clean build of trunk, which would be preferable?==
==Qt-copy or Qt from qt.digia.com: if one were doing a clean build of trunk, which would be preferable?==


You can use either. They are binary compatible (forward and backward). There can be, however, a few bugfixes in qt-copy over the most recent Qt release. Especially if building from qt-copy, pay attention to the apply-patches script.
You can use either. They are binary compatible (forward and backward). There can be, however, a few bugfixes in qt-copy over the most recent Qt release. Especially if building from qt-copy, pay attention to the apply-patches script.

Latest revision as of 10:10, 17 May 2019

 
Proposed for Deletion
This page has been proposed for deletion for the following reason:

Content is now at https://community.kde.org/KDE/FAQs/General_FAQ and this page may no longer be up-to-date. Translations are still available for this page, however.

I want to start this new application. What do you advise?

We all agree that there are plenty of KDE applications that need to be written. But there are also a lot of existing kde applications that need your help.

To see the areas where help is needed, check this page.

Before starting a new application, it's always a good idea to check KDE-Apps.org and other open source software hosting services like GitHub, Google Code, and SourceForge for existing applications and to ask on the kde-devel mailing-list whether someone is already working on a similar project.

I am a developer, how can I contribute to KDE software?

Calligra and KDevelop, despite being very praised, have very few developers, so you might check there. There is no need to be a developer of the KDE workspaces or KDE platform libraries to help. The whole range of KDE software is very modular so you can perfectly improve one area without knowing how others work.

You can also ask on kde-devel if someone needs help on an application. Use the latest version of your favourite KDE software and spot things that are needed. A theme generator? A konsole schema editor? Improve a game? There is always a small feature missing. Go and implement it!

Are you familiar or attracted with a specific field? See if there is a related application that could use your help. Or write one. KDE especially welcomes more non-geek oriented applications.

I am not a developer, how can I help?

There are plenty of tasks that don't require development skills. Write reviews of applications for the promoting of KDE (see the kde-promo mailing-list), help the documentation team (see i18n.kde.org/doc), help the translations (see i18n.kde.org), help to filter the incoming bugs (see bugs.kde.org).

Where can I find images of Konqi the dragon?

The Konqi for some people SDK is at ftp.kde.org/pub/kde/devel/konqi_sdk.tar.bz2
It was posted to artist.kde.org before that site ceased to be updated.

Further images are on KDE merchandise. Also you can find some unofficial Konqi images and models from Create Konqi with Krita Contest and SuperTuxKart game.

What is the level required to contribute to KDE? What should I learn? What should I read?

You need to know C++. Read the Qt tutorials and browse the Qt docs to get familiar with what's available with Qt. Then read the KDE tutorials and browse architecture and documentation. You can also read the KDE Book, it can not harm. But you don't have to be familiar with the whole KDE architecture to become a KDE developer. Using KDE's technologies is quite easy, so concentrate on what you really need, you can learn the other bits later on. KDE TechBase and doc.qt.digia.com (also in your $QTDIR/doc/html) are invaluable resources, take advantage of them. Then, browse the source, look for the examples directories, see how the other did code their applications. Reading and writing code is the best way to learn.

How do I get KDE software from the KDE git or SVN repositories?

See the Building and Running KDE Software From Source section on the Getting Started page.

Can I access KDE source code online?

Yes. There are many ways to do this:

What should I put in my .subversion/config?

You need to add the ignore list to the [miscellany] group in your ~/.subversion/config:

[miscellany]
global-ignores = *.moc *.moc.cc *.moc.cpp config.log config.status \
config.cache *.gmo .deps .libs SunWS_cache *.lo *.la *.rpo *.la.closure \
*_la_closure.cpp *_la_closure.cc *_la_closure.cxx *.all_cc.cc *.all_cpp.cpp \
*.all_C.C *.all_cxx.cxx *_meta_unload.cc *_meta_unload.h *_meta_unload.cpp \
*_meta_unload.C *_meta_unload.cxx index.cache.bz2 .memdump Makefile.rules.in \
Makefile.calls.in Makefile.rules Makefile.calls autom4te.cache *.kidl \
*.o *.lo *.la #*# .*.rej *.rej *.pyc

And to make svn diff ignore whitespace, and print function names:

[helpers]
diff-cmd = /usr/local/bin/_svndiff

with the following in /usr/local/bin/_svndiff:

#!/bin/sh
exec /usr/bin/diff -b -u -p "$@"

Don't forget to make /usr/local/bin/_svndiff executable.

I want to put my app in KDE

There are three requirements:

  • Your app must compile with the latest version of KDE (git master or SVN trunk).
  • Your app must be stable.
  • Your app must be maintained. You will probably get a good deal of bug reports and wishes. People expect you to fix the bugs and implement the wishes that make sense.

See also the next question.

Is it better to develop inside or outside KDE?

As core developer Waldo Bastian explains in a copyrighted mail:

Being part of KDE means that you have to work together with others. Such cooperation brings along advantages but it also brings along responsibilities.

Some of those advantages are: your code ends up on all distro's, people might fix your bugs, you get free translations and documentation, you get tons of bugreports.

On the other side there are disadvantages and responsibilities: you will have to communicate with other developers about your work, other people might make changes to your code, you will have to respect release freezes, you get tons of bugreports and people actually expect that you fix them as well (what are they smoking?), people expect you to maintain your code.

You can't chose for the advantages and ignore the responsibilities that come with it, it's a complete package, it's both or nothing.

In general it should be the author of a piece of software that chooses to put his application in KDE's repositories. We usually don't put software in KDE's repositories unless the author wishes to do so. The other way around, if the author prefers to work on his application elsewhere then that's his right as well. Unless there is a split in the actual group of people working on the application it makes no sense to fork the development of an application because of that.

BUT... by putting your code under and open source license and putting it in a KDE repository you give the world at large, as well as KDE in particular, the irrevocable right to use your code. And KDE will use that right at its discretion to protect the interests of KDE, even if that goes against the wishes of the author at that point in time.

It is important to know that but don't be afraid. Usually, things work very well. In 5 years, it has only happened once that a developer had his work put kept in KDE while he wanted to remove it.

How do I get write access to KDE repositories?

See full article at Get a KDE Contributor Account.

Go to KDE Identity, fill out the form and describe why you need write access. Make sure to specify your full name and e-mail address.

Please also include the name of your bugs.kde.org account, if non-existent please create one so that it can be given usual developer rights. Closing bugs.kde.org reports with keywords in commit comments only works if the email address of your KDE Identity and bugs.kde.org accounts match. You can change your bugs.kde.org address in the Bugzilla user settings.

Git requires use of an ssh key, and new accounts for SVN must also choose the svn+ssh protocol. Send a public ssh key (e.g. ~/.ssh/id_dsa.pub)

See also #How do I create a SSH key?

If you are contributing to an application that is not yours, it is a good idea to first submitting your coding as patches to the author and let him apply them. If the author is not maintaining his application, you might become the new maintainer...

Although there are few restrictions on repository commit rights, we expect you not to disrupt other developers' code without their consent. You must also respect the feature freezes of the release schedule (published on Schedules page)

A detailed list of rules you should follow when committing to KDE repositories are listed in the KDE Commit Policy.

My app is not stable but I would like to have it in KDE

As a first step, we can put it in playground, which is essentially "kde-alpha". Develop it there and when it is ready, request that your app to be moved to the appropriate KDE package or the extragear module.

I don't want to lose my SVN history.

This is no longer possible with Subversion. Maybe in the future, if the server is upgraded and allows that. Note that for git this is not an issue.

What is kdebindings?

It contains Qt bindings for Ruby, PHP, C# to use Qt classes with those langages, KDE bindings for Ruby, C#, python to use KDE classes with those langages, and XParts to embed non-KDE apps as a KPart. Check the binding page of TechBase.

Does the feature freeze apply to playground?

No, playground are not a released packages. The same is true for kdereview and extragear: they are not frozen and released. But if you want your app to move to a package, ask for it before the beta-release.

Can I have a stable and an unstable KDE on the same computer?

Yes, check Building KDE Software from git.kde.org video series:

How do I know which version of Qt/KDE I am using?

kde-config and all KDE programs accept --version as argument.

Qt-copy or Qt from qt.digia.com: if one were doing a clean build of trunk, which would be preferable?

You can use either. They are binary compatible (forward and backward). There can be, however, a few bugfixes in qt-copy over the most recent Qt release. Especially if building from qt-copy, pay attention to the apply-patches script.

How can I checkout a single directory from a SVN module?

Checkout the top-level dir with 'svn co -N /modulename', 'cd modulename', 'svn up admin' to get the admin/ dir and then finally checkout the dir you want with 'svn up subdir'

For instance, to get only reaktivate from playground/utils: svn co -N /playground/utils; svn up reaktivate Then compile as usual.

The same answer applies to the question "How do I get a single language out of kde-i18n?".

If you don't know the name of the directory you want to check out, you can browse websvn.kde.org to find it.

How can I get one of the KDE application as a standalone tarball?

kdesdk/scripts/svn2dist is a script to extract an application from the KDE source tree and package it as a standalone application.

How do I close my own bug reports?

If you reported a bug that is fixed in a new release of KDE but is still reported as open, you can close it. It might happen because your bug is the same as another one, or simply because the developer fixed something without noticing that it would correct your bug.

You can do that from your Subversion commit. To do so, append to your commit message a line like this:

BUG: XXXXX where XXXXX is the bug report you want to close. If the report you're closing is adding a new feature, you can use FEATURE instead of BUG.

Managing a bug list is a huge task for the developers and they usually have a lot of bugs listed, some being fixed already without their knowledge, some being unreproducible, some without enough information to be corrected, etc. If you can help by managing and updating the list of outstanding bugs, you will be gladly welcome. And you will receive an even happier welcome if you provide a patch.

How do I create a SSH key?

SSH makes use of two keys: a private key and a public key. You should keep the private key secret at all times and only place it on machines over which you have direct control. Public, shared, and community machines are not suitable environments to store SSH private keys. Take action to help prevent theft of your SSH private key data. Setting a password on your SSH private key will help reduce the risks involved with private key theft.

Generate a key pair for each major location you work from. This helps to reduce the impact when your key gets stolen. When someone obtains access to your private key, your key can be abused in attempts to compromise KDE servers. Well known open source projects have been compromised this way in the past, YOU must help us to make sure that this doesn't happen with KDE servers as well. For that reason it is important to notify sysadmin (at) kde (dot) org immediately when you notice that someone may have had access to your private key for example when a computer on which it was stored has been hacked or infected with a virus, worm or trojan.

If you choose to make a backup of your SSH private key data, please ensure that any such backup is stored in a secure manner as well.

For the practical part, the following command can be used to generate a SSH private/public key pair with ssh-keygen -t dsa This will create a private key as ~/.ssh/id_dsa and a public key as ~/.ssh/id_dsa.pub.

There are times when you may want to use a key of a different name to the default, perhaps to use separate keys for different projects. To let SSH know which key you want to use for KDE.org, you can keep a list of servers and their corresponding keys in ~/.ssh/config. For example,

Host svn.kde.org 
IdentityFile ~/.ssh/id_dsa_kde

In order to use SSH to access KDE servers you need to send your public key to sysadmin (at) kde (dot) org.

How can I monitor changes made by others?

The kde-commits mailinglist carries automatic notifications for all changes made in the KDE repositories. The KDE-Commits mailinglist is very high traffic. An alternative is CommitFilter which allows you to get notification for only those areas that interest you.