「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

OSS(オープンソースソフトウェア)

pointこの用語のポイント

pointソフトだよ

pointソースコードが公開されているよ

point改造や再配布が自由だよ

point細かい部分はライセンスの種類によって違うよ

point「OSS」と表現された場合は「Open Source Software」の略だよ

スポンサーリンク

簡単に書くよ

OSS(オープンソースソフトウェア)(英:open-source software)とは

自分が作るソフトの元ネタとして使えるソフト。
もう少し辞書的な意味を書くと

人間語で書いたプログラムの元ネタ(ソースコード)が公開されていて「中身を改造したり、改造したものを配ったりしてもOKですよ!」なソフトのこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

ソースコード
ライセンス
オープンソース


について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

ソースコードは「人間語で書いたプログラムの元ネタ」です。

オープンソースソフトウェア(OSS)

プログラムを作って動かすまでの一般的な流れは

1.人間語でプログラムの元ネタを書く
2.元ネタを人間語から機械語に翻訳する
3.翻訳された指示に従って、コンピュータさんが お仕事する


です。

オープンソースソフトウェア(OSS)2

コンピュータさんは人間語が分かりません。

オープンソースソフトウェア(OSS)3

人間様はコンピュータさんの言葉が分かりません。

オープンソースソフトウェア(OSS)4

プログラムは人間様が作るものです。
そこで最初は人間様が分かる言葉でプログラムを作ります。
コンピュータさんに対する「あれをやれ」「これをやれ」な命令を人間語で書くのです。

オープンソースソフトウェア(OSS)5

次に人間語で書いたプログラムの元ネタをコンピュータさんが分かる言葉に翻訳します。
実際に お仕事をするのは、コンピュータさんですからね。
コンピュータさんが分かる言葉に変換する必要があるのです。

オープンソースソフトウェア(OSS)6

コンピュータさんが分かる言葉に翻訳したので、コンピュータさんは命令の内容を理解できます。
指示に従って、お仕事をしてくれるでしょう。

オープンソースソフトウェア(OSS)7

かなり簡略化した説明ですけどね。
これがプログラムを作るときの流れです。

この話で登場した

人間語で書いたプログラムの元ネタ

を「ソースコード」と言います。

オープンソースソフトウェア(OSS)8

ライセンスは「どこまで、やっていーよ」な権利です。
とはいえ、今回はソフトウェアのライセンスについて話します。
「そのソフトに対して、どこまで やっていーよ」な権利と解釈してください。

例えば、ぴよぴよライセンスが あったとしましょう。
ぴよぴよライセンスは「改造するのは自由にやって良いけど、それを人にあげるのはダメだよ」なライセンスです。

オープンソースソフトウェア(OSS)9

ピヨ太君が、ぴよぴよライセンスの付いた「ぴよぴよソフト」を手に入れました。

オープンソースソフトウェア(OSS)10

ぴよぴよライセンスは「改造するのは自由にして良い」ライセンスです。
ピヨ太君は、ぴよぴよソフトを改造して「スーパーぴよぴよソフト」を作りました。

オープンソースソフトウェア(OSS)11

完成したスーパーぴよぴよソフトは中々の自信作です。
ピヨ子さんにも使わせてあげましょう。

オープンソースソフトウェア(OSS)12

はい!ダメ!
ぴよぴよライセンスは「人にあげちゃダメだよ」なライセンスです。
ピヨ太君はスーパーぴよぴよソフトをピヨ子さんに あげられません。

オープンソースソフトウェア(OSS)13

このような「コレはして良いけど、コレはしちゃダメだよ」言い方を変えると「どこまで、やっていーよ」を規定したルール(お約束事)がライセンスです。

ソフトウェアのライセンスであれば、例えば

・使って良いか
コピーして良いか
・改造して良いか
再配布して良いか
・販売して良いか
著作権表示を削除して良いか


のような項目に対して、それぞれ「いーよ」「ダメだよ」が決められています。

オープンソースは「ソースコードが一般に公開されていること」です。
文字通り「ソース(コード)オープン」になっている状態を指します。
ソフトの中身(ソースコード)を誰でも見られる状態です。

オープンソースソフトウェア(OSS)14

あるいは、ソースコードが公開されていて「あなたの好きなように自由に使っておくれ」なライセンスを指して「オープンソース」と表現している場合も あります。
改造するのが自由だったり、再配布するのが自由だったり、あーだこーだが うんちゃらかんちゃらな決まり事です。

オープンソースソフトウェア(OSS)15

細かい部分まで見ていくと、オープンソースの中身は意外とややこしかったりします。
気楽に考えて「ライセンス違反でした~」なんてなったら笑えません。
できれば他のところで情報を補完してください。

オープンソースソフトウェア(OSS)16

以上を踏まえて

ソフトの中身(ソースコード)が公開されていて「あなたの好きなように自由に使っておくれ」となっているソフト

が「オープンソースソフトウェア」です。
「OSS」と表現されることも あります。

オープンソースソフトウェア(OSS)17

「OSS」と表現された場合は「Open Source Software(オープン・ソース・ソフトウェア)」の略です。
気が向いたら、覚えてあげてください。

オープンソースソフトウェア(OSS)18

※「Open-Source Software」を何となく日本語にすると「オープンソースのソフト」となります。[詳細]

オープンソースソフトウェアは自由に使えるソフトです。
ソースコードを見て「ふんふん、こんな仕組みなのか」と勉強してもOKです。
中身を改造したり、改造したのを配ったりしてもOKです。
自分が作るソフトの元ネタとして使ったりもできます。
オープンソースソフトウェアをもらってきて、自分好みに使い勝手を調整したり、それを配ったりもできるわけです。

……というのが大雑把で基本的な説明です。

実際には、そこまでフリーダムでは ありません。
一口に「オープンソース」と言っても、いろいろなライセンスがあるのです。
ライセンスの種類によって許可されていることや禁止されていること、その他 守らなくてはいけないことが微妙に違ったりします。

例えば「WordPress(ワードプレス)」というソフトがあります。
WordPressは大雑把に言えばブログソフトです。
WordPressを自分のホームページに置くと、自前のブログとして使えます。

WordPressはオープンソースソフトウェアです。
無料で使えますし、中身が公開されているので自分で改造したりもできます。

ただし、WordPressは「GPL」と呼ばれるライセンス形態になっています。
詳細は省きますが、GPLには

再配布する物もGPLライセンスにしろ

な条件があります。

仮にピヨ太君がWordPressを改造した「PiyopiyoPress」を作ったとしましょう。

オープンソースソフトウェア(OSS)19

このPiyopiyoPressは(何らかの形で公にするならば)中身を公開しなくては いけません。
ピヨ太君が個人で使う分には不要ですけどね。
もしピヨ子さんに売ったとしたら、ピヨ子さんに「中身を見せなさい!」と言われたときに断れません。
「えー、ボクが頑張って作ったんだから内緒にしておきたいよー」は通用しないのです。

オープンソースソフトウェア(OSS)20

このように、ライセンスの種類によって様々な縛りがあったりなかったりします。
オープンソースソフトウェアだからといって「何でもフリーダム!」では ないのです。
基本的に

1.ソースコードが公開されている
2.改造とかは自由にやってOK


は共通だと思いますけどね。
細かい部分はライセンスの種類によって変わってきます。

使うだけの場合は、そこまで気にしなくても大丈夫ですけどね。
改造したり配ったりしたい人はライセンスの中身をしっかり確認してください。


image piyo2

一言でまとめるよ

まぁ「オープンソースソフトウェア(OSS)」って単語が出てきたら「中身が公開されていて改造したり配ったりしてOKなソフトなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像056
書籍画像019

おまけ

■訳してみるよ

「open(オープン)」の意味は「開く」とか「開かれている」とか「始める」とかです。
「source(ソース)」の意味は「源」とか「起源」とか「根源」とかです。
「soft(ソフト)」の意味は「柔らかい」とか「軟らかい」とかです。
「ware(ウェア)」という接尾辞が付くと「製品」とか「商品」的な意味になります。
何となく くっつけると

源が開けた、柔らかい製品

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
優れたエンジニアがコミュニティの中でしていること
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践