ソフトウェア開発者のための OSS、まとめてみました!

ソフトウェア開発を行なっている自分が、個人的に面白いと思ったプログラムの最新技術や、オープンソースソフトウェア(OSS)をまとめています!

オフラインで実行できる ChatGPT に代わる OSS!「Jan」

概要

今回は、コンピューター上でオフライン実行可能な、ChatGPT に代わるツール「Jan」についてご紹介したいと思います。

Jan」は OpenAI のプラットフォームに代わるオープンソースベースの自己ホスト型プラットフォームとして公開されています。

クロスプラットフォーム対応のため、パソコン端末であれば WindowsLinuxmacOS どれでも動作させることができるということです。

それでは早速詳細についてみていきましょう。

目次

特徴

Jan」の特徴としては以下の点が挙げられていました。

ローカル実行可能

プライバシーを強化するために、Llama や Mistral などの AI モデルをデバイス上で直接実行し、インターネット接続などは行いません。

そのため、すべてのデータと処理結果はローカル環境に保存され、公開されることはありません。

リモート API 機能

Open AI や Groq、Mistral API などのリモート API に接続し、高度なハードウェアを必要とせずに AI 機能にアクセス可能。

完全オフライン

会話や好み、モデルの使用状況などはすべてコンピューター上に残ります。そのため、プライバシーが守られますし、エクスポート・削除なども可能です。

クロスプラットフォーム対応

Jan」は WindowsLinuxmacOS といったパソコン向けに最適化されています。

拡張機能保持

Jan」は拡張機能を使用して利用者にとって良いようにカスタマイズ可能で、AI エクスペリエンスを独自のものに合わせて強化することが可能です。


他にもまだまだたくさんの機能が紹介されていますので、詳細については公式ドキュメントを参照ください。

jan.ai

利用手順

Jan」の利用方法としては、インストーラーをダウンロードし、ローカル環境にインストールすることで利用可能です。

jan.ai

所感

Jan」はオフライン上で OpenAI に代わる ChatGPT の機能を持った AI サービスのため、これまでインターネット上には公開したくない指示やプライベートな内容について、AI に聞くことができるようになりました。

また UI/UX も観た感じではよさそうなため、使っていて操作がわからないといったことはなさそうですね。

まとめ

今回は、コンピューター上でオフライン実行可能な、ChatGPT に代わるツール「Jan」についてご紹介しました。

これまで AI に聞きたいことがあるときはインターネットを通じて質問をしていましたが、「Jan」を使用することでクラウドを通さずローカル環境だけで完結できますね。

また、その質問内容や回答結果などもローカル環境で完全に保持することが可能なので、プライバシー観点においても安全です。

ChatGPT のようなサービスを使用してみたかったがインターネットを通しての質問はなんか嫌だ、という人や質問内容・回答結果などはすべて個人で管理したいという方にとっては、こちらの「Jan」はとてもマッチしたサービスなのではないでしょうか。

気になった方はぜひ一度こちらの「Jan」を試してみてはいかがでしょうか。

ライセンス

GNU Affero General Public License v3.0

リンク

github.com

jan.ai

jan.ai

ゲームを作成してみたいと思っているなら!「Godot Engine」

概要

今回は、パソコンやスマホNintendo Switch などのプラットフォーム向けにゲームを簡単に作成することができる OSSGodot Engine」についてご紹介したいと思います。

Godot Engine」は 2D および 3D ゲームを作成するための機能が詰まったクロスプラットフォームゲームエンジンになります。

クロスプラットフォームとありますが、以下のプラットフォーム向けにゲームを開発することができるとあります。

また「Godot Engine」は完全に無料かつ MIT License のため自由に使用することができます!

それでは早速詳細についてみていきましょう。

目次

特徴

Godot Engine」の大きな特徴としては以下の点が挙げられています。

なお、「Godot Engine」は Python 風のプログラミング言語「GDscript」というものが用意されており、こちらは「Godot Engine」開発チームが試行錯誤の結果作り出した言語で、以下のような特徴を持っています。

  • Python をベースとしたプログラミング言語で、読みやすく書きやすさを重視
  • ゲーム開発に不要な構文を廃止
  • スピードの最適化

Godot Engine」はゲーム開発に特化したサービスになりますね!

利用手順

Godot Engine」をインストールするには、公式サイトからバイナリファイルをダウンロードし、インストールすることで利用可能となっています。

所感

自分のほうでも簡単に触ってみました。

Godot Engine」のエディタの様子は Visual Studio や Unity みたいな感じだなという印象を受けました。

今回はあまり「Godot Engine」について触ることができなかったのですが 3D ビューボード内に文字を置くことができたり物体を配置させたりすることも可能で、また GDscript を使用することで処理の繰り返しや処理の関数化をすることができました。

まとめ

今回は、パソコンやスマホNintendo Switch などのプラットフォーム向けにゲームを簡単に作成することができる OSSGodot Engine」についてご紹介いたしました。

ゲームを無料で簡単に作成してみたいという場合は、「Godot Engine」がベストな選択肢なのではないか、と思いました。

Godot Engine」は公式ドキュメントが整備されていますが、日本語の情報が少ないのがやや大変かな、と思いましたが、その代わり書籍などが比較的多く出版されています。

docs.godotengine.org

Godot Engine」を触ってみたいなと思っている方は検索して本を購入して勉強するのもよい選択かなと思いました。

何はともあれ、「Godot Engine」を使用すると簡単にゲームを作成することができるため、気になった方はぜひ一度試してみてはいかがでしょうか。

ライセンス

MIT License

リンク

github.com

godotengine.org

docs.godotengine.org

Google Photos に似た、セルフホスト可能な画像・動画バックアップサービス!「immich」

概要

今回は、Google Photos のサービスに近いものを自分のサーバーにセルフホストすることができる OSSimmich」についてご紹介します。

immich」は設定さえ済ませておけば自動バックアップの機能や顔認識機能などもあり、まるで Google Photos のようです。

immich」はブラウザから使用できますし、モバイルアプリ版も公開されておりますので、非常に使い勝手がよさそうです。

ちなみに、セルフホストで「immich」を使用するには Docker を使用することが推奨されていますので、もし使用を検討されている場合は事前に Docker をインストールしておくことをお勧めします。

それでは早速詳細についてみていきましょう。

目次

特徴

immich」の特徴としては、以下の点が挙げられていました。

自動バックアップの機能や端末へのダウンロード機能、マルチユーザー対応、共有アルバム作成など様々な機能が現時点で見られました。

Google Photos と同じようなことが可能なので、使い勝手もよさそうですね。

ただし、公式サイトにも注意書きで記載がありますが、「immich」は現在も非常に活発に開発が行われているため、バグが混入されていたり機能変更がされる可能性があります。

そのため、写真や動画を保存する唯一の手段として「immich」を使用するのは避けた方がよいということでした。

利用手順

セルフホストとして使用する際は Docker を使用して構築することが記載されていました。

詳細については以下の公式ドキュメントを参照ください。

immich.app

immich.app

一方でデモ版も公開されていますので、どんな感じなのかを確認するのであれば、以下のデモアプリを触ってみるのがよいでしょう。

immich.app

デモアプリではでもユーザーが用意されていますので、それを用いてログインすれば利用可能です。

使用感

早速私のほうでもこちらの「immich」を使用してみました。

ログイン後の外観はまるで Google Photos を思わせるような UI になっていました。

また、各画像についてはクリックすることでその写真の詳細を確認することができます。

他にも画像の検索機能があったり、撮影した場所を示すマップ機能などがあったりで、非常に高機能なサービスです。

Google Photos に似た機能がセルフホストで管理することができるので、サーバーに画像を上げたくない人や Google に課金してまで画像を格納したくないという人にとっては好い選択肢になるかもしれませんね。

まとめ

今回は、Google Photos のサービスに近いものを自分のサーバーにセルフホストすることができる OSSimmich」についてご紹介しました。

UI/UX が Google Photos に似ているため、直感的にアプリ自体も操作可能でしたし、画像・動画を保存してアプリ上で管理したいという場合でも大変使い勝手が良いなと思いました。

Google Photos に課金してまで画像を格納したくない、サーバーは自分で用意する、という人などにとっては好い選択肢になるかもしれませんね。

immich」はまだまだ絶賛開発中ということもあり本格的に使用するには心許ないと思いますが、正式リリースされたら自分のサーバーに本アプリを入れて、画像・動画を自分で管理したいなと思いました。

興味のある方はまずはデモアプリを触ってみるとよいかもしれません!

ライセンス

リンク

github.com

github.com

VTuber ロゴを作成し公開している OSS!「Programming VTuber Logos」

概要

今回は、VTuber ロゴを作成し公開している OSSProgramming VTuber Logos」についてご紹介いたします。

あまり私自身 VTuver について詳しくないのですが、きれいでポップなロゴが作成されており公開されているので、今回はこちらについてご紹介したいと思いました。

それでは早速詳細についてみていきましょう。

目次

特徴

Programming VTuber Logos」としましては、やはりポップできれいなロゴを公開しており、非営利目的であれば使用できるという点でしょうか。

また、以下のカンバンボードに「Programming VTuber Logos」の著者に作ってほしい題材を投稿すると、作成してもらうことができるということです。

github.com

私が見ている中で順番待ちとして見られたのが、GitHub のロゴや Unity のロゴなどが順番待ちとして見られました。

ただし、「Programming VTuber Logos」の README でも注意書きとしてありますが、公式のロゴではないということなので、その点だけは注意した方がよいですね。

利用手順

Programming VTuber Logos」の利用方法ですが、本リポジトリにアクセスし、興味のあるアイコン名を閲覧またはダウンロードすることで利用することが可能です。

使用感

早速私のほうでもこちらの「Programming VTuber Logos」についてみていきました。

自分のほうで興味があるアイコンとしては、Bun、ImHex、Kubernates、Neovim、VSCode でしたので、それぞれについてみてみました。

  • Bun

  • ImHex

  • Kubernates

  • Neovim

いずれもとてもポップでアートですね!

非営利であれば使用可能なので、自分のほうでもいくつかダウンロードして所持しつつ気分を上げたいなーと思いました。

カンバンボードをみるとまだまだ ToDo リストに候補が挙げられていますので、今後もっとロゴが増えていきそうですね、とても楽しみです!

まとめ

今回は、VTuber ロゴを作成し公開している OSSProgramming VTuber Logos」についてご紹介いたしました。

VTuber に限らず(?)非常にポップできれいなロゴが公開されていました。

基本的にはプログラミングに関係のあるものに対してロゴが作成されているようですが、著者の判断でプログラミング以外のロゴも作成してもらえるかもしれないということなので、何かリクエストがあればカンバンボードに投稿してみると、作成してもらえるかもしれません。

気になった方は、ぜひ一度こちらの「Programming VTuber Logos」を見てみてはいかがでしょうか。

ライセンス

以下に記載されている場合、CC BY-NC-SA 4.0 に従うということでした。

  • 非営利である場合
  • 変更しても同じライセンスで共有する場合
  • クレジットが本 OSS の場合
  • OSS 著者に断りなく売買しない場合
  • ステッカーを売買してもよいが、販売しない場合
  • ロゴは自由に入れ替えてよい
  • ただし、本 OSS 著者が場合によっては商業プロジェクトで使用許可を与える場合

Attribution-NonCommercial-ShareAlike 4.0 International

リンク

github.com

github.com

NASA が開発し実際に宇宙船ミッションで使用されているミッションコントロールシステム!「Open MCT」

概要

今回は、NASA のエイムズ研究センターが開発し、NASA が実際に宇宙船ミッションでデータ分析や実験用探査機システムの計画と運用に使用しているミッションコントロールシステムである「Open MCT」についてご紹介いたします。

Open MCT」はデスクトップおよびモバイルデバイス上でデータを視覚化するための次世代ミッションコントロールフレームワークとして、OSS として GitHub 上に公開しています。

また、一般利用としても利用可能で、テレメトリデータを生成するシステムの計画、運用、分析用のアプリを構築するための基礎として利用することも可能です。

それでは早速詳細についてみていきましょう。

目次

特徴

Open MCT」の特徴としては以下の点が挙げられていました。

  • Open MCTは現在、NASAでの複数のミッションをサポートするために使用
  • 月面車ミッションの概念の開発をサポートするために使用
  • モバイルミッションチームの多くのセグメントに、統合された状況認識、ヘルスモニタリング、およびテレメトリの視覚化を提供
  • テレメトリを生成する任意のシステムの計画と運用に適合
  • コンピューターとネットワークのパフォーマンスの監視、ビジネスデータの視覚化、プロセス制御の監視
  • Web ベースのレスポンシブデザインでブラウザ、モバイルどちらのプラットフォームで利用可能
  • オブジェクト指向、また視覚的にシステムの運用、監視することに対応

上記で上げたこと以外にも多くの特徴などが挙げられていますので、詳細について把握したい方は公式ドキュメントを参照ください。

nasa.github.io

利用手順

Open MCT」をローカル環境で使用する方法としていかが挙げられていたのでご紹介いたします。

基本的には Node.js を利用して、ローカル環境で動作させるということでした。

  1. ソースコードをローカル環境にクローン
   git clone https://github.com/nasa/openmct.git
  1. 開発依存関係のノードモジュール群をインストール
   npm install
  1. ローカル開発サーバーで実行
   npm start
  1. ローカルサーバー起動後、http://localhost:8080/ にアクセス

使用感

早速私のほうでもこちらの「Open MCT」について使用してみました。

起動直後は以下のようにプレーンな状態で提供されており、ここから必要に応じて監視状態のためのダッシュボード管理画面を用意したり、テスト計画のための準備を進めるということですね。

以下は NASA の公式ページから取得したものですが、運用を進めていくことで以下のようないかにもダッシュボードとしての画面を作ることも可能ということです。

自分自身、なにかミッションコントロールの作業が必要ではないのであまり触れてはいませんが、UI/UX もよいのでミッションコントロールの作業がある方は一度見てみるのもよいかと思いました。

また、ユーザーガイドとして PDF ドキュメントも用意されていますので、こちらも一読してみるとより詳細について把握することができます。

nasa.github.io

まとめ

今回は、NASA のエイムズ研究センターが開発し、NASA が実際に宇宙船ミッションでデータ分析や実験用探査機システムの計画と運用に使用しているミッションコントロールシステムである「Open MCT」についてご紹介いたしました。

あの NASA が開発し、実際に運用しながら宇宙船業務のミッションを行っている管理画面が OSS として公開されているので、非常に面白い題材だったかと思いました。

NASAOSS としてサービス・プログラムを公開しており、また Node.js でサービスを作成しているんだなと思いました。

実際に「Open MCT」はミッションコントロールシステムとして宇宙船業務以外でも使用可能ということなので、ミッションコントロールの業務をされている方などは、一度こちらのシステムを見てみるのもよいではないでしょうか。

ライセンス

Open MCT License

リンク

github.com

nasa.github.io

ソフトウェア開発における技術やプラットフォーム、サービス、言語などをまとめたリスト「awesome」

概要

今回は、ソフトウェア開発における技術やプラットフォーム、サービス、言語などをまとめたリスト「awesome」についてご紹介いたします。

こちらを確認することで、ソフトウェア開発の現在の技術一覧や最新情報について把握することができます。

それでは早速詳細についてみていきましょう。

目次

特徴

特徴としては、ソフトウェア開発で重要となる技術やサービスなどがリストとしてまとめられている点です。

以下の項目が主にまとめられていました。

  • プラットフォーム
  • プログラミング言語
  • フロントエンド開発
  • バックエンド開発
  • コンピュータサイエンス
  • ビッグデータ
  • 理論
  • 編集者
  • ゲーム
  • 開発環境
  • エンターテインメント
  • データベース
  • メディア
  • 学習
  • 安全性
  • コンテンツ管理システム
  • ハードウェア
  • ビジネス
  • 仕事
  • ネットワーキング
  • 分散型システム
  • 健康と社会科学
  • イベント
  • テスト
  • その他

利用手順

awesome」について利用するには、GitHub の README を参照することで利用可能です。

github.com

使用感

早速私のほうでもこちらの「awesome」についてみてみました。

「プラットフォーム」については以下の項目がまとめられていました。

私が興味ある分野ですと、Node.js や React Native、Raspberry Pi、Flutter などがまとめられていますね。

こちらで挙げられているリストのリンクをクリックすると、関連する GitHub のページに遷移するため、技術の詳細について把握したい際は実際にアクセスしてみることをお勧めします。

また、プログラミング言語としては以下の内容がまとめられています。

巷でよく使われている言語から、なかなか珍しい言語まできれいにまとまっていました。

まとめ

今回は、ソフトウェア開発における技術やプラットフォーム、サービス、言語などをまとめたリスト「awesome」についてご紹介いたしました。

ソフトウェア技術について GitHub へのリンクがまとめられていますので、気になった技術やサービスがあった際は覗いてみることをお勧めします。

ぜひ一度こちらの「awesome」を見てみてはいかがでしょうか。

ライセンス

Creative Commons Zero v1.0 Universal

リンク

github.com

チェスのオンライン対戦や大会情報などを掲示しているウェブサイト!「Chess.com」

概要

今回は、チェスのオンライン対戦や大会情報などを掲示しているウェブサイト「Chess.com」についてご紹介いたします。

みなさん、「Chess.com」についてご存じでしょうか?

チェスをされている方にとってはおそらくあたりまえのサイトかと思いますが、オンラインでチェスの対戦が可能だったり、練習問題を解くなど、チェスに関することならお任せあれ!という Web サイトになります。

アメリカの企業 Chess.com が運営しているウェブサイトであり、世界で最も頻繁にアクセスされているボードゲーム Web サイトということでも有名かもしれません。

Chess.com」が GitHub 上で非常に注目を浴びていたので、こちらでも取り上げたいと思います。

それでは早速詳細についてみていきましょう!

目次

特徴

Chess.com」の特徴としては、チェスのことに関する情報提供されていたり、練習問題が提示されていたり、レッスン動画があったりと、チェス関連については一通りのことがまとめられています!

Chess.com」自体はプログラミング言語 TypeScript で作成されており、フロントエンドは React、バックエンドは Node.js ということです。

利用手順

Chess.com」を利用するにあたっては、以下の手順ということでした。

  1. 会員登録を行う

  2. 新しいマッチを作成 or 既存のマッチに接続

  3. 実際にチェスをプレイ!

Chess.com」ではオンラインで他ユーザーと対戦できるほか、コンピューターとも対戦が可能なので、本格的にチェスで対戦をしたい人も気軽に対戦を楽しみたい方も、どちらの方でも遊ぶことができます。

使用感

早速私も「Chess.com」について触ってみました。

私自身はチェスにあまり詳しくないので、まずはコンピューターと対戦で遊んでみましたが、画面上の動作は基本的にサクサクなので特にストレスなどは感じられませんでした。

画面右側に操作の記録が残るので、どのタイミングでどこに指したのかがわかってよいですね。

ただ、自分の場合はルール自体もあやふやなので、まずはレッスン動画を確認することろからがよいかなーと思いました。。

また、画像を見てもらうとわかるかと思いますが、日本語対応されているので、日本の方にとっても非常に取り組みやすい Web サイトになっております。

まとめ

今回は、チェスのオンライン対戦や大会情報などを掲示しているウェブサイト「Chess.com」についてご紹介いたしました。

チェスを嗜んでいる方にとっては当たり前の Web サイトということでしたが、自分は把握していなかったので非常に勉強になりました。

世界最大級のボードゲーム Web サイトというだけあって、日本語対応もされており非常に取り組みやすいなと思いました。

チェスに興味を持っている方は、ぜひ一度こちらの「Chess.com」にアクセスしてみて遊んでみてはいかがでしょうか。

ライセンス

特に見当たりませんでした。

リンク

github.com

www.chess.com