見出し画像

見たことありますか?アプリの「ライセンス」

普段はあまり意識しないが、ほとんどのアプリには「ライセンス」というページがある。主に設定の画面に小さく載っていることが多い。InstagramやLINEといった有名なアプリにもこれが存在するのだが、これが一体何なのか説明するにはちょっとした舞台裏を知る必要がある。

車輪の再発明

タイマーやログインの機能などはどのアプリでもよく見る機能だろう。しかし一から作るとなると案外これらは難しく、時間もかかる。さらにこれらは別に作りたいアプリ独自のものでもない。

勉強のためにあえて取り組む場合は別だが、ほとんどの場合はこのようなことは避けなくてはならない。時間の浪費というだけではなく作業の負担をいたずらに増やしてしまうことにもなるからだ。

このように既にあるものをわざわざ最初から作ることを「車輪の再発明」といい、プログラミングにおける開発では特に注意すべき失敗の一つとされている。

ライブラリの活用

そこですでに出来上がったものを再利用した方が効率がいいということになる。そこでライブラリというものがある。これは簡単にいうと再利用したり応用したりできるようにされたプログラムのことである。

例えばMessegeKitというライブラリがある。これを使えばLINEなどのようなチャットの機能と見た目をすぐに追加できる。もしこの助けなしにチャットを作ろうとすると、機能はもちろん吹き出しの形まで自分で考えなくてはならない。

オープンソース

これらライブラリはほとんどオープンソースである。オープンソースとは無償で一般公開され、一定の条件内で自由な利用を認められているもののことである。

画像でいうフリー素材のようなものと考えてもいいかもしれない。条件と言っても、基本的にその規制は緩めになっている。その帰属を示しているのが先ほどの「ライセンス」のページなのである。つまり、これを見ればそのアプリがどんなライブラリを使っているかがわかる。

またオープンソースのもうひとつの特徴は、誰でもその改良に参加できる仕組みがあるところである。専門的な用語が多くなってしまうので詳しい説明は省くが、インターネット上における公共のもの、といったように捉えてもらうとわかりやすいと思う。

Web3.0との関わり

最近何かと話題になっている「Web3.0」という用語があります。詳しい定義はともかく、これもオープンソースの考えに影響を受けているところがある。

Web3.0はいわゆる中央集権、つまり企業の独占よりも広く人々へ分散することを目指している。少々理想主義的にも聞こえるが、これは技術者がオープンソースという、協力によって成し遂げた成功体験があったからこそ踏み切れたものだと言える。

先述のように大企業のアプリやサービスも人々の公共物とも言えるライブラリで成り立っているというのは事実である。無償で誰でも使えるものが現実に完成しているということを踏まえると、これを拡張してWeb3.0の掲げる理想も実現することができそうに思えるのである。

自由の限界

オープンソースはインターネットの自由の素晴らしさを象徴するようなものだが、当然弱点も存在する。自由な分、義務がないということである。

例えばプログラムに改善点が見つかったとしよう。参加者といってもボランティアなので直す義理はない。他のことで忙しいならそちらを優先したって構わない。そうなると最初の開発者、プロジェクトの管理者に負担が集中することになる。しかし彼らも結局は無償なのだから、放置していたからといって責められない。

このように問題点ばかりが残ったまま放置されたものは多くある。煎じ詰めればボランティアなのだから、いつまでも改良や修正が行われるという保証はないのだ。もちろん「作者をサポート」する仕組みも存在している。しかし個人への募金のような形式であるため安定は見込めない。

ハンナ・アレントが「制作」について述べていたように、技術者は昔のギルドのように公の組織を作ることもできる。ただし現実世界に存在できるものと、データに過ぎないプログラムでは差が大きい。これについては本題から逸れるのでまた別の記事で考えようと思う。

オープンソースにまつわる考えは確かに魅力的である。平等や自由も実現できるかもしれないが、現時点では問題も抱えている。この折り合いをつけるのがWeb3.0の課題になるだろう。

「ライセンス」の意味

ほとんどの人にとって「ライセンス」のページは意味のないものである。しかしそこには人々の想いや未来への期待も詰まっている。もし時間があれば使い慣れたそのアプリの舞台裏を覗いてみて欲しい。

この記事が参加している募集

いただいたご支援は書籍の購入に充てたいと考えています。よろしければサポートよろしくお願いします。