Skip to content
Kengo Ide edited this page Apr 27, 2024 · 26 revisions

ここはサクラエディタの開発ノウハウを書き残していくwikiです。
一般的な情報については ポータルサイト に書いています。

開発に参加する方法

  • OSDN Forum … OSDN(日本のオープンソースソフトウェアサイト)に設置した掲示板です。匿名で書き込みできます。質問や機能要望、バグ報告での利用を想定しています。
  • Discord … チャットルームです。登録に必要なのはメールアドレスだけで、気軽に参加できるチャットルームです。堅苦しい雰囲気が苦手な人にお勧めです。スマホアプリを入れると簡単にアクセスできます。⇒ iPhone / android
  • GitHub Issues … GitHubのissues(課題管理システム)です。GitHubのアカウントを作る必要がありますが、GitHubの機能を使って投稿に画面キャプチャやソースコード参照を含めることができます。機能要望や新機能提案、バグ報告での利用を想定しています。

運用ポリシーは特段定めずにやっています。サクラエディタは1998年に開発が始まって以来、数多くの人々によって支えられてきたアプリです。これから先も開かれたアプリであり続けるために、気軽に開発に参加できる枠組みを維持していきたいと考えています(筆者の個人的願望)。
みなさまのご参加を心よりお待ちしております。

提案・要望等

サクラエディタへの提案・要望の検討は、GitHub Issuesから始まります。

提案内容によって、どんな議論が始まるかは違ってきますが、開発者が反応してPull-Requestが作られ、レビューされて、マージされることになります。

Pull-Request(PR)はソースコードの修正のことを指しています。PRはレビューで内容をチェックされたあとに、マージされてサクラエディタの一部になります。

提案や要望がサクラエディタで使えるようになるタイミングは、「マージされるとき」です。

もしも提案内容を直接ソースコード変更に落とし込めるなら、いきなり Pull requests を出してもらったほうがありがたいです。issueとPRの両方を作ると、トピックが分散して話の流れが追い辛くなることもあるからです。

いきなり Pull Request を出す場合は、ファイルの文字コード/改行コードに注意してください。サクラエディタでは C++ ソースコードの文字コードを UTF-8(BOM付き) にしています。これは海外サーバの多いCI環境(=リポジトリが正しくビルドできる状態を維持する仕組み)を考慮して、VC++/GCCのコンパイラオプションで文字コードを固定しているためです。

もし UTF-8 BOM付きでないファイルを混ぜた場合、CIのビルドが失敗します。文字コードが混ざるのを防止するスクリプト( #478, #479 )を仕込んであるので必ず失敗します。pushする前に変更対象ファイルの文字コードがUTF-8(BOM付き)になっていることを確認していただくようにお願いします。

レビュー・マージ方針

基本的に誰がレビューしても良いです

上がっている Pull request について、レビュー可能な方がいましたら随時レビューいただけると助かります。欲を言うといろんな人からのレビューが欲しいです。

レビューの仕方について特にルールはありません。
ソースコード変更内容についてのコメントであったり、動作確認結果であったり、何かしら指摘がわかるようにコメントいただけると助かります。

全体的に Pull request 内容に問題がない(マージ可能だと思う)ときには approve 操作を行ってください。「LGTM (Looks good to me)」とか「+1」とか「:+1:(:+1:と入力する)」とか「良いと思います!」とかそんな感じのコメントでも良いです。よしなに運用しましょう。

マージ権限のある人はできるだけレビューに参加します

sakura-developers に名前のある人がマージ権限を持ちます。

マージ権限のある人でもレビュー内容に自信の無いときには、他の人のレビューを求めることがあります。その場合は、何人かにレビューしてもらって総合的に判断を行っていきましょう。

master への直接 push はしません

master への直 push は、できないように設定しています。
基本的に何か変更するときは Pull request を通して変更を適用します。

使い勝手の良さそうなカスタムフィルタ条件

issuesやPull-Requestsの内容は、カスタムフィルタを使って絞り込み表示することができます。
使い勝手の良さそうなカスタムフィルタ条件の一部をここで共有しておきます。

Clone this wiki locally