私は小さなプロジェクトに数年間取り組んできましたが、最終的には何人かの同僚の助けを借りて、ほとんど一人で作業しました。コードのサイズが大きくなり (現在は約 20K 行)、プロジェクトに対する最初の期待が自分の能力と時間よりも大きくなったため、プロジェクトは私の手に負えなくなりつつあります。だから今、私はそれをオープンソースにしたいと思っています。貢献者を引き付けたいと思っています。私がオープンソースに移行する動機は次のとおりです。
- このプロジェクトはどちらかというとアカデミックなもの (科学計算用のアルゴリズムのライブラリ) であり、経済的な関心はまったくありません。
- プロジェクトは私一人で処理するには大きくなりすぎており、私が計画した機能の数は、小さなチームのモチベーションを維持するのに十分です (と思います)。
- 単体テストだけでなく、API が使いやすいかどうか、パフォーマンスが期待どおりかどうかなどを実際にテストする必要があります。
- たくさんのバグがあると思いますが、私が一人でテストしているので、見つけられるのはごくわずかです。
- API が少し複雑になっているため、適切なドキュメントが必要です。
それ以外に、どの機能が最も必要とされているかを判断し、将来の開発のための一連のガイドラインを作成するという点で、プロジェクトはコミュニティから利益を得ることができると思います.
私は Git を使用しているので、最初に考えたのは Github や Codeplex で公開することでした。それに加えて、ユーザーのコミュニティや開発者のコミュニティをゆっくりと成長させるには、どのような手順が必要でしょうか? 独自のドメインが必要ですか、それとも Github/Codeplex に固執する必要がありますか? 地理的に離れている可能性のある開発者間のコラボレーションのためのプラットフォームをセットアップするにはどうすればよいですか? メーリングリストを設定する必要がありますか? そして最も重要なことは、どうすれば人々にそれを使ってもらい、協力してもらうことができるでしょうか?
このプロジェクトは、C# で記述された、最適化と機械学習のための .NET ライブラリです。