ソフトウェアの種類
この記事をお読みの皆さんは、ソフトウェアと言われるとどのようなものをイメージされるでしょうか?まずは代表的なものをいくつかご紹介しましょう。
OS(Operating System)
最近ではパソコンよりスマートフォンの使用時間が長くなっていますが、そのパソコンやスマートフォンを動かしているものはOS(Operating System)といわれるソフトウェアです。
具体的なOSの製品名としては、Microsoft社が開発しているPCおよびスマートフォンなどのOSであるWindows、Google社が開発しているAndroid、Apple社が開発しているiOSなどがあります。
Webブラウザ
OS以外のソフトウェアもたくさんあります。皆さんには今こうして記事をお読みいただいていますが、サイトを見るためにはWebブラウザというソフトウェアが必要です。WebブラウザにはGoogle社のChromeやMicrosoft社のMicrosoft Edgeといったものがあります。
簡単にいうと皆さんが普段お使いになっているパソコンやスマートフォンの上で動いているものは全てソフトウェアなのです。
Webサーバー
ソフトウェアはまだまだあります。少し専門的な話になりますが、たとえばWebサイトを動かすためにはWebサーバーといわれるコンピュータが必要になります。
当サイトもWebサーバーに保管された1つ1つの記事(ファイル)に全国各地にいらっしゃる読者の皆さんがアクセスをすることで、「記事を読む」ことができるのです。このWebサーバーもソフトウェアの1種です。
データベース
また、インターネット上のサイトでは様々な情報を登録します。そういった情報はどこかに保存しておく必要があるのですが、それはデータベースといわれるソフトウェアを使用しています。
OSS(オープン・ソース・ソフトウェア)
このように、皆さんがお使いのパソコンやスマートフォンだけでなく、サーバーといわれるものの上で動いているものもソフトウェアにあたります。ソフトウェアには様々な種類がありますが、Microsoft社などの企業が開発したソフトウェアは、たいていの場合、ソフトウェアの料金を払うことで使用できます。
ですが、世の中には極めて機能が高いソフトウェアを無料で使用できるということをご存知でしょうか?そのようなソフトウェアをOSS(オープン・ソース・ソフトウェア)といいます。
ソフトウェアの中には、無償で使用できるソフトウェアもあります。フリーソフトといわれるものですが、それらはソースコードが公開されていません。一方オープン・ソース・ソフトウェアとは、その名前が表す通りソースコードが全て公開されたソフトウェアなのです。
ソースコードが公開されることのメリット
では、ソースコードが公開されるとどういったメリットがあるのでしょうか?
最近よく聞くニュースとして、セールスランキングの上位にランクインするようなスマートフォンのアプリが、実は個人情報を搾取するアプリであり、ユーザーが意図しない間に個人情報が筒抜けになっていたというものがあります。
また、あるソフトウェアではバグが混入しており、悪意を持った第三者がバグを狙い、利用者が攻撃されるという事件がありました。これらの事件が示すことは、世の中にあふれているアプリケーションについて、そのソフトウェアが本当に信頼できるものなのか?ユーザーが意図しない処理が含まれていないか?という点について「絶対に大丈夫」と言い切れない世の中だということです。
そのほかにも米中央情報局(CIA)、米連邦捜査局(FBI)、米国家安全保障局(NSA)といったアメリカの各局が、Huawei社やZTE社といった中国で勢いがある企業のスマートフォンを使用しない旨の方針を明らかにしています。
これも、機密情報がユーザーの意図しない内に外部へ漏洩する可能性を考慮しての判断であるようです。(これらは、貿易上の観点でApple社など、自国の企業を保護するためという政治的な狙いがあるという説もあります。)
ソースコードが公開されるということは、誰であっても処理の1つひとつを全て確認することが可能です。また、特定の条件を満たした人はソースコードを修正できる権限も持っています。
万が一、ソフトウェアに脆弱性やバグが発見された場合も、比較的早急に対応が行われます。そのため、ユーザーが意図しない処理などが混入する可能性は極めて低く、透明性が高いソフトウェアだといえるのではないでしょうか。
OSSを支える人たち
では、実際にはどのような人たちがOSSを開発しているのでしょうか。これは世界中にいるITエンジニアの有志が開発をしているのです。
OSSの開発に携わっても報酬などは一切発生しませんが、ITエンジニアとしてのスキルアップや、対外的な評価の向上、自身が愛用しているソフトウェアをよりよいものにする、といったポイントをモチベーションにして活動を行っているのです。
実はたくさんあるOSS
では、OSSには一体どのようなものがあるのでしょうか。こちらは、日本OSS推進フォーラムという団体が発表した「OSS鳥瞰図2018年版」という資料です。
OS、データベース、Webサーバー、開発言語といった比較的歴史があるものから、実はクラウド、AI、機械学習等といった最先端技術のカテゴリまでをカバーしているのです。
まとめ
今回はOSSについてご紹介しました。世の中を支えている大半のシステムはOSSを何らかの形で使用しているものが多く、今やOSSなしでは成り立たないといっても過言ではありません。
今後も引き続きITエンジニアにとって必要なものになりますので、まずはその種類から把握してみましょう。
IT業界を目指すならエージェントを活用しよう
エンジニア就活には、IT業界・SEに強いエージェントがいます。彼らに話を聞いてもらうことで、自分が何をやりたいのか、自分が大切にしているのが何なのか、就活するうえでの軸が見えてきます。さらに、各人に合った未公開の求人情報も紹介してもらえるので、まずは気軽に相談してみましょう。会員登録や相談・セミナーなど、すべて無料で活用できます。