|
現在、中国ではオープンソースプロジェクトの人気が高まり、優れたプロジェクトが数多く生まれています。誰もがオープンソース運動への参加を熱望していますが、コミュニティのルールを理解することが重要です。技術者は技術面だけに注力するのではなく、コミュニティごとにルールがあり、それを理解することが成功の鍵となります。最近、オープンソースソフトウェアをめぐるかなり激しい事件が発生しました。ある中国人開発者が自身の作品をオープンソース化したのち、別の企業がそれを再パッケージ化し、高額で販売したのです。多くのオープンソースソフトウェア開発者は、著作権の問題をあまり気にしていないようです。(詳細は下記のWeibo投稿をご覧ください。) hoowa_sun: | ソフトウェアをオープンソース化した後、そのほとんどが他者に盗用され、模倣され、クローズドソースソフトウェアとして販売されていることに気づきました。これには大企業も含まれており、ある企業は私のオープンソースシステムを改変し、国内の通信事業者に1セットあたり数十万元という非常に高額で販売しました。そのため、ソフトウェアを開発する際には、英語版はオープンソース、中国語版はクローズドソースにすることを強くお勧めします。 |
中国では、海賊版やクラック版ソフトウェアの使用に慣れきっており、フリーソフトウェアを当然のこととして受け入れ、自社の商用コンポーネントに直接パッケージ化して販売するケースさえあります。もしあなたがこのような行為をしている場合は、直ちに使用を中止し、使用しているオープンソースコンポーネントのライセンス契約をよく読んでください。そうしないと、ある日突然、裁判所からの召喚状が届く可能性があります。オープンソースソフトウェアを開発中、または開発準備中であるものの、オープンソースライセンス契約についてまだよく知らない場合は、この記事も読んで、オープンソースソフトウェアを保護するためのオープンソースライセンス契約の選び方についてご確認ください。 一般的なオープンソースライセンスには、GPL、LGPL、BSD、Apache Licenseバージョン2.0、MITなどがあります。これらのライセンスの違いは何でしょうか? - GPLはGNU General Public Licenseの略です。その主な内容は、ソフトウェアがGPLライセンスの製品を使用する場合(「使用」とはライブラリ参照または改変されたコードを指します)、そのソフトウェア製品もGPLライセンスの対象となる必要がある、つまりオープンソースかつフリーでなければならないというものです。このライセンスは、GPLオープンソースコンポーネントの使用を意図する商用ソフトウェアや商用プロジェクトには適していません。このライセンスに基づくプロジェクトにより、オープンソースソフトウェアプロジェクトの数は大幅に増加しました。上記のWeibo投稿の例では、作者がGPLライセンスを使用し、ユーザーのコードパッケージがソースコードを公開せずにリリースされた場合、ライセンス違反となります(訂正をいただいたSunny2038に感謝します)。現在、GPLv1とGPLv2が最も一般的に使用されています。これら2つの違いについては、以下のツリー図を参照してください。このライセンスを使用するオープンソースソフトウェアには、LinuxとMySQLが含まれます。
- LGPLは元々Library GPLの略称でしたが、後にLesser GPLに改名されました。GPLは厳格すぎて、多くの商用ソフトウェアアプリケーションでGPLコンポーネントの使用が制限されていたため、LGPLが導入されました。LGPLでは、商用ソフトウェアがライブラリを参照することで(ソースコードを直接使用せずに)LGPLコンポーネントを使用できるため、商用ソフトウェアのコードをオープンソース化する必要がなくなります。ただし、元のコンポーネントのコードを変更する必要がある場合は、変更したコードと元のコードから派生したコードの両方にLGPLのライセンスを適用する必要があります。LGPLは、LGPLライセンスのコードに基づいて二次開発を行う商用ソフトウェアには適していませんが、商用ソフトウェアはソースコードを公開することなくコンパイル済みのライブラリを使用できます。このライセンスを使用しているオープンソースソフトウェアには、JBoss、FCKeditor、Hibernateなどがあります。ExtJSは以前、LGPLからGPLに切り替えたことで大きな混乱を引き起こしました。詳細については、ここをクリックしてください。
- BSDはBerkeley Software Distributionの略です。このライセンスは前述の2つよりもはるかに寛容で、ユーザーがコードを変更・再配布できるだけでなく、BSDコードをベースにした商用ソフトウェアの開発・配布も許可しています。そのため、商用ソフトウェアにも適しています。しかし、あまり期待しすぎてはいけません。BSDを使用するには、以下の3つの条件を満たす必要があります。
- 再リリースされた製品にソース コードが含まれている場合、ソース コードには元の BSD ライセンスが含まれている必要があります。
- 再リリースがバイナリ ライブラリ/ソフトウェアのみである場合は、元の BSD ライセンスをライブラリ/ソフトウェアのドキュメントと著作権表示に含める必要があります。
- 作者/組織名、または元の製品名をマーケティング目的で使用することはできません。BSDライセンスでライセンスされているオープンソースソフトウェアには、nginx、CruiseControl、Redisなどがあります。
4. Apacheライセンス バージョン2.0:このライセンスは、ユーザーに著作権ライセンスと特許ライセンスの両方を提供します。BSDライセンスと同様に、コードの改変と再配布が許可されているため、商用ソフトウェアに適しています。ただし、以下の条件を満たす必要があります。 - コードのユーザーには Apache ライセンスが提供される必要がある。
- コードを変更する場合は、コードを変更したファイルでこれを指定する必要があります。
- 拡張コード (変更されたコードおよびソース コードから派生したコード) には、ライセンシー、商標、特許通知、および元の作成者が要求するその他のステートメントが含まれている必要があります。
- 再発行された製品に通知文書が含まれている場合、その通知文書にはApacheライセンスが含まれている必要があります。通知文書に独自のライセンスを追加することもできますが、Apacheライセンスの変更を構成するように見えるものであってはなりません。
これらの条件に加えて、次のような利点もあります。 - 一度付与されると、永久権利は無期限に保持されます。
- ある国で付与されたグローバルな権利は、すべての国に適用されます。米国に居住していて、インドからライセンスが付与された場合でも、問題はありません。
- ライセンスは無料でロイヤリティフリーであり、前払い料金やライセンス取得後の料金は発生しません。
- この認可は非排他的であり、誰でも認可を受けることができます。
一度付与された権限は取り消し不能であり、誰も取り消すことはできません。例えば、製品コードに基づいて派生製品を開発した場合、将来そのコードの使用が禁止されるのではないかと心配する必要はありません。 Apache License バージョン 2.0 ライセンスを使用するオープン ソース ソフトウェアには、Hadoop、Apache HTTP Server、Spring Framework、MongoDB などがあります。 5. MITライセンスは、マサチューセッツ工科大学(MIT)が発祥で、X11ライセンスとも呼ばれています。BSDライセンスに似ていますが、より寛容なため、現在最も制限の少ないライセンスです。唯一の要件は、改変されたコードまたは配布物に元の作者のライセンス情報を含めることです。商用ソフトウェアにも適用されます。MITライセンスを使用しているソフトウェアプロジェクトには、jQueryやNode.jsなどがあります。 一般的によく使用されるライセンスは以下の通りです。その他のよく使用されるライセンスについては、Googleで検索してください。例えば、Mozilla Public License、Creative Commons、Eclipse Public License 1.0 などです。 ブログ記事では、ツリー図を使用して、現在主流となっているライセンス契約の違いを非常にわかりやすく説明しています。 添付されているのは、GitHub 上のプロジェクトで現在使用されているライセンス契約の割合を示すグラフです。 次の記事では、プロジェクトの Web サイトにオープンソース ライセンス契約を追加する方法について説明します。 |