web-dev-qa-db-ja.com

より強力な貢献者によって忘却に分岐するのを避ける方法は?

最近報告されたように ここ

Xamarinは、2D/3Dゲーム開発フレームワークであるCocos2D-XNAを分岐し、PCLプロジェクトに含めることができるクロスプラットフォームライブラリを作成しました。

しかし、フォークされたプロジェクトの創設者 says

MITライセンスの目的は、フェアユースの妨げにならないようにすることです。ソフトウェアを自分のものにブランド変更し、あなたが言うように「新しい方向に進める」ことを奨励するものではありません。

違法ではありませんが、非倫理的です。

新しいプロジェクトのGitHub page は、典型的なGitHubのフォークであることを示しておらず、代わりに簡単に削除できる履歴セクションを選択しているようです(下部を参照)。

だから私の質問は:

  1. Xamarinの行動と行動の実行方法は倫理的でしたか?
  2. あなたが単一の開発者または資金のない小さな開発者グループである場合、そのような状況を回避することは可能ですか?

これがwikiの質問であるか、現代のOSS倫理/哲学に基づいた客観的な回答があることを願っています。

124
Den

Xamarinの行動とその行動が倫理的に行われた方法でしたか?

さて、専門家に聞いてみましょう- オープンソースイニシアチブによるMITライセンスのリスト 自体。ライセンス全体が引用されています。

MITライセンス(MIT)

著作権(c)

これにより、このソフトウェアおよび関連するドキュメントファイル(以下「ソフトウェア」)のコピーを取得した人物に、使用、コピー、変更、マージの権利を含むがこれに限定されない制限なしでソフトウェアを扱う許可が無料で付与されます。次の条件に従って、本ソフトウェアのコピーを発行、配布、サブライセンス、および/または販売し、本ソフトウェアの提供を受けた者がそうすることを許可する。

上記の著作権表示とこの許可通知は、ソフトウェアのすべてのコピーまたは実質的な部分に含まれるものとします。

本ソフトウェアIS提供された「現状有姿」、いかなる種類の保証もありませんOR市場性、特定の目的への適合性、および非侵害性の保証に限定されるものではありません。いかなる場合も、著作者は著作権所有者を負わないものとしますOR著作権所有者は、いかなる請求、損害についても責任を負いますORその他の責任、契約の行為、不法行為ORその他の責任FROM、OUT OF OUTORソフトウェアに関連してOR使用ORソフトウェアの他の取引。

個人または企業がMITライセンスを使用してソフトウェア/ソースコードをリリースした場合、それは個人または企業が「制限なくソフトウェアを取引」できることを意味します。著作権表示がそのままである限り、彼らは好きなようにほとんどすることができます。

これは、倫理と合法性がまったく同じであるケースの1つです。個人またはグループがライセンスを理解していないか、それが意味するものである場合、彼らはデューデリジェンスを実行できませんでした。オープンソースイニシアチブは、MITバリアントのようなライセンスを理解するのに役立つ他の多くの素晴らしいリソースを提供します。それらのオープンソース定義のいくつかの条項を見てみましょう:

1)無料の再配布-ライセンスは、複数の異なるソースからのプログラムを含む集約ソフトウェア配布のコンポーネントとしてソフトウェアを販売または譲渡することをいかなる当事者にも制限しません。ライセンスは、そのような販売に使用料またはその他の料金を必要としないものとします。

3)派生著作物-ライセンスは、変更と派生著作物を許可する必要があり、元のソフトウェアのライセンスと同じ条件でそれらを配布できる必要があります。

5)人またはグループに対する差別の禁止-ライセンスは、個人またはグループを差別してはなりません。

6)努力の分野に対する差別の禁止-ライセンスは、特定の努力の分野でプログラムを利用することをだれも制限してはなりません。たとえば、プログラムをビジネスで使用したり、遺伝子研究に使用したりすることを制限することはできません。

私が読んでみると、これは非常に明らかなようです。特にMITライセンスを使用して何かをオープンソースとしてリリースすると、誰かが自由にソフトウェアを入手し、変更し、パッケージ化し、好きなように販売することができます。彼らがあなたの著作権表示を削除せず、それが自分のsole作品であると主張しない限り。

執筆者として、あなたは明示的にうるさくて選択しやすい権利をあきらめています。あなたはあなたのソフトウェアから恩恵を受けることができる人または何を決定したり、それを利用したりすることはできません、そして彼らがそれを使用している理由を決定することもできません。あなたは明示的にその権利を放棄します。

これは、自分が行ったものの使用と変更を制御および制限する必要がある法的権利を明示的に放棄することにより、より良い利益に貢献しているという考えです。 MicrosoftがFluffBallプロジェクトをフォークし、WindowsSpongeCakeとしてシートあたり$ 2kで販売したい場合は、可能です。そもそも、プロジェクトの重要なポイントは何でもやりたいことを人々にさせていませんか?

あなたが単一の開発者または資金のない小さな開発者グループである場合、そのような状況を回避することは可能ですか?

やや!最初に、あなたとあなたの組織の目標と欲望にふさわしいライセンスを使用してください。誰もが承認しない方法でそれを使用してほしくない場合は、おそらくそれをオープンソースとしてリリースするべきではありません-率直に言って、それをまったくリリースすべきではありません!商用プロジェクトで誰かが派生物(フォークなど)を使用したくない場合は、おそらく GPLのコピーレフトバージョン を使用する必要があります。非営利のライセンスが必要な場合は、著作権/ライセンスの弁護士に助言を求める必要があります。これは、多くの場合「オープンソース」ソフトウェアとは見なされておらず、このケースをサポートする事前に作成された主要なライセンスがないためです。

XamarinとCocoのkerfuffleの問題は、倫理や合法性の問題ではありません。それは、互いに牛肉を持っている少数の人々の間のインターネットの戦いに関するものです。私たちは皆人間です、それは起こります。これは、おそらく人格の衝突またはプロジェクトの処理方法に関する互換性のないビジョンが原因で、コラボレーション/協力できなくなった結果であると思われます。

したがって、もう1つの防御方法はコラボレーションと変更に対してオープンですが、それがうまくいかず、ビジョンが異なる場合は、まあ、それがフォークして独自のプロジェクトを持つオプションの理由であることを理解してください。

ソフトウェアプロジェクトを非常に複雑なものにすることは、所有権と人気の感情にとって非常に人間的で理解可能です。しかし、オープンソースの目標は、それを超越して、すべての人が最高のソフトウェアを自由に利用できるようにすることです。

結論として、ライセンスを決定するときは目標を明確にし、それがプロジェクトの将来の管理と方向性に与える影響を理解してください。より良いものに寄付したいだけなら、オープンソースがよい方法です。プロジェクトをより厳しく管理し、所有権を持ち、少なくとも誰かがプロジェクトをマーケティングまたは自社に吸収しようとする場合(部分的または全体的に)訴訟を起こす場合は、別のライセンスが必要であり、おそらく弁護士に相談してください。

73
BrianH

MITライセンスの下でプロジェクトをリリースすることは、プロジェクトをフォークする許可を人々に与えることです。フリーソフトウェアの背後にある哲学の一部は、ユーザーと開発者にソフトウェアを使用、変更、リリースする権利を与えることです通常は許可されない方法です。他の人にこれを行わせたくない場合は、MITライセンスを使用しないでください。人々があなたがそれらに与えたライセンスの条件。

フォークはフリーソフトウェアコミュニティで起こることはかなり普通のことです。フォークの開発者が元のプロジェクトに貢献しようとしたようですが、同意しなかったため、代わりに独自のプロジェクトに貢献しました。フリーソフトウェアはこれを奨励しているので、所有者は彼らの変更を好まないからといって、開発者がソフトウェアを変更するのを妨げられません。

また、フリーソフトウェアライセンスの下で何かをリリースすることにより、他の人の貢献、別のライセンスの下にあった場合には得られなかった貢献から利益を得ることができます。ライセンスに基づく寄付を受け入れる場合は、ライセンスの条件を自分で尊重する必要があります。

公式バージョンの管理を維持する1つの方法は、商標などに依存することです。たとえば、Mozilla CorporationはFirefoxの商標を持っています。これにより、Firefoxはオープンソースであっても、Firefoxで何ができるかを指示することができます(この分岐についてはIceweaselを参照してください)。

LGPLのような他のライセンスでもフォークは許可されていますが、コードは開いたままにしておきます。このようにして、少なくともフォークからの変更を元のプロジェクトに組み込み、フォークでの開発から利益を得ることができます。 LGPLコードは任意のMITライセンスコードを使用できるため、プロジェクトをより詳細に制御したい場合は、代わりにLGPLを使用できます。

121
fgb

私はそれを非倫理的とは言いません。私はそれを非スポーツマンライクと呼びます。フォークを決定する前に元のバージョンを改善するために誠実な努力を払うと書いてない期待があり、元の作者は誠実な努力がなされなかったと感じているようです。

そうは言っても、ソフトウェアがフォークされないようにするためのbest方法は、ソフトウェアができるだけ広くアピールできるような方法で顧客の要求に対応することです。オリジナルが優れていることを知っていれば、誰もフォークをサポートしません。それを除いて、あなたの唯一の保護はライセンス条項を変更することです。

18
Karl Bielefeldt
  • Xamarinの行動とその行動の仕方は倫理的でしたか?

多くの人々が法的および倫理的状況を混乱させています。 X11ライセンス は、誰でも「ソフトウェアのコピーを使用、コピー、変更、マージ、公開、配布、サブライセンス、および/または販売することを許可し、ソフトウェアが提供されている人にそれを許可することを許可します。 「これは間違いなく合法です。

倫理的には、もっと複雑です。オープンソースコミュニティでは、一般に、フォークを作成するよりも元のソフトウェアを改善する方が望ましいと考えられています。 あなたが与えたリンク で、ミゲル・デ・イカザは言う:

ご存知のように、Cocos2D-XNAに広範囲に貢献し、私たちは共同作業を続けることができませんでした。

共同作業ができなくなった時点で、下位互換性を犠牲にして、プロジェクトを希望する方向に進めることにしました。

彼らが「共同作業できなかった」理由は明らかではありませんが、Xamarinがフォークする前に元のプロジェクトに取り組むために妥当な努力をしたようです。

  • あなたが単一の開発者または資金のない小さな開発者グループである場合、そのような状況を回避することは可能ですか?

法的には、ソースコードの再配布を禁止することで、フォークを許可しないライセンスを使用することを選択できます(この時点では、「フリーソフトウェア」ではありません)。別のオプションは、コードを邪魔されないままにすることですが、画像や非コードテキストなどの静的アセットの再配布を許可しません(一部のゲームにはこのようなライセンスがあります)。

社会的には、次の方法でフォークを防止できます。

  • 人々がプロジェクトの変更を簡単に投稿できるようにします。
  • パッチをすばやくレビューします。
  • 直接メリットのない変更を許可する。
  • 丁寧にする。驚くべき数のフォークは、貢献者が互いに協力する気がなくなったためです。

ソフトウェアのフォークは大変な作業であり、より簡単なオプションがあれば、ほとんどの正気な人はそれをしません。他に選択の余地がない場合は、コードをフォークしないようにすると、他の人のコードをフォークするか、ソフトウェアをゼロから書き直すように強制されます。それはそれらを遅くするかもしれませんが、それは実際にはあまり役に立ちません。

また、より制限の厳しいライセンスを使用すると、一部の人々が貢献する可能性が低くなります。 Xamarinは明らかに「Cocos2D-XNAに広く貢献した」ようで、ライセンスで許可されていない場合は再配布できなかったと思います。

11
Brendan Long

Xamarinが行ったことは合法的かつ倫理的です...ほとんど。

コミットを見てみましょう ライセンスのフィックスアップとreadme)のその他のタイプミスの修正

LicenseAndCredit.txt(差分)

-Copyright (c) 2010-2012 cocos2d-x.org
-
-Copyright (c) 2008-2010 Ricardo Quesada
-Copyright (c) 2011      Zynga Inc.
-Copyright (c) 2011-2012 openxlive.com
-Copyright (c) 2012      Totally Evil Entertainment, LLC
-Copyright (c) 2012      Gena Minchuk
-Copyright 2012 Xamarin Inc
+Copyright (c) The Cocos2D-XNA Team

全体の要件は1つだけですMITライセンス:

上記の著作権表示とこの許可通知は、ソフトウェアのすべてのコピーまたは実質的な部分に含まれるものとします。

そして、Xamarinはまさに禁止されたことを行いました。 Xamarinは、上部に著作権表示を少なくすることでライセンスを「きれい」にすると考えているかもしれませんが、「冗長性」を削除する許可(法的または倫理的)がありません。

もちろん、ライセンスファイルを修正した場合は、再び法的領域に入ります。元のライブラリの作者は同意しないかもしれませんが、彼はライセンスの選択をしました、そして、彼が彼らがライセンスが明示的に許可することをしたことを誰にも責めることはできません。

10
Athari

合法性は、注意深く観察することを選択した人に必要な通知と改訂履歴を提供することでカバーされているとしても、フォークが出荷するコードの作者について誤った結論を人々が引き出せるようにするのは不愉快です。ですから、Xamarinのプレゼンテーションは非倫理的かもしれませんし、そうでないかもしれませんが、それが判断の根拠だと思います。

ライセンスは、コードを使用するための許可と、コードのコピーに関連する著作権表示を含めるための要件を定めています。それはすべてかなり低いレベルです。誰が何に貢献したかを公に要約する方法については説明していませんが、それはライセンスの範囲外であり、legal契約の一部ではないからといって、何かが成功するわけではありませんethically。倫理はさまざまですが、正当な理由があるとすれば正直なところ、非常に広く受け入れられている原則であるため、これを怠ると犯罪が発生する理由は簡単にわかります。

みんなが言うように、MITライセンスにフォークを防ぐ意図はないので、それはそれ自体が非倫理的ではありません。「自分のものとしてブランドを変える」が「信用の公の主張をする」というコードである場合、 tに値する」、そしてそれが本当なら非倫理的であることを確認してください。

それがあなたに起こるのを防ぐことに関して:あなたがあなたのコードが彼らのものであるとほのめかしている誰かの状況を避けたいなら、あなたは信用を主張するときに大きな声が必要です。誰かがコードのフォークを作成して、最終的に元のコードよりも人気が高まる可能性がある状況を回避したい場合(リソースが多いか、「適切な」ユーザーニーズに集中しているため)、私はあなたが不在だと思いますOSSの運の。別のグループがあなたが望むものとは異なるソフトウェアの機能を望んでいるかどうか、そして(ユーザーの観点から)あなたが間違っている場合は、最初にそこにあるかどうかに関係なく失うべきであるかどうかを決めることはできません。これは、作者がソフトウェアを制御しない、それを実行する人々が制御するという、主要なオープンソースの原則(または適切にはフリーソフトウェアの原則)の結果です。

4
Steve Jessop

商標トピックの拡張:

Apache Software Foundationでは、すべてのコードがALです。そして、ここで議論されているBSDライセンスと同様に、ALがフォークを許可していることは完全に明らかです。限目。議論の終わり。実際、他の回答で説明されているように、all真のオープンソースライセンスはフォークを許可します。彼らが制御するのは、フォークされたコードのライセンス/使用法だけです。

Apache財団は、商標の登録と防御を選択しました。財団プロジェクト以外のエンティティがフォークした場合、「Apache Tomcat」、それは問題ありません... ただし、Apache Tomcatとは呼ばれません、そしてマークを守ることができるとき、彼らは呼び出すことができませんそれTomcat

ここでの問題は、商標が気の弱い人のためではないことです。法的構造も資金もない少人数のグループの場合、実際には、商標法を使用して名前を保護することはできません。

結局のところ、このようなことが、さまざまな基盤が存在する理由の1つです。

倫理的な観点から言えば、寄稿者の間に内部の分裂がある場合、誰が名前を維持するのに「相応しい」と言えるでしょうか?一方、部外者がフォークする場合、名前を変更しないままにすることはおそらく世界で最も倫理的なことではありません。それも厄介な行為ではありません。

Githubはfork of forksです。名前やJavaパッケージなど、特にMavenセントラルにパブリッシュしたい場合は変更することがあります。多くの場合、変更は行われず、ユーザーは混乱の迷路を進んでいます。それは理想的ではありませんが、それは無政府状態の破綻です。

2
bmargulies