Open Source
オープンソースとは、ソフトウェアのソースコード(プログラム)を、インターネット上に無償で公開し、万人にその改良や、再配布を認めたソフトウェアのことです。ソースコードをもとに、その技術の転用や、派生バージョンの作成ができます。誰もが自由に利用できる共有財産といえます。
1998年、The Open Source Initiative(OSI)という団体によって「The Open Source Definition」(OSD)が定義されました。
CONTENTS
- OSSの定義
- 著作物のライセンス(前提の確認)
- オープンソースのライセンス
- OSSのプラットフォーム
- System
- Browser & Office
- Software Development(Editor / IDE)
- Programming Language
- 2D 3D Graphics
- Document Editing
- Movie Editing
- Sound & Music
- DataScience / Statistics
- Library
- Others
- OpenData
OSSの定義
オープンソースソフトウエア(OSS)には、以下ののような定義があります。
- 1. 自由な再頒布ができること
- 2. ソースコードを入手できること
- 3. 派生物が存在でき、派生物に同じライセンスを適用できること
- 4. 差分情報の配布を認める場合には、同一性の保持を要求してもかまわない
- 5. 個人やグループを差別しないこと
- 6. 適用領域に基づいた差別をしないこと
- 7. 再配布において追加ライセンスを必要としないこと
- 8. 特定製品に依存しないこと
- 9. 同じ媒体で配布される他のソフトウェアを制限しないこと
- A. 技術的な中立を保っていること
このページで紹介するものは、自由に利用・複製できるOSSです。
いずれも有名なもので、安心して使うことができるソフトウエアですが、インストール後のシステムの動作に関する保障はありません。「ソフトのインストール経験がない・・」といった、PC初心者の方は、ダウンロード・インストールに際して経験のある人に付き添ってもらって下さい。
著作物のライセンス(前提の確認)
ライセンスとは、著作物に対して与えられる「使用許諾」のことで、様々なものが存在します。まずは比較の意味で、その全体像を確認します。
Copyright(All Rights Reserved)
これ自体はライセンス(使用許諾)ではありませんが、「ライセンス状態」を説明する表現という意味で記載しています。著作者が全ての権利を主張するもので、大半の商用ソフトウエアに適用されます。
- 詳細 > Copyright
Copyleft
フリーソフトウェア財団を設立したリチャード・ストールマンが提唱(1984)したもので、オープンソースの多くがこの考え方を採用しています。誰もが著作物を利用・再配布・改変できるようにしよう・・という考え方で、「一般ユーザ」にとっては自由が永久保障されるライセンスです。
- 詳細 > Copyleft
Permissive(Copycenter , Copyfree, BSD-like )
Copyleft には改変したコードの再配布について、通常とは真逆の向きの制限(つまり自由を制限してはいけない・・という制限)をかけていますが(上記4・5項目め)、これは、改変したコードについて権利を主張したい・・という開発企業にとっては不都合な場合があります。その制限を取り払うことで改変後の扱いを自由にしたのが Permissive なライセンスです。「開発者にとって」自由度の高い寛容なライセンスとなっています。
CreativeCommons
Copyright と PublicDomain の中間を埋める様々な形態があります。
- 詳細 > CreativeCommons
PublicDomain
著作権が発生していない状態(放棄を含む)または消滅した状態のものです。
オープンソースのライセンス
以下、ライセンス個別の概説です。
GPL(The GNU General Public License)
Copyleft系のライセンス形式。大きく以下の4項目があります。
- 誰でも自由にプログラムを利用できる
- 誰でも自由にプログラムを改変できる(ソースコードの公開を意味する)
- 誰でも自由にプログラムを再配布できる
- 改変したプログラムの公開では、上記の 3 項目を満たさなければならない
MPL(Mozilla Public License)
プロプライエタリとオープンソースの間のバランスを模索した準Copyleft系のライセンス。Firefox、Thunderbird などを開発しているMozilla Foundationによって作成されたものです。
BSD Licence
Permissive 系ライセンスの中で古くから広く使われてるライセンス。現在最も多く使われているのは「2-Claus-BSD-License」です。
- 誰でも自由にソースコード及びプログラムを利用、改変、再配布できる
- 公開したソースコード及びプログラムは著作権情報とこのライセンスを表示しなければならない
ISC
Permissive 系ライセンス。Internet Systems Consortium (ISC) によって作成されたもので、2-Claus-BSD-License と機能上同等です。
MIT License
マサチューセッツ工科大学を起源とするソフトウェアライセンスで、BSDライセンスをベースに作成されたPermissive 系のライセンス。内容は、2-Claus-BSD-License どほぼ同様です。
Apache License
BSD License や MIT License と同様に Permissive 系のライセンス。二次改変や再配布に関して全く制限をかけませんが、特許の適用や商標利用等に関する制限がかけられていて、開発企業にとって使いやすいものとなっています。
WTFPL(Do What the Fuck You Want to Public License)
あらゆる権利を利用者に与えています。パブリックドメインと変わらない扱いができます。
参考:https://choosealicense.com/appendix/
OSSのプラットフォーム
以下に紹介するは、主にOSSの情報があるサイトです。ダウンロード・利用に際しては、利用規約をよく読んでください。
基本的にインストール後の動作保障はありません。また、ウイルスやスパイウエアについても、絶対無いとは言い切れませんので、念のためにソフトウエアの名前で検索をかけて、ソフトウエア自体の評判を確認してください。
- ペンギンの杜
- Linux Software Search
- Linux Software
- freshmeat.net: Welcome to freshmeat.net
- SnapFiles - download freeware and shareware software programs
付記:Cross-platform / Platform-independent
Win、Mac、Linux、異なるプラットフォーム(動作環境)でも、同じ「道具」で仕事ができることを意味します。学校ではMac、家では Windowsといった環境の場合、このメリットは大きなものとなります。
- Cross-Platform の場合は、それぞれのOSにあったバイナリ(実行可能プログラム)を区別してダウンロードしてください。つまりWin版か Mac版かでダウンロードすべきファイルが異なります。
- Platform-independent と記載があれば、当該ファイルをダウンロードすれば、Win版、Mac版といった区別なく、どちらでもで動きます。ただしその場合、Javaランタイムのような「仮想の動作基盤」を必要としますので、そちらもダウンロード・インストールする必要があります(これも無料です)。
System
Linux
Linux とは MacOSX や Windows と同じ、コンピュータのOS(Operating System)です。PCのOSとして配布されているものは、見た目も MacOSX や Windows と同様ですので、パソコンを使った経験のある方であれば、違和感なく操作することができます。
Linuxは、PCのOSとして以外でも様々なところで利用されています。Webサーバー、スマホ(Android)のOS、家電製品への組み込みなど、名前を聞いたことがない方でも、実は日常的に Linux の恩恵に預かっているといえます。
詳しくは、Linuxに関する概説をご覧下さい。
Xampp
Apache + MariaDB + PHP + Perl
XAMPP は、完全に無償で MariaDB、PHP、および Perl を含んだ、簡単にインストールできる Apache ディストリビューションです。XAMPP オープン ソース パッケージは、インストールと利用が非常に簡単できるよう設定されています。
https://www.apachefriends.org/jp/download.html
詳しくは、LocalServerをご覧下さい。
Browser & Office
Firefox
Firefoxとは、Mozilla Foundationが開発・公開している、オープンソースのWebブラウザです。Windows、Mac、Linux、あらゆるプラットフォームで快適に動作しています。
W3C標準に準拠したブラウザであるという点で、技能五輪のWebデザインの審査でも、IEと並ぶ標準ブラウザとして位置づけられています。
2004年11月に最初の正式版が発表され、以来、急速にユーザが増えています。
タブブラウザであること、豊富な機能拡張が続々と開発されていること(インストールや更新も非常に簡単)などもあって、このブラウザへ乗り換える人が増えています。
Firefox は、2007年度GoodDesign賞を受賞しています。
Firefox で Gyao その他 IEでしか見れないサイトがあることでお悩みの方、
Firefoxのヘルプから機能拡張のダウンロードサイトへ行って[ IE Tab ] を落とし、ツール>IEタブのオプションにて、目的サイトのアドレスを登録。
該当サイトへ入ると、その場だけ IEのエンジン を利用して見ることができます。
LibreOffice
OpenOffice から派生したオープンソースのオフィス統合環境。OpenOfficeと同様、ワープロソフト「Writer」、表計算ソフト「Calc」、プレゼンテーションソフト「Impress」、データベースソフト「Base」、ドローソフト「Draw」、数式編集ソフト「Math」の6つのソフトが含まれています。。MSオフィスのデータの読み書きにも対応しています。
Software Development(Editor / IDE)
Atom
2014年にGithubから公開されたテキストエディター。WebブラウザであるGoogle Chromeのフォーク元である、Chromiumをベースとしたデスクトップアプリで、Windows版、Mac版、Linux版があります。HTML、CSS、Javascriptほか、コード入力のサポート機能もあって便利。日本語サポートをインストール( Preferences > install )することで、日本語環境化することができます。
Eclipse
IBMによって開発されたオープンソースの統合開発環境 (IDE) です。Javaをはじめ、様々な言語に対応します。
Aptana Studio
Aptana Studioは、HTML、Java Script、CSSエディタとそのアウトライン機能を搭載するWebオーサリングツールです。IEやFirefox などのブラウザチェック、FTPアップロードも可能な統合ソフトです。Eclipseのプラグインとして提供されていますが、単独で動作するバージョンもありますので、Eclipseをご存知ない方は、そちらを利用すると良いでしょう。
その場合、ダウンロードページでは、[Standalone] を選択すればOKです。
Aptana Studioには、フリー版(Community Edition)のほかに有償版もありますので、ダウンロードやアップデートの際には、区別が必要です。
Blue Griffon
Webオーサリングツール、Nvu(Kompozer) の後継バージョンです。
Programming Language
JavaScript
オープンな仕様のスクリプト言語で、基本的にはHTMLページに組み込まれるかたちで、ブラウザ上で動作します。「何かをダウンロードしてインストールする」という必要はありません。以下、ライブラリをいくつか紹介しますが、これらもオープンソースとして公開されていて、CDNでページに組み込めるので、同様にダウンロード&インストールは不要です。
Python
Pythonはさまざまな分野のアプリケーションで使われているプログラミング言語です。クリーンで読みやすい文法、手続き型のコードによる自然な表現、直感的なオブジェクト指向、事実上すべてのタスクをこなせる広範な標準ライブラリとサードパーティのモジュール、アプリケーションに組み込んでスクリプトインタフェースとして利用することが可能・・など様々な利点があります。
- 関連ページ
- 公式サイト
- Python https://www.python.org/
- Python Japan https://www.python.jp/
- インストール
Pythonには、2系と3系のバージョンがあって、これらは互換性がありません。これから学習する方は、3系のインストールをおすすめします。- https://www.python.org/downloads/ 基本 IDE含む
- https://www.anaconda.com/ データサイエンス関連ライブラリ統合
Processing
Processingとは、電子スケッチブックという発想で開発された、デザイナー・アーティストのためのプログラミング環境です。MIT(マサチューセッツ工科大学)メディアラボにおいて、ジョン前田、Casey Reas 、Benjamin Fry らが、電子アートとビジュアルデザインのために開発したプログラミング言語で、視覚的フィードバックが簡単に得られる点で、プログラミング学習用の教材と しても注目されています。
- GNU GPL で公開されているオープンソースのソフトウエアです。
- Win版、Mac版、Linux版、すべて存在します(使い方も同じです)。
- ダウンロードして解凍し、適当なフォルダに置くだけですぐ使えます。
- Javaをベースに動作しています(したがってJavaの動作環境も必要です)。
- サンプルが多数附属しているので、それらを例題としてスムーズに学習できます。
- 実行形式のソフトウエアとしてのエクスポートが可能です。
- 画面上での作品をPDFにすることができます。
- Arduino、GAINERなどとの接続でインタラクティブなメディアアート作品づくりも可能です。
- 関連ページ
- Processing デザイン/アートのためのプログラミング言語
- Processing/Sample
- p5.js
2D 3D Graphics
Blender
Blenderは統合型の3DCGソフトです。もともとはオランダのNaN社がインハウス用に開発していたものですが、多くの有志の支援により、現在はオープンソースのフリーウェア(ライセンスGPL)として、Blender Foundationのサイトからダウンロードして使用することができます。Windows・MacOSX・Linuxすべて同様に動作します。
The GIMP
GIMP は GNU Image Manipulation Program の略で、フォトレタッチソフトです。 GNU General Public License version2 にもとづいてプログラムを自由に再配布、改変、公開することができるフリーソフトです。Windows、Mac(Xの環境が必要)、Linux、あらゆる OSで動作します。操作感に慣れるまでは、若干とまどうかもしれませんが、画像処理に必要な機能は市販ソフトに匹敵するレベルで整っています。
draw.io
ダイアグラムの作成に便利なドローツールです。Apache v2ライセンス。
Inkscape
Inkscapeはオープンソースのベクターグラフィックスソフトウェア(ドローソフト)で、W3C標準のツールとして位置づけられています。XML・ SVGなどの標準に完全に準拠していて、Windows、Mac、Linux、あらゆるOSで動作します。将来的には、ベクターアニメーションシステムの実装も予定されています。
Krita
高機能なペインティングソフト。KDE用のオフィスツール(KOffice|現・Calligra Suite)の KImage が原型。以前は Photoshopを意識したフォトレタッチ系ツールとして開発がスタートしていましたが、2004年頃から Painterを意識したペイント系ツールへと方向転換されています。
Pencil2D Animation
An easy, intuitive tool to make 2D hand-drawn animations.
オーソドックスな手描きアニメーションソフトです。
Document Editing
Re:VIEW
技術(書|者)のための電子・紙書籍制作ツール
Scribus
いわゆるDTPソフトです。日本語テキストの直接入力が実現してないのですが、エディタで打って流し込めば割り付けはできます。将来性は非常に大きいと考えられます。
Movie Editing
Blender
上述の3DCGソフトウエアですが、ビデオ編集機能も充実しています。
Kdenlive
動画編集ソフトウェア(MacOS 、Windows 、Linux に対応)
https://kdenlive.org/
Lightworks
The complete video creation package
動画編集ソフトです。元はプロ向けの有料ソフトでしたが、現在は会員登録すれば無料で使えるようになっています。
OpenShot
動画編集ソフトウェア(MacOS 、Windows 、Linux に対応)
Shotcut
動画編集ソフトウェア(MacOS 、Windows 、Linux に対応)
Jahshaka
The virtual reality authoring, publishing and playback platform
Synfig Animation Studio
Open-source 2D Animation Software for Windows, Linux and OSX
2Dアニメーションソフトで、一応動作確認できたので紹介します。
Sound & Music
Ardour
DAW |Record, Edit, and Mix on Linux, macOS and Windows
参考:Cakewalk(SONAR)がFreeソフトになりました。
Cakewalk by BandLab Free Win
Audacity
Audacityは、音声の録音と編集をするための、オープンソースソフトウェアです。Mac OS X、 Windows、Linuxで動きます。
Surge XT
オープンソースのハイブリッドシンセサイザーです。
https://surge-synthesizer.github.io/
Hydrogen
直感的に使えるドラムマシン
LMMS
Let's make music with a free, cross-platform tool for your computer.
LMMSは、いわゆるDAW(Digital Audio Workstation)です。音声データ(WAVなど)や音楽データ(MIDI)を統合的に扱うことができ、VST(Virtual Studio Tecnology)プラグインにも対応していますので、様々な音楽作りが楽しめます。DAWの経験の有る方であれば、直感的に使えると思います。
Rosegarden
Linux用のDAWです。オーディオ、MIDIシーケンサー、楽譜作成ソフトウェア、作曲、編集が可能です。
Qtractor
Qtractorは、オーディオ・MIDIに対応したマルチトラックシーケンサーです。
現状ではLinux環境のみです。Ubuntuの場合はソフトウエアセンターから簡単にインストールできます。
MuseScore
クロスプラットフォームの楽譜エディタです。
入力が簡単。再生視聴することもできます。
- その他の楽譜エディタ
- 楽譜PDF(Blank Sheet)
DataScience / Statistics
GNU R
R は統計解析向けのプログラミング言語及びその開発実行環境です。コマンド操作や変数の扱いに、最初はとまどいを感じるかもしれませんが、グラフの作成などもでき、それを JPEGやPDFで書き出すこともできるので、論文の作成などでは重宝します。統計の専門家が開発に関わっていて、ライブラリーパッケージも充実しています。
デザイナーには、クライアントの前で自分のアイデアをプレゼンテーションするスキルが求められます。しかし「市場は今こんなものを求めているようです‥」という直感的な言い方だけではクライアントは納得してくれません。そこで「統計」の出番です。ユーザー(あるいは消費者)の現状と動向を統計的に把握して、それを根拠に自分のアイデアを説明すれば、説得力が増し、プレゼンテーションにも自信が湧いてきます。
一般的な説明に使用される「統計」はそれほど難しくはありません。まずは「平均」と「標準偏差」から‥。統計に関する基礎知識を学ぶ意味でも、このソフトウエアと、その関連のWebサイトは大変参考になると思います。是非一度「統計」の世界をのぞいてみて下さい。
- The R Project for Statistical Computing
- R-Tips
- リンク集 - RjpWiki
- R による統計処理
- 統計処理ソフトウェアRについてのTips
- 統計パッケージR
Orange
Open source machine learning and data visualization for novice and expert.
グラフィカルに使えるデータマイニングソフトウェア。
モジュールをダイアグラムで結ぶことで分析フローを構築できます。
プログラミングパラダイムは、データフロープログラミング。
Library
OpenCV (Open Source Computer Vision Library)
open source computer vision and machine learning software library.
インテルが開発・公開したコンピュータビジョン向けライブラリです。
openFrameworks
openFrameworksは、インタラクティブデザインやメディアアートを制作するためのC++ベースのフレームワークで、MITライセンスで配布されています。
2D、3Dの図形描画、アニメーション、動画、サウンド、マウス・キーボードによるインタラクション、ネットワーク活用など、様々なマルチメディアコンテンツを制作することができます。
OpenGL
The Industry's Foundation for High Performance Graphics
グラフィックスハードウェア向けの 2次元 / 3次元CGライブラリ
TensorFlow
An open source machine learning library for research and production.
Googleが開発・公開している、機械学習のためのソフトウェアライブラリ
参考:テンソルとは、ざっくり言うと多次元配列のこと。次元を「階」と呼びますが、長さ・重さなどの数値(スカラ)は 0 階テンソル、ベクトルは 1 階テンソル、行・列からなる行列は 2 階テンソル、行・列・シートなど 3 つのパラメータをもつデータは 3 階テンソル。TensorFlow は、この拡張された配列同士の演算を簡単にできるようにしたライブラリとも言えます。
Others
その他のオープンソースプロジェクト
- オープンソースハードウエア
- Arduino https://www.arduino.cc/
- OSVehicle https://www.osvehicle.com/
- WikiHouse http://www.wikihouse.cc/
- Raspberry Pi https://www.raspberrypi.org/
- OpenSource Robot Poppy https://www.poppy-project.org/en/
- https://www.automotivelinux.org/
OpenData
ページを独立させました > OpenData