ライセンスについては、ライセンスの目標を尋ねる必要があります。あなたの目標は、コードを返す人々のコミュニティを構築し、他の誰かがコードの独自のフォークを作成させないようにすることですか?その後、GPLは選択するのに適したライセンスになります。あなたは著作権を保持し、オープンソースとして配布することができますが、独自のソフトウェアにリンクしたい人には代替ライセンスを提供するという目標はありますか?この場合も、GPLが良い選択かもしれませんが、この場合は、貢献を再ライセンスできるように、あなたに変更を送り返す他のコントリビュータから著作権の割り当てを設定する必要があります。
あなたのコードはサーバ側のソフトウェアかもしれないようですが、その場合はAGPLを調べるとよいでしょう。 AGPLはGPLに似ていますが、自分のサーバー(GPLには必要ありません)にソースを配布するには、ソースを変更する必要があります。
プロプライエタリソフトウェアを作成している間に人がビルドできるようにするには、ソフトウェア自体に変更を反映させたい場合は、LGPLはかなり良いです。プロプライエタリなフォークを気にせず、単純に許されるものを望むなら、MITライセンスが良い選択です。
あなたが合法的にリリースできないコードを削除するものだけが必要です。すべてのコードについて著作権を所有している場合は、すべてのコードを暗号化コードに注意し、弁護士に相談してください。輸出制限は対処するのが難しいかもしれませんが、オープンソースソフトウェアにとってプロセスを簡単にするための規定があります。
必要な変更以外にも、できるだけ多くのシステムでコードを構築して実行することをお勧めします。たとえば、どの依存関係が必須であり、どの依存関係がオプションかを確認する必要があります。あなたのソフトウェアをビルドしてインストールする方法に関する良い文書は、システム構築や単体や回帰テストなど、ソフトウェア開発(オープンソースだけでなく)に必要な通常のものと同様に良いものです。
考えるべきいくつかの他のものは以下のとおりです。
- 他の人があなたにその変更を取得する方法は?メーリングリストのパッチ?バグレポートに添付されたパッチ?フォークはGitHubにありますか?
- どのリビジョン管理システムを使用しますか?私は一般的に、GitやMercurialのような分散リビジョンコントロールシステムを主張しますが、Subversionも非常に人気があり、仕事をする必要があります。
- コミュニティがどのように働いているかを明確にしてください。ソフトウェアの入手方法や貢献方法、あなたのメーリングリストやIRCチャンネルへのポインタなど、あなたが議論したい媒体を記述したウェブページ。あなたがコミッターなどのコアグループを持つ予定の場合は、コミッターを選ぶプロセスがどのように機能するかを文書化してください。
私は詳細と詳細を掲載することができますが、すでに言われていることを繰り返していると思います。さらに詳しい情報が必要な場合は、Karl FogelのProducing Open Source Softwareとお読みください。
この詳細な回答をいただきありがとうございます。本当に助かります! – MatthieuP