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

From KDE TechBase
(Created page with "kdesdk/scripts/svn2dist が KDE のソースツリーからアプリケーションを抽出し、スタンドアローンなアプリケーションとしてパッケージ化...")
(Updating to match new version of source page)
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages />
<languages />
{{Template:I18n/Language Navigation Bar|Development/FAQs/General FAQ}}


==新しいアプリケーションを書き始めたいのですが、何かアドバイスはありますか?==
==新しいアプリケーションを書き始めたいのですが、何かアドバイスはありますか?==
Line 8: Line 7:
どの分野に助けが必要か知るには、[http://www.kde.org/jobs/ このページ]をチェックしてください。
どの分野に助けが必要か知るには、[http://www.kde.org/jobs/ このページ]をチェックしてください。


新しいアプリケーションを書き始める前に、[http://www.kde-apps.org/ KDE-Apps.org] をチェックしたり、[https://mail.kde.org/mailman/listinfo/kde-devel kde-devel@kde.org] のメーリングリストで聞くなどして、誰かが似たようなプロジェクトをしていないかどうか確かるのは良いことです。
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.


==私は開発者です。どうすれば KDE に貢献できますか?==
==私は開発者です。どうすれば KDE に貢献できますか?==


KOffice や KDevelop は高く評価されているにもかかわらず、開発者がとても少ないので、そのあたりをチェックすると良いかも知れません。KDE のプロジェクトを手助けするのに、KDE のコアの開発者になる必要はありません。KDE は非常にうまくモジュール化されているので、全体のシステムがどうなっているか知らなくても、1つの分野を改良することができます。
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.


また、[https://mail.kde.org/mailman/listinfo/kde-devel kde-devel] メーリングリストで、誰かがアプリケーション上での手助けを必要としているか質問することができます。
You can also ask on  [https://mail.kde.org/mailman/listinfo/kde-devel kde-devel] if someone needs help on an application.
最新の KDE を使い必要とされていることを見付けて下さい。テーマジェネレーター? Konsole のスキーマエディタ? ゲームの改良? ちょっとした機能不足は常にあるものです。実装してしまいましょう!
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!


特定の分野に関してくわしかったり、興味があったりしますか? あなたの手助けが役に立つその分野に関連するアプリケーションがないかチェックして下さい。もしくはそのようなアプリを書いて下さい。KDE には、もっと一般ユーザー向けのアプリケーションが必要です。
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.


==私は開発者ではありません。どうすればお手伝いできますか?==
==私は開発者ではありません。どうすればお手伝いできますか?==
Line 28: Line 27:
It was posted to artist.kde.org before that site ceased to be updated.
It was posted to artist.kde.org before that site ceased to be updated.


Further images are on [http://kde.org/stuff/clipart.php KDE merchandise].
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.


==KDE に貢献するのに必要なスキルのレベルはどの程度ですか? 何を学んでおくべきですか? 何を読んでおくべきですか?==
==KDE に貢献するのに必要なスキルのレベルはどの程度ですか? 何を学んでおくべきですか? 何を読んでおくべきですか?==


C++ について知っている必要があります。Qt で何が可能か知るためにQt チュートリアルを読み、 Qt ドキュメントを拾い読みしてください。そして、KDE チュートリアルを読んで、アーキテクチャやドキュメントを斜め読みしてください。また KDE Book を読んでも良いかも知れません。損にはならないはずです。しかし、KDE の開発者になるのに、KDE 全体のアーキテクチャについて詳しくなる必要はありません。KDE のテクノロジーを利用することはとても簡単なので、本当にあなたが必要とするところだけに集中してください。他の部分については後で学べます。
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] [http://doc.qt.nokia.com/ doc.qt.nokia.com] ({{path|$QTDIR/doc/html}} にもあります) は計り知れない程の情報源です。これらを利用してください。
[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.
その後、ソースを読んで、examples ディレクトリを探して、他人がそれらのアプリケーションをどのようにコーディングしているか見て下さい。コードを読み、書くことはいちばん良い学習方法です。
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.


==KDE の git や SVN のリポジトリーから KDE ソフトウェアを取得するにはどうすれば良いですか?==
==KDE の git や SVN のリポジトリーから KDE ソフトウェアを取得するにはどうすれば良いですか?==


[[Special:myLanguage/Getting_Started|Getting_Started]] ページの "Building and Running KDE Software From Source" (ソースから KDE ソフトウェアをビルドして実行する) セクションを確認して下さい。
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.


==KDE のソースコードに Web ブラウザからアクセスすることは出来ますか?==
==KDE のソースコードに Web ブラウザからアクセスすることは出来ますか?==


はい。
Yes. There are many ways to do this:
* http://websvn.kde.org/ https://projects.kde.org/ からブラウズする
* Browse [http://websvn.kde.org/ websvn.kde.org], [http://quickgit.kde.org/ quickgit.kde.org], and [https://projects.kde.org/ projects.kde.org]
* http://lxr.kde.org/search からソースコードを検索する
* Search the source code at [http://lxr.kde.org/search lxr.kde.org/search]
* http://api.kde.org/ で、ソースコードから生成された API ドキュメントを閲覧する
* 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


==.subversion/config にはどのように記述すべきでしょう?==
==.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 57: Line 58:
*_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
それから、svn diff にスペースを無視させ、また、関数名を表示させるために、
</syntaxhighlight>
<syntaxhighlight lang="text">[helpers]
diff-cmd = /usr/local/bin/_svndiff</syntaxhighlight>
と記述します。


そして {{path|/usr/local/bin/_svndiff}} に、
And to make svn diff ignore whitespace, and print function names:
<syntaxhighlight lang="text">#!/bin/sh
 
exec /usr/bin/diff -b -u -p "$@"</syntaxhighlight>
<syntaxhighlight lang="bash">
と付け加えます。
[helpers]
diff-cmd = /usr/local/bin/_svndiff
</syntaxhighlight>
 
with the following in {{path|/usr/local/bin/_svndiff}}:
 
<syntaxhighlight lang="bash">
#!/bin/sh
exec /usr/bin/diff -b -u -p "$@"
</syntaxhighlight>


{{path|/usr/local/bin/_svndiff}} に実行パーミッションを与えるのをお忘れなく。
{{path|/usr/local/bin/_svndiff}} に実行パーミッションを与えるのをお忘れなく。
Line 72: Line 79:
==自分のアプリケーションを KDE に含めるにはどうすればよいでしょうか?==
==自分のアプリケーションを KDE に含めるにはどうすればよいでしょうか?==


三つの必要条件があります。
There are three requirements:
* KDE (git master または SVN trunk上にある) 最新バージョンでコンパイルできること。
* 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.


==KDE の内部と外部どちらを開発したほうがいいでしょうか?==
==KDE の内部と外部どちらを開発したほうがいいでしょうか?==
Line 83: Line 90:
<blockquote>
<blockquote>
Being part of KDE means that you have to work together with others. Such cooperation brings along advantages but it also brings along responsibilities.
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 />


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


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


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


'''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.
'''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.
Line 99: Line 111:
==KDE のリポジトリへのアクセスを得るにはどうすればよいでしょうか?==
==KDE のリポジトリへのアクセスを得るにはどうすればよいでしょうか?==


詳細については [[Special:myLanguage/Contribute/Get_a_Contributor_Account|貢献する > KDE のコントリビューターアカウントを取得する]] をご覧ください。
See full article at [[Special:myLanguage/Contribute/Get_a_Contributor_Account|Get a KDE Contributor Account]].


[[http://identity.kde.org KDE Identity]] に進み、フォームを記入し、アクセス権限の必要な理由を記述してください。フルネームとメールアドレスを記述するのも忘れないで下さい。
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 111: Line 123:
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]].
Line 133: Line 145:
==stable な KDE と unstable な KDE をひとつのコンピュータに共存させることは可能ですか?==
==stable な KDE と unstable な KDE をひとつのコンピュータに共存させることは可能ですか?==


できます。Building 2 Versions document をチェックして下さい。
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]


==使用している Qt/KDE のバージョンの調べ方を教えてください==
==使用している Qt/KDE のバージョンの調べ方を教えてください==


<tt>kde-config</tt> と全ての KDE プログラムは引数として --version を受け付けます。
<tt>kde-config</tt> and all KDE programs accept <tt>--version</tt> as argument.


==Qt-copy qt.nokia.com の Qt、trunk のクリーンビルドを行うならば、どちらが良いでしょうか?==
==Qt-copy or Qt from qt.digia.com: if one were doing a clean build of trunk, which would be preferable?==


どちらでもかまいません。どちらも上位/下位両方でバイナリ互換です。しかし、qt-copy は最新の Qt へのバグフィックスを少し含むかもしれません。qt-copy からビルドする場合は、apply-patches スクリプトの実行を忘れないで下さい。
どちらでもかまいません。どちらも上位/下位両方でバイナリ互換です。しかし、qt-copy は最新の Qt へのバグフィックスを少し含むかもしれません。qt-copy からビルドする場合は、apply-patches スクリプトの実行を忘れないで下さい。


==How can I checkout a single directory from a SVN module?==
== 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'
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'
Line 159: Line 174:
kdesdk/scripts/svn2dist が KDE のソースツリーからアプリケーションを抽出し、スタンドアローンなアプリケーションとしてパッケージ化するスクリプトです。  
kdesdk/scripts/svn2dist が KDE のソースツリーからアプリケーションを抽出し、スタンドアローンなアプリケーションとしてパッケージ化するスクリプトです。  


==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.
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.
Line 169: Line 184:
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.
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?==
== 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.
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.
Line 187: Line 202:
In order to use SSH to access KDE servers you need to send your public key to sysadmin (at) kde (dot) org.
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?==
== How can I monitor changes made by others? ==


The [https://mail.kde.org/mailman/listinfo/kde-commits 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 [http://commitfilter.kde.org/ CommitFilter] which allows you to get notification for only those areas that interest you.
The [https://mail.kde.org/mailman/listinfo/kde-commits 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 [http://commitfilter.kde.org/ CommitFilter] which allows you to get notification for only those areas that interest you.


[[Category:FAQs]]
[[Category:FAQs]]

Revision as of 10:25, 11 March 2016

新しいアプリケーションを書き始めたいのですが、何かアドバイスはありますか?

新たに書かなければいけない KDE アプリケーションがたくさんあるのは間違いありません。しかし、 あなたの助けを必要とする既存の KDE アプリケーションがたくさんあるのも確かです。

どの分野に助けが必要か知るには、このページをチェックしてください。

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.

私は開発者です。どうすれば KDE に貢献できますか?

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.

私は開発者ではありません。どうすればお手伝いできますか?

開発者のスキルを必要としない仕事がたくさんあります。アプリケーションのレビューの執筆による KDE の宣伝 (kde-promo メーリングリストを参照)、ドキュメント作成 (i18n.kde.org/doc 参照)、翻訳 (i18n.kde.org 参照)、新規バグのフィルタリング (bugs.kde.org 参照) などです。

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

KDE に貢献するのに必要なスキルのレベルはどの程度ですか? 何を学んでおくべきですか? 何を読んでおくべきですか?

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.

KDE の git や SVN のリポジトリーから KDE ソフトウェアを取得するにはどうすれば良いですか?

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

KDE のソースコードに Web ブラウザからアクセスすることは出来ますか?

Yes. There are many ways to do this:

.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 "$@"

/usr/local/bin/_svndiff に実行パーミッションを与えるのをお忘れなく。

自分のアプリケーションを 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.

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.

KDE のリポジトリへのアクセスを得るにはどうすればよいでしょうか?

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.

私の作ったアプリケーションは stable ではありません。それでも KDE に含めることはできますか?

最初のステップとして、原則的に "kde-alpha" として扱われる、playground に置くことができます。そこで開発を進め、準備ができたら適切な KDE パッケージ、もしくは extragear モジュールに含めるよう、依頼を出して下さい。

SVN の履歴を失いたくないのですが、どうしたらいいでしょうか?

これは現在不可能です。将来サーバーがアップグレードされ、それが可能になる可能性はあります。git については、問題なく保持することができます。

kdebindings とは何でしょうか?

Qt のクラスを Ruby、PHP、C# から使ったり、KDE のクラスを Ruby、C#、python から使うためのバインディング、非 KDE アプリを KPart として扱うための XParts が含まれています。バインディングのページ を確認してください。

playground で機能の凍結 (feature freeze) は行われるのでしょうか?

いいえ、 playground はリリースされないパッケージ群です。kdereview と extragearについても同じで、凍結されたりリリースされたりすることはありません。しかし、あなたのアプリケーションをパッケージに移動させたい場合は、ベータリリースより前に依頼することで、含めることができます。

stable な KDE と unstable な KDE をひとつのコンピュータに共存させることは可能ですか?

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

使用している Qt/KDE のバージョンの調べ方を教えてください

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?

どちらでもかまいません。どちらも上位/下位両方でバイナリ互換です。しかし、qt-copy は最新の Qt へのバグフィックスを少し含むかもしれません。qt-copy からビルドする場合は、apply-patches スクリプトの実行を忘れないで下さい。

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.

KDE のアプリケーションのひとつをスタンドアローンの tar ball にするにはどうしたら良いですか?

kdesdk/scripts/svn2dist が KDE のソースツリーからアプリケーションを抽出し、スタンドアローンなアプリケーションとしてパッケージ化するスクリプトです。

自分が出したバグレポートをクローズするにはどうすればよいですか?

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.