こんばんは!もりちゃんラーメンです。

 

昨日、当ブログに書いた「開発競争|GPLライセンスで稼ぐ階層型プログラムを作る?」の情報を更新します。

 

まず現代のトレンドを考えてみます。

 

 

アプリケーション
ーーーーーー
ミドルウェア
ーーーーーー
GPLライセンスのOS
ーーーーーー
UEFIやBIOSに観るI/O
ーーーーーー
ハードウェア
 
(図1)


GPLライセンスのOSで走るアプリケーションを開発しようとするとミドルウェアやアプリケーションもGPLライセンス でないといけないと思うことでしょう。

 

だが、下記の(図2)の様に考えを変えてみると自社のライセンスとGPLライセンスのOSを協調させることで開発者が、そのシステム化を担うことが可能になるやも。

 

このアイデアは、特許権の行使にも匹敵するアイデアとなるかもしれませんが、「ソフトウェアの自由」を考えるGPLライセンスの中の人からすると鎖の鎧を着た自由人を想像させる案件になることでしょう。

 

GPLライセンスのバージョンは、GNU GPL v3です。

https://www.gnu.org/licenses/licenses.html

 

この文書の中に定義されていないだろうミドルウェアの開発とその利用方法を改訂する事で下記の(図2)に見る企業や個人のライセンスの相乗りを阻止することが可能となります。

 


アプリケーション(自社のライセンス)
ーーーーーー
ミドルウェア(GPLライセンス)
ーーーーーー
GPLライセンスのOS
ーーーーーー
UEFIやBIOSに観るI/O
ーーーーーー
ハードウェア

(図2)

 

 

その様な観点から私が、ブログでお知らせした「開発競争|GPLライセンスで稼ぐ階層型プログラムを作る?」内のアイデアは、特許権を行使してもGPLライセンスと共に開発競争を担うコミュニティーの中の人たちにその力や協調性の還元を狙わなければ、収入印紙代の浪費となる事でしょう。

 

私はこれまでも何を何して行くかと言うことに関しているに違いないと思った次第だ。

と私の師のリチャード氏は、これを認めんとするだろうケレ

 

という事でした。

 

(図2)に見る自社のライセンス(甲)のソフトウェアをGPLライセンスのミドルウェアの上で動作させるなら、GPLライセンス寄りのライセンス(乙)を自社のライセンス(甲)に組み込むことで、何かの時にその自社のライセンス(甲)と紐づけてるライセンス(乙)を改訂することで自社のライセンス(甲)は守られるかもしれない。

 

そうすると、ミドルウェア(GPLライセンス)は、GPLライセンスのOSのコミュニティーに寄贈する形で社会に貢献する事の一環となるやも。

こんばんは!もりちゃんラーメンです。

 

Ubuntuでターミナルとgtk4とFlathub、そしてBuilder、VS Codeをインストールした後に、hello.cを作成してこれをターミナルでコンパイルし、helloの実行ファイルを作成しました。

 

でも、ターミナルとgtk4とVS Codeでお手軽にC言語の演習をUbuntuで出来るように思いました。

 

ターミナルを起動します。

 

$ sudo apt install libgtk-4-dev

...

Continue? [Y/n]

※インストールする場合は、Yを入力後にEnterを押します。

 

//ソースコードは、次の通りです。

 

#include <stdio.h>

 

int main(void)

{

 printf("ようこそC言語へ\n");

 

 return 0;

}

 

//VS Codeで新規にファイルを作成したら上のコードを書いた後に、「hello.c」としてそのファイルをドキュメントフォルダに保存します。

 

ターミナルでは、次の通りです。

 

$ cd ドキュメント

$ gcc $(pkg-config --cflags gtk4) -o hello hello.c $(pkg-config --lib gtk4)

pkgconf: ambiguous option -- lib

$ ./hello

ようこそC言語へ

$

 

次回は、FlathubとBuilderについて調べたいと思います。

こんばんは!もりちゃんラーメンです。

 

Linux OSに見て取れるGPLライセンスは、このライセンスに関わるソフトウェアの開発者にそのソフトウェアのソースコードを提出する事を求めます。

 

ですが、企業は、年々秘伝書の記されたコードの書き方を守っています。

 

そのコードを表すフローチャート図も特許庁に申請して、特許権を周知させる事も行っている企業もあります。

 

そこでGPLライセンスでどの様に稼いでいく事が可能かを考えてみました。

 

 

アプリケーション

ーーーーーー

ミドルウェア

ーーーーーー

GPLライセンスのOS

ーーーーーー

UEFIやBIOSに観るI/O

ーーーーーー

ハードウェア

 

(図1)

 

とPCを見た場合に、上から二層目のミドルウェアをGPLライセンスで作成し、アプリケーションを自社のライセンス等で守ることが可能になりそうに思っています。

 

アプリケーション(自社のライセンス)

ーーーーーー

ミドルウェア(GPLライセンス)

ーーーーーー

GPLライセンスのOS

ーーーーーー

UEFIやBIOSに観るI/O

ーーーーーー

ハードウェア

 

(図2)

 

この様にGPLライセンスのOSと自社のライセンスのアプリケーションの間にGPLライセンスのミドルウェアを挟む事で机上の空論は、より現実味を帯びた企業とコミュニティーの連携を図る事になるかもしれません。

 

このシステムは、オラクルのJavaとJava VMに観る実績を感じる方も多いでしょうか。

 

エンジニア様は、この方式めいたシステムの短所を知って居られると思います。

 

その一つは、メモリの消費量が大きくなる。

 

OSの上でアプリケーションを動作させるスタンダードなシステムよりもこの方式は、ミドルウェアを挟んでOSとアプリケーションを連動させるため、メモリの消費量が大きくなります。

 

またCPUのリソースも浪費するでしょう。

 

もしも、このミドルウェアをコミュニティー全体でハッキングできる様な型で構造化する事ができる様になると特定の言語以外に、対応した多言語化でハッキングし甲斐があるかと思われました。

 

でも、結局は、OpenJDKで密かにJavaアプリをこさえた方が良いだろうとおっしゃられるとそうだと思います。

 

JavaScriptに目を向けてもnode.jsのV8エンジンもJava VMに似た様なシステムにも思えます。

 

この記事を書き始めた時は・・・

 

何か良いアイデアが、出てくるかもと思ったのですが、作文を担っている間に出てきたのは「JavaとJava VM、OpenJDK」と「JavaScriptとnode.js」の事でした。

 

macOSやWindowsの既成のアプリケーションをGPLライセンスのOS上で動かすには・・・

 

やはりJava VMに観るバーチャルマシンの様な機能性をC言語で作った場合、

 

WINEの

 

(独り言)

 

文化の違いか・・・

 

「WindowsのアプリをGPLライセンスのOSで動作させたい」

 

という事ですか。

 

32ビットでWindowsに対応しているならWin32のそれでしょうか。

 

Windows 95からWindows 11までのどのアプリもGPLライセンスのOSで動作させたい・・・。

 

マイクロソフトを買収するしかないかも?

 

もしも、そうなったら米国の司法省は、Linux OSに監視を強めるでしょうか。

 

macOS?

 

macOSは、Apple製品にインクリメントしたOSなので、独占禁止法ではなくスーパー301条の類に匹敵されるかもしれないです。

 

でも、これは、Appleが同社の製品をアメリカ合衆国の国内で製造し出すと同法律に匹敵とならないでしょう。

 

スーパー301条は、アメリカ合衆国の貿易の公平・不公平を測る法律だったと思います。

 

過去にTRONが、その理念を明文化しようとした時にこの法律を突き付けられたとかそうでなかったとか。

 

話が脱線しましたが、Java VMはJavaアプリケーション、node.jsはJavaScriptのモジュールしか動作しなかった様に思うのですが、C言語でミドルウェアを作り、その上で色々な言語のアプリケーションを動かせる様になれば、それは結構な事ですよね。

 

FreeBSDは、LinuxのネイティブアプリケーションをLinuxバイナリー互換機能でネイティブに近い速度で動作させるとのこと。

 

多分、さっきの出来事を解釈するとこの例の様に「GPLライセンスのOSにWindowsバイナリー互換機能」でネイティブに近い速度か又は、ネイティブで動作させるという事でしょう。

 

Microsoftが、同社のWindows対応のアプリケーションをLinuxで動作させる為にWin32やWOW64と言う技術を開示した場合は、その技術開発による論理回路から「GPLライセンスのOSにWindowsバイナリー互換機能」を実装する機会に恵まれるかもしれないですね。

 

もしも、将来Microsoftが、司法省にWin32やWOW64の論理回路をフローチャート図として開示する様に告げられたならその極秘の回路を基に前出のWindowsバイナリー互換機能を組み上げる事は可能になるでしょう。

 

Linux OSのコミュニティーに代表されるオープンソースコミュニティーが、もっと多くのユーザー様で構成される様になってきたら、またアプリケーションの著作権に期限が設けられたら、アプリケーションは自由という開発スタンスで翻訳されていくかもしれない。

 

聖書も小説もクラシック音楽も人類の大切な文化の礎として存在する品は、著作権切れになった場合は著作権が消滅した後にパブリックドメインになる様です。

 

今後、Microsoftが、Win32 VMの様な環境を開発した場合は、GPLライセンスのOSのコミュニティーは本当の戦いに備えなければならなくなるやも。

 

今回も夢を観ました。

 

C言語でCのバーチャルマシンを作ることで方言を介さずにアプリケーションを色々なCPUを搭載した環境で走らせる事が可能かもしれないと思った想いを綴った記事でした。

 

 

こんばんは!もりちゃんラーメンです。

 

前回の「導入|UbuntuをPCにインストールする方法と注意点」の補足を記します。

 

まず、ダウンロードフォルダ内にダウンロードしたISOデータのハッシュ値をコマンドプロンプトから求めるコマンドは、次の通りです。

 

...>cd Downloads

※cdコマンドでDownloadsフォルダにプロンプトを移動させて、画面を遷移させます。

 

...\Downloads>dir

※dirコマンドでDownloads内のファイルを表示させます。

 

ダウンロードフォルダ内に「ubuntu-25.10-desktop-amd64.iso」が、ダウンロードされていたら次のコマンドをコマンドプロンプトで入力します。

※上のISOデータは、5.3GBの容量がありますのでダウンロードには時間が掛かります。(お使いのインフラの通信速度により町々です)

 

 

...\Downloads> certutil -hashfile ubuntu-25.10-desktop-amd64.iso sha256

※ダウンロードフォルダ内の「ubuntu-25.10-desktop-amd64.iso」をsha256の掛けでハッシュ計算しなさいとPCに命令します。(certutil△-hashfile△ubuntu-25.10-desktop-amd64.iso△sha256(△は半角スペースです))

 

上のコマンドで計算されたハッシュの文字列を公式サイトのハッシュ値と比べて、同じだった時はそのISOデータを活用して、「Rufus」の様なソフトウェアを使用し、USBメモリーにISOデータを焼きます。

 

次回は、BIOSの画面とUbuntuのインストーラのガイドをブログに書きたいと思います。

こんばんは!もりちゃんラーメンです。

 

UbuntuをPCにインストールするには、Ubuntuの公式サイトから正規のISOデータとそれをUSBメモリー(8GB以上)に焼くためのソフトウェアが、必要になります。

 

今回は、Rufusという名前のソフトウェアを介して、Ubuntuの正規のISOデータをUSBメモリーに焼いていきます。

 

まずはRufusの公式サイトからRufusのソフトウェアをダウンロードします。

 

ブラウザで「Rufus」を検索します。

 

ブラウザで「Rufus」を検索した様子。

 

ブラウザで「Rufus」の公式サイトにアクセスします。

 

「Rufus - 起動可能なUSBドライブを簡単に作成...」が、Rufusの公式サイトです。

 

「Rufus」の公式サイトのWebページです。

 

お急ぎの方は、こちらからどうぞ。

 
 

 

 

次にUbuntuのデスクトップ用の最新バージョンは、Ubuntu 25.10です。

 

「Ubuntu Desktop 25.10」をダウンロードします。

 

「ubuntu-25.10-desktop-amd64.iso」を上から順に探して下さい。

 

「ubuntu-25.10-desktop-amd64.iso    2025-10-07 03:55    5.3G」とあるのが、目的のISOデータです。

 

こちらをカーソルでクリックしてダウンロードします。

 

ダウウンロードが、完了しましたらタスクバーの検索窓に「コマンド プロンプト」と入力して、そのソフトウェアを起動させます。

 

これが、コマンド プロンプトです。

 

> の右側に cd downloads を入力したら Enterキー を一度押します。

 

downloads > になったら次は、dir を入力して下さい。

 

 

 

もしも同名のファイルが、すでにダウンロードのフォルダにあった場合は後からダウンロードしたファイルの名前の末尾に (1)などの名前が自動で付けられますので注意が必要です。

 

今回は、このファイルの名前を

ubuntu-25.10-desktop-amd64 (1).iso

から

ubuntu-25.10-desktop-amd64_.iso

に変更しました。ご了承ください。

 

 

SHA256からハッシュが計算されました。その結果、次の通りの値が出ましたので、これをUbuntuの公式サイトの情報と照らし合わせる様にします。

 

「SHA256SUMS」のファイルをクリックして、ハッシュの値を読みます。

 

「Ctrl + f」で検索窓をブラウザ内で開き、そこにコマンドプロンプトからハッシュ値の文字列をコピー&ペーストすると正規のISOデータからひと目で分かります。

 

ハッシュ値の文字列が、ダウンロードフォルダ内のISOデータと一致しました。

もしも、この文字列が一致しない場合は、そのダウンロードなさったデータは破棄しましょう。

なぜならそのデータは、改ざんされたデータだと認められますので。

 

次に8GB(ギガバイト)以上のUSBメモリーをご用意下さい。【以下の作業でそのUSBメモリーの中のデータは、フォーマットされて全削除されます】

 

そして、最初にダウンロードした「Rufus」のソフトウェアをダブルクリックして起動させます。

 

「ユーザーアカウント制御」の画面が出ると思います。「はい」を選びます。

 

「ブートの種類」の右端辺りにある「選択」ボタンを押します。

 

ダウンロードフォルダの中の「ubuntu-25.10-desktop-amd64_.iso(本件に限り_を付けました)」を選択して下さい。

 

「スタート」ボタンが、灰色の線で囲まれたらISOデータをUSBメモリーも焼く準備はできました。

 

ISOデータが、USBメモリーに焼けたら「閉じる」ボタンで「Rufus」を終了させます。

 

タスクバーの「^」字のマークからUSBメモリーのアイコンをクリックして、「ハードウェアを安全に取り外してメディアを取り出す」から目的のUSBメモリーを選択します。

 

Windowsの画面の右下から案内が、届いたらUSBメモリーを外して下さい。

 

UbuntuをインストールしたいPCのUSBスロットにそのUSBメモリーを指します。

 

PC本体に指す場所がある場合は、順番に試していく方法もあります。

 

ノートパソコンの場合は、左右両側にUSB Type-Aがある場合は一個だけの方を試されると良いでしょう。

 

そのPCの電源を落としたらUSB Type-AのUSBメモリーを目的のスロットに挿して、電源を入れます。

 

電源ボタンを押した直後から「F2」ボタンを軽く連打します。

 

※BIOSの起動ボタンは、PCのメーカーにより異なる場合があります。

 

BIOS画面が、現れたら「Boot」を管理している機能のタブを矢印キーで移動します。

 

画面の下に英語で案内が、出ていると思います。(日本産PCでもBIOSは、英語表記の物が多いです)

 

「Boot」画面の中から「USBからBoot」を指す機能を選びます。

 

「Exit」を選び、「Exit Saving Changes」を選びます。

 

その様な形でBIOSを「設定を保存して終了」すると再び、電源が入ってUSBメモリーの中のUbuntuのインストーラが起動します。

 

あとは、Ubuntuのインストーラに従って、Ubuntuをインストールして行きます。