Wednesday, April 2, 2014

オープンソースのクラウドソーシングで学んだこと

今日はAnkiDroid 2.1.2をリリースしました。
AnkiDroidは現在85万ダウンロードなので、このバージョンで100万ダウンロードを超えると想定しています :-)

AnkiDroidは、オープンソースな単語帳アプリです。

オープンソースだから、開発は皆ボランティア…というわけでもない!
今回は普通の開発会社に、カードプレビューという機能を外注しました。
Chrisさんという一般のAnkiDroidユーザが要件定義を書いて、お金を集めて、外注ウェブサイトにRFPを公開しました。
色々な会社が提案を出して、ChrisさんがJoltaTechというパキスタンの会社を選んで開発してもらいました。

オープンソースのクラウドソーシングについて学んだこと:
・要件定義前、実現したい機能をプロジェクトのイシュートラッカーに詳しく入力して、プロジェクトのコア開発者からできるだけ高い優先度にもらいましょう。優先度が低いままなら、実現してもリリースソースに入れてくれない可能性もありますので。この機能はそもそも要らないか、既に存在しているかもしれません。イシュートラッカーの入力で確認ができます。
・プロジェクトのメーリングリストに、「この機能を実現するパッチを作成したら、リリースソースに入れてもらえますか」というメールを送りましょう。ポジティブな返事が来ないと先に進めません(その場合はフォークでも考えられますが、そうすると運営経費がかなり上がります)
・Gitの経験をRFPの条件にしておくと、実際に開発が始まった後で、オーバヘッドが下がります。今回の会社はそういう経験がなくて、納品と修正のときに一番混乱したポイントでした。
・他のRFPの要件として、ソースコードをプロジェクトと同じライセンスにすることも必要です。
・納品のとき、テストは大切なので、その工数とスケジュールを予め考えておく必要があります。
・プロジェクトの中にリリースされることを条件にすることもできます。これはプロジェクトによって読みづらいので、メイン支払いの後のボーナスとするのが一番良いと思います。

下記のワークフローをお勧めします:
icolas Raoul

No comments: