世界を動かす技術を、日本語で。

Macソフトウェアの配布が私のコルチゾールレベルを上昇させている

概要

  • Claude Code プロファイル管理用のシンプルなユーティリティをGo言語で開発
  • 配布・署名 に関する各OSの課題とApple Developer Programの高額なコスト
  • 本人確認や署名の手続き の煩雑さやユーザー体験の悪さを指摘
  • WindowsやAzure など他プラットフォームでも同様の問題点
  • 現状のコード署名業界の高コスト と非効率性への不満

Claude Codeプロファイル管理ユーティリティ公開と配布

  • 開発目的 :Claude CodeプロファイルをDeepSeekやOpenRouterモデルと連携しやすくするユーティリティの提供
  • 配布方法 :ccode.kronis.devやItch.ioで初回リリース、バイナリ配布やソースコード公開
  • Go言語の利点 :クロスプラットフォームな静的実行ファイル生成が容易
  • 配布状況
    • Linux:chmod +xで簡単に実行可能
    • Windows:.exe生成可能だがSmartScreenの警告あり、ユーザーが回避可能
    • macOS:ダウンロードソフトに対するクアランティン(隔離)機能が強制される

macOSでの配布とApple Developer Programの課題

  • macOSの課題 :署名されていないバイナリは隔離され、ターミナルで回避操作が必要
  • ユーザー体験の悪化 :一般ユーザー向けには煩雑な手順
  • Apple Developer Programのコスト :年額費用が高額、個人開発者や趣味開発者には負担
  • 収益構造の問題
    • Itch.ioの「Pay What You Want」モデルでは多くが無料利用
    • 手数料やVATを差し引くと開発者の手元に残る金額が非常に少ない
  • Appleのエコシステム批判
    • macOS/iOSアプリ開発にはMacが必須
    • 署名や配布に高コストと煩雑な手続きが必要

Appleの本人確認プロセスの煩雑さ

  • 本人確認方法 :MacBookのWebカメラでID撮影が必須
  • 問題点
    • 照明やカメラ性能によって認証失敗が多発
    • iPhoneアプリでの認証はスムーズだが、iPhone未所持者には不利
    • 書類のスキャンアップロードが不可
  • 手続きの不親切さ
    • 何度も最初からやり直しが必要
    • 登録後も反映遅延や不明瞭なステータス表示

Appleエコシステムへの不満

  • ハードウェア評価 :MシリーズチップやiPhone SEなどは高評価
  • ユーザー体験の課題
    • ソフトウェアカスタマイズの制限
    • 独特なUI・ショートカットの仕様
    • ベンダーロックインによる開発・配布の自由度低下
    • 必要以上のコスト負担と不便な仕組み

Windows・Azureなど他プラットフォームの署名事情

  • Windowsコード署名 :Certumなどで年額200ユーロ以上、個人には高額
  • Azure Artifact Signing :月額8.54ユーロの安価プランも、EUでは法人限定
  • 業界全体の課題
    • TLS証明書時代の高額化と同様の「囲い込み」状態
    • 競争や代替手段の不足による価格高止まり
    • 公的IDカードなどによる簡易署名の普及が望ましい

まとめと提案

  • 現状のコード署名の仕組み :高コスト・煩雑・非効率
  • 開発者・小規模プロジェクトへの負担増大
  • 公的IDやデジタル署名の活用 による簡易・低コストな認証インフラの必要性
  • 大手企業の独占構造や高コスト体質への強い批判

Hackerたちの意見

Gatekeeperが嫌なユーザーは、ターミナルでこれを実行すれば10秒でオフにできるよ:sudo spctl —-master-disable 「いや、それは大きすぎるハンマーだ、安全じゃない…」って言う人もいるけど、じゃあ実際に何が欲しいの? Gatekeeperを維持したいなら、その摩擦が好きってことだし、嫌ならオフにすればいい。どっちか選んでよ、両方は無理だから!もちろん、開発者がユーザーの選択を代わりにすることはできないけど…それが正しいことじゃない? ユーザーが自分のマシンで実行できるコードを決めるべきだよね。デフォルト設定は制限的だけど、ちゃんと理解してる人なら簡単に変更できるし。追記:ちなみに、iOSでは署名されてないソフトウェアをインストールする方法は全くないし、Android(もうすぐ)ではそのプロセスが10秒じゃなくて24時間かかるんだ。これって実際におかしいよね、ユーザーの選択肢を奪ってるから。追記の追記:はっきり言うと、現代のmacOSにはオフにできない他の制限がたくさんあって、それがすごくイライラする。Gatekeeperはその中には入ってないけどね。編集:Sequoiaからは、ターミナルコマンドを実行した後に設定でボックスにチェックを入れなきゃいけないことを知った。だから、10秒じゃなくて30秒かかるかも。それはちょっと面倒だけど、まあ大したことじゃないかな。

「完了」と「ゴミ箱に移動」のオプションだけじゃなくて、毎回手動でシステム設定に入らなくても実行できるオプションが欲しいんだけど、セキュリティ機能を無効にせずにね?追加の摩擦は、開発者にAppleに年会費を払わせるための方法に感じる。安全性を助けてるとは言わないけど、前者に偏ってる気がする。

10秒でも30秒でも、エンドユーザーにとっては面倒すぎるよ。実際、Macで開発してるけど、趣味やオープンソースプロジェクトのターゲットシステムとしてAppleはもう諦めた。隔離、コード署名、ノータライズ(年99ドルが必要)など、もう価値がないと思う。Appleユーザーには良いかもしれないけど、もうこのプラットフォームに配布するのは面倒だからやめる。macOSは徐々にWindowsみたいになってきて、クリーンインストールしたら、ユーザーが自分のコンピュータを実際にコントロールするために、いろんな不要なソフトウェアをオフにしなきゃいけない。

ユーザーが自分のマシンでどのコードを実行できるかを決めるべきなのに、Appleはそれに反対して、自分たちが決めるんだよね。普通のユーザーは、非認証アプリを有効にするための隠れた5ステッププロセスなんて見つけられないし、Appleもそれを分かってる。Gatekeeperって名前は適切だよね。ユーザー自身がゲートの外にいるんだから。これは、StallmanやFSFが何十年も前から警告してきたことの集大成だよ。この論理で言うと、安全のためにリビングに警察官を配置しなきゃいけないってことになる。

これは開発者が自分のコンピュータで何のソフトウェアを実行するかを選ぶことじゃなくて、Appleがあなたのために選んで、あなたはその後に保護を無効にしなきゃいけないってことだよね(どんな影響があるのか?)。これは誰かを守るためじゃなくて、普通の人たちをApp Storeから逸れさせないための怖いダイアログを出してるだけだよ。技術に詳しくないユーザーは、ターミナルでこれを回避しようとはしないだろうし、Appleが30%の手数料と分析データを集められるApp Storeに戻るだけだよ。

何が本当に欲しいの? 自分が信じるものを選ぶ権利をくれよ。“Appleを信じるか、自分以外の誰も信じないか、あるいは文字通り誰でも信じるか”ってのは、明らかに誠実な実装じゃないよね。Appleは、誤った混同や二項対立を使って話を誘導するのが得意だから、セキュアブートの議論がどうなったかも思い出してほしい。Appleはうまく「Appleが暗号鍵を持っている」vs「暗号なし」に話を持っていって、みんな「なんで自分のデバイスの鍵を持てないの?」って疑問を忘れちゃったんだよね。

これが正しい方法だとは思わないな。正しい方法は、Appleが無料のアプリで、アプリ内課金がない場合に限って、無料の開発者IDを配布することだと思う。これなら、良いリリースプラクティスを守りつつ、全体的に好意的な印象を与えられると思う。

何が本当に欲しいの? 大金を払わずにゲートキーパーを喜ばせて、Appleのハードウェアを持つこと?

何が本当に欲しいの? UIオプションがあれば理にかなうよ。ほとんどのユーザーがそれに慣れてるからね。

何がしたいの? アプリを右クリックして「開く」を選んで、認証ダイアログでプログラムを実行できるようにしたいんだ。前はできたのに、Appleがそれをなくしちゃって、毎回システム設定に行かなきゃいけないのが本当に面倒くさい。

Linuxはchmod +xが必要だから許されるのに、MacOSでxattrを実行しなきゃいけないのはブログ記事にするほどの文句になるの?真面目な質問だけど、Windows 11は本当に警告なしで信頼されていない.exeを実行するの?

設定を変更すれば全く実行できないようにもできるけど、初期設定では3回クリックさせられるメッセージが出る。知識が浅い人には十分に怖がらせる内容だよね。もちろん、それを全部オフにすることもできるけど。

Hacker Newsで議論の続きを見る