Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ライセンスの追加 #2

Open
fa0311 opened this issue Apr 1, 2024 · 15 comments
Open

ライセンスの追加 #2

fa0311 opened this issue Apr 1, 2024 · 15 comments

Comments

@fa0311
Copy link

fa0311 commented Apr 1, 2024

現在、このプロジェクトには詳細なライセンスファイルが提供されていないため、ライセンスファイルを追加することを要求します。

また、プレスリリースにはライセンスに関して矛盾した文章が含まれております。
それらを解消するために、Open Source Initiativeが承認したオープンソースライセンスの適用を要求します。

なお、IchigoJam BASIC のオープンソース化にあたり、ご注意いただきたい点は以下のとおりです。
未改変のIchigoJam BASIC を当社の許可なく別の名前で配布すること
改変したIchigoJam BASIC を当社の許可なく別の名前で配布すること
改変したIchigoJam BASIC を当社の許可なくIchigoJam BASIC として配布すること

https://www.b-incorp.com/press/202404011000/

@vbkaisetsu
Copy link

補足すると、オープンソースの定義に従うと、オープンソースソフトウェアは二次的著作物を同一ライセンスのもとで配布することを許可している必要があります。

  1. Derived Works

The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.

しかし、IchigoJam BASICの配布条件によると、改変した版を自由に配布することが不可能であり、オープンソースの定義に矛盾します。(「注意いただきたい」というのは意図がやや不明瞭ですが、「禁止する」の意味合いで使われていると解釈できます)

また、GitHubではリポジトリのフォークが容易なため、現状のライセンスのままGitHubで公開し続けることで利用者が意図せずライセンス違反をしてしまう危険性があります。

@tats-u
Copy link

tats-u commented Apr 1, 2024

改変したIchigoJam BASIC を当社の許可なく別の名前で配布すること

これの禁止がOSSとして認めるには致命的です。

これを認めない限りただのソースアベイラブル止まりです。

  • ライセンス改悪に対抗してその直前のバージョンをフォーク
  • 打ち捨てられたソフトウェアをフォーク・改名後開発引き継ぎ
  • 元創始者が現行の開発元の方針に反発してフォーク

という事例はいくつもあり、それを自由に認めなければなりません。

  • Terraform→OpenTofu
  • LXD→Incus
  • GitBook→HonKit
  • GotoBLAS→OpenBLAS
  • MySQL→MariaDB
  • Nginx→freenginx

他はOSSライセンスに類似条項があるのでノーカンとします。

未改変のIchigoJam BASIC を当社の許可なく別の名前で配布すること

  • zlibライセンス・パブリックドメイン系以外の大半のOSSはクレジット表示義務があるので阻止できる
  • zlibライセンスでは出所不当表示禁止
  • GPL系・MPLはソース開示義務があるので旨味がない

改変したIchigoJam BASIC を当社の許可なくIchigoJam BASIC として配布すること

  • SIL OFL(フォント用)では名前変更義務(予約フォント名指定時)
  • zlibライセンスはオリジナル偽装禁止
  • Apache License 2.0では改変内容の表示義務あり
  • GPLは改変通知義務あり?

↑ただしフォークして修正パッチ作っただけで違反しかねません。問題があるなら商標違反で訴えればいいのでは?


あと、GPL系と商用ライセンスのデュアルライセンスの例はまずまずあります。
「ソース公開したくなかったら(リバースエンジニアリングを禁じたかったら)金払え」というスタイルですね。

  • FFTW
  • Qt
  • Pleasanter
  • MySQL

@kou1okada
Copy link
Contributor

kou1okada commented Apr 1, 2024

捕捉しますと、ソースを公開すればオープンソースだという認識は、典型的な誤りです。
OSS (Open Source Software) を名乗るには、OSD (Open Source Definition) に適合するライセンスを適用する必要があります。
詳細は以下の記事が参考になると思います。

OSS を名乗りたい場合、最も手軽な手段は OSI Approved Licenses (邦訳) のいずれかを選択して適用する事です。
OSD に適合するライセンスを新たに作文すると、ライセンスの作文や読解に新たなコストを支払う必要があるため、低コストで公開・利用できるという OSS のメリットの一部がスポイルされます。

なお、「ライセンスが明示されていないのは、どんなライセンスよりも厳しいライセンスだ。」という有名な指摘があります。

プレスリリースではオープンソース化と言われていますが、現在このリポジトリ単体ではライセンスが明示されていませんので OSS と言うよりも、上記で指摘される最も厳しいライセンスに近い状態と言えるかもしれません。

10周年のお祝いに水を差すような事を書いてしましましたが、10周年とオープンソース化の決断による新たな門出にお祝い申し上げます。

@taisukef
Copy link
Contributor

taisukef commented Apr 1, 2024

詳細なコメント、ありがとうございます!
ライセンス、追加しました

@kou1okada
Copy link
Contributor

プレスリリース、特に「当社の許可」や「譲渡(有償無償は問わない)目的で利用する際」の行はMITライセンスで示されている条件と齟齬が生じているように思います。混乱が生じ得ますのでプレスリリースにも修正を加える必要があろうかと思います。

@taisukef
Copy link
Contributor

taisukef commented Apr 1, 2024

ありがとうございます
プレスリリースも修正予定です

@tats-u
Copy link

tats-u commented Apr 1, 2024

補足

MITライセンスはクレジット載せて自己責任なら誰でも自由に使ったり改変したりしていいよという寛容寄りのライセンスです。

また、共通事項としてOSSでは商売そのものの禁止や改変の禁止はできません。例えばCC-BY-NCやCC-BY-NDはOSSライセンスではありません。GPLなど(ただしSSPLのように過激化するとOSSから外されてしまいます)のようにソースコード開示義務で商売として成り立ちにくくするのが唯一の対抗手段となります。
それでもRHELなど商売として成り立っているケースもあります。

OSSライセンスを採用しない場合、「オープンソース化」ではなく「ソースコード公開」が適切な表現です。

@zonuexe
Copy link

zonuexe commented Apr 2, 2024

@vbkaisetsu

また、GitHubではリポジトリのフォークが容易なため、現状のライセンスのままGitHubで公開し続けることで利用者が意図せずライセンス違反をしてしまう危険性があります。

これに関してはGitHubのTerms of Serviceで「5.他のユーザーへのライセンス付与」として許可されているため、フォークするだけであればGitHubの利用規約内の行為です。

イシュー、コメント、他のユーザーのリポジトリへの投稿など、お客様が公に投稿したユーザー生成コンテンツは、他のユーザーが閲覧することができます。 リポジトリをパブリックに表示するように設定することにより、お客様は、他者がお客様のリポジトリを表示および「フォークする」ことを許可することに同意するものとします (これは、他者がお客様のリポジトリから自らが管理するリポジトリに独自のコピーを作成できるということです)。

@fa0311
Copy link
Author

fa0311 commented Apr 3, 2024

ライセンスの追加とプレスリリースの修正の対応、ありがとうございます。
1点、気になる点があるので質問させていただきます。

未改変のIchigoJam BASIC を当社の許可なく別の名前で配布すること

これを、「ご注意いただきたい点」として挙げているのは何か特別な理由があるのでしょうか?
MITライセンスや商標権に違反していないと思いますが、他に制約があるのでしょうか?

@tats-u
Copy link

tats-u commented Apr 3, 2024

改変したIchigoJam BASIC を当社の許可なく別の名前で配布すること

これを消しただけだとzlibライセンス相当の防御力しかないので、権利表記同梱義務(MITなど)など追加の条件を記すことを推奨します。

未改変のIchigoJam BASIC を当社の許可なく別の名前で配布すること

おそらくオリジナルと偽ることを禁止したいだけではないでしょうか?「別の名前でオリジナルと偽って配布すること」やMITライセンス流の「権利表記を消したり同梱しないこと」に書き換えるとよいのではないでしょうか?

改変したIchigoJam BASIC を当社の許可なくIchigoJam BASIC として配布すること

「オリジナル(未改変)のIchigoJam BASICと偽って配布すること」「改変内容を記さずに配布すること」の方が自然ですが、MITではカバーできないのでライセンス変更を検討ください。(Apache LicenseやGPL系など)

IchigoJam BASICを譲渡(有償無償は問わない)目的で・・・150円

権利表記して自己責任なら自由というMITの条件に反します。金儲けをする場合はサポートで取る(OSSの利用は基本自己責任です。フリーライダーはモルモットや人柱)、GPL系と商用ライセンスとのデュアルにしてソース開示したくない利用者に有料ライセンス契約を迫る、ボードの購入や再販などにIchigoJam BASICの利用目的を制限する追加の(エンドユーザー)ライセンス契約を必須とする(互換OSへの流用を禁じたRHELが参考となりますが更改直後は批判の的になっていました)などの追加手段が必要となります。

@tats-u
Copy link

tats-u commented Apr 3, 2024

改変したIchigoJam BASIC を当社の許可なく別の名前で配布すること

これを消しただけだとzlibライセンス相当の防御力しかないので、権利表記同梱義務(MITなど)など追加の条件を記すことを推奨します。

未改変のIchigoJam BASIC を当社の許可なく別の名前で配布すること

おそらくオリジナルと偽ることを禁止したいだけではないでしょうか?「別の名前でオリジナルと偽って配布すること」やMITライセンス流の「権利表記を消したり同梱しないこと」に書き換えるとよいのではないでしょうか?

改変したIchigoJam BASIC を当社の許可なくIchigoJam BASIC として配布すること

「オリジナル(未改変)のIchigoJam BASICと偽って配布すること」「改変内容を記さずに配布すること」の方が自然ですが、MITではカバーできないのでライセンス変更を検討ください。(Apache)

IchigoJam BASICを譲渡(有償無償は問わない)目的で・・・150円

権利表記して自己責任なら自由というMITの条件に反します。金儲けをする場合はサポートで取る(OSSの利用は基本自己責任です。フリーライダーはモルモットや人柱)、GPL系にしてソース開示したくない利用者に有料ライセンス契約を迫る、ボードの購入や再販などにIchigoJam BASICの利用目的を制限する追加の(エンドユーザー)ライセンス契約を必須とする(互換OSへの流用を禁じたRHELが参考となりますが更改直後は批判の的になっていました)などの追加手段が必要となります。

個人的な疑問:商用なら(A)GPLのみ、無償なら加えてzlib(またはMIT)も選択可みたいなデュアルライセンスはOSSライセンスとして適切?

@kou1okada
Copy link
Contributor

kou1okada commented Apr 3, 2024

ビジネス的には Copyleft 系と商用のデュアルライセンスの形が一番無難な気がしますがどうなのでしょう。
ただし、Copyleft 系のコードに対して提供された patch を商用版に反映させようとした場合、逆にライセンス的な問題が生じる可能性があります。
このため、提供された patch を商用版に反映させても問題ない条件の下で提供することに同意を求めるフォームを pull request template で準備されると良いのではないかと思います。

例:

以下の項目にチェックのないプルリクエストは受け付けられません。

  • 本パッチの著作権がプルリクエスト作成者にある事を保証します。
  • 本パッチを CC0 ライセンスの下で提供することに同意します。
  • 上記申告に虚偽はありません。

pull request template については以下が参考になると思います。

もちろん、著作権に関する無知や無理解、あるいは虚偽の申告や悪意を持って GPL 汚染のような事を生じさせられる可能性は残りますが。

@kou1okada
Copy link
Contributor

kou1okada commented Apr 3, 2024

IchigoJam BASICを譲渡(有償無償は問わない)目的で・・・150円

権利表記して自己責任なら自由というMITの条件に反します。

これは私も気になっているのですが、更新されたプレスリリースで示されている以下の条件

  • 未改変のIchigoJam BASIC を当社の許可なく別の名前で配布すること
  • 改変したIchigoJam BASIC を当社の許可なく別の名前で配布すること
  • 改変したIchigoJam BASIC を当社の許可なくIchigoJam BASIC として配布すること

を鑑みるに、商標権の利用料の話だろうと理解しています。
IchigoJam BASIC の名前を冠する場合の話と理解できますので、改変して IchigoJam BASIC でなくなった配布物(つまり fork)には 150 円の義務は及ばないと思いますが、この理解で正しいでしょうか?

また、MIT ライセンスでは配布自体は自由となるため、150円の義務は無体物であるソフトウェア単体の頒布では生じず、ハードウェアにデプロイして有体物になった上で IchigoJam BASIC の名前を冠した場合にのみ生じる気がしているのですが、この理解も正しいでしょうか?

万が一そうでない場合、GitHub 上で fork して、それを clone や fork される度に 150 円の支払い義務が生じてしまい大変なことになりますし、これは最早 OSS とは言えなくなりますから、上記の理解は合理的と思いますが如何でしょう?

これは、現在のところ要問合せの事項と思いますが FAQ としてあらかじめ整理されておいた方が良いと思います。

@tats-u
Copy link

tats-u commented Apr 3, 2024

Copyleft 系のコードに対して提供された patch を商用版に反映させようとした場合、逆にライセンス的な問題が生じる可能性があります。

FBやMSなどだとコントリビューターライセンス同意書(CLA)に署名させてきたりしますね、手続きの煩雑さはさておきそれで解決しそう?
まあ上2社はMITをよく使うイメージですが。

@tats-u
Copy link

tats-u commented Apr 4, 2024

[https://gist.github.com/bungoume/3031457

参考:MITライセンスの日本語訳

あとはVS Codeのように公式ビルドは別ライセンスにするという手段もあります。(VSCodiumみたいな派生物はつくられますが)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants