Contribute: Difference between revisions

    From KDE TechBase
    (Added descriptive text for interested new contributors)
    (58 intermediate revisions by 24 users not shown)
    Line 1: Line 1:
    {{Template:I18n/Language Navigation Bar|Contribute}}
    [[File:Kde dragons.png|480px|center|Konqi and the KDE community]]
    This page intends to give an overview of the different aspects of KDE development in particular for programming related issues. '''The KDE project welcomes anyone willing to help'''.


    {{note|There are a lot of ways to get involved in KDE development, which can be summed up in several categories:
    If you're interested in deepening your relationship with the KDE Community by contributing to any of its teams and projects, check out our [https://community.kde.org/Get_Involved handy guide on the Community Wiki] for the various ways you can get involved.
    :''Documentation, Translation, Development, Usability, Accessibility, Artwork, Promotion
    '''Especially for tasks other than development (writing code) KDE's pages about [http://kde.org/getinvolved/ how to get involved] give a good overview.'''
    }}
     
    == News and Mail Sources ==
    The general direction of the KDE project is determined by those who do the work - there is no single high level plan for what KDE will look like in the future.
     
    If you want to find out what is currently happening, then there are a number of sources you might like to consider:
    ; [http://www.kde.org/mailinglists/ Mailing Lists]
    : Probably the best way to find out what's going on in KDE development. Archives are available [http://lists.kde.org here]
     
    ; [http://commitfilter.kde.org/ CommitFilter]
    : Receive notification of [http://en.wikipedia.org/wiki/Subversion SVN] commits in areas that interest you.
     
    ; [http://commit-digest.org/ KDE Commit-Digest]
    : Weekly summary of SVN commits.
     
    ; [http://dot.kde.org/ The Dot]
    : The KDE news site.
     
    == Getting Started with Coding ==
    Getting started at ''coding'' in KDE is a matter of finding something to fix, and fixing it. You may want to consult the module overview to help find what you are looking for; once you have fixed something, you will want to send in a patch. If you do that a few times, you may want to apply for an SVN account so you can fix things directly.
    * [[Contribute/List of KDE Modules|Module overview]]
    * [[Contribute/Send Patches|Sending patches]]
    * [[Contribute/Get a SVN Account|Applying for a KDE SVN Account]]
    * [[Contribute/First Steps with your KDE SVN Account|First steps with your new SVN account]]
     
    At the moment, there are two choices for development within KDE - you can work on KDE3, or KDE4. KDE3 is a good choice for bug fixing, however the main development work effort (and all new features) is on KDE4. This document mainly focuses on work in support of KDE4.
     
    === C++ ===
    KDE is mostly written in C++. If you are not familiar with C++, you should do at least some work on it. There are a number of good books on C++ - an excellent source is [http://mindview.net/Books/TICPP/ThinkingInCPP2e.html Bruce Eckel's "Thinking in C++"], which is available both as a free download and as a printed document. It isn't essential to understand everything before you start in KDE, but you do need to understand basic syntax and operations.
     
    === Qt ===
    To become proficient with KDE coding, you should understand the Qt toolkit. If you are not familiar with Qt, you should work through the tutorials included with Qt ([http://doc.trolltech.com/latest/examples.html Qt4 version], [http://doc.trolltech.com/3.3/tutorial.html Qt3 version]).
     
    If you are more into multimedia and videos for a start you might want to spend two amazing minutes on watching [http://www.trolltech.com/trolltech/products/qt/learnmore/video/demos/browser Building a Simple Help Documentation Browser with Qt4 Designer]. If that got your attention you might also want to watch the video introduction [http://www.trolltechvideo.com/video/day1/room_a/a_1_1/video.html Hello Qt] by Mark Summerfield which is part of the [http://www.trolltech.com/company/newsroom/events/allevents/devdays2006/videolinks Trolltech Developer Days 2006 presentations].
     
    If you need a gentler introduction to Qt, or would just like an alternative view, then you may wish to look at the [http://qt4.digitalfanatics.org/tiqt/ The Independent Qt Tutorial] (Currently offline due to book contract).
     
    More suggestions on becoming familiar with Qt4 are [http://doc.trolltech.com/latest/how-to-learn-qt.html available here as well]. A copy of this documentation is also provided with Qt4.
     
    === KDE ===
    A range of information on KDE techniques is available in the [[Development/Tutorials|tutorial section]]. Note that some of these tutorials still target KDE3, though they should be at least partly applicable.
     
    You will also find useful information on KDE coding in the [[Development/FAQs|FAQs]] section. This information may also be somewhat dated for KDE4, however much of it is broadly applicable, even outside KDE.
     
    You can also read [[Development/Further Information|KDE coding books]].
     
    Last, but by no means least, KDE comes with extensive class (Application Programmer Interface) documentation. This is available in the
    [[Development/Tutorials/API Documentation|KDE API Reference Manuals]] section, which also contains a number of useful links on how to write or update the class documentation. You can also generate these on your own machine, or refer to a more up-to-date online version at [http://www.englishbreakfastnetwork.org/apidocs/apidox-kde-4.0/kdelibs-apidocs/ The English Breakfast Network].
     
    A more detailed description of the steps above is available in our [http://quality.kde.org/develop/howto/howtohack.php Programming Guide].
     
    == Getting Involved in Bug Hunting and Application Quality ==
     
    There are a large number of applications within KDE, and not all of them have a maintainer dedicated to managing bugs and generally helping out with all the issues associated with turning some working code into a polished application.
     
    If you are interested in helping out with KDE, but don't know where to start,  visit [http://www.kde.org/getinvolved/ Contribute Website] for more information. Note that you do not need any programming skills to become involved.
     
    Of course, you can become involved in bug hunting without being part of the KDE Quality Team - just create yourself an account on the KDE [http://bugs.kde.org bug tracking system], and start searching / sorting through the bugs. Again, you don't have to have programming skills - it helps the programmers enormously just to have a procedure that allows a bug to be consistently reproduced.
     
    The [[Contribute/Bugsquad|Bugsquad]] tries to keep track of bugs in KDE software and make sure that valid bugs are noticed by developers. You do not need any programming knowledge to be in the Bugsquad; in fact it is a great way to return something to the KDE community if you cannot program.
     
    == Historical Sources ==
     
    ; [http://www.kerneltraffic.org/kde/archives.html KDE Traffic]
    : Summary of the development mailing lists. KDE Traffic ran for 76 issues, from 10 March 2001 until 16 April 2004. The KDE Commit-Digest (described above) is its logical successor.

    Revision as of 23:00, 15 May 2019

    Konqi and the KDE community
    Konqi and the KDE community

    If you're interested in deepening your relationship with the KDE Community by contributing to any of its teams and projects, check out our handy guide on the Community Wiki for the various ways you can get involved.