初めて投稿させていただきます。
C#の趣味プログラミングの経験はありますが、Macに乗り換えたことでQtプログラミングにチャレンジしているnariと申します。 現在OsXとUbuntuのQt5.6(opensource版)の環境で、cURL(MIX/Tライセンス)とTa-Lib(BSDライセンス)のライブラリをincludeした個人利用を目的とした株価チャート表示プログラムを作成しています。 C++の基本も十分理解しないままにググりながら、なんとか個人的に利用ができる程度までになりました。
銘柄変更でQGraphicViewで描画とクリアを繰り返しているうちに、表示できなくなることがあるなど幾つかの解決できていない不具 合がありますが、webにソースコードのみ(インストーラは含まず)を公開してみようかと思っています(そのうち誰かにアドバイスもらえるかもしれないと 安易に考えています)。
ソースコードをwebに公開するならば、ライセンス違反に注意が必要と思っていますが、このコードを公開できるのかがよくわかりません。 Qtで作成したライブラリ以外のコードはGPLv3にする必要があると理解しました。 MIX/Tは問題ないと思うのですがOriginalBSDの場合にはGPLと両立できないようなので、Ta-Libを利用するコードがライセンス上問題ないのかがいくら調べても確信が持てません。 そこでこのメーリングリストに質問させてもらうことにしました。
⑴Ta-Libは移動平均、MACD、RSIなどの計算に利用しています(ライブラリを利用せずに自力でコードを書くことも不可能ではないと思っていますが、速度や信頼性が課題になります)が、ホームページhttp://ta-lib.org/hdr_dev.html%E3%81%A7%E3%81%AForiginal%E3%81%8B%E4%BF%AE%E... / LGPL contribution cannot be part of the TA-Lib package.」との記載があります。 これはTa-Libを利用したコードはGPL/LGPLライセンスで投稿できないという意味でしょうか?
⑵Ta-Lib最新ソースのライセンスhttps://sourceforge.net/p/ta-lib/code/HEAD/tree/trunk/ta-lib/LICENSE.TXThttps://sourceforge.net/p/ta-lib/code/HEAD/tree/trunk/ta-lib/LICENSE.TXT を見る限りでは、この書き方は3条項修正BSDライセンスのように思えます。 修正BSDであればライセンス違反にならないと思うのですが間違っているでしょうか?
⑶SRAのホームページのFAQ http://www.sra.co.jp/qt/faq/licenses.html%E3%81%AB%E3%80%81%E3%80%8CQt のオープンソース版でソフトウェアを作成し、GNU LGPL/GPL、BSD、もしくは Artistic ライセンスでリリースしてもいいですか。」に関してはOKと記載されています。 これは、「Qt GPL 版により開発されたソフトウェアは、GPL に基づき配布しなければいけません。」と矛盾しないのでしょうか?
⑷Qtのweb上のExampleの一部はBSDライセンスになっています。⑶にも関連しますが、複数のソースファイルの中の一部のファイ ル(ライブラリをincludeしているファイル、あるいはサンプルを複製したファイル)のみをBSDライセンスでアップしても良いのでしょうか?
⑸LGPLライセンスはQtで作成したライブラリに対してのみ付与できると理解していますが間違いないでしょうか? 例えば、ライブラリではないQtプログラムをLGPLライセンスにすることができるのでしょうか?
いずれも書かれているとおりと言われそうですが、英文だけでなく法的な日本語訳も完全には理解できないものですので教えていただければありがたいです。 よろしくお願いします。
松本です。
ライセンスの話は複雑ですし、権利の問題ということもあってあまりコメントしたがらないのが常です。 特にメールのような文章で残る形だとその傾向にあります。
というわけで、ジャストコメントということで一切の責任は持てません。
1番について GPL/LGPLのコードをTA-Lib packageに入れられないよ。という意味だと思います。 当たり前ですけど、修正BSDライセンスであり続けたいのに、GPLでコントリビューション(貢献)されても使いようがないので。
2番について 3条項修正BSDライセンスだと思います。 オリジナルを触ったことがなくて知見がないので、そちらについては不明ですが。 GPLライセンスと修正BSDライセンスと関係については両立するライセンスのリストの中の1つとしてあります。 http://www.gnu.org/licenses/license-list.ja.html
3番について オープンソースのQtといえば、GPLでなくLGPLとして使うことが多いと思います。 Qtを使って書いたプログラムそのものは公開しなくても大丈夫です。 「自分のソースコードを公開したくないのです。どうすればいいですか。 」もご確認下さい。
4番について 制限なく再配布できるのが利点ですから問題ないでしょう。
5番について Qtで作成したライブラリは3番に書いたとおりなのです。 自分で書いた部分についてはLGPLとコンフリクトしないライセンスにすることができます。 コンフリクトするというのは典型的には逆アセンブル禁止とかの文句です。 プログラムを公開してみようということなので、この部分は問題になりません。 nariさんが書かれた部分についてはGPLにしてもいいし、LGPLにしてもいいし、MITや修正BSD等にも設定できると思います。 Githubですと、ライセンスの設定が簡単にできるので公開場所としてはお勧めです。 http://qiita.com/shibukk/items/67ad0a5eda5a94e5c032
ではでは。
2016年5月6日 23:59 大江成博 on52005@yahoo.co.jp:
初めて投稿させていただきます。
C#の趣味プログラミングの経験はありますが、Macに乗り換えたことでQtプログラミングにチャレンジしているnariと申します。 現在OsXとUbuntuのQt5.6(opensource版)の環境で、cURL(MIX/Tライセンス)とTa-Lib(BSDライセンス)のライブラリをincludeした個人利用を目的とした株価チャート表示プログラムを作成しています。 C++の基本も十分理解しないままにググりながら、なんとか個人的に利用ができる程度までになりました。
銘柄変更でQGraphicViewで描画とクリアを繰り返しているうちに、表示できなくなることがあるなど幾つかの解決できていない不具 合がありますが、webにソースコードのみ(インストーラは含まず)を公開してみようかと思っています(そのうち誰かにアドバイスもらえるかもしれないと 安易に考えています)。
ソースコードをwebに公開するならば、ライセンス違反に注意が必要と思っていますが、このコードを公開できるのかがよくわかりません。 Qtで作成したライブラリ以外のコードはGPLv3にする必要があると理解しました。 MIX/Tは問題ないと思うのですがOriginalBSDの場合にはGPLと両立できないようなので、Ta-Libを利用するコードがライセンス上問題ないのかがいくら調べても確信が持てません。 そこでこのメーリングリストに質問させてもらうことにしました。
⑴Ta-Libは移動平均、MACD、RSIなどの計算に利用しています(ライブラリを利用せずに自力でコードを書くことも不可能ではないと思っていますが、速度や信頼性が課題になります)が、ホームページhttp://ta-lib.org/hdr_dev.html%E3%81%A7%E3%81%AForiginal%E3%81%8B%E4%BF%AE%E... / LGPL contribution cannot be part of the TA-Lib package.」との記載があります。 これはTa-Libを利用したコードはGPL/LGPLライセンスで投稿できないという意味でしょうか?
⑵Ta-Lib最新ソースのライセンス https://sourceforge.net/p/ta-lib/code/HEAD/tree/trunk/ta-lib/LICENSE.TXT を見る限りでは、この書き方は3条項修正BSDライセンスのように思えます。 修正BSDであればライセンス違反にならないと思うのですが間違っているでしょうか?
⑶SRAのホームページのFAQ http://www.sra.co.jp/qt/faq/licenses.html%E3%81%AB%E3%80%81%E3%80%8CQt のオープンソース版でソフトウェアを作成し、GNU LGPL/GPL、BSD、もしくは Artistic ライセンスでリリースしてもいいですか。」に関してはOKと記載されています。 これは、「Qt GPL 版により開発されたソフトウェアは、GPL に基づき配布しなければいけません。」と矛盾しないのでしょうか?
⑷Qtのweb上のExampleの一部はBSDライセンスになっています。⑶にも関連しますが、複数のソースファイルの中の一部のファイ ル(ライブラリをincludeしているファイル、あるいはサンプルを複製したファイル)のみをBSDライセンスでアップしても良いのでしょうか?
⑸LGPLライセンスはQtで作成したライブラリに対してのみ付与できると理解していますが間違いないでしょうか? 例えば、ライブラリではないQtプログラムをLGPLライセンスにすることができるのでしょうか?
いずれも書かれているとおりと言われそうですが、英文だけでなく法的な日本語訳も完全には理解できないものですので教えていただければありがたいです。 よろしくお願いします。
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
nariです。
松本さん、丁寧な説明有り難うございます。 少なくとも、Ta-Libのライブラリをqtで利用するプログラムはライセンス的に問 題なさそうと理解しました。
自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できるというのが いまいち納得行かないのではありますが、 Qt自体にGitにコミットするメニューもあるようなので練習がてら GitHubに公開してみようと思います。
自分自身のコードというよりも、webからの引用(コピペ)が多いのでこれらの 部分の縛りがないかを再確認してからアップしてみたいと思います。
ただ、株価データ自体にも著作権が及ぶ可能性もあるため、株価の取得部分(k- dbというページからバックグラウンドスレッドでダウンロード)の 公開はグ レーゾーンで後々問題になる危険性もないとは言えません。 最初の質問メールに実名のまま送信してしまいました。 1回めに実名を削除してプログラムのスクリーンショットを本文に挿入したメー ルを送信したのですが、サイズ制限に引っかかったため、本文のみを新 規メー ルにコピペして送信したため実名の削除を忘れてしまいました。
webスクレイピングで株価取得のコードの公開は数多く公開されており、多少の 問題があったとしても弱小は放置されている状況だと思いますので、 そのまま 公開するつもりでいましたが躊躇しています。 失敗しました。 データ取得部分を手動でしてもらうような面倒なコードであれば、余程のマニア でなければ試してみようとは思わないですね。 実株価データではなく、仮想のサンプルデータを添付して評価するという方法に しますかね。 少し考えてみます。
松本です。
自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できるというのが いまいち納得行かないのではありますが、
本家のサンプルコードが修正BSDで配布されているのが良い例なんじゃないかなーと思います。
ではでは。
2016年5月9日 12:55 nari on52005@yahoo.co.jp:
nariです。
松本さん、丁寧な説明有り難うございます。 少なくとも、Ta-Libのライブラリをqtで利用するプログラムはライセンス的に問 題なさそうと理解しました。
自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できるというのが いまいち納得行かないのではありますが、 Qt自体にGitにコミットするメニューもあるようなので練習がてら GitHubに公開してみようと思います。
自分自身のコードというよりも、webからの引用(コピペ)が多いのでこれらの 部分の縛りがないかを再確認してからアップしてみたいと思います。
ただ、株価データ自体にも著作権が及ぶ可能性もあるため、株価の取得部分(k- dbというページからバックグラウンドスレッドでダウンロード)の 公開はグ レーゾーンで後々問題になる危険性もないとは言えません。 最初の質問メールに実名のまま送信してしまいました。 1回めに実名を削除してプログラムのスクリーンショットを本文に挿入したメー ルを送信したのですが、サイズ制限に引っかかったため、本文のみを新 規メー ルにコピペして送信したため実名の削除を忘れてしまいました。
webスクレイピングで株価取得のコードの公開は数多く公開されており、多少の 問題があったとしても弱小は放置されている状況だと思いますので、 そのまま 公開するつもりでいましたが躊躇しています。 失敗しました。 データ取得部分を手動でしてもらうような面倒なコードであれば、余程のマニア でなければ試してみようとは思わないですね。 実株価データではなく、仮想のサンプルデータを添付して評価するという方法に しますかね。 少し考えてみます。
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
hermit4です。こんばんは。
松本さんが概ね回答してくれているのですが、少しだけ補足します。
自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できるというのが いまいち納得行かないのではありますが、
本家のサンプルコードが修正BSDで配布されているのが良い例なんじゃないかなーと思います。
Qt 5.6は、以下のライセンスから選択ができます。
・Qt Commercial license (The Qt Companyへのライセンス料の支払いが必要) ・Open Source License ・GPLv3 ・LGPLv3 ・LGPLv2.1+The Qt Company Qt LGPL Exception version 1.1
Qtを利用するアプリの作成における二次的著作物(派生物)としては
(1) nariさんがQtライブラリのソースコードに対して変更を行った場合、修正されたQtライブラリ (2) nariさんがQtライブラリとリンクしたご自身で作成されたアプリケーション(もしくはライブラリ)
の2つが存在し得ます。この時
a) GPLv3を採用した場合は、(1)、(2)ともにGPLv3である必要があります(詳しくはGPLの伝播性で検索してください)。 → 「Qt GPL 版により開発されたソフトウェアは、GPL に基づき配布しなければいけません。」
b) LGPL を採用した場合は、(1)は元のライセンスが適用されるためLGPLのままですが、(2)にはLGPLに定められた一定の条 件を満たす限り、LGPLを伝播させずに(1)の利用が許諾されます。このため、(2)についてはLGPLの条件に反しない範囲で、 自由にライセンスを設定できます。 → 「自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できる」
ということで、特に矛盾はありません。
なお、LGPLv2.1とLGPLv3とではいくつかの点で異なりますが、色々話題にもなったことから、検索すると情報も出てくる かと思いますので割愛します。
また、次期バージョンとなるQt 5.7以降は、blog発表によればGPLv3がGPLv2に訂正され、LGPLv2.1+ Exceptionの選択肢が 廃止されますので以下のうちのいずれかの選択ライセンスとなるようです。
・Qt Commercial License ・Open Source License ・GPLv2 (GPLv3のままだと、GPLv2のアプリケーションと互換性がないため追加) ・GPLv3* ・LGPLv3
* GPLv3についてはQtのライセンスとして明記されていませんが、LGPLv3はGPLv3に特別な例外を設けたライセンスとなっ ているため、GPLv3のアプリケーションと両立するとされており、アプリ制作者がGPLv3を選択した場合LGPLv3の例外規 定が無視されGPLv3がそのまま適用される事になります。
以上、ご参考までに。
2016年5月9日 14:04 Naoki MATSUMOTO nekomatu@gmail.com:
松本です。
自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できるというのが いまいち納得行かないのではありますが、
本家のサンプルコードが修正BSDで配布されているのが良い例なんじゃないかなーと思います。
ではでは。
2016年5月9日 12:55 nari on52005@yahoo.co.jp:
nariです。
松本さん、丁寧な説明有り難うございます。 少なくとも、Ta-Libのライブラリをqtで利用するプログラムはライセンス的に問 題なさそうと理解しました。
自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できるというのが いまいち納得行かないのではありますが、 Qt自体にGitにコミットするメニューもあるようなので練習がてら GitHubに公開してみようと思います。
自分自身のコードというよりも、webからの引用(コピペ)が多いのでこれらの 部分の縛りがないかを再確認してからアップしてみたいと思います。
ただ、株価データ自体にも著作権が及ぶ可能性もあるため、株価の取得部分(k- dbというページからバックグラウンドスレッドでダウンロード)の 公開はグ レーゾーンで後々問題になる危険性もないとは言えません。 最初の質問メールに実名のまま送信してしまいました。 1回めに実名を削除してプログラムのスクリーンショットを本文に挿入したメー ルを送信したのですが、サイズ制限に引っかかったため、本文のみを新 規メー ルにコピペして送信したため実名の削除を忘れてしまいました。
webスクレイピングで株価取得のコードの公開は数多く公開されており、多少の 問題があったとしても弱小は放置されている状況だと思いますので、 そのまま 公開するつもりでいましたが躊躇しています。 失敗しました。 データ取得部分を手動でしてもらうような面倒なコードであれば、余程のマニア でなければ試してみようとは思わないですね。 実株価データではなく、仮想のサンプルデータを添付して評価するという方法に しますかね。 少し考えてみます。
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
nariです。
hermit4さん初めまして。 コメントありがとうございます。
Qtを利用して作成しても、(2)のようにQt自身のライブラリを修正しない範囲 での完全にオリジナルであればGPL、LGPL以外のライセンスも可能ということな のですね。意味がわかってきました。 次期バージョンからは、LGPL2.1になるのですか。こちらの違いも今のうちから 調べておきます。
ここでちょっと疑問に思いました。 サブクラスの場合は(1)の「Qtライブラリのソースコードに対しての変更」に なるのでしょうか? 機能の追加でライブラリ自体の変更には当たらないので、(2)でOKと考えます がどうでしょうか?
On 2016/05/09 23:30, Shingo Ishida wrote:
hermit4です。こんばんは。
松本さんが概ね回答してくれているのですが、少しだけ補足します。
自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できるというのが いまいち納得行かないのではありますが、
本家のサンプルコードが修正BSDで配布されているのが良い例なんじゃないかなーと思います。
Qt 5.6は、以下のライセンスから選択ができます。
・Qt Commercial license (The Qt Companyへのライセンス料の支払いが必要) ・Open Source License ・GPLv3 ・LGPLv3 ・LGPLv2.1+The Qt Company Qt LGPL Exception version 1.1
Qtを利用するアプリの作成における二次的著作物(派生物)としては
(1) nariさんがQtライブラリのソースコードに対して変更を行った場合、修正されたQtライブラリ (2) nariさんがQtライブラリとリンクしたご自身で作成されたアプリケーション(もしくはライブラリ)
の2つが存在し得ます。この時
a) GPLv3を採用した場合は、(1)、(2)ともにGPLv3である必要があります(詳しくはGPLの伝播性で検索してください)。 → 「Qt GPL 版により開発されたソフトウェアは、GPL に基づき配布しなければいけません。」
b) LGPL を採用した場合は、(1)は元のライセンスが適用されるためLGPLのままですが、(2)にはLGPLに定められた一定の条 件を満たす限り、LGPLを伝播させずに(1)の利用が許諾されます。このため、(2)についてはLGPLの条件に反しない範囲で、 自由にライセンスを設定できます。 → 「自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できる」
ということで、特に矛盾はありません。
なお、LGPLv2.1とLGPLv3とではいくつかの点で異なりますが、色々話題にもなったことから、検索すると情報も出てくる かと思いますので割愛します。
また、次期バージョンとなるQt 5.7以降は、blog発表によればGPLv3がGPLv2に訂正され、LGPLv2.1+ Exceptionの選択肢が 廃止されますので以下のうちのいずれかの選択ライセンスとなるようです。
・Qt Commercial License ・Open Source License ・GPLv2 (GPLv3のままだと、GPLv2のアプリケーションと互換性がないため追加) ・GPLv3* ・LGPLv3
- GPLv3についてはQtのライセンスとして明記されていませんが、LGPLv3はGPLv3に特別な例外を設けたライセンスとなっ
ているため、GPLv3のアプリケーションと両立するとされており、アプリ制作者がGPLv3を選択した場合LGPLv3の例外規 定が無視されGPLv3がそのまま適用される事になります。
以上、ご参考までに。
2016年5月9日 14:04 Naoki MATSUMOTO nekomatu@gmail.com:
松本です。
自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できるというのが いまいち納得行かないのではありますが、
本家のサンプルコードが修正BSDで配布されているのが良い例なんじゃないかなーと思います。
ではでは。
2016年5月9日 12:55 nari on52005@yahoo.co.jp:
nariです。
松本さん、丁寧な説明有り難うございます。 少なくとも、Ta-Libのライブラリをqtで利用するプログラムはライセンス的に問 題なさそうと理解しました。
自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できるというのが いまいち納得行かないのではありますが、 Qt自体にGitにコミットするメニューもあるようなので練習がてら GitHubに公開してみようと思います。
自分自身のコードというよりも、webからの引用(コピペ)が多いのでこれらの 部分の縛りがないかを再確認してからアップしてみたいと思います。
ただ、株価データ自体にも著作権が及ぶ可能性もあるため、株価の取得部分(k- dbというページからバックグラウンドスレッドでダウンロード)の 公開はグ レーゾーンで後々問題になる危険性もないとは言えません。 最初の質問メールに実名のまま送信してしまいました。 1回めに実名を削除してプログラムのスクリーンショットを本文に挿入したメー ルを送信したのですが、サイズ制限に引っかかったため、本文のみを新 規メー ルにコピペして送信したため実名の削除を忘れてしまいました。
webスクレイピングで株価取得のコードの公開は数多く公開されており、多少の 問題があったとしても弱小は放置されている状況だと思いますので、 そのまま 公開するつもりでいましたが躊躇しています。 失敗しました。 データ取得部分を手動でしてもらうような面倒なコードであれば、余程のマニア でなければ試してみようとは思わないですね。 実株価データではなく、仮想のサンプルデータを添付して評価するという方法に しますかね。 少し考えてみます。
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
hermit4です。
次期バージョンからは、LGPLはv3になります。ごたごたしていてわかりにくいですけど。
さて、本題。サブクラスは(2)に当たります。
C++の場合、サブクラスというより、ヘッダファイルのincludeの方がLGPL 2.1の場合は問題に なるため、Qtではincludeを許可するため、The Qt Company Qt LGPL Exception version 1.1 が定義されています。
サブクラス自体については、 「LGPLは、特に必要ないので継承について特別な規程は何もありません。継承は伝統的なリ ンクと同じ方法で派生作品を作り、LGPLはこの種の派生作品を通常の関数呼び出しに認める のと同じ方法で認めます」(http://www.gnu.org/licenses/lgpl-java.html%EF%BC%89%E3%81%A8%E3%81%95%E3%82%... 上記の文言はJavaについての記述ですが、ヘッダファイルのException条項と合わせることで、 C++でも同様となると考えて良いでしょう。
なお、LGPLv3では、LGPLv3自体にヘッダファイルの例外条項が盛り込まれています。
2016年5月10日 0:09 nari on52005@yahoo.co.jp:
nariです。
hermit4さん初めまして。 コメントありがとうございます。
Qtを利用して作成しても、(2)のようにQt自身のライブラリを修正しない範囲での完全にオリジナルであればGPL、LGPL以外のライセンスも可能ということなのですね。意味がわかってきました。 次期バージョンからは、LGPL2.1になるのですか。こちらの違いも今のうちから調べておきます。
ここでちょっと疑問に思いました。 サブクラスの場合は(1)の「Qtライブラリのソースコードに対しての変更」になるのでしょうか? 機能の追加でライブラリ自体の変更には当たらないので、(2)でOKと考えますがどうでしょうか?
On 2016/05/09 23:30, Shingo Ishida wrote:
hermit4です。こんばんは。
松本さんが概ね回答してくれているのですが、少しだけ補足します。
自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できるというのが いまいち納得行かないのではありますが、
本家のサンプルコードが修正BSDで配布されているのが良い例なんじゃないかなーと思います。
Qt 5.6は、以下のライセンスから選択ができます。
・Qt Commercial license (The Qt Companyへのライセンス料の支払いが必要) ・Open Source License ・GPLv3 ・LGPLv3 ・LGPLv2.1+The Qt Company Qt LGPL Exception version 1.1
Qtを利用するアプリの作成における二次的著作物(派生物)としては
(1) nariさんがQtライブラリのソースコードに対して変更を行った場合、修正されたQtライブラリ (2) nariさんがQtライブラリとリンクしたご自身で作成されたアプリケーション(もしくはライブラリ)
の2つが存在し得ます。この時
a) GPLv3を採用した場合は、(1)、(2)ともにGPLv3である必要があります(詳しくはGPLの伝播性で検索してください)。 → 「Qt GPL 版により開発されたソフトウェアは、GPL に基づき配布しなければいけません。」
b) LGPL を採用した場合は、(1)は元のライセンスが適用されるためLGPLのままですが、(2)にはLGPLに定められた一定の条 件を満たす限り、LGPLを伝播させずに(1)の利用が許諾されます。このため、(2)についてはLGPLの条件に反しない範囲で、 自由にライセンスを設定できます。 → 「自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できる」
ということで、特に矛盾はありません。
なお、LGPLv2.1とLGPLv3とではいくつかの点で異なりますが、色々話題にもなったことから、検索すると情報も出てくる かと思いますので割愛します。
また、次期バージョンとなるQt 5.7以降は、blog発表によればGPLv3がGPLv2に訂正され、LGPLv2.1+ Exceptionの選択肢が 廃止されますので以下のうちのいずれかの選択ライセンスとなるようです。
・Qt Commercial License ・Open Source License ・GPLv2 (GPLv3のままだと、GPLv2のアプリケーションと互換性がないため追加) ・GPLv3* ・LGPLv3
- GPLv3についてはQtのライセンスとして明記されていませんが、LGPLv3はGPLv3に特別な例外を設けたライセンスとなっ
ているため、GPLv3のアプリケーションと両立するとされており、アプリ制作者がGPLv3を選択した場合LGPLv3の例外規 定が無視されGPLv3がそのまま適用される事になります。
以上、ご参考までに。
2016年5月9日 14:04 Naoki MATSUMOTO nekomatu@gmail.com:
松本です。
自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できるというのが いまいち納得行かないのではありますが、
本家のサンプルコードが修正BSDで配布されているのが良い例なんじゃないかなーと思います。
ではでは。
2016年5月9日 12:55 nari on52005@yahoo.co.jp:
nariです。
松本さん、丁寧な説明有り難うございます。 少なくとも、Ta-Libのライブラリをqtで利用するプログラムはライセンス的に問 題なさそうと理解しました。
自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できるというのが いまいち納得行かないのではありますが、 Qt自体にGitにコミットするメニューもあるようなので練習がてら GitHubに公開してみようと思います。
自分自身のコードというよりも、webからの引用(コピペ)が多いのでこれらの 部分の縛りがないかを再確認してからアップしてみたいと思います。
ただ、株価データ自体にも著作権が及ぶ可能性もあるため、株価の取得部分(k- dbというページからバックグラウンドスレッドでダウンロード)の 公開はグ レーゾーンで後々問題になる危険性もないとは言えません。 最初の質問メールに実名のまま送信してしまいました。 1回めに実名を削除してプログラムのスクリーンショットを本文に挿入したメー ルを送信したのですが、サイズ制限に引っかかったため、本文のみを新 規メー ルにコピペして送信したため実名の削除を忘れてしまいました。
webスクレイピングで株価取得のコードの公開は数多く公開されており、多少の 問題があったとしても弱小は放置されている状況だと思いますので、 そのまま 公開するつもりでいましたが躊躇しています。 失敗しました。 データ取得部分を手動でしてもらうような面倒なコードであれば、余程のマニア でなければ試してみようとは思わないですね。 実株価データではなく、仮想のサンプルデータを添付して評価するという方法に しますかね。 少し考えてみます。
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
nariです。
hermit4さん回答ありがとうございます。 松本さんとhermit4さんのおかげでライセンスの考え方が少しわかってきました。
今までは、ライセンスに関してはほとんど意識していなかったので勉強になりま した。 斜め読みではなくて、少なくともGNUの和訳は全て目を通しておかなければダメ ですね。
今後ともよろしくお願いします。
On 2016/05/10 0:32, Shingo Ishida wrote:
hermit4です。
次期バージョンからは、LGPLはv3になります。ごたごたしていてわかりにくいですけど。
さて、本題。サブクラスは(2)に当たります。
C++の場合、サブクラスというより、ヘッダファイルのincludeの方がLGPL 2.1の場合は問題に なるため、Qtではincludeを許可するため、The Qt Company Qt LGPL Exception version 1.1 が定義されています。
サブクラス自体については、 「LGPLは、特に必要ないので継承について特別な規程は何もありません。継承は伝統的なリ ンクと同じ方法で派生作品を作り、LGPLはこの種の派生作品を通常の関数呼び出しに認める のと同じ方法で認めます」(http://www.gnu.org/licenses/lgpl-java.html%EF%BC%89%E3%81%A8%E3%81%95%E3%82%... 上記の文言はJavaについての記述ですが、ヘッダファイルのException条項と合わせることで、 C++でも同様となると考えて良いでしょう。
なお、LGPLv3では、LGPLv3自体にヘッダファイルの例外条項が盛り込まれています。
2016年5月10日 0:09 nari on52005@yahoo.co.jp:
nariです。
hermit4さん初めまして。 コメントありがとうございます。
Qtを利用して作成しても、(2)のようにQt自身のライブラリを修正しない範囲での完全にオリジナルであればGPL、LGPL以外のライセンスも可能ということなのですね。意味がわかってきました。 次期バージョンからは、LGPL2.1になるのですか。こちらの違いも今のうちから調べておきます。
ここでちょっと疑問に思いました。 サブクラスの場合は(1)の「Qtライブラリのソースコードに対しての変更」になるのでしょうか? 機能の追加でライブラリ自体の変更には当たらないので、(2)でOKと考えますがどうでしょうか?
On 2016/05/09 23:30, Shingo Ishida wrote:
hermit4です。こんばんは。
松本さんが概ね回答してくれているのですが、少しだけ補足します。
自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できるというのが いまいち納得行かないのではありますが、
本家のサンプルコードが修正BSDで配布されているのが良い例なんじゃないかなーと思います。
Qt 5.6は、以下のライセンスから選択ができます。
・Qt Commercial license (The Qt Companyへのライセンス料の支払いが必要) ・Open Source License ・GPLv3 ・LGPLv3 ・LGPLv2.1+The Qt Company Qt LGPL Exception version 1.1
Qtを利用するアプリの作成における二次的著作物(派生物)としては
(1) nariさんがQtライブラリのソースコードに対して変更を行った場合、修正されたQtライブラリ (2) nariさんがQtライブラリとリンクしたご自身で作成されたアプリケーション(もしくはライブラリ)
の2つが存在し得ます。この時
a) GPLv3を採用した場合は、(1)、(2)ともにGPLv3である必要があります(詳しくはGPLの伝播性で検索してください)。 → 「Qt GPL 版により開発されたソフトウェアは、GPL に基づき配布しなければいけません。」
b) LGPL を採用した場合は、(1)は元のライセンスが適用されるためLGPLのままですが、(2)にはLGPLに定められた一定の条 件を満たす限り、LGPLを伝播させずに(1)の利用が許諾されます。このため、(2)についてはLGPLの条件に反しない範囲で、 自由にライセンスを設定できます。 → 「自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できる」
ということで、特に矛盾はありません。
なお、LGPLv2.1とLGPLv3とではいくつかの点で異なりますが、色々話題にもなったことから、検索すると情報も出てくる かと思いますので割愛します。
また、次期バージョンとなるQt 5.7以降は、blog発表によればGPLv3がGPLv2に訂正され、LGPLv2.1+ Exceptionの選択肢が 廃止されますので以下のうちのいずれかの選択ライセンスとなるようです。
・Qt Commercial License ・Open Source License ・GPLv2 (GPLv3のままだと、GPLv2のアプリケーションと互換性がないため追加) ・GPLv3* ・LGPLv3
- GPLv3についてはQtのライセンスとして明記されていませんが、LGPLv3はGPLv3に特別な例外を設けたライセンスとなっ
ているため、GPLv3のアプリケーションと両立するとされており、アプリ制作者がGPLv3を選択した場合LGPLv3の例外規 定が無視されGPLv3がそのまま適用される事になります。
以上、ご参考までに。
2016年5月9日 14:04 Naoki MATSUMOTO nekomatu@gmail.com:
松本です。
自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できるというのが いまいち納得行かないのではありますが、
本家のサンプルコードが修正BSDで配布されているのが良い例なんじゃないかなーと思います。
ではでは。
2016年5月9日 12:55 nari on52005@yahoo.co.jp:
nariです。
松本さん、丁寧な説明有り難うございます。 少なくとも、Ta-Libのライブラリをqtで利用するプログラムはライセンス的に問 題なさそうと理解しました。
自分でQtを用いて作成したコードは、MITや修正BSD等にも設定できるというのが いまいち納得行かないのではありますが、 Qt自体にGitにコミットするメニューもあるようなので練習がてら GitHubに公開してみようと思います。
自分自身のコードというよりも、webからの引用(コピペ)が多いのでこれらの 部分の縛りがないかを再確認してからアップしてみたいと思います。
ただ、株価データ自体にも著作権が及ぶ可能性もあるため、株価の取得部分(k- dbというページからバックグラウンドスレッドでダウンロード)の 公開はグ レーゾーンで後々問題になる危険性もないとは言えません。 最初の質問メールに実名のまま送信してしまいました。 1回めに実名を削除してプログラムのスクリーンショットを本文に挿入したメー ルを送信したのですが、サイズ制限に引っかかったため、本文のみを新 規メー ルにコピペして送信したため実名の削除を忘れてしまいました。
webスクレイピングで株価取得のコードの公開は数多く公開されており、多少の 問題があったとしても弱小は放置されている状況だと思いますので、 そのまま 公開するつもりでいましたが躊躇しています。 失敗しました。 データ取得部分を手動でしてもらうような面倒なコードであれば、余程のマニア でなければ試してみようとは思わないですね。 実株価データではなく、仮想のサンプルデータを添付して評価するという方法に しますかね。 少し考えてみます。
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users
Qt-users mailing list Qt-users@qt-users.jp http://qt-users.jp/mailman/listinfo/qt-users