プロジェクトリスト
クリアコードのメンバーが関わっているフリーソフトウェア開発プロジェクトを紹介します。パッチ採用ではここに書かれているプロジェクトから1つ以上のプロジェクトを選んで一緒に開発します。ここに書かれていないプロジェクトもあります。応募者が自分で調べて書かれていないプロジェクトを見つけてきて、それを一緒に開発するプロジェクトに選んでもよいです。
(プロジェクトのリストは2017年8月現在の情報です。)
プロジェクトの中で何をして欲しいかを具体的に指示することはありません。これは、応募者を「単なる作業者」と考えていないためです。多くのフリーソフトウェア開発プロジェクトでは、それぞれの開発者が自律的に考え、開発しているソフトウェアをよりよくするためにそれぞれがよいと思うことを進めていきます。応募者にも同様に進めてもらいます。
誤解がないように補足すると、これは「全部自分で考えろ、他人に頼るな」、「聞くな、察しろ」ということではありません。「○○をやろうとしているのですが、△△というエラーが発生してうまく動きません。このようなときはどうしたらよいですか?」と相談されたら、「□□が怪しいかもしれません。ログに☆☆はでていませんか?」というように助けます。「このプロジェクトで困っていることはありますか?」と聞かれたら「○○と△△で困っています。」とちゃんと答えます。1人で開発しているのではなく、複数人で開発しているので、相談したり質問したり自分の考えを伝えたりといったコミュニケーションは必要です。よりよいソフトウェアにするためにコミュニケーションを活用してください。
応募者に「自律的に考えて行動する」という進め方をしてもらうということは、「細かく作業の指示を与えて、それにどれだけ正確に応えられるか」をクリアコード側の判断基準とはしていないということです。もし、それを判断基準としているなら細かく作業の指示を与えます。「一緒に」開発したい人とは「使いやすいコマ」だとは考えていません。「一緒に」考えて「一緒に」よいものを作っていける人だと考えています。応募者が「自律的に考えて行動する」という進め方をしてくれることで、「一緒に」開発したい人かどうかを判断できると考えています。
なお、それぞれが自律的に考えて行動しよいソフトウェアを開発する、というスタイルは、フリーソフトウェアの開発から学んだことです。通常の業務でもこのことを活かしています。新しく一緒に働く人にもこのことを活用して欲しいと考えています。
Red Data Tools
Red Data ToolsはRubyでデータ処理できるようにするためのツール群を提供するプロジェクトです。
参考情報は次の通りです。
使用技術
以下のプログラミング言語を使用しています。
- Ruby
- C
- C++
以下のライブラリー・フレームワーク・ツールを使用しています。
開発者用情報
開発者間のコミュニケーションは以下で行われています。
Groonga
Groongaはカラムストア機能付きの全文検索エンジンです。全文検索サーバーとしてだけではなく、ライブラリーとしても使えることが特徴です。ライブラリーとして使えるため、RubyやMySQLなど他のシステムと使いやすい形で結合することができます。
参考情報は次の通りです。
- 公式ドキュメント
- 隔週連載Groonga: Groongaおよび関連プロダクトの利用事例とプロダクトそのものの紹介。
使用技術
以下のプログラミング言語を使用しています。
- C
- C++
- mruby
以下のライブラリー・フレームワーク・ツールを使用しています。
開発者用情報
開発者間のコミュニケーションは以下で行われています。
- GitHub: ソースコードがあります。
- groonga-commit@lists.osdn.me: コミットメールが流れるメーリングリストです。どのようにコードを書いているかがわかります。
- groonga-dev@lists.osdn.me: Groongaおよび関連プロダクトに関してユーザー・開発者でやりとりするための日本語のメーリングリストです。
- Gitter: groonga/ja: Groongaおよび関連プロダクトに関してユーザー・開発者でやりとりするための日本語のチャットです。
Mroonga
MroongaはGroongaをMySQLから使えるようにするためのストレージエンジンです。全文検索に関する詳細を知らなくてもMySQLを知っている人なら簡単にGroongaが提供する高速な全文検索機能を使えるようになります。
参考情報は次の通りです。
使用技術
以下のプログラミング言語を使用しています。
- C++
- C
以下のライブラリー・フレームワーク・ツールを使用しています。
開発者用情報
開発者間のコミュニケーションは以下で行われています。コミュニケーション方法はGroongaと同じです。
- GitHub: ソースコードがあります。
- groonga-commit@lists.osdn.me: コミットメールが流れるメーリングリストです。どのようにコードを書いているかがわかります。
- groonga-dev@lists.osdn.me: Groongaおよび関連プロダクトに関してユーザー・開発者でやりとりするための日本語のメーリングリストです。
- Gitter: groonga/ja: Groongaおよび関連プロダクトに関してユーザー・開発者でやりとりするための日本語のチャットです。
PGroonga
PGroongaはGroongaをPostgreSQLから使えるようにするためのインデックスです。全文検索に関する詳細を知らなくてもPostgreSQLを知っている人なら簡単にGroongaが提供する高速な全文検索機能を使えるようになります。
参考情報は次の通りです。
使用技術
以下のプログラミング言語を使用しています。
- C
以下のライブラリー・フレームワーク・ツールを使用しています。
開発者用情報
開発者間のコミュニケーションは以下で行われています。コミュニケーション方法はGroongaと同じです。
- GitHub: ソースコードがあります。
- groonga-commit@lists.osdn.me: コミットメールが流れるメーリングリストです。どのようにコードを書いているかがわかります。
- groonga-dev@lists.osdn.me: Groongaおよび関連プロダクトに関してユーザー・開発者でやりとりするための日本語のメーリングリストです。
- Gitter: groonga/ja: Groongaおよび関連プロダクトに関してユーザー・開発者でやりとりするための日本語のチャットです。
milter manager
milter managerはmilterを使って効果的に迷惑メール対策(スパムメール対策・ウィルスメール対策)を行います。milterとはSMTPサーバーにメールフィルターを組み込むための仕組みおよびその仕組みの上に実装されたメールフィルターです。
実装面での特徴はmilter managerにRubyインタープリター(mrubyではなくCRuby)を組み込んでいることと、完全なmilterプロトコル実装を含んでいることです。milterプロトコルはイベントループと非同期I/Oで実装しているため、大量のSMTPセッションを効率よく処理することができます。
参考情報は次の通りです。
使用技術
以下のプログラミング言語を使用しています。
- C
- Ruby
以下のライブラリー・フレームワーク・ツールを使用しています。
開発者用情報
開発者間のコミュニケーションは以下で行われています。
- GitHub: ソースコードがあります。
- milter-manager-commit@lists.sourceforge.net: コミットメールが流れるメーリングリストです。どのようにコードを書いているかがわかります。
- milter-manager-users-ja@lists.sourceforge.net: milter managerに関してやりとりするための日本語のメーリングリストです。こちらもほとんど流量はありません。
- milter-manager-users-en@lists.sourceforge.net: 上述のmilter-manager-users-jaの英語版です。こちらもほとんど流量はありません。