2015年7月11日土曜日

Qtの紹介







Qt(キュート)の概要を紹介する。とはいっても,利用する際に気になるポイントだけをwikipediaから抜粋し,記載した。
QtはC++言語で書かれたアプリケーション・ユーザインタフェース (UI) フレームワークである。
wikipediaより引用(https://ja.wikipedia.org/wiki/Qt)
商用版とオープンソース版があり,今回はオープンソース版をインストールする。

オープンソース版はGPLまたはLGPLが適用される。
GPLおよびLGPLに関する説明は以下のとおり。



GPL(GNU General Public License)
GPLは、プログラム(日本国著作権法ではプログラムの著作物)の複製物を所持している者に対し、概ね以下のことを許諾するライセンスである。
  1.     プログラムの実行
  2.     プログラムの動作を調べ、それを改変すること(ソースコードへのアクセスは、その前提になる)
  3.     複製物の再頒布
  4.     プログラムを改良し、改良を公衆にリリースする権利(ソースコードへのアクセスは、その前提になる)
GPLは二次的著作物についても上記4点の権利を保護しようとする。この仕組みはコピーレフトと呼ばれ、GPLでライセンスされた著作物は、その二次的著作物に関してもGPLでライセンスされなければならない。これはBSDライセンスをはじめとする緩やかなフリーソフトウェアライセンス(英語版)が、二次的著作物を独占的なものとして再頒布することを許しているのとは対照的である。
wikipediaより引用(https://ja.wikipedia.org/wiki/GNU_General_Public_License)
LGPL(GNU Lesser General Public License)
LGPLは次のことを保証する。この内容はGPLでも保証されている権利の一部である(このことからGPLよりも弱いコピーレフト性を持つ)。
  1.     社内など私的組織内部や個人で(private)利用するにあたってのソースコード改変、再コンパイルには制限がない。
  2.     LGPLで頒布されたプログラムを再頒布する際にはソースコードを公開する必要がある。

LGPLで頒布されたライブラリAについて、

  1.     コンパイル時にライブラリAに(動的・静的に関わらず)リンクされる可能性のあるプログラムBのソースコードについてはLGPLを適用する必要は無く、その頒布の制限にも関与しない
  2.     ライブラリAにリンクしたプログラムBを頒布する場合、Bのライセンスにリバースエンジニアリングを禁止する条項を含めてはならない。(LGPLv2第6節、LGPLv3第4節)
  3.     ライブラリAに静的リンクしたプログラムBを頒布する場合、Bのソースコードまたはオブジェクトコードの頒布に制限があってはならない。(LGPLv2第6節a、LGPLv3第4節d0)
  4.     ライブラリAを改変して作成されたライブラリA'を頒布する場合、A'のライセンスはLGPLまたはGPLである必要がある。
wikipediaより引用(https://ja.wikipedia.org/wiki/GNU_Lesser_General_Public_License)
GPLとLGPLの相違点
GPLとLGPLの主な相違点は、後者が、フリーソフトウェアかプロプライエタリ・ソフトウェアかどうかに関わらず、非(L)GPLなプログラムにリンクされ得る(ライブラリの場合は「そのようなプログラムによって利用され得る」)というものである。この非(L)GPLプログラムはそれが二次的著作物(derivative work)ではない場合、任意の条項のもと頒布(distribution; 配布)してもよい。二次的著作物である場合は、LGPLv2.1第6節またはLGPLv3第4項の条項により、「顧客(カスタマー)自身の利用のための改変ならびにそのような改変をデバッグするためのリバースエンジニアリング」を許諾する必要がある。これは、GPLのように常に二次的著作物を同一の許諾条項に置くライセンスとは異なり、常に同一の許諾条件に置くとは限らないことを示している。LGPLなプログラムを利用する著作物が二次的著作物か否かは法的な問題である。ライブラリに動的リンク(すなわち共有ライブラリやダイナミックリンクライブラリなどによるリンク)する単体の実行ファイルは、法的に二次的著作物ではないと解釈される可能性がある。その場合、ライブラリにリンクするプログラムは、LGPLv2.1における第5パラグラフ(Section 5. 第5節)、または同等の内容のLGPLv3第4項(Section 4.)に定義されている「ライブラリを利用する著作物」に該当する。
wikipediaより引用(https://ja.wikipedia.org/wiki/GNU_Lesser_General_Public_License)
開発環境
クロスプラットフォームの統合開発環境 Qt Creator、GUI エディタの Qt Designer、翻訳支援ツールの Qt Linguist、リファレンスドキュメントビューアの Qt Assistant 等の開発支援ツールが付属しており、これらを使用することで高速な開発が可能となっている。
wikipediaより引用(https://ja.wikipedia.org/wiki/Qt)

なお,商用版の販売については,日本では SRA やアイ・エス・ビーが,Qt 関連サービスの提供も含めて行っている。


今回はオープンライセンス版を利用するため,LGPLのライセンス形態に則り,開発物を取り扱う。したがって,コア技術になる部分はライブラリだと中身を開示する義務が発生するので,DLLで作成し適宜読み込む開発形式をとる。

0 件のコメント:

コメントを投稿