• コード作成の手助けをしたいのですが、どうすればいいでしょう。
おそらく最良の手は、バグの修正やひじょうに小さな改良から手がけるようにして、コードを熟知することでしょう。LyXのコードは、いまや複雑なものとなっていて、すぐに理解できるように要約することは困難となっているので、新規参入者が大きな実装をともなう素晴らしい計画を立てたとしても、通常は頓挫してしまうのです。
  • どのバグないし改良から手がけるべきでしょうか。
第1のルール:個人的に不満に感じているバグを修正するか、ぜひ欲しいと思う改良から始めるのが良いでしょう。初めてのコードに接するのは、通常たいへんなことですが、そのような刺激があれば、問題を克服できます。ドキュメンテーションは十分にはありません。どのように物事が組み立てられているか、メーリングリストで質問をする勇気を持ってください。コードを説明するのにどのくらいの時間を費やさなくてはならないかは人によって異なりますが、私たちは力になれるように努力しています。
もう一つの助言としては、ここにあるように、既にパッチの提供されているバグを見ることから始めることです。この作業を進める上では、パッチがどのように機能するかを見、それを修正する作業を往々にして含むので、コードに取りかかるには良い出発点です。「easyfix」キーワードの付けられたバグも、当然良い出発点です。
  • 作業やバグの割り当てはどのように行われるのですか。
私たちは堅苦しく組織されたグループではなく、みな好きなことをやっています。おそらくもっとも重要なのは、開発者用メーリングリストを読むことです。通常、そこで誰がどの仕事をしているかを知ることができます。また、バグ追跡ページのコメントからも、うかがい知ることができるでしょう。バグ中のassignフィールドには、あまり大きな意味はなく、とくに誰かがそのバグの面倒を見ているという意味ではありません。もし自信がなければ、いつでもメーリングリスト中で訊くと良いでしょう… ;)
  • かりに解決しようとする仕事を見つけたとすると、それは私に排他的に割り当てられるのですか、それとも他の人々も平行して作業することになるのですか。
排他的な割り当てはありませんが、自然なこととして、誰か別の人が取りかかっていることがわかっている件に時間を割こうと思う人はいないでしょう。もちろん例外はありますが、ふつうは各自、自分の作業に取りかかった上で、コードが成熟してくると、メーリングリストに現れて「I have patch fixing/implementing this, do you have comments or objections? (これこれを修正・改良するパッチを作ったのですが、コメントや意見はありませんか?)」というようなメッセージを載せるのです。
特定のバグに取りかかった後で、しかし時間がかかることが分かった場合、バグにコメントを追加してみなに知っておいてもらうと良いかもしれません。
  • 修正しなくてはならないバグや実装すべき新機能がわかるToDoリストはありませんか。
開発者用メーリングリストに追随して行ってください。
私たちのバグ追跡ページには、ユーザーから集められた課題やエラーレポートがまとめられているので、第一に見るべき場所です。
いくつかのプランもありますが、おおよそのものです。
  • 改善したコードはどうやってコミットすれば良いですか。誰がチェックをするのでしょう。
新規に参入された方は、パッチをまず開発者用メーリングリストに投稿して、パッチが誰かに認証されたらコードをコミットしてください。最初は、コーディングスタイルのような自明のように見えるものも含めて、たくさんのコメントが来ることを覚悟してください。(私たちのルールについての一部は、開発コード中のファイルを読んでいただき、それ以外は既存のスタイルに従うようにしてください!)新規参入者がバグの修正などをしながら数ヶ月活動を続け、既存の開発チームの信頼を勝ち得たなら、コミットの権利を与えられ、開発者の一人となるでしょう。これには特に厳密なルールがある訳ではありません。
  • Pythonでコードを書くことはできますか。
LyXはおもにC++で書かれており、新機能追加やバグ修正はC++コーディングを含むことになるでしょう。しかしあなたの専門がPythonならば、それで書かれている部分もいくつかあります。とくに、ここにあるlyx2lyxのバグを探すと良いでしょう。コンフィギュレーションや外部アプリケーションの検知部のコードにもPythonは使われています。解消しなくてはならないバグは、通常、サードパーティのプログラムやコンバータの検出を新たに求める機能追加の要請であり、たいがいの場合はeasyfixとしてマークされています。