これですべての情報がそろいました。「bb̲type」属性で指定した値は「bbutto nTypeMap」に登録された「BootstrapTypes」クラスを取り出すためのキーとし て利用されていました。「BootstrapTypes」は背景のdrawableと文字色を持つ クラスで、このクラスが持つ値を使ってViewの表示色などを変更していることがわか りました。
少し大変だったかと思います。しかしソースを読むことによって「bb̲type」属性 の役割がわかっただけでなく、「表示を属性値によって簡単に切り替える仕組み」
がどのように実現されているかもわかりました。また「bb̲type属性の値の種類が7 つあること」や「角丸表示の設定があること」や「enumクラスの使い方の参考」など も得られました。ソースコードを読むことで非常に多くの学びが得られます。
Androidアプリケーションで利用するライブラリーのほとんどはオープンソースで す。前項で「Android-Bootstrap」のカスタム属性を調べることができたのも
「Android-Bootstrap」がオープンソースだからです。オープンソースのソフトウェ アには「オープンソースライセンス」が定義されています。オープンソースのソフトウェア を利用する場合、「オープンソースライセンス」に記載されている条件に従う必要が あります。
オープンソースライセンスには沢山の種類があります。本項では近年のオープン ソースのライブラリーでよく利用されている「Apache License 2.0」、「MIT Lice nse」に加え、コピーレフトという思想に則った「GPLライセンス」について簡単に解 説します。
リスト21:BootstrapButton.java(41行目以降)
41: static{
42:
43: bbuttonTypeMap = new HashMap<String, BootstrapTypes>();
44:
45: bbuttonTypeMap.put("default", BootstrapTypes.DEFAULT);
46: bbuttonTypeMap.put("primary", BootstrapTypes.PRIMARY);
47: bbuttonTypeMap.put("success", BootstrapTypes.SUCCESS);
48: bbuttonTypeMap.put("info", BootstrapTypes.INFO);
49: bbuttonTypeMap.put("warning", BootstrapTypes.WARNING);
50: bbuttonTypeMap.put("danger", BootstrapTypes.DANGER);
51: bbuttonTypeMap.put("inverse", BootstrapTypes.INVERSE);
-省略
外部 ライ ブラ リー の利 と用 作成 17第 章
GNU General Public License(GPLライセンス)
「GPLライセンス」は「オープンソース」という概念が提唱される時代より前に作ら れたライセンスのひとつです。ライセンス条項はコピーレフトの思想に則っています。コ ピーレフトは著作権(コピーライト)を保持したまま、すべての者がその著作物の利
用、再頒布、改変ができなければならないという考え方です。
このため、「GPLライセンス」を持ったオープンソースのライブラリーを利用する場 合、ライブラリーを利用したアプリケーションのソースコードにも「GPLライセンス」が適 用されます。つまりそのアプリケーションのソースコードも公開しなければならないという ことになります。
Apache license 2.0
「Apache license 2.0」は、「Apacheソフトウェア財団(ASF)」が策定した オープンソースライセンスです。「Apache license 2.0」ではソースコードの開示義
務はありません。
「Apache license 2.0」ライセンスのライブラリーに「NOTICE」ファイルが含ま れている場合、その内容についてアプリケーション上で表示する必要があります。多 くのアプリケーションでは「NOTICE」ファイルの有無に関係なくライブラリー名、著
作権者、ライセンス条項を表示する場合が多いです。
MITライセンス
「MITライセンス」は、「マサチューセッツ工科大学」が公開したオープンソースラ イセンスです。非常にシンプルなライセンスで原文も20行程度しかありません。
利用にあたっては、著作権表示と許諾表示を行う必要があります。「MITライセ ンス」もソースコードの開示義務はありません。
ライセンスを確認しよう
以上、代表的なオープンソースライセンスについてざっくり説明をしました。オープ ンソースライセンスには様々な種類があり、それぞれで条件が異なります。オープン ソースのライブラリーを利用する時は、必ずライセンスの確認をし、守るべき条件を確 認しましょう。図25は、「Apache license 2.0」や「MITライセンス」の著作権表 示や許諾表示の例です。既存のアプリケーションがどのようにオープンソースライセ ンスを取り扱っているか参考にするとよいでしょう。
図25:オープンソースの著作権表示、許諾表示の例
外部 ライ ブラ リー の利 と用 作成 17第 章
1.Android-Bootstrapを使ってプロフィール画面を作ってみましょう。
Android-Bootstrapのコンポーネントを使ってプロフィール画面を作ってみましょ う。以下の図26の例は「BootstrapButton」「FontAwesomeText」「Boots
trapCircleThumbnail」を使っています。この例を再現してもよいですし、独自に デザインしても構いません。
2.Android-Bootstrapのライセンスを調べてみましょう。
「Android-Bootstrap」のライセンスの種類は何か、利用にあたって何をしなけ ればならないか調べてみましょう。