Difference between revisions of "Contribute/ja"

Jump to: navigation, search
(Updating to match new version of source page)
Line 1: Line 1:
<languages />
<languages />
{{Template:I18n/Language Navigation Bar|Contribute}}
このページは、KDE の様々な面を、プログラミング関係に絞って外観を伝えることを目的としています。''KDE プロジェクトは、手伝ってくれる方は誰でも歓迎します。''
このページは、KDE の様々な面を、プログラミング関係に絞って外観を伝えることを目的としています。''KDE プロジェクトは、手伝ってくれる方は誰でも歓迎します。''

Revision as of 08:36, 20 July 2012

Other languages:
Ελληνικά • ‎English • ‎español • ‎suomi • ‎français • ‎galego • ‎日本語 • ‎한국어 • ‎Nederlands • ‎polski • ‎português do Brasil • ‎slovenčina • ‎中文(中国大陆)‎

このページは、KDE の様々な面を、プログラミング関係に絞って外観を伝えることを目的としています。KDE プロジェクトは、手伝ってくれる方は誰でも歓迎します。

KDE の開発に参加する方法としては様々なものがありますが、幾つかのカテゴリに分類できます:
プログラム開発者でなければ、参加するには のページで他に貢献できることを確認して下さい。Bugsquadもご確認下さい。


KDE プロジェクトの一般的な方向性は、活動をしている人々によって決定されます。将来的に KDE をどうするかについて、高次元での統一した計画は存在しません。


恐らく KDE の開発状況について知るための最も良い方法でしょう。こちらにアーカイブがあります。
KDE のソースコードリポジトリのうち、関心のあるプロジェクトへのコミット通知を受け取ることができます。
KDE Commit-Digest
毎週の KDE ソースコードリポジトリへのコミット状況の要約です。
The Dot
KDE ニュースサイトです。


KDE へ貢献する方法として最も簡単なのが、KDE バグ追跡システム (Bugzilla) から KDE のバグを報告することです。

使っているアプリケーションがクラッシュした際、Dr Konqi が表示され、クラッシュについてレポートする手順を示します。詳細はより良いクラッシュレポートを作成するにはの記事を参照して下さい。


KDE でコーディングを始めるということは、修正すべき問題などを見つけ、それを修正することです。そのモジュールの概要を調べ、探しているものを見つける必要があるかもしれません。 問題を修正したら、パッチを送信します。何回かパッチを送っていると、KDE コントリビュータアカウントを取得して、直接修正を行えるようにする必要性を感じるかもしれません。


KDE の大半は C++ で記述されています。C++ に慣れていなければ、ある程度それを学ぶ必要があるでしょう。C++ に関する良書は多くあります。お勧めの一つとして Bruce Eckel's "Thinking in C++" を挙げておきます。(無料の Web 版と、有料の印刷版があります。) KDE 開発を始めるにあたり、C++ の全てを理解する必要はありませんが、基本的な文法や演算子は理解しておく必要があります。


KDE 開発をより深く理解するためには、Qt フレームワークについて理解する必要があります。Qt に慣れていない場合、Qt Reference Documentation などで学ぶ必要があるでしょう。

より易しい Qt の入門編が必要であったり、別の資料が必要であれば、The Independent Qt Tutorial もよいでしょう。(現在は書籍化により、オンラインで読むことが出来ません。)

紙媒体で Qt を勉強したい場合は、 「Qt の書籍」のページを見て下さい。その他、勉強の方法について「Qt の学び方」ページに色々と書かれています。

(訳注: 日本語資料にはQt Labs Japan の「Qt をはじめよう!」や Qt Quick 入門 などがあります。)


KDE に関するものの範囲のものは、チュートリアルに書かれています。尚、これらのチュートリアルのうち幾つかは未だ KDE3 用に書かれていることに注意して下さい。(勿論 KDE3 の資料でも、部分的に KDE4 にも当てはまることはありますが。)

FAQ にも、KDE コーディングに関して有用な情報があります。この情報も、KDE4 に対してはいくらか古い感がありますが、多くは KDE4 にも当てはまりますし、KDE 以外のソフトウェアに当てはまることも多いでしょう。

KDE 開発に関する本 の項もご覧下さい。

最後に、KDE には、大規模な API ドキュメントがあります。「KDE API リファレンスマニュアル」の項にあり、このページには、API ドキュメントを書いたり、編集したりすることについて説明した、多くの有用なリンクも含まれています。自分のマシンでドキュメントを生成することもできますし、API リファレンスサイト で最新版を参照することもできます。


Context Help: Whatsthis

Context help is inseparable from the dialogs and widgets, as they are the target of the context help. In fact, in order to write context help, you have to touch programming or programming tools. Indeed, the context help is a property of widgets. In object oriented programming, a property can have different values, and behave differently depending on the value. In Qt/KDE programming, the name of the property is "whatsthis", and its value is the text the context help is going to display.

Fortunately, this task is usually not very difficult, as there are good tools to deal with user interface design, and better, you will use the knowledge acquired here later when dealing with user interface in general. Using the Qt framework (Qt is the base of KDE technology), it is possible to separate code and user interface. You have two basic cases here: the user interface is written with the general code of application (usually .cpp files) or in Qt Designer files (.ui files: it is a XML document). The second case is the best to start with, as it is simpler to work with. If you don't have Qt Designer installed, you can do so by installing the devel package of Qt from your distribution or the Qt Designer package (if your distribution has more fine grained packages).

Here you can find a detailed guide for writing whatsthis using Qt Designer and working directly with the source code: WhatsThis Tutorial, by Aaron J. Seigo.


There is 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, becoming a member of the KDE Quality Team might appeal to you - see the Quality Team website for more information. Note that you do not need any programming skills to become involved. In particular developers regularly publish so-called Junior Jobs to encourage new contributions.

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

User Interface

User interface is a very wide subject, and very subjective too, as something obvious to someone is absurd to others and vice versa. Therefore, don't assume, argue clearly, stating your logical steps. Your main tool discussing it are objective reasoning and good sense.

It is easy to perform a quick user interface analysis, but it is hard to convince people to change the interface. A good, convincing analysis can gain much if it incorporates information from the KDE guidelines, competing program and operational system analysis, general design principles found in many books, user testing or individual (anecdotal) feedback. It is a volunteer project, and even if everybody agree with you, someone has to implement it.

The KDE Usability Mailing List is very active and a good place for discussing your ideas, and their homepage is at http://techbase.kde.org/Projects/Usability. If you are already an usability expert, please check OpenUsability.org, a project that brings open source developers and usability experts together, and is collaborating closely with KDE.

Some documents guiding documents include the KDE User Interface Guidelines (design standards) and KDE User Interface Guidelines (design principles).

Some projects for analysis of user interfaces may include: checking that shortcut keys are coherent across KDE applications, making sure that dialogs are directly relevant to the interaction that the user would expect, and finding users of KDE software to see how they perform common workflows.

Getting Answers to Your Questions

If your question concerns KDE development, your options are pretty much the same general user ones, with some modifications:

  • Read the Developer FAQ. Many common developer questions have been answered in the KDE Developer FAQ
  • Search/browse KDE websites. A lot of questions can also be answered from the KDE websites, and the documentation included on it. You can search all the KDE websites on the homepage. In addition, you can browse the KDE TechBase website. And if possible, help edit it for clarity, and use the talk page if something is unclear.
  • Search mailing lists. A lot of questions have already been answered on the KDE mailing lists, particular the lists kde-devel, kde2-porting, kde-core-devel, kde-games-devel, kfm-devel and koffice-devel. You can search these lists either at lists.kde.org. You should always search for your answer before asking questions on the mailing lists. When you ask a question on a mailing list you are emailing thousands of people -- please do this only if the answer is not available through a simple search.
  • Search engines. Do not forget about your favorite search engine. One of the best search engines is Google. With Google you can also search the great bulk of Usenet news sites, which is also particularly helpful, especially for general programming and gcc-related questions.

A full list of KDE mailing lists is available here and here.