OSSの解説(基本情報技術者シラバス用語)

OSSの解説(基本情報技術者シラバス用語)
目次

OSSとは

OSS.png

OSS(Open Source Software、オープンソースソフトウェア)とは、ソフトウェアの設計図にあたる「ソースコード」がインターネット等で無償で一般に公開され、誰でも自由に改良、再配布、使用することが許可されているソフトウェアのことです。世界中の優秀なエンジニアが開発に参加し、バグの修正や機能追加が迅速に行われるため、信頼性が高く、現代のITシステムにおいて必要不可欠な存在となっています。

具体例

  • Linux(リナックス):世界中の多くのWebサーバーの土台として使われているOSです。
  • WordPress(ワードプレス):世界中の多くのWebサイトやブログを作成するために使われているシステムです。
  • Python(パイソン):データ分析や人工知能(AI)開発で広く使われているプログラミング言語自体も、オープンソースで開発されています。
  • Google Chromeのベース:ブラウザのGoogle Chromeも、元々は「Chromium」というオープンソースプロジェクトのコードを基に作られています。

もう少し詳しく

OSS(Open Source Software:オープンソースソフトウェア)は、ソフトウェアの動作の仕組みを記述した設計図にあたる「ソースコード」がインターネット上などで広く一般に公開されており、利用者がそのソースコードを自由に閲覧、利用、修正、および再配布することがライセンスによって明示的に許可されているソフトウェアのことです。オープンソースの概念は、ソフトウェアの知識は全人類の共有財産であるべきだというハッカー文化の思想に基づいており、世界中の開発者がボランティアや企業の枠を超えてコミュニティを形成し、共同で開発を進めるのが大きな特徴です。

OSSを採用する最大のメリットは、ライセンス費用(利用料)がかからないケースが大半であるため、システムの導入・運用コスト(TCO)を大幅に削減できる点です。また、ソースコードが公開されているため、特定のITベンダー(企業)の独自技術や製品仕様にシステムが過度に依存してしまい、他への乗り換えが困難になる「ベンダーロックイン」と呼ばれる状態を回避できるという戦略的な利点もあります。さらに、世界中の多数のエンジニアの目を通してソースコードがチェックされるため、セキュリティの脆弱性やプログラムのバグが早期に発見され、迅速に修正パッチが提供される傾向があることも評価されています。

一方で、利用にあたっては「自己責任」が原則となるため、商用のプロプライエタリ・ソフトウェア(ソースコード非公開の有償ソフト)のような手厚い公式サポートが受けられない場合が多いという注意点があります。トラブル発生時にはコミュニティのフォーラムや過去のドキュメントを自力で調査して解決する能力が求められ、複数のOSSを組み合わせて要件を満たすシステムを構築・保守する際には、かえって高度な技術力が必要になることもあります。

試験でのポイント

ITパスポートや基本情報技術者試験では、OSSの定義そのものと、分野ごとの代表的なソフトウェアの名称が頻繁に問われます。「ソースコードが公開されており、目的を問わず利用でき、改変や再配布が自由である」という基本的な特徴をしっかりと押さえておきましょう。

代表的なOSSとして、OSの分野では「Linux」や「Android」、Webサーバーでは「Apache HTTP Server」や「Nginx」、リレーショナルデータベースでは「MySQL」や「PostgreSQL」、プログラミング言語では「Python」「Java」「PHP」、そしてWebブラウザのベース技術である「Chromium」などの名称と役割をセットで記憶しておくことが得点につながります。

また、無料で使える他のソフトウェア形態との違いを区別できるかもよく問われます。一定期間は無料だが継続利用には料金の支払いが必要な「シェアウェア」や、無償で利用できるがソースコードは非公開で勝手な改変が禁じられている「フリーウェア(フリーソフト)」とOSSの違いは明確に意識してください。OSSは単に「無料である」こと以上に、「ソースコードが公開され、改変や再配布の自由が保証されている」ことが最大のポイントです。

関連する用語

Linux、ベンダーロックイン、GPL、プロプライエタリ・ソフトウェア

OSS_Light_Dark.png

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ