メインコンテンツへスキップ

Visopsys 1997年からたった一人で開発され続けるOSがスゴイ!

·2 分
2025/11 OS ソフトウェア開発 プログラミング 個人開発 歴史

Visopsys 1997年からたった一人で開発され続けるOSがスゴイ!

引用元:https://news.ycombinator.com/item?id=45785858

visopsys 2025/11/02 06:09:54

2006年の大学のOS授業でVisopsysをいじる課題があったんだ。当時は原始的なソフトだったけどUIはあったよ。課題で質問したくて作者にメールしたら教授にバレて怒られちゃった。自分で解決しなきゃいけなかったけど、OSの深いレベルで学べたのはすごく楽しかったな。良い思い出だよ :)
ところで、みんな俺のユーザー名、何か気づいた? :)

7thaccount 2025/11/02 13:08:27

OPが単にこの体験を心から楽しんだだけなのか、それとも実はそのOSの作者なのか、どっちか判別できないな。

visopsys 2025/11/02 14:39:27

いや、俺は作者じゃないよ。14年前にHackernewsアカウントの名前を決めるとき、このプロジェクトと名前が気に入ったから選んだだけさ。プロジェクトや作者を誤解させようって意図は全然ないよ。

phendrenad2 2025/11/02 15:57:34

「プロジェクトと名前が好きで選んだ」ってさ。
ある人は__xXx_ultimatEWeapon420_xXx__みたいな名前をつけるのに、別の人は適当なオモチャのOSから名前を取るんだね。

visopsys 2025/11/02 16:37:41

まったく、典型的なオタクの習慣だよね。

genvmunix 2025/11/03 02:20:34

まったくその通り…30年前にDec Unixカーネルにちなんで自分に名前をつけた俺が言うのもなんだけどね…。

jsrcout 2025/11/03 22:28:39

まったくその通りだよ。

ilaksh 2025/11/02 13:31:27

彼は単に、懐かしく思い出す何かに敬意を表して自分の名前にしただけなんだよ。

tsoukase 2025/11/02 12:19:18

君の投稿を最後まで読んだら、まるで映画を見てるみたいだったよ…

sen 2025/11/01 23:19:54

これはマジでかっこいいよ!他の多くの趣味OSと違って、基本的な用途なら日常使いもできそうだね(子供、高齢者、古い/安価なハードウェアとか)。PCがものすごいパワフルになった今でも、メモやカレンダー、電卓みたいに、元々の家庭用PCがしてたようなことだけしたい人はたくさんいるはずだよ。

voidfunc 2025/11/02 00:20:11

君が説明してるのは、大画面のiPadで動くiOSのことだよ。4歳の子から77歳のPC音痴の父までみんな使えるんだ。Visopsysは、基本的にPCオタクじゃない人には全然使えなさそうだね。

Nextgrid 2025/11/02 01:25:54

理論的にはそうなんだけど、実際は「とにかく成長」が経済の基本だから、iOSももう適してないよ。最近のiOSでさえUIをランダムに変えたり、Apple TVやiCloudへの登録を促す「通知」や「提案」(現代の「広告」の婉曲表現)を送ってきたりするからね。

naikrovek 2025/11/02 02:34:10

最近のiOSでさえUIをランダムに変えるって言ってたけど、俺たち「ランダム」の捉え方が全然違うみたいだね。

BolexNOLA 2025/11/02 04:53:51

Tahoeで、20年以上あった画面中央の音量インジケーターをなんでなくしたんだ?あれは音量コントロールが機能してるかどうかの重要な表示だったのに。メニューバー右上のちっちゃいバーに変わって、ほとんど見えないし、音量レベルも分かりにくくなった。なんで?あれはまさにランダムな変更に見えたよ。全然機能的じゃないし。

hollerith 2025/11/02 03:22:14

基本的なニーズなら(子供、高齢者とか)って言うけど、ほとんどの子供や高齢者も時々主流のブラウザを使う必要があるよ。Visopsysは主流のブラウザを動かすのはまず無理だろうね。

Razengan 2025/11/02 05:35:44

なんでかっていうと、君より前に多くのユーザーが「画面全部を占領する!」って不満を言ってたからだよ。正直、動画とか見てるときに隠れるのはちょっとイライラしたんだ。

Razengan 2025/11/02 05:41:20

君が言ってた「大画面iPadのiOS」だけど、iPadはApple製品への入り口だったんだ。でもジョブズがいなくなってから、メニューは「謎肉」みたいに分かりにくくなって、画面の端からスワイプする場所で機能が変わるような変なジェスチャーだらけになった。右上スワイプでコントロールセンター、中央上スワイプで通知?高齢者にそんなの教える気になれないよ。母にはホームボタンがあるiPhone SEじゃないと無理だね。俺はかなりのオタクだけど、iPadのマルチタスクもどうやるか覚えられないし、また変わったみたいだし。結局、万人向けUIって無理なんだよ。iPhoneやiPadは良くやったけど、そろそろシンプルモードとエキスパートモードみたいなUIの選択肢が必要だと思うね。

wizzwizz4 2025/11/02 10:21:49

じゃあ、「主流のブラウザ」って意味を考え直す必要があるね。

exe34 2025/11/02 07:54:23

一体どんな動画見てるんだよ。そんな頻繁に音量変える必要があって、2秒見逃すのが問題になるようなのって?

graemep 2025/11/02 13:12:24

そうなったらいいけど無理だよ。基本的なニーズがある人は、サポートがあって期待通りに動く主流の製品にこだわるべき。銀行や複雑なウェブサイト、オンライン動画、教育アプリなどが必要だからね。高齢者だって高度なこと求める人いるし、ニッチなOSはGeek向けだよ。

Razengan 2025/11/02 08:44:07

おい。音量を変えたかったんだ。キーを押したら音量が変わった。それだけフィードバックがあれば十分だ!視覚で邪魔されたくないね。でも、かわいかったし、「表現豊か」か「最小限」のUIオプションとしてならあってもいいかも。

wizzwizz4 2025/11/02 19:54:38

ウェブブラウザには、文書ビューア、リモート事務処理マシン、クロスプラットフォームのアプリケーションフレームワークの3つの目的があるんだ。最初の2つは1ヶ月で作れるブラウザで十分。(試作版ならもっと短縮できるけど、個人的には嫌だな。)銀行サイトはビジネスロジックを除けば複雑じゃない。Dilloでも動かない理由はないはずだ。

vasco 2025/11/02 08:22:40

じゃあ、何が良いんだ?君は間違ってると思うし、コンピューターが苦手な人が何かをするには、iOSかAndroidのタブレットが最高のフォームファクターだよ。どんなデタラメが追加されようと、他のものは全部ダメだね。もっと良いもの知ってるのかい?

deaddodo 2025/11/02 01:33:30

最近、iPhone 16が盗まれたから新しいiPhoneを買わざるを得なくて、iOS 26を押し付けられたんだ。ひどいもんだよ(私にとってはね、好きな人もいるだろうけど)。醜いガラスのUX、変な浮遊するコントロール、常に表示されるディスプレイ、もううんざり。全然革新的じゃなくて、ただ「新しい」って見せるためだけに全部作り直したとしか思えないね。

bombcar 2025/11/02 07:01:31

iOS 26でサイドのやつを削除して、26.1でまた復活させるんだって。プロジェクトのリーダーシップが完全に欠如してるし、それが妙に心配になるね。

BolexNOLA 2025/11/02 13:38:38

HDMI出力時とか、音量調整がうまくいかない時に、小さい表示だと困るんだ。Appleには「It just works」を貫いてほしい。あのポップアップは音量レベル以上の情報くれてたし、分かりやすくて20年間一貫してた。変更する必要はなかったし、今回の改悪は本当にひどいよ。

klardotsh 2025/11/02 15:51:59

「君と僕では“ランダム”の考え方がかなり違うと思うよ。」
全く、“ランダム”じゃないね。iOS 26に関して、どんな言葉を使うべきかな?計画的?意図的?それとも悪意があったの?
それはあなたにとって悪いだけだよ。あのフローティングオーバーレイが心底嫌いだった人もいるし、それが消え去ってくれて最高に嬉しいと思ってるよ。

catoc 2025/11/02 07:42:45

「君と僕では“ランダム”の考え方がかなり違うと思うよ。」
全く、“ランダム”じゃないね。iOS 26に関して、どんな言葉を使うべきかな?計画的?意図的?悪意のある?

xp84 2025/11/03 06:07:58

ドキュメントビューアとかフォーム作るのに、フロントエンド開発者がReactやNext.jsアプリに1000以上のNPM依存関係を使うってありえない!Webってほんと過剰で、何でもJavaScriptで過剰に作られすぎだよね。

rvz 2025/11/02 03:45:30

非Linux OS開発はマジで凄いけど、「日常使いできる」ってのは違うね。ChromeとかFirefoxみたいな基本的なブラウザがないと、一部のマニア以外には全然使えないよ。

もっとコメントを表示(1)
Razengan 2025/11/02 08:47:10

プロジェクトにリーダーがいなくても、ユーザーが好きなようにUIをカスタマイズできるようにすればOKじゃん?その方がUIデザイナーも楽だし、コーダーはAIがいるから問題ないでしょ??

ModernMech 2025/11/02 15:05:07

これを理解するなら、チンパンジーがiPhoneでChimstagram使ってる動画見れば一発だよ。コンピューター音痴なんてレベルじゃなくて、人間ですらないじゃん!
https://www.youtube.com/watch?v=XTiZqCQsfa8

davedx 2025/11/02 10:48:34

iOSやMacOSのUIジェスチャー、ほんと複雑すぎて共感するわ!長年使ってる俺(40歳のソフト開発者)ですら、どこをスワイプしたりクリックしたら何が起きるか全然覚えられないよ。高齢者やコンピューター音痴には全然優しくないよね!

weikju 2025/11/02 04:58:02

「ランダム」じゃなくて「恣意的」って言葉を使った方がしっくりくること、よくあるよね。

Hnrobert42 2025/11/02 21:25:34

右に動くやつはね、デスクトップをクリックしてデスクトップを表示してるか、ホットコーナーを設定してるか、Stage Manager使ってるかのどれかじゃない?あくまで予想だけど、参考になれば嬉しいな。

bombcar 2025/11/02 08:52:53

Apple社内でUIのカスタマイズを訴える人たちは、アクセシビリティオプションとして隠されちゃってると思うよ。Appleはカスタマイズが嫌いで、常に「Apple流」を押し付けてくるからね。

hu3 2025/11/02 12:06:42

透明背景に”アップグレード”したせいで、デフォルトだとテキストが見にくいOSのこと?お年寄りには勧められないけど、子供たちは使いこなすよね。

dang 2025/11/02 02:44:27

驚き!以前のスレッドはこれだけだったよ。
Visopsys - https://news.ycombinator.com/item?id=18147201 - 2018年10月(6コメント)

dylan604 2025/11/02 16:02:06

dangも「え、この話題って今まで一度しか投稿されてないの?」って驚いてたよ。

Rochus 2025/11/02 10:38:14

面白いね。このシステム、知らなかったよ。モノリシックカーネルで、カナダ人プログラマーのAndy McLaughlinが1997年からほぼ一人で開発。GUI、プリエンプティブマルチタスク、仮想メモリ搭載。CとIA-32アセンブリ言語で実装。作者の2012年インタビューはこちらだよ:
https://www.pingdom.com/blog/visopsys-operating-system/

khimaros 2025/11/02 01:52:12

探すのにちょっと時間かかったけど、ソースコードはここにあるよ:
https://sourceforge.net/projects/visopsys/files/visopsys-0.9

RockieYang 2025/11/02 03:36:23

探し出してくれてありがとう。それでも274052行もある結構な規模のコードベースだね。

kragen 2025/11/02 11:55:48

それって4000ページ分だよ。持ち運べるくらい小さいね。1週間で全部読めるけど、理解するには足りないかな。glibcの半分で、FirefoxやLinux kernelの100分の1のサイズだよ。

zxcvgm 2025/11/02 04:59:32

あー、このOSって、大学教授が授業の課題に使ってたんだよ。デバイスドライバーを書かせたり、パイプを実装させたりね。天才的だと思ったし、学生にはかなりの挑戦だったはずだよ。

stuxnet79 2025/11/03 00:39:07

この授業、公開ウェブページはあるの?見てみたいし、空き時間で似たようなことやってみたいな。

sorbusherra 2025/11/02 00:26:21

一人でOSを作ってるなんてマジですごいよね!簡単なことじゃないってわかるわー。

bombcar 2025/11/02 07:03:12

難しくないって言われるけど、実は多くの人が思ってるよりとっつきやすいんだよね。モダンなOSのOSのほとんどは大量のドライバーで成り立ってるし、基本的な部分はそこまで複雑じゃないんだ。ただ、細かい部分がたくさんあるだけって感じ。

ModernMech 2025/11/02 15:12:31

「たった」って言うのは完全に過小評価だよ。一人でやると20年もかかるようなプロジェクトで、一歩一歩は「たったこれだけ」って感じるけど、全体で見るとその複雑さは計り知れないんだから。作者にとってはもうOSと脳が一体化しちゃってるから簡単に思えるだけなんだろうね。

II2II 2025/11/02 12:27:01

何を目標にするかによっても変わるよね。シンプルなファイルシステムやビデオドライバーで済ませることもできるし、OSの定義自体も難しい問題だ。WindowsとかMac OS、Linuxに入ってるソフトウェアの多くは、本来のOSの一部じゃないって意見もあるけど、どこまでがOSかって線引きは難しいよね。

tcbawo 2025/11/03 03:18:11

ちょっとアホな質問かもだけど、ユーザー空間ドライバーを使うOSだったら、既存のドライバーを流用したり、再利用したりできないのかな?もしそうなら、新しいOSが普及するまでの道のりを短縮できるんじゃない?

sitzkrieg 2025/11/02 15:26:27

他の人も言ってるけど、「たった」って表現は過小評価されすぎだよね。x86_64だとすぐに古くて関係ない詳細に突き当たって、全然楽しくないし。RISC-Vみたいな良いアーキテクチャの小さなボードでトイOSを作る方が断然楽しいよ。nand2tetrisとかxv6みたいなRISC-Vプロジェクトもいいね。

grepfru_it 2025/11/02 01:03:24

AtheOSとその後のSyllableOSも見てみてよ。これも一人の開発者から始まって、別の開発者が引き継いでオープンソースになったけど、残念ながら終わっちゃったんだ。でも、最初の3年間でかなりすごかったんだよ。みんなが軽いノリでOSを作ってたあの頃が懐かしいなー。

wowczarek 2025/11/02 02:38:14

SkyOSも忘れちゃいけないね。他にもたくさんあるし、最近だとSerenityOSが注目されてるよ。ああいう時代はまだ終わってないってことだよね。それに、単一開発者のOSって意味じゃTempleOSも外せないだろ。

pkphilip 2025/11/02 13:07:37

SkyOSかー。俺、ベータプログラムにお金払って参加してたのに、いきなり開発中止になっちゃったんだよね。何があったのかはわからないけど、他のOSからコードを「借りてた」っていう噂も流れてたな、確証はないけどさ。

pjmlp 2025/11/02 02:35:54

CP/Mも一人で作られたOSだったんだよね。

anthk 2025/11/02 08:24:23

CP/Mはもっとシンプルだったぜ。

II2II 2025/11/02 12:41:06

CP/Mはシンプルだったかもな。でも開発が簡単だったかは分かんないぜ。当時はアセンブリ言語で書かれてて、パフォーマンスとメモリ使用量の考慮が大変だったんだ。CP/Mは互換性のないハードウェアで動くことで有名で、BIOSで不具合を解消してたんだよ。これは一部では開発を単純化したけど、基盤ハードウェアの仮定ができないから、他の点では複雑になったんだな。

nineteen999 2025/11/03 15:05:50

CP/Mにはいいドキュメントがあるぜ。Kildallは最初ハードディスクで苦労してたらしい。CP/Mはアセンブリで書かれた部分が多いけど、PL/Mでも書かれたところもあるんだな。

pjmlp 2025/11/02 09:16:51

元記事の投稿主は複雑さも比較も話してないだろ。

anthk 2025/11/02 12:35:30

CP/M 2.2はオープンソースだけど、フリーのアセンブラはないな。クロスアセンブラならこれがあるぜ: http://john.ccac.rwth-aachen.de:8000/as/
でもOpenBSDだとビルドが面倒だぜ。ZMachineやV3のゲームはフリーの例じゃないな。

もっとコメントを表示(2)
pjmlp 2025/11/02 14:52:18

俺が返信したコメントにはフリーの話題も出てなかったぜ。

desi_ninja 2025/11/02 06:05:01

じゃあSerenity OSには度肝抜かれるぜ。

vhhn 2025/11/02 07:07:39

あるいはLinuxだな。

panki27 2025/11/02 09:31:41

あんたが言ってるのはGNU/Linuxのことだと思うけど、最近は「GNU plus Linux」って呼んでるぜ。

portaouflop 2025/11/02 02:52:28

TempleOSって知ってるか?神に認められた唯一のOSなんだぜ。

latentsea 2025/11/02 08:11:29

史上最高のプログラマーが作ったんだって!

jonhermansen 2025/11/02 04:10:26

最近Michael MJDがこの動画作ったんだ!見てみてね:https://youtu.be/5MZljgX2WA

sam0x17 2025/11/01 23:11:06

約30年経ってもまだ0.9っていうのが一番すごいよね

grg0 2025/11/01 23:16:13

古すぎて、1.0が出る頃には3Dアイコンとかウィンドウ枠がまた新しく見えるかもね。まさに長期的なビジョン!冗談はさておき、カスタムOSの記事はいつも楽しく読んでるよ。

WD-42 2025/11/02 04:25:39

冗談だろって思うかもしれないけど、アイコン見た時、最初に「いいな」って思ったよ。フラットデザインはもう飽きたよね。

ndiddy 2025/11/02 00:21:38

公式URLはこれだよ:https://0ver.org/

65 2025/11/02 02:56:04

Semantic versioningってちょっと冗長すぎない?特にメジャーバージョンを出すタイミングとか。OS Xは何年もバージョン10だったのに、毎年「メジャー」バージョンを出してたでしょ。みんなやってるけど、本当に必要なのかな?

rswail 2025/11/02 11:23:33

Semantic versioningはAPI向けで機能向けじゃないんだ。だからAPIを利用する開発者向けってことだね。リリース版にはカレンダーバージョンを使うといいよ。例えばv2025-11-02みたいにね。ユーザーにとっては機能が重要だから、新機能があったらバージョンアップって感じかな。車のモデルと似てるね。

roryirvine 2025/11/02 15:29:54

Oracleも昔そんな感じだったよね?ドットコムバブル全盛期にはOracle 8i(iはInternet)があって、数年後にはクラスタリングが流行ってOracle 10g(gはgridだったかな?)とか。今も続けてるみたいで、最新版は23aiだってさ。

necovek 2025/11/02 11:46:24

開発者だってユーザーだし、APIの機能って全体の機能の一部じゃん?その区別に何の意味があるの?例えば古いデスクトップアプリのセキュリティ修正を、新しいバージョンを買わせずにどうユーザーに伝える?結局、バージョン管理はツールで、プロジェクト次第でSemVerが合うか合わないかは変わるよ。

rswail 2025/11/03 05:33:21

SemVerってAPIの変更を開発者に伝えるもので、実装だけ変わってもSemVerは変わらない。インターフェースのバージョン管理に向いてるよ。リリースバージョンはSREとか構成管理のためで、ユーザーバージョンはユーザーの期待に関わるんだ。セキュリティ修正は影響を受けるユーザーには無料であるべきだし、リリース理由も明記するべきだね。ホットフィックスならバージョンに拡張して対応できるよ。

necovek 2025/11/03 18:05:33

複数のバージョン管理スキームを使うのは分かるけど、それが”唯一の正しい方法”じゃない。SemVerの”セマンティック”はAPIバージョンに限定されないと思うんだ。SemVerをAPI専用と提案してるのか、ソフトの種類で使い分けるべきなのかハッキリしないけど、どれにしても納得できないよ。SemVerが唯一の最適解とは言わないけど、ソフトの種類じゃなくてリリース戦略で決まるはずだ。

rswail 2025/11/04 03:22:04

SemVerの元々の考えは、インターフェースの利用者視点での変更を示すもの。だから、それ以外には使わないべきだと僕は主張してるんだ。SemVerはインターフェース利用者に意味を伝えるもの、リリースバージョンは構成とSREのため、ユーザーバージョンは機能とセキュリティのためって使い分けてる。僕は”唯一の正しい方法”を提案してるんじゃなくて、3つの異なるユースケースで3つのバージョン管理戦略を使ってるよ。具体的な運用例も紹介してる。

necovek 2025/11/04 04:19:33

SemVerが正式になるずっと前から、似たバージョン管理スキームって使われてたよね。もし”どんなユーザーインターフェースもAPIインターフェースだ”って言うなら、僕も異論はないよ。GNU coding standardsも18年以上前からメジャー・マイナーバージョンを使うべきって言ってるし。君のuser appのバージョン管理も同じアプローチみたいだね。
https://cvs.savannah.gnu.org/viewvc/gnustandards/gnustandard

rswail 2025/11/04 04:57:35

”どんなユーザーインターフェースもAPIインターフェースだ”なんて僕は認めないよ。APIって”Application Programmers”向けっていう特定の意味があるからね。システムには3種類の”ユーザー”がいて、それぞれに異なる情報が必要なんだ。だから、その情報に合わせてバージョン管理スキーマを使い分けるべきだ。SemVerはAPI連携するシステムに、リリースバージョンはSREや運用に、そしてエンドユーザーには分かりやすいバージョンを使うべきだよ。

necovek 2025/11/05 06:17:20

君はいくつか間違った分類をしてると思うよ。単一リリースのWeb applicationとかAPIなら、debuggingのために現状を伝えるだけでよくて、calendar versionで十分だ。もし単一API versionを厳密に維持するなら、calendar versionも有効だよ。desktop softwareにSemVerを使うのも意味がある。versioningはgoalを持つべきで、software typesでversioning schemesを当てはめようとするのはおかしいって。

rswail 2025/11/06 13:16:15

もしSemVerが145.14.7みたいに大きな数字になるなら、API designerをクビにするべきだね。backward compatibleじゃないときにmajor versionを上げることを忘れないで。New functionalityはbackward compatibleを持たせられるし、古いSemVer APIも、internallyで新しいformatにupgradeするendpointを用意して維持できるんだ。結局、user version numbersはlogicalなものよりmarketingだよ。

necovek 2025/11/07 05:33:56

”API designerをクビにしろ”って言うけど、それならSemVerを使わなきゃいいんじゃない?僕は、versioningはproductに関係なくcommunication toolだって言ってるんだ。softwareの種類でどれがbestって単一のanswerはないよ。君はgood API design practicesをversioning schemeにencodeしようとしてるみたいだけど、そうじゃないと僕は思うな。

記事一覧へ

海外テックの反応まとめ
著者
海外テックの反応まとめ
暇つぶしがてらに読むだけで海外のテックニュースに詳しくなれるまとめサイトです。