フリーソフトウェアの定義
フリーソフトウェアにはきちんとした国際上の定義があります。
現在では「フリーソフトウェア」=「無料ソフト」という認識が多くなりました。
れはインターネット上からソフトウェアをダウンロードするのが当たり前になり、有料・無料を区別するために、サーバー管理会社が「フリーソフトウェア」=「無料ソフト」というように区別したためです。そのためフリーフリーソフトウェアとは「ただで使えるソフト」だとほとんどの人は思っていると思います。
しかし、厳密に言えば「フリーソフトウェア」=「無料ソフト」ではありません。フリーソフトウェア」というのはいくつかの条件が満たしていなけば「フリーソフトウェア」とは言えないことになります。
この「フリーソフトウェア」の定義はGUNプロジェクトとフリーソフトウェア財団(FSF)という団体で提唱しており、この条件が満たされて初めて「フリーソフトウェア」といいます。
その定義の内容は次の通りとなっていますが、あくまでも「提唱」であり、法律上こうなっているというわけではありません。また、ここで記載されてあったからといって問題が起きてもこのサイトでは責任については一切関与しません。あくまでも「提唱」ですのでご理解下さい。
1.「フリーソフトウェア」で問題とするのはいわゆる「自由」であり価格ではないこと。
この「自由」とはすなわち、各個人に与えられた「権利=自由」のことを意味し、「ご自由にどうぞ」などで使われる「価格」のことではありません。
この「自由=フリー」は使用者がソフトウェアを実行、複製、頒布、研究、変更、そして改良する自由のことになります。
▲フリーソフトは「自由」を意味する
ここで、「どこの誰にでも自由に再頒布することができるのが自由だ」という内容には、頒布手数料や許可を求めたり許可を得るためにお金を払ったりする必要が無いということも含まれています。
そのため現在では「フリーソフトウェア=無料のソフト」という意味で使用されています。
しかし、単に無料だけでなくきちんとした条件がないと完全な「フリーソフトウェア」とは言えません。
詳しく説明すると定義上では、「フリーソフトウェア」の自由は次の4つの自由を意味しております。
- 1.目的を問わず、プログラムを実行する自由 (第 0 の自由)。
- 2.プログラムがどのように動作しているか研究し、そのプログラムに あなたの必要に応じて修正を加え、採り入れる自由 (第 1 の自由)。
- 3.身近な人を助けられるよう、コピーを再頒布する自由 (第 2 の自由)。
- 4.プログラムを改良し、コミュニティ全体がその恩恵を受けられるよう あなたの改良点を公衆に発表する自由 (第 3 の自由)。
この4つのフリーソフトウェアの定義がありますが、ここで重要なのは、この定義を満たすとすれば、「ソースコードの配布」もしくは「ソースコードが入手可能状態であること」が前提条件となっていることです。
((第 1 の自由)や(第 3 の自由))
つまり、ユーザーが再配布したり、ソフトウェアを変更して使用することが出来るのがフリーウェアとなります。また、ソースコードを改変して配布するのも可能になります。
フリーウェアの場合先ほど表記した通り、「自由」=価格ではないと表記しましたが、ソフトを配布するのにコピーにかかった費用(媒体費用)が発生し、その値段になったとしても、上記の自由の定義が満たされれば「フリーソフトウェア」となります。
▲フリーソフトの4つの自由
2.商用・非商用を問わない。団体・会社に左右されない。
上記の自由の定義にもつながりますが、「フリーソフトウェア」は商用として使用しても良いということです。また、商用開発しても良いということです。
先ほどの「再配布・修正」の自由につながりますが、元のプログラムを開発修正して商用化し、販売しても良いということになります。また、プログラムの一部に組み込むこともOKとなります。
この「フリーソフトウェア」は使用する自由があると共に、「自己責任で使用する」というのが大前提になります。
「フリーソフトウェア」の定義の大前提は「自由に」とのことですが、使用する目的が「悪いこと」ではればまた別問題になります。
GUNプロジェクトとフリーソフトウェア財団(FSF)では「フリーの商用ソフトウェアは極めて重要」と表記しており、商用のフリーソフトウェアは商用利用や商用開発に貢献するものだと言っております。
これらの「提唱」については現在は義務化ではありません。当然「著作権はどうなの?」という意見も多数あるかと思います。
しかし、本来の「フリーソフトウェア」というのはだれでも「自由」に使い、それにより情報社会に貢献してもらうことを意味していると思います。開発側もこの点をよく理解し、作成されたソフトに対しどういう権利が発生するかといったのを明記しなければならないと思います。
発行側に権利がある場合、安易に「フリーソフトウェア」と明記せず、きちんとソフト内に権利の主張を文章を明記し、「無料だけど開発権利は開発側にある」ことを主張したほうがいいと思います
▲ソフト作成時には権利を明確に
オープンソースの定義
オープンソースプログラムはデジタル社会の発展に欠かせません。
「フリーソフトウェア」に良く似た「オープンソース」というのがあります。「オープンソース」とは、単にソースコード公開されて入手可能プログラムという意味ではありません。
「オープンソース」であるプログラムの配布条件は以下の基準があり、それを満たしている必要があります。
- 1. 再配布の自由
- 雑誌の付録のプログラム集やハードのプリインストールなど販売あるいは無料で配布することに対し、開発側は制限を設けないことです。
- 2. ソースコードの配布
- ソースコード(プログラムの原本)の配布は実行ファイルとともに配布しなければなりません。もし、実行ファイルのみの配布の場合はソースコードの入手方法をはっきり明記させなければなりません。ソースコードの配布の場合は、インターネットを通じての無料ダウンロードが一番望ましいですが、ソースコードを複製に要するコスト額と同程度の費用で入手できる方法も認められています。また、ソースコードは暗号化や意図的にわかりににくくするのは認められていません。
- 3. 派生ソフトウェア
- 元のソースコードを変更し新しいプログラムを配布する場合、元のソフトウェアと同じ条件(オープンソースであること)で配布しなければなりません。
オープンソースを変更して新しいソフトウェアを作成した場合、新しいソフトウェアもオープンソースとなります。
- 4. 作者のソースコードの完全性
- セキュリティの修正などのプログラムパッチを配布する場合に限り、ソースコードの配布を制限することが出来ます。この場合、修正パッチの内容などを明確にしなければなりません。また、修正された側のプログラムに異なる名前やバージョン番号を義務付けることができます。
- 5. 個人やグループに対する差別の禁止
- 特定の個人や団体に使用を禁止することは認められません。
- 6. 使用する分野に対する差別の禁止
- 特定の分野のプログラムの使用を禁止してはいけません。
- 7. ライセンスの分散
- プログラムの中のサービス等の権利についてはプログラムが再配布された人全員に等しく認められていなければなりません。特定の機能だけ制限を設けてはいけないということになります。
- 8. 特定製品でのみ有効なライセンスの禁止
- オープンソースプログラムの一部と別のプログラムを一緒に配布した場合、「別のプログラムの一部」だと理由で開発側に権利があると主張し、制限を設けてはなりません。プログラムが再配布される全てのユーザーが、元のオープンソースのソフトウェアと同等の権利があります。
- 9. 他のソフトウェアに干渉するライセンスの禁止
- オープンソースと別のプログラムと一緒に配布する場合、別のプログラムの配布条件の制限を設けてはいけません。
オープンソースのプログラムの定義はフリーソフトウェアとほとんど似た定義となりますが、特に「配布条件」に関しての自由さが求められます。
フリーソフトウェア」は「使用する自由・研究や変更する自由」に対し、「オープンソース」は「ユーザーへ配布する自由」が求められます。
上記のことから先ほども記載したとおり、プログラムの作成の場合きちんとした権利を記載する必要があります。ただし、オープンソースを改変して作成した場合はあくまでも「オープンソース」ということになり、この「オープンソース」の定義は現在世界中でも通用している定義ですので気をつけてください。
▲オープンソースの定義
3.シェアウェアについて
シェアウェアソフトはサポートの有無が重要
シェアウェアとは「使用者と開発費を分担する」というソフトです。そのため配布ソフトには費用負担・分担を促す為に機能制限を行う事が多くなっています。
シェアウェアのソフトはフリーソフトと違い、開発者側に権利が発生します。シェアウェアの場合、サポートやプログラムのバグ修正、互換性の維持などのアフターサポートをどの程度行うかというのは開発側がが自由に設定することが出来ます。中にはアフターサポートを行わないという事も出来ますが、シェアウェアの場合多くのユーザーに長く使用させるためには、商用のパッケージソフトウェアと同様にサポートを長く行う必要があります。
シェアウェアソフトの場合、サポートの負担の重さや維持の難しさから、シェアウェアというスタンスをあきらめてフリーソフトウェアに変更となるものも多く存在しています。特に、ユーザー側の使用環境と開発側に使用環境の違いよって考慮していなかったバグの問題の発生の解決が一番難しいようです。そのため修正サポートをあきらめて、自己責任で使用という意味でフリーソフトウェアとなる場合が多いようです。
よくある機能制限には、次のようなものがあります。
- 保存や印刷などのデータ出力の制限。
- 表示や印刷などの生成物に透かし文字などを強制的に上書きされる。
- 一定の使用期間または起動回数を超えると使用不能になる。
- 一部の利便性の高い機能が使用不能となる。(試用期間後に機能制限となるか、もしくは無料の場合は低機能で追加ライセンス購入で高機能となる)
- 未払いである旨のメッセージを起動時表示されるか、一定時間ごとにメッセージが表示される。
- ソフトウェアの一部に別広告があり、必ずクリックしないと機能しない。もしくはライセンス購入で広告を非表示になる。
最初は個人開発の趣味や副業のために作成されたものが多く、どちらかといえばアクセサリーなどサブ的なものが多くありました。
しかし最近では製品ソフトとは変わらない多機能のものがあり、プログラムによっては製品以上の機能ものがあります。
しかも、普通の製品版は1万円から数十万円するものに対し、シェアウェアのソフトは数千円で済むといったことから、ユーザーは個人だけではなく、各企業などさまざまな分野で使用されてきております。そのことから、現在のシェアウェアソフトは通常の製品と似たようなサポート体制が必要になってきております。
なお、シェアウェアソフトであっても機能制限が施されない物があり、対価の支払いが任意の物もあります。これらのソフトは区別するために「ドネーションウェア」と呼ばれることもあります。
4.ソフトウェアの用途の種類
シェアウェアソフトはサポートの有無が重要
ソフトウェアの区分けにはさまざまな区分け方があります。
前章ではハードウェアから見たソフトウェアの種類の区分けや「ライセンス」有無の区分けなどで行いました。しかし、私たちは実際に使用する用途でソフトウェアを選ぶとのが多いと思います。デジタル機器はこのソフトウェアをいかにうまく使えるかによってデジタル機器を使いこなせるかといってもいいでしょう。ソフトウェアにはいろいろな役割をもっています。ここではソフトの役割を中心に大まかに説明していきます
A. OS(オペレーティングシステム)
OSとはコンピュータ全体をつかさどっているソフトでWindowsやLINUX・MacOS等がこれにあたります。みなさんも良くご存知のエクセルとかワード等のいわゆる「ソフト」はこのOSのプログラムの上で動いています。
OSの性能によって、プログラムの性能も決まってきますので、OSは非常に重要であり、最近では日本でも独自のOSを開発中?という噂もあります。
B ユーテイリティー
ユーティリティーソフトはOSの操作の難しい部分や拡張部分を行うソフトです。ファイルの操作やコンピュータの自動運転ソフト等がこれにあたります。
このユーティリティーソフトをうまく使うことによって、パソコンの環境が改善され、快適生活を送れるようになります。一方、ハードの環境などの操作を直接行ったりしますので、間違った使い方をすると後で後悔することもあります。使用に関しては十分理解した上で慎重に行ってください。
C プログラミングソフト
ソフトを製作するために使うソフトが「プログラミングソフト」です。Visual Basicやホームページ作成のJAVA言語もこれにあたります。
プログラム作成はハードウェアの環境や処理の細分化等、高度の知識を要しますので(私も製作者ですので)あまり、最初から「プログラムを組みたい」とは思わず、少しずつ知識を身に付けてから行ってください
D データベーズ
データベースは膨大ないろんなデータを管理するソフトです。マイクロソフトのアクセス等がこれにあたります。
また、年賀状でよく使う、宛名の管理するソフトも一種のデータベースともいえます。
E 表計算
表計算はエクセルでおなじみですが、他にはロータスやクラリスワークス等いろいろあります。
基本的に縦横のセルがあり、データ入力を行い計算式を入れると、目的とした数字が自動的にでてくるソフトをいいます。
F 文書作成
昔のワープロの機能で、文書書類を作成するソフトです。ワードや一太郎などがあります。
G エディッタ
エディッタとは、ファイルの中身を見たり、修復するときに使うソフトです。文書作成のようなある程度の機能がついていますが、違うところは用紙の概念がありません。あくまでもファイル等の中身を修正することに徹したソフトです。
H メディア再生・編集ソフト
CDやDVD・映像ファイル等を再生・編集するソフトです。マイクロソフトのメディアプレーヤやクイックタイム等がこれに当たります。
I ドローソフト
お絵かきソフトです。単機能はただ単純に書くだけですが、イラストレータ等印刷会社等で使っているものは、幅広い機能があり、その機能を使いこなすには一般の人にとってはとても難しいです。
J CADソフト
建築物や部品構成図などを書くソフトで、精密さが要求されます。それがゆえに、専門の知識がなければ使いこなすのは難しいでしょう。このCADを使った国家認定試験もあります。今はこのCADを使って3次元立体図までかけることができます。
K ブラウザソフト
インターネットエクスプローラ等インターネットを見るソフトです。最近は新生ソフト等も出回り、多種多様のブラウザソフトがでてきました。
インターネットは主にhtml言語を使用して送受信を行っていますが、これを変換してイメージとしてホームページが見れるようになっています。
ちなみに、ホームページのhtml言語はインターネットエクスプローラの場合、メニューの「表示」から「ソース」を選ぶとそのホームページのhtml言語のプログラムが見れます。
L モジュール・ランタイム
アプリケーションソフトを動かすための機能を集約したシステム構成のソフトです。モジュールソフトがなければ動かないソフトもありますので、注意してください。
M 会計ソフト
会社の資産・経費・売上等を管理するソフトです。弥生会計などがあります。値段はけっこう高いですが、貸借対照表や損益計算書まで作成できます。
また、今では昔とちがってある程度計算してくれますので、データ入力がきちんとしていれば精密な帳票が出来上がります。
N アクセサリ
OSの手の届かない機能を手助けしてくれるソフト。時計やディスクトップの壁紙の変更、サウンドの選択などがあります。アクセサリソフト等を上手に使うことによって、パソコンがより使いやすくなります
O エミュレータ
WindowsなどのOS上で他のOSを動かすソフト。例えばWindowsでMacOSを動かしたり、WinXP上でWin98を動かすこともできます。たまに使うDOSプロンプト等も一種のエミュレータでWindows上でMS-DOSを動かしているわけです。
P ラインティングソフト
CD-RやDVD-Rなどハードディスクやフロッピー以外の媒体に書き込みを行うソフト。有名なのはCD-Rを書き込むビーズクルー等があります。
Q ベンチマーク・監視ソフト
ベンチマークとは、今現在のハード等の状態を検査して統計をとり、他と比較することをいいます。
CPUやメモリー等の現在の使用状態や性能を監視し、異常があると警告を発するソフトです。また、プリンタのユーティリティソフト等もこの分類に入ります。