【まとめ】よく使われる代表的なOSS(オープンソースソフトウェア)を一覧にまとめてみた

この記事では、日本でよく使われる代表的なOSS(オープンソースソフトウェア)を体系的にまとめることを目的としている。

参考:OSSとは

プログラミングのソースコードを広く一般に公開し、誰でも自由に扱って良いとされるソフトウェアのこと。インターネットを通じて、簡単に入手することが出来、誰でも無償で自由に使用、複製、再配布、自分で開発したコードへの組み込みが可能である。

日本OSS推進フォーラムの鳥観図ワーキンググループが作成した『OSS鳥瞰図2023年版』をもとに、各OSSについて簡単な解説をしている。また、各OSSの公式サイトへのリンクも付けているため、参考にして欲しい。

なお、プログラミングスキルを向上するためには、独学では限界がある。Udemyという教育プラットフォームではIT系のオンライン講座が豊富にそろっているので、参考にしてみてほしい。

学習と実践でスキルアップしよう(お得に).   対象コースが¥1800から

デスクトップ

オンライン会議

Big Blue Button

遠隔教育のためのWeb会議システム。最大接続数は200名程度。音声通話、PC画面やメモの共有、チャットルームなどの機能を備えている。

Webブラウザ

Firefox

世界で最も使われているWebブラウザーの一つ。自由度が高いのが特徴。

Thunderbird

Mozillaが主となり開発を進めているオープンソースの高機能メールクライアントソフトウェア。「タブ表示」「アーカイブ機能」「Gmail連携」「チャット機能」「ニュースクライアント機能」「高いカスタマイズ性」などの特徴がある。

オフィススイート

Apach OpenOffice

OpenOffice.orgの後継プロジェクトの一つであり、IBM LotusSymphonyの後継プロジェクトでもあります。Microsoft Offieceとの互換性があり、基本的な操作方法はほとんど変わらないです。

業務アプリケーション

ERP・CRM

Dolibarr(ドリバー)

概要: Dolibarr(ドリバー)は、オープンソースのERP/CRMソフトウェアです。小規模から中規模の企業や団体向けに設計されており、顧客管理、在庫管理、会計、受発注管理など、ビジネスに必要な基本的機能をシンプルに使えるのが特徴です。

特徴:

・Webブラウザ上で動作し、直感的なUIを提供
・モジュール形式で必要な機能を追加可能
・小規模チームでも導入しやすい軽量設計
・無料で使えるコミュニティ版と、有償サポートを受けられるエンタープライズ版が存在

iDempiere(アイデンピエーレ)

概要: iDempiere(アイデンピエーレ)は、ADempiere(アデンピエーレ)というオープンソースERPから派生したERPソフトウェアです。ADempiereはさらにCompiereをベースにしており、長い歴史と大規模企業向けの豊富な機能を継承しています。

特徴:
・在庫管理、購買管理、販売管理、財務会計、製造管理など、多彩で高度なERP機能を包括
・高度なワークフロー管理やカスタマイズ性が強み
・Javaをベースとしたアーキテクチャにより、大規模環境や複雑な業務プロセスにも対応
・世界的なコミュニティにより継続的に改良が加えられている

人事・給与

Mosp

国産ベンダーが開発している勤怠管理システム。

グループウェア

Zimbra

メッセージ&グループウェアのソリューションシステムです。エンタープライズクラスのメール/カレンダー/コラボレーション機能を提供しています。
クライアント側とサーバ側両方のコンポーネントを含んでいます。

BA・BI

Pentaho

オープンソースのBIツール。レポーティング、インタラクティブ(対話型)分析、ダッシュボード、データ統合/ETL(Extract/Transform/Load)、データ・マイニング、その他、BIプラットフォームとBIに必要なすべての機能が用意されております。

Webサイト構築

CMS・ポータル

WordPress

概要
オープンソースのCMS:WordPressはGPLライセンスのもと、無料で誰でも自由に利用・改変が可能です。世界中の多くの開発者が参加し、アップデートや新機能の開発を続けています。

PHPおよびMySQLを使用:サーバーサイドで動作し、PHP言語とMySQL(またはMariaDB)データベースを用いて構築されます。レンタルサーバーでも広く対応しているため、導入が比較的容易です。

・豊富なユーザーコミュニティ:世界中のユーザーが数多く存在し、日本国内でも大規模なコミュニティがあります。フォーラムやSNSなどで疑問点を解決しやすく、さまざまなナレッジが共有されています。

eコマース

EC-CUBE

日本の株式会社EC-CUBEが開発するEC向けのコンテンツ管理システム。日本国内で開発されているため、海外製のソフトウェアよりも自然な日本語表記となっています。ただし、機能はやや少なめです。

Web・APサーバー

Webサーバー

Apache HTTP Server

全世界の約半数で使用されている実績のあるWebサーバー。世界中で最も人気の高いWebサーバソフトウェアの一つ。

APサーバー

Apache Tomcat

Javaのアプリケーションサーバー。Servlet, JSPの参照実装。商用のアプリケーションサーバに劣らない性能、信頼性を持つ。WebコンテナのみでEJBコンテナは含まない。

セキュリティ

ID管理

FreeIPA

FreeIPAはMicrosoftのActive Directoryと同様に、アカウント管理と集中認証を提供するLinux用のオープンソースセキュリティソリューションです。

FreeIPAは、389 Directory Server、MIT Kerberos、SSSDなどの複数のオープンソースプロジェクトの上に構築されています。

SSL・VPN・SSH

OpenVPN

OpenVPNはSSL/TLSをベースに各種機能を組み合わせたオールインワン型のSSL VPNです。

ビッグデータ

データ収集

Talend

多くの企業に利用されている企業データの統合プラットフォームです。単一のアプリケーションでオンプレミスとクラウド両方のデータ収集・変換・共有などが可能になっています。

Revolution R open

Revolution R openはデータ分析ツールです。R言語のデメリットである処理の重さを解消した点が特徴です。

分散処理

Apache Hadoop

大規模データを分散処理するためのミドルウェア。Java言語で開発されている。また、ペタバイト級のデータを処理することが出来る。

Apache Spark

Hadoopの後発として期待されるビッグデータ処理基盤。

検索エンジン

Elasticsearch

Elastic社が開発する全文検索エンジン。

AI

機械学習

APACHE MLlib Spark

Apache Sparkは分散メモリRDDを活用することで、特定のデータに対する繰り返し処理に向くアーキテクチャーです。

MLlibはその特徴を活用して機械学習を実装することで、高速な学習処理を実現しています。MLlibは現在もビルドインの機械学習アルゴリズムを増加させており、実用的な機械学習用途でも十分に活躍できる存在となってきています。

CoreML

Appleが開発した機械学習のためのフレームワークです。機械学習モデルの仕様はオンデバイスで完結させることができ、さらにCreateMLというフレームワークを使うことで簡単に機械学習モデルを作成出来ることが特徴です。

Jubatus

Jubatus(ユバタス)はオンライン機械学習向け分散処理フレームワークです。

株式会社Preferred NetworksとNTTソフトウェアイノベーションセンタが共同開発した、日本発のオープンソースプロダクトです。

最終的に全ての人にスケーラブルなオンライン機械学習フレームワークを提供することがJubatusの目標です。

ディープラーニング・フレームワーク

Deeplearning4j

概要
・Java言語で開発されたオープンソースの深層学習ライブラリ
・JVM(Java Virtual Machine)上で動作するため、JavaやScala、Kotlinなどの環境で利用しやすい

特徴
・分散学習をサポートし、HadoopやSparkなどの大規模データ基盤と連携しやすい
・企業向けのエンタープライズ環境での利用を想定しており、Javaベースのシステムに組み込みやすい
・Python以外の言語(Java/Scala/Kotlin)を中心に開発する場合に最適

Keras

概要

・Pythonで書かれた高水準のニューラルネットワークAPI
・TensorFlowやTheano、CNTKなど、複数のバックエンドを選択して利用できる(現在はTensorFlowを標準バックエンドにしていることが多い)

特徴
・シンプルでわかりやすいAPI設計のため、初心者から研究者まで幅広く使われる
・モデルのプロトタイプ作成が容易で、実装スピードを重視する場面で便利
・学習・推論の処理速度や大規模分散学習などの詳細制御はバックエンド(主にTensorFlow)が担う

PyTorch

概要
・Facebook(Meta)AI研究所が中心となって開発したPythonベースの深層学習フレームワーク
・動的グラフ(Define-by-Run)を採用し、直感的なコーディングが可能

特徴
・Pythonとの親和性が非常に高く、インタラクティブにモデルを開発・デバッグしやすい
・研究用途で人気が高く、新しいネットワークアーキテクチャの実装に向いている
・学習済みモデルの運用やエッジデバイスでの利用も拡充しつつあり、産業用途でも採用が進んでいる

TensorFlow

概要

・Googleが開発・オープンソース化した深層学習ライブラリ
・グラフベースの計算モデルを採用し、分散学習からモバイル端末(TensorFlow Lite)やブラウザ(TensorFlow.js)まで幅広く対応

特徴
・大規模・高性能な散学習が可能で、クラウドとの連携も容易
・サポートする言語やプラットフォームが豊富(Python、C++、JavaScriptなど)
・企業や研究機関で広く使われており、エコシステムが充実している

データベース

RDBMS

MariaDB

MySQLの派生として開発されているRDBMS。セキュリティ面やパフォーマンスがMySQLよりも向上しており、今後採用が増えていくと見込まれています。

MySQL

元々はSunMicroSystemsのDBだったが、OracleがSUNを買収。

DB管理

phpMyAdmin

webブラウザ画面でMySQLデータベースを管理するソフトウェア。画面構成がシンプルで操作が簡単に出来るのが特徴。

OS、仮想化、クラウド

OS

Android

Google社が提供するオペレーティングシステムの一つ。主にスマートフォンやタブレットで使用されている。

CentOS

セント オーエス。Red Hat Enterprise Linuxをベースにして作成されたLinuxディストリビューション。

FreeBSD

UNIX系OSの一つ。負荷が高まっても誤作動や停止が起こりにくい高い安定性が評価されており、大規模なサーバなどでの採用例が多い。

Ubuntu

ウブントゥ。高い完成度と使いやすさを誇る、世界で人気No.1のLinuxディストリビューション

ネットワーク仮想化

Open vSwitch

オープンソースで開発されているOpenFlowをサポートする仮想スイッチ。

仮想環境での仮想スイッチとしての役割を果たす。Linux標準のBridge機能に代わる機能を持つ。エンタープライズレベルの機能を提供することで注目を集めている。

Open Daylight

最も普及しているオープンソースのSDNコントローラ。

コントローラベース コード以外にも、フレームワークとして関連する機能(コントローラ アプリケーション、Southbound Protocol Plugin、ネットワーク仮想化プラットフォーム等)を既存のオープンソース技術を活用して開発されています

Infrastructure as a Service

Apache CloudStack

概要
・Apache Software Foundationが開発している、IaaS(Infrastructure as a Service)向けのクラウド管理プラットフォーム
・物理サーバ上の仮想マシンリソースを一元管理し、プライベートクラウドやパブリッククラウドを容易に構築・運用するための仕組みを提供

特徴
・マルチハイパーバイザ対応: KVM、XenServer、VMware、Hyper-Vなど複数のハイパーバイザをサポート
・シンプルなUIとAPI: Webベースの管理画面やRESTful APIを通じて、リソースの作成・運用が容易
・高い拡張性: 大規模環境へのスケールアウトや、ネットワーク機能(SDNなど)との連携が可能


ManageIQ

概要
・Red Hatが主導するマルチクラウド/ハイブリッドクラウド管理プラットフォーム
・仮想環境やパブリッククラウド、コンテナを含む幅広いインフラを一元管理できる

特徴
・マルチクラウドサポート: AWS、Azure、Google Cloud、OpenStack、VMwareなど、多様な環境を同一の管理画面・APIで扱える
・運用の自動化: プロビジョニング、ライフサイクル管理、ポリシー適用などを自動化する仕組みを提供
・レポート & モニタリング: 充実した可視化機能により、リソース使用状況の分析やコスト管理をサポート

oVirt

概要
・Red Hatが中心となって開発する、エンタープライズ向けの仮想化管理プラットフォーム
・KVM(Kernel-based Virtual Machine)をベースとし、vSphereなどの商用仮想化ソリューションに対抗できる機能を備える

特徴
・オープンソースの仮想化基盤: KVMとlibvirt上に構築されており、Red Hat Virtualizationのオープンソース版とも言える
・Webベースの管理インターフェース: 仮想マシンの作成・管理、ストレージやネットワークの設定を一元的に行える
・高い信頼性と可用性: Live Migration(稼働中の仮想マシンを停止せずにホスト移動)やHA構成が可能

OpenStack

概要
・大規模なコミュニティによって開発・運営される、クラウド基盤ソフトウェア(IaaS)
・多数のコンポーネント(Nova、Neutron、Cinder、Swiftなど)から構成され、プライベート/パブリッククラウドを構築でき

特徴

・モジュール構成: 計算資源(Nova)、ネットワーク(Neutron)、ストレージ(CinderやSwift)など、用途に応じたコンポーネントを組み合わせてシステムを構築
・大規模環境に対応: 複数のデータセンターや数千台レベルのサーバを管理するような大規模クラウドにも対応
・豊富なエコシステム: コミュニティが非常に活発で、サードパーティ製ツールや各種プラグインが多数存在

サーバ仮想化

Docker

コンテナ仮想化を用いてアプリケーションを開発・配置・実行するためのソフトウェア/プラットフォーム。OSレベルの仮想化により、アプリケーションを開発・実行環境から隔離し、アプリケーションの素早い提供を可能にする。

KVM

KVM (Kernel-based Virtual Machine:カーネルベースの仮想マシン) は、Linuxに組み込まれたオープンソースの仮想化テクノロジーです。

具体的には、KVM を使用すると、Linux をハイパーバイザーに変貌させることができます。

これによりホストマシンは、ゲストや仮想マシン (VM) と呼ばれる複数の独立した仮想化環境を稼働させることができます。

Xen

コンピュータを仮想化し、複数のOSを並行して動作させられるようにする仮想化ソフトの一種。仮想化のオープンソースソフトウェアとしてのシェアは縮小傾向にあります。

ストレージ仮想化

Ceph

単一の分散コンピュータ・クラスター上でオブジェクトストレージを実装したフリーソフトウェアのストレージプラットフォーム。

オブジェクト、ブロック、ファイルレベルのストレージインタフェースを提供し、単一障害点がなく、エクサバイトレベルまで拡張可能な、フリーで利用できる完全な分散オペレーションを主な目的としている。

Gluster

スケーラブルなストレージのための汎用分散ファイルシステムの1つ。

InfiniBandのRDMAやTCP/IPなどのインターコネクトを使用して複数のホストに分散した各種ストレージを集約し、大規模並列ネットワークファイルシステムを構築できる。

KNIME

データ連携・統合・分析を行うことができるエンドツーエンドのデータ分析プラットフォーム。2000を超える分析モジュールが用意されており、専門知識がなくても高度な分析が可能になっている。読み方は「ナイム」。

開発支援

開発言語

Perl

パール。UNIXやWindowsなど多種のプラットフォームの上で動作するインプタリ方式のプログラミング言語。

PHP

コミュニティベースで開発されている汎用的プログラミング言語。サーバーサイドで動的なウェブページを作成する機能を多く備えている。

開発環境

GanttProject

ガントチャート作成に特化したOSSプロジェクト管理ツール。Java製。複数人でのプロジェクト管理に向いている。

プロジェクト管理

Redmine

オープンソースのプロジェクト管理ソフト。スケジュール管理、課題管理、バグトラッキング、Wikiなど、プロジェクト管理に必要な機能が揃っている。タスクのことを“チケット”と呼び、一覧で管理できるのが特徴。

テストツール

Selenium

Webアプリケーションのテスト自動化を実現するブラウザ駆動型のソフトウェア。Webベース管理タスクの自動化に利用可能。

EMMA

Javaプログラムのカレッジツールの一つ。実際にアプリケーションを稼働させながら、カバレッジを収集できるのが特徴。

バージョン管理

Apache Subversion

Apache Subversionは、プログラムのソースコードなどを管理する集中型バージョン管理システムの一つ。

運用管理

運用監視

Nagios

サーバー内部にインストールされたNagios本体、またはリモートサーバー内のエージェントやSNMP情報を利用し、リソース使用量やプロセス稼働状態などの監視を行うシステム監視ソフトウェア。C言語で開発されており、LinuxもしくはUNIXで動作させることができる。

OpenNMS

エンタープライズレベルのネットワーク監視ツール。特徴は、ネットワークリソースの監視とは異なりWeb/DHCP/DNS、そしてデータベースアクセスなどのサービスを対象としていること。

Sensu

システム監視の自動化を目的としたフレームワーク製品で、Nagiosの問題点の改善を基本コンセプトとして開発されており、Nagiosとはプラグインなどで互換性を持っている。Rubyで作成されており、モニタリングツールとして大量のデータを監視処理できるように設計されている。

SyslogNG

オリジナルのsyslogdの機能はもちろんのこと、リッチなフィルタリング機能や柔軟な設定オプション、TCPでのログ転送など、さまざまな機能がサポートされている。

構成管理

Ansible

特徴
・エージェントレス構造:対象サーバーに特別なソフトウェア(エージェント)をインストールする必要がありません。Ansible自身はコントロールマシン(管理端末)上で動作し、SSHなどを介して対象サーバーに指示を出します。
・Playbookによる構成管理:インフラの設定手順をYAML形式のファイル(Playbook)で記述できます。手順が可読性の高いテキストベースで管理されるため、バージョン管理との相性も良く、再現性の高いデプロイを実現できます。
・プラグインやモジュールの拡張性:多数の公式モジュールが用意されており、OS設定やクラウドサービスの操作など様々なタスクを自動化できます。Pythonで独自モジュールを開発して拡張することも可能です。
・宣言的アプローチと冪等性:「最終的にこの状態になっていてほしい」という宣言を行うだけで、Ansibleがその状態に近づけるために必要な作業を実行してくれます。冪等性(べきとうせい)により、何度Playbookを実行しても同じ状態を保つことができます。
・軽量&シンプルな設計:エージェントレスであり、実行に必要な依存関係が比較的少ないため、初期セットアップが簡単です。他の構成管理ツールに比べ、学習コストが低めとされています。

負荷分散

HA Proxy

ロードバランサーやリバースプロキシとして利用できる多機能プロキシサーバ。負荷分散においてはラウンドロビン方式だけでなく、様々な負荷分散アルゴリズムの定義が出来ます。

ネットワークモニタリング

Cacti

サーバーやネットワーク機器のリソース使用状況のグラフ化を、インストール後の基本設定のみで行うことができる。PHPで開発されており、PHPが動作するプラットフォームであればLinux以外の商用UNIX/Windows OSでも稼働させることが可能。収集・集計した監視データはApacheなどのHTTPサーバーを経由しブラウザーでアクセス。収集したデータはRDB(デフォルトはMySQL)に格納する。

RRDTool

時系列データ用の高性能な「データロギング」および「グラフ作成」ツール。「ネットワーク帯域幅」「温度」「CPU負荷」などのあらゆる種類のデータソースから収集した時系列データを処理することを目的としている。

Wireshark

ネットワークデータを分析、表示するプロトコルアナライザー。Windows、MacOS、Linuxなどで利用できるため、ネットワーク分析の定番ツールとなっている。

Zenoss

Pythonで実装されたシステム管理ソフトウェアで、WebベースのUIを備えているのが特徴。システムの可用性やパフォーマンス、イベント、設定などをWebブラウザから管理・監視できる。問題検出や問題の自動解決、障害管理、アラート、レポートなどの機能を持ち、プラグインによる拡張も可能。

ログ収集

Fluentd

特徴
One Data Pipeline”の思想による統合的なログ管理:Fluentdは、さまざまな種類のログ・イベントを一元的に収集・加工・転送する「One Data Pipeline」の考え方を採用しています。JSONフォーマットをコアに用いることで、形式の異なるデータを一つのパイプラインで扱いやすくしています。ログ管理ツールが乱立しがちな環境でも、Fluentdを導入することで単一のプラットフォーム上で管理できる点が大きな強みです。

豊富なプラグインと高い拡張性:Fluentd本体は軽量ですが、数百以上あるプラグインを使うことで、多様なデータソース(ファイル、クラウドサービス、IoTデバイスなど)や出力先(データベース、ビッグデータプラットフォーム、アナリティクスツールなど)に対応できます。プラグイン開発も容易で、独自の要件に合わせてカスタマイズしやすい点が差別化につながっています。

優れたバッファリング機能と高い信頼性:Fluentdは、ネットワーク障害や出力先の障害が発生しても、ログをバッファに保持して再送する仕組みを備えています。バッファ先もメモリだけでなくファイルシステム、クラウドストレージなどを選択でき、障害時のデータロスを最小化できます。大規模環境や大量データの取り扱いでも、高い可用性を保ちやすい設計が特徴です。

ファイルサーバー、メールサーバーなど

DNS・DHCP

BIND

世界で最も多く利用されているDNSサーバー。DNSサーバとリゾルバライブラリ、各種ツールの集合体。

FTPサーバー

FileZila

FileZillaは、多くの機能と使いやすいインターフェイスを特徴とするクロスプラットフォームなFTP、FTPS、SFTPのクライアント(FileZilla Client)と、Windows向けの高機能なFTPサーバ(FileZilla Server)です。

まとめ

以上紹介したOSSはあくまでもほんの一部である。この他にも多くのソフトウェアがあるため、『OSS鳥瞰図2024版』を参考に探してみて欲しい。

また、下記は次世代ビジネスがソフトウェア・ファーストに刷新されることを描いた良著である。読み物として面白いため、紹介しておく。

学習と実践でスキルアップしよう(お得に).   対象コースが¥1800から