資金援助されたFreeBSD開発の1年間!
引用元:https://news.ycombinator.com/item?id=44204224
いいね!そうそう、今日からziglang.orgのダウンロードページにFreeBSDを追加したよ。これでFreeBSDユーザーはCIで自動ビルドされたマスターブランチをダウンロードできるようになった。’zig cc -o hello hello.c -target riscv64-freebsd’みたいに、libcリンクも含めて第一級のクロスコンパイルターゲットにもなった。C/C++の依存関係があってもzigビルドシステムで取得&ビルドできるから、複雑なプロジェクトもFreeBSD向けにクロスコンパイルしやすくなったはず。これでFreeBSDサポートとCIテストを追加するプロジェクトが増えるといいな!
Zigのクロスコンパイルはすごいよね。サポートターゲットリストにFreeBSDがあるのはいいね。
ZigはBSDライセンスだし、FreeBSDにはすでにLLVMがあるから、いつかFreeBSD自体に取り込まれるかもね?公式で認められたC言語の置き換えがあると良いな。
面白い話があるんだ>2024年の初めからFreeBSDの起動が急に3倍くらい遅くなったらしい。コミットを二分探索したら…ルートディスクサイズを5GBから6GBに増やしたコミットが原因だった。なんで?Amazonの友達に聞いたら「マジック」と「知りたくないだろう」の間みたいな答えだったって。でも大事なのは、ルートディスクを8GBにしたらパフォーマンスが元に戻ったってこと。
S3の元々のオブジェクトサイズ制限は5GBだったんだ。2006年のブログ記事に書いてあるよ:https://aws.amazon.com/blogs/aws/amazon_s3/
これが君が見た急な変化と関係あるかは分からないけどね。
関係ないと思うな。まず、EBSのスナップショットはS3に5GBの塊で保存されてないと思うし。
だからここのコメントを読むのをやめられないんだよ。現代コンピューティングの創始者たちからの、深〜いベテランの知恵って感じ。
あ〜、でもやっぱり知りたいなぁ。
俺の理解だと、EBSはデータをキャッシュするかどうかを判断するヒューリスティクスを持ってるんだ。キャッシュされたスナップショットをルートディスクに持つAMIは、S3から全部データを引っ張ってくるAMIよりずっと速く起動するよ。
なんか巨大な顧客がデータを5GBずつに分割してたから、キャッシュコードに”もしサイズが5GBだったら”みたいな判定が入ってるんじゃない?
うーん、そうかな。でも、それが8GBが速くて6GBが遅い理由にはならないと思うけどね。
うん、読んだ時すごく不思議だったよ。どうやって8GBがいいって分かったの?適当に試した感じ?
お客さんが8GBのまとまりを使い始めたんだって(笑)
スナップショットをキャッシュするのに一番小さいサイズってどれくらい?今1GBなんだけど、実際のイメージはもっと小さいんだ。もし2GBとか4GBにしたら速くなるなら、全然試したいな。
1GBでも速いと思うよ。
ありがとう、聞けて助かったよ!他に、速いとか遅いブートの理由で何か知ってることある?EC2の起動ってマジで分かんないことだらけで、ちょっとの情報でもありがたいんだ。
今は特に思いつかないけど、もしよかったらメールしてよ。ベンチマークについて詳しく教えてあげられるから。
勘だけど、2のべき乗(例: 1GB、2GB、4GB、8GB)だと速いとか?
5は2のべき乗じゃないよ(笑)
AWSみたいなクラウドの裏側ってどうなってんのかマジ気になるわ。表はスムーズだけど、何が支えてるの?たぶんPuppetとかChefみたいなツールとカスタムの繋ぎ合わせで、ごちゃごちゃなんだろな。
AWSのサービスってさ、ほとんどが他のAWSサービスの上に乗っかってるんだよ。例えばLambdaとかSQSみたいな”コア”なやつが裏で使われてるんだよ。
Amazonのデカさだと、ほとんど全部カスタムだよ。PuppetとかChefみたいな既成ツールはあんまり使ってないね。
だよねー、たぶん最初は市販のツールで始めたんだろうけど、システムがデカくなってくにつれて、だんだんカスタムなものに置き換えていったんだろうね。
むしろ逆じゃね?AWSは最初のハイパースケーラーだから、当時は問題を解決するツール自体がなかったんだよ。今ならk8s使うような独自のクラスタリングソフトウェアとかね。こういうのが百万個も違うツールである感じ。この記事も面白いよ。URLをチェックしてみて。
URL: https://www.allthingsdistributed.com/2014/11/apollo-amazon-d…
そういう問題って、原因特定(bisect)するのにどれくらいかかったんだろ?毎回イメージ作ってVM再起動?
正確には覚えてないけど、数時間だったかな。どの週に問題が出たかは週ごとのスナップショットで分かってたから、最初からあたりはつけられてたよ。でも、うん、AMIsをたくさん作って、それぞれのEC2インスタンスを起動したよ。再起動だけじゃダメで、AMIを最初に起動する時って、FreeBSD(ルートディスク拡張とか)もEC2(ディスクキャッシュとか)も挙動が違うんだよね。
追加情報サンキュー。数時間でできたってすごいね。フィードバックに時間かかるから、特定に何日もかかるかと思ってたわ。
あとね、ノートPC関連の作業も結構進んでるんだよ。BSD foundationが75万ドル投資したって読んだな。S0ix Sleep Stateとかを実装してて、プロジェクトはここにあるよ。
URL: https://github.com/FreeBSDFoundation/proj-laptop
うん、たくさん作業が進んでるよ。俺はちょうど自分がやってた作業について書いてただけなんだ。 😉
cpercivaにすごく敬意を持ってるよ。彼がTarsnapとか全部どうやって管理してるのか分からないな。
もっとコメントを表示(1)
ある程度お金があると時間も買えるってことだね。水漏れを自分で直すかplumberを雇うかとか。electriciansが地下室のdrywallを剥がした後(solar panels設置で電気パネルをアップグレードしたから仕方ないんだけど)、自分で直すかdrywallのプロを雇うか?正直、これに費やした時間はTarsnapから少し削ったけど、みんなが思ってるよりは少ないかな。
> or do I hire a professional drywaller
drywallについては、絶対にプロを雇うべきだよ。他の人の失敗から学んで…思ってるほど簡単じゃないし、うまく仕上がらないからね。
僕はdrywall、プロと同じくらいできるけど、時間が6倍かかるだけ。やるのは簡単だけど、プロみたいに仕上げるにはたくさんの練習が必要だよ。6倍長くかかるつもりでゆっくりやれば、薄く重ね塗りとかできるけどね(プロはmudを3回塗るけど、僕は同じ厚さに6回)。これは「自分でやるか雇うか」の話だね。
そんなに難しくないって!2009年にIraqから帰ってきて家を増築した時に自分でやったんだ。IRSからもすごいrefundがあったよ。GWOT vetsとcombat payに関する税金の話かな。ポーチを部屋にして、permitsも取って、電気とか窓も追加。architectのblue print plansを84 lumberに渡せば材料教えてくれる。drywallは壁に持ち上げてscrewで止めて、drywall tapeやmudで継ぎ目を隠すだけ。Orange peelでごまかせるし、paintすればOK。かなりstraightforwardだよ。
その通りだね。今回の地下室のdrywallは、暗くて完璧さはそんなに求めてなかったんだけど、自分でやるよりプロに頼んだ方が断然きれいに仕上がったよ。
Drywallerは本当にすごいよね。DIYerとしては、どうしても上手くできない数少ないことの一つなんだ。穴を開けるのは好きだけど、プロがパッチするのを見るとレベルが違うって思うよ。
僕の壁にはOrange peel模様があるから、spackleで滑らかにしてsandedしたら、Orange peelをスプレーしてるよ。そうすれば修理した場所なんて誰も分からないね。
ある程度お金があると、お金さえも買えるんだね。この前、冷蔵庫をまとめて払ったら10%割引になったんだけど、お金がなかったら割引は受けられなかった。だから、ある意味貧しいってことは、何でも高くついちゃうってことなんだよ。
金持ちがあんなに金持ちなのは、結局使う金が少ないからだって話。例えばブーツ…。本当に良い革のブーツは五十ドル。でも、手頃なブーツは十ドルだけど、すぐにダメになってひどく水漏れする。良いブーツは何年ももつから、五十ドル払える男は十年後も足が濡れないのに、安物しか買えない貧しい男は百ドル使ってもまだ足が濡れてるってこと。
これは「ブーツ理論」だよ。https://en.wikipedia.org/wiki/Boots_theory
14年前のバグが今、どう関係あるの?
もし100%バグがないソフトウェアを書く方法を見つけたなら、ぜひ聞かせてもらおう。
バグと、ヤバいバグってのがあるんだよ!
たしか、nonceが1回だけ使われなかった脆弱性だったよね?
Rustでも検出難しいんじゃないかな。
それにしても、Colinの功績に比べて、15年近く前のミス(彼は可能な限り責任持って対応したのに)をこんな風にほじくり返されるのは気の毒だね。
FreeBSDでの彼の仕事や、scryptを世に出した貢献を考えたらさ。
scryptを世に出した→皮肉なことに、あのバグはscryptのせいなんだ。
scryptを作ったことでTarsnapのcryptoコードをリファクタリングしたんだけど、その時にバグが紛れ込んだんだよ。
Rustでもあのバグは防げなかっただろうね。
Amazonにはもっと支援してほしかったな〜。最低限しか払わないみたい。AmazonってFreeBSD sponsorsリストにもいないし [1]、Googleも$9Kだけ。Appleもだめ。Microsoftはリストにいて偉いね!Meta/Facebookもいないの忘れてた。FreeBSDとかOpenBSD使うなら、普通は毎年支援するべきでしょ?
[1] https://freebsdfoundation.org/our-donors/donors/?donationYea…
Amazonにもっと貢献してほしいのはもちろんだけど、Foundationに寄付してないからって支援してないわけじゃないんだよ。Foundation経由の支援って全体の10%くらいじゃないかな?(大事な10%だけどね)。私への給料だってFoundation通してないし。
あのコメントは全体を見てないね。1. Foundationへのその年の寄付だけ見てる。過去の寄付は入ってない。2. コード開発の貢献が入ってないよ。あれはリリースノートに載ってる [1]。
[1] https://www.freebsd.org/releases/
AmazonってMinecraftのNotchよりFreeBSDにいっぱい寄付したの?
Microsoftがなんで支援してるか不思議だなあ。Hyper-Vの機能はLinuxより劣るし、.NETの公式ポートもない。Microsoftのサービスで*BSDで動いてるのなんて全然思いつかないんだけど。
AzureでFreeBSD動かしてるお客さんいるし、Microsoftも公式にサポートしてるよ [1]。
[1] https://learn.microsoft.com/en-us/azure/virtual-machines/linux/freebsd-virtual-machines-on-azure
これだけで全部かは分かんないけど、Microsoftの社員がFreeBSDに寄付するって投票した年があったんだよ。社員がOpen sourceプロジェクトに投票してMicrosoftが寄付する仕組みがあって [1]、FreeBSDがそれで資金もらったらしい。毎年かは不明だけど、FreeBSD Foundation見ると2025/2024/2023のスポンサーにMicrosoftがいるから、多分続いてるんじゃない?
[1] https://resources.github.com/open-source/microsoft-foss-fund/
分かんないけど、MicrosoftにはFreeBSD用のHyper-V開発者が何人かいるよ。FreeBSD開発者サミットにも来たことあるし。
思ってたんだけど、たったこれだけの金額でも、広告とかマーケティングとして、有名なOpen sourceプロジェクトにロゴ載っけて、少しでも印象良くしようとしてるんじゃないかなって。
Hotmailチームに詳しい人がいたことの、すごーく昔からの名残で、MicrosoftがLinuxじゃない、ちょっとUnixっぽいものも提供できるようにしたい、っていう考えなんじゃない?
彼らは見てないだろうけど、数十億ドルもの価値がある会社が999ドル以下しか寄付しないなんて、正直言って無いに等しいね。俺が1セント寄付するようなもんだよ。Appleの純資産から見たら、俺の出す割合とほぼ同じくらいだ。俺は50-99ドルのカテゴリだけど、それでもそんなに簡単じゃないんだ、俺の住んでるとこじゃドルは安くないからさ。
500–999ドル寄付した何百人って名前と一緒に載ってるから見落としやすいのは確かだね。まあ、それがAppleが払える上限なんだろうな。
> それがAppleが払える上限なんだろうな。
これ前は考えたことなかったけど、従業員が寄付して、Appleがそれを社員の慈善寄付マッチングとして500-999ドル出したって可能性ある?それならすごく辻褄が合うけど、寄付としてはなんか笑える見た目になるね。
ホームゲートウェイ、ファイアウォール、DNS、DHCPサーバーにFreeBSDを使いたかったんだけど、残念ながら俺の10 GbE NICにドライバがないみたいで、結局Nixにしたんだ。昔、何年も前にワークステーションでFreeBSDを使ったことがあって、すごく思い出深い体験だったんだよね。まだ頑張ってるのが見れて嬉しいよ。
俺は自分と会社のインフラ全部にFreeBSDを使ってるよ。ハードウェアはIntel NIC搭載のものだけ使うんだ、FreeBSDで100%信頼できるからね。Realtekのは、FreeBSDエンジニアが頑張ってドライバをメンテしてるのに、なぜか負荷がかかるとダメになるみたいだ(文句言ってるわけじゃなくて、彼らの努力には感謝してるよ)。これは大した代償じゃないし、不安定なOSをインストールせずに済むからね。
もっとコメントを表示(2)
FreeBSDのバージョン7か8の頃、Atheros Wi-FiカードみたいなやつでLinuxよりFreeBSDの方がドライバが良かった時期を覚えてるよ。2021年頃までFreeBSDが好きだったんだけど、違うCPUが混ざったPC(bigとlittleコアみたいな)が一般的になってきて考えが変わったんだ。最初にRockPro64(big 2、little 4コア)を買って、次にIntel Alder lakeを使ったんだけど、FreeBSDのスケジューラは今でもこれをうまく扱えないみたいで、遅いコアの性能に引っ張られちゃうんだよ。
それはFreeBSD Foundationのロードマップにあるよ:https://github.com/FreeBSDFoundation/proj-laptop/issues/22
ちょっと知りたいんだけど、FreeBSD/EC2の一番使う人たちって誰?
全然わかんないや。マジで、俺に話しかけてくるユーザーはFreeBSD/EC2ユーザー全体の多分0.1%くらいだよ。EC2でFreeBSD使ってる人が誰なのか、ぜひ知りたいね。
俺が働いた金融サービスでは、EC2やデータセンターのオンメタルでFreeBSDを使って、毎月数百万件のトランザクションを処理してるよ。
このOS好きだよ、作業に感謝!
NetflixはCDNでだけ使ってるの?
そう、NetflixのCDNはFreeBSDだけど、最後に聞いた話だとクラウド運用は全部Linuxらしいよ。
OSSへの企業支援についてすごく分かりやすい記事だね。書いてくれた著者に感謝するよ。
FreeBSD使ってる人、Unix界隈でどんなニッチを埋めてるのか教えてくれない?ずっとシンプルで一貫性のあるOpenBSDやNetBSDじゃなくて?もしZFS、Nvidiaドライバー、ELFとかのサポートが理由ならLinuxでいいじゃん?GNUの問題はよく知ってるけど、Musl Voidみたいなのにも問題あるの?
マジで純粋に興味あるんだ。FreeBSDは俺にとって一種の影の領域にあって、何が動かし続けてるのかその魂を特定できたことが一度もないんだけど、どこかにあるのは知ってるよ。
FreeBSDはOpenBSDやNetBSDよりずっとユーザーが多くて、ソフトウェアカタログもかなり大きい。実用的なモダンデスクトップとしても使えるけど、他の二つにはそれは言えないね。
Linuxを使わない理由?Linuxが嫌いなんだよ。企業利益に絡みすぎててさ。
俺の印象だと、FreeBSDはFOSSにおけるAppleの影、つまりAppleが結構ソフトパワーを持ってるんじゃない?カーネルは違うしユーザーランドの一部しか同じじゃないのは分かってるけど、FreeBSDってAppleから十分離れてるって言えるほど、企業利益にまみれてないの?Linuxと同じとは全く思わないけど、無視できない形で存在してるよね?
違うよ。Apple(というかNeXT)はmacOS向けにユーザーランドの一部を持っていったけど、貢献はしてないし影響もほとんどない。昔のフォークみたいなもんだね。
使ってる会社もいくつかあるよ。SkypeとNetflixは昔使ってたけど、今はほとんど使ってない(少なくともSkypeは離れた。Netflixは分からないけどBSD開発者からは聞かないね)。Ix systemsとnetgateは使ってるけど小さいよ。
いや、些細な影響もないし、間違いなくAppleからの影響はないね。
これはLinuxとの大きな違いで、Linuxではカーネルコミットの大部分が大企業から来てて、エンドユーザーが気にするようなこととは関係ないんだ。あと、FreeBSDの世界にはLinux Foundationみたいな企業ロビー団体も無いよ。
FreeBSDを日常使いしてる経験から言うとさ、systemd避難所であり、Linux代替としてソフト互換性とかハードウェアサポートも比較的いい唯一のBSDなんだよね。他のsystemdフリーLinuxよりコミュニティは小さいけど、Linuxは断片化しすぎ。unix系20年使ってると、FreeBSDはjails, ZFSみたいのが全部ベースに入ってて、すげー統合されてて使いやすい。ドキュメントもmanpageで全部揃ってる。Linuxは5年前のやり方も通じないくらい変更多すぎ、複雑すぎてもうついていけないよ。
コメントに同意!Linuxのヤバいとこはカーネルだけで、他がバラバラに開発されてる点だね。Linux勢は半年ごとに車輪を再発明したがるけど、BSDは既存を良くしていく傾向があると思うわ。
”AppleがFreeBSDにソフトパワー持ってる”って話、どこから来たの?NetflixとかNetApp、Juniperの方が貢献度高いし、Appleはトップ10にも入らないと思うんだけどな。
Appleのソフトパワーって印象は、メンテナー側の話でね。LinuxでRedHatとかが出てくるのと同じような抽象的なパターンなんだ。ix systemsとの繋がりもあって、メンテナーならNetflixよりApple優先するだろうって推測だけど。AppleがIBMより長生きした歴史見ても、無視できないパワーだと思うんだよね。全部推測だけどさ。
Appleが下流から引っ張ってるのに影響力ないって信じられないんだよね。ix systems創業者がApple経由で、Appleもクライアント。ビジネスは人間関係だよ。企業の影響力がないと、必要な人が雇えなくて9 Frontみたいになっちゃう懸念もある。最近のLinuxは攻撃的すぎるから、FreeBSDの方がいいね。
Linuxは”ただの”カーネルだよ。FreeBSDと比べるなら、FedoraとかDebian、ArchみたいなLinuxディストロと比べるべきだね。
FreeBSDはスループット重視だよ。OpenBSDは違うし、NetBSDは移植性重視でネットワークはそんな注力してないと思う。BSDはLinuxより変更が少ないから、統合プラットフォームとして使いやすいんだよね。
FreeBSDがニッチ?OpenBSDやNetBSDより複雑なのに何で?Linuxと何が違う?って質問だけど、FreeBSDは他のBSDの良いとこのバランスがいいんだよ。ZFSサポートはマジでヤバい。Nvidiaドライバーも最近はネイティブ対応したしね。FreeBSDの魂?それは他のBSD機能のいいとこ取りと、使ってるハードウェアでの安定性だと思うわ。
Linuxがカーネルだけなのは分かってるけど、コンポーネント開発がバラバラって批判は変わらないね。これはLinuxカーネルの哲学で、メンテナーがカーネル外に無関心だから。FreeBSD開発者は違うんだ。再発明の話はディストロ向けだってのは認めるよ。
Appleってあんまりマージしないんだよね。カーネルtcpは2002年からほぼなし。userlandも数年〜十数年に1回くらい。bashもライセンス変わってやめたしね。AppleがLLVM主導してFreeBSDが採用したから、そこからApple影響力説が出たのかもね。