WEBサイトを制作するときに知っておきたいオープンソースの話

WEBサイトを制作する時に今は0からソースコードを組むことはほぼないと言ってもいいくらい、様々なフレームワークと呼ばれるアプリやライブラリが使われています。それらはオープンソースとして公開されているため、フレームワークは自由に利用ができる仕組みになっています。

オープンソースとは何か?

通常ソースコードは著作権があります。
無断でそのままコードを利用すると著作権侵害となってしまいますので、利用許諾(ライセンス)をもらうことで著作権をもつ人以外が使うことが出来るのですが、毎回許諾を得るとなるとお互いに煩わしいですよね。

そこでプログラミングの世界でオープンソースという考え方が生まれました。

オープンソースの定義

以下の定義に準拠したライセンスがオープンソースとして扱われます。

1.再配布の自由を認める

2.ソースコードを含めて配布する

3.派生ソフトウェアの配布を許可する

4.作者のソースコードの完全性

5.個人やグループに対する差別をしない

6.使用分野に対する差別をしない

7.プログラムに付随する権利は再配布される全ての人に適用する

8.特定の製品に依存したライセンスにしない

9.他のソフトウェアを制限するライセンスにしない

10.ライセンスはテクノロジーに中立である

https://opensource.org/osdより引用

1つ誤解を生みやすいのですが、オープンソースは何でも自由にできるという意味ではないということを留意する必要があります。あくまで自由な利用を許諾しているものですので商標権や著作権は当然ありますし、著作権者の定めたルールに従う必要があります。

コピーレフト

オープンソースを語る際にはまずコピーレフトへの理解が必要です。

コピーレフトとは、著作物の権利に関する考え方の一つで、著作物の自由な利用・改変・再配布を認め、また、そこから派生した著作物についてこれらの行為を制限してはならないとするもの。

IT用語辞典より引用(https://www.gnu.org/licenses/copyleft.ja.html

コピーレフトは誰でも自由に使っていいし改変して売ってもいいとされていますが、パブリックドメインとは異なり、著作権自体を放棄したものではないため利用にあたっては下記の点を遵守する必要があります。

  • 必ず著作権表示をすること
  • コピーレフトを組み込んだ二次的著作物は同様にコピーレフトすること
  • 自由な使用、改変、再配布を制限しないこと
  • 配布する時はソースコードも一緒に公開すること

二次的著作物に対しても同じコピーレフトを要求するこの仕組みはかなり強引にも見えますがソースコードを公開することで、利用者にバグの修正や機能改善などしてもらうことが出来るというわけです。

ちなみにこのコピーレフト、実はコピーライトをモジって作られた言葉です。
Copyrightの「right」の文字は「権利」という意味ですが、綴りは「右」という意味の「right」と同じですよね。これをもじっての「左」という意味の「left」としたものなんですね。

オープンソースはこのコピーレフトを採用しているものと非コピーレフトのものがあります。

コピーレフト型のGPLライセンス

コピーレフト型のライセンス形態として代表的なものにGPLがあります。代表的なものにWordPressがGPLとして公開されています。公式サイトでも明確に記載されています。

GPLは正確にいうとGNU General Public License(一般公衆利用許諾書)といい、GPLと理念の元となるGNUでは以下の4つの自由を認め、いかなる制約も認めていません。

どんな目的に対しても、プログラムを望むままに実行する自由

どんな目的に対しても、プログラムを望むままに実行する自由

ほかの人を助けられるよう、コピーを再配布する自由

改変した版を他に配布する自由

四つの基本的な自由(GNUオペレーティング・システム

GPLは前述の通りコピーレフトですので、GPLを利用してつくられた二次的著作物にも同様にGPLが求められます

GPLライセンスのいかなる制約もないということが、営利で事業を行うIT企業にとっては扱いづらい要因にもなっています。

WordPressテーマのライセンス

WordPressの派生物であるテーマのライセンスは、テーマディレクトリのstyle.cssに記載されています。以下は公式テーマ「Twenty Twenty-Two」のライセンス表記です。

/*
Theme Name: Twenty Twenty-Two
Theme URI: https://github.com/wordpress/twentytwentytwo/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Built on a solidly designed foundation, Twenty Twenty-Two embraces the idea that everyone deserves a truly unique website. The theme’s subtle styles are inspired by the diversity and versatility of birds: its typography is lightweight yet strong, its color palette is drawn from nature, and its layout elements sit gently on the page. The true richness of Twenty Twenty-Two lies in its opportunity for customization. The theme is built to take advantage of the Full Site Editing features introduced in WordPress 5.9, which means that colors, typography, and the layout of every single page on your site can be customized to suit your vision. It also includes dozens of block patterns, opening the door to a wide range of professionally designed layouts in just a few clicks. Whether you’re building a single-page website, a blog, a business website, or a portfolio, Twenty Twenty-Two will help you create a site that is uniquely yours.
Requires at least: 5.9
Tested up to: 5.9
Requires PHP: 5.6
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentytwo
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments
Twenty Twenty-Two WordPress Theme, (C) 2021 WordPress.org
Twenty Twenty-Two is distributed under the terms of the GNU GPL.
*/

引用:wentytwentytwo/style.css

ライセンス欄に「GNU General Public License v2 or later」と記載されています。これはWordPressと同じライセンスでGPLのversion2かそれ以降という意味です。

今はversion3まで策定されていますので、このソースを利用した派生物はversion2か3を任意で選択して決めることができるという意味になります。

但し、WordPressのテーマでGPLの効果が及ぶのはPHPのコードであるとされており、CSSやその他含まれる画像等については自作のテーマやプラグイン等ではスプリットライセンスと言ってGPL以外を選択することも可能です。

この場合に利用者は、著作者に無許可で再配布等や再販を行ったりすることはできません。

非コピーレフト型のMITライセンス

GPLとは対象にコピーレフトに準拠しないオープンソースもあります。代表的なものにMITライセンスがあります。

ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。 作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。

The MIT License:Licensing (GitHub) - オープンソースグループ・ジャパンによる日本語参考訳(https://ja.wikipedia.org/wiki/MIT_License

このライセンスは以下の特徴があります。

  • 作者や著作権者は何の保証も責任も負わない
  • 二次的著作物のソースコードの公開義務がない
  • 二次的著作物に独自のライセンスを定めることができる

ちなみにMITライセンスはマサチューセッツ工科大学が起源となっているため、その名前になっており、MITライセンスはコピーレフトに準拠せず、二次的著作物に独占的なライセンスを含めて提供することができますそのため営利企業にも使われやすく、流通しやすいライセンスと言えます。

このライセンスはWEB制作に長く利用されてきたjQueryをはじめ、最近よく使われているReact.js、vue.jsと言ったjavascriptフレームワークに多く採用されています。

オープンソースは必ずライセンスを確認して使おう

オープンソースのフレームワークを利用することで、私たちWEBサイト制作者が複雑な表現を手軽に実現できたり、制作の効率を上げることができるようになりました。

ただオープンソースはルール無用で使えるものではありません。新しいフレームワークを導入する時は必ずライセンスも確認するようにしましょう。