科技爱好者周刊(第382期):独立ソフトウェアの黄昏
このコーナーでは、毎週シェアする価値のある科技コンテンツを記録しており、毎週金曜日に公開しています。
本誌はオープンソースであり、投稿を歓迎しています。また、『求人情報』サービスもあり、プログラマーの採用情報を掲載しています。協力についてはメールでご連絡ください(yifeng.ruan@gmail.com)。
カバーイメージ

巫山県城は山の斜面に建設されており、住民の利便性と観光促進のために、中央軸線上に神女大扶梯(女神大エスカレーター)が建設されました。全長905メートル、高さ240メートル余り、80階建てのビルに相当し、全行程で20分かかります。(via)
独立ソフトウェアの黄昏
ソフトウェアは2つのタイプに分けられます。1つは企業が開発したもの、もう1つは個人が開発したものです。後者を「独立ソフトウェア」(インディソフト)と呼びます。
その歴史は非常に長く、古い時代から現代まで、多くのプログラマーが独立ソフトウェアの販売で生計を立ててきました。

「シェアウェア」というものがあります。若い人は知らないかもしれませんが、20~30年前は非常に流行していました。ユーザーはソフトウェアの試用版を無料で使用でき、満足したら開発者から登録コードを購入します。
これはインディソフトの一種で、当時多くの著名なソフトウェアがこのモデルでした。例えば、海外の WinZip や WinRAR、国内のネットワークアント(NetAnts)、ネット高速(FlashGet)、豪傑解霸などです。

今日、現在流行しているソフトウェアを見ると、まだどれほどがインディソフトに属しているでしょうか?毎日使用しているソフトウェアの中で、どれほどが個人によって開発されたものでしょうか?
非常に少ないです。
あるベテランのインディソフト開発者が嘆いています。現在の市場では、企業開発のシェアが急速に増加し、個人開発のシェアは減少している。インディソフトは衰退しているのです。
「私は20年間自分のソフトウェアを販売してきました。2005年以降、インターネットが普及し始めると、インディソフトは黄金期を迎えました。しかし、ここ2~3年は環境が急速に変化し、販売が明らかに困難になりました。自分の生活を維持するのが日々難しくなっていると感じています。」
インディソフトの大発展は2005年から始まりました。
- インターネットの普及と、ネットユーザー数の急増。
- スマートフォンがモバイルソフトウェアを生み出し、全く新しいソフトウェア市場が誕生。
- オンライン決済の普及と簡素化。
- インターネットがソフトウェア配布を容易かつ無料にした。
- 無料で高品質の開発ツール(コンパイラ、IDE、バージョン管理システム、Webサーバー)が次々と登場。
これらの要因により、プログラマーは実質的に利益を得ることができました。SEO対策をしたり、有料広告を購入したりすれば、十分に大金を稼ぐことが可能でした。多くの人がこのようにして成長し、インディソフトから大企業へと発展しました。
しかし、ここ2~3年は状況が変わりました。上記の要因はすべて終わりを迎えました。
インディソフトは徐々に退潮しており、名前を思い出せるインディソフトはますます少なくなり、まして金を払って購入するなどはもってのほか。あったとしても数年前の作品です。私の観察によれば、自分のソフトウェアの販売で生計を立てるプログラマーもまた減少しているようです。
主な理由は以下の通りです。
(1)AI がインターネットトラフィックを変え、インディソフトが宣伝チャネルを失っている。Webサイトのアクセス数は大幅に減少し、人々はより多くの時間を大規模言語モデルと相互作用することに費やし、Webページを閲覧することが少なくなっています。検索エンジンとオンライン広告を通じてトラフィックを獲得する戦略は、ますます効果がなくなっています。
ビデオは依然として有効な宣伝チャネルの1つですが、ビデオの作成は非常に時間がかかり、競争は極めて激しいです。さらに、AI が生成した低質なビデオがやがて大量に出現し、宣伝効果も悪化するでしょう。
(2)AI がソフトウェア開発を容易にしている。開発速度が加速され、参入障壁が低下し、より多くの人が競争に参加することになります。以前はユーザーが特定の機能のためにソフトウェアを購入していましたが、今は直接 AI に生成させることができます。
(3)新しいソフトウェアが山積みで、差別化がますます難しくなっている。iPhone App Store には約200万のアプリケーションがあり、ユーザーがあなたのアプリを見つけるのは困難です。一方、App Store はより多くの収益を生み出すことができる大企業のソフトウェアを推奨する傾向があり、インディソフトではありません。
(4)人々がネットベースのソフトウェアの使用に慣れてきている。インディソフトはダウンロード・インストールが必要なネイティブアプリケーションであり、その市場は萎縮しています。
ネットベースのソフトウェアは製品というより、24時間フルタイムで利用可能なサービスです。ますます多くの個人開発者がこのトレンドに対応して、SaaS サービスの提供を主として転換しています。
(5)プラットフォームのリスク。現在、多くのインディソフトはクラウドサービスプロバイダーのプラットフォームまたは基盤となるサービスに依存しており、プラットフォームはいつでもルールを変更する可能性があります(例えば API を閉鎖)。大量のアプリケーションがこれによって消滅し、このような事例は数多くあります。
(6)ユーザーはソフトウェアが無料か、非常に安いことを期待しています。価格がわずかに高いと、誰も購入しません。したがって、インディソフトが観察可能なリターンを得るには、膨大な販売規模が必要ですが、これは実現不可能です。言うまでもなく、個人開発者は満足できるカスタマーサポートを提供する能力を完全に欠いています。
(7)上記のすべての要因は長期間存在し、深刻化するだけで、逆転しないでしょう。インディソフトの時代は本当に終わろうとしているかもしれません。個人開発者はおそらく今後、自分のソフトウェアの販売で生計を立てることは難しくなり、代わりに自分が保守する SaaS サービスの販売に転向することになります。ただし、これも非常に困難です。
科技動態
マイクロソフトの VS Code は非常に人気のあるコード編集器で、高い市場シェアを持っています。
現在の公式ウェブサイトでは、製品定位は「オープンソース AI コード編集器」となっています。

しかし、2025年上半期の製品定位はまだ「あなたのコード編集器、AI により再定義される」でした。

さらに早い2024年の製品定位は「再定義されたコード編集」でした。

感心させられることですね。これほど成功したソフトウェアでさえ、AI はもともと付帯機能に過ぎなかったのに、現在は流行に便乗して、自分自身を AI 主導の製品として包装する必要があるのです。
英国の研究者が発明したスマートネックバンド。首に巻きつけ、装着者の心拍と咽頭筋の動きを感知することができます。

ユーザーは主に脳卒中後に言語能力を失った人々です。これらの人々は口を開けて話す口形を作ることはできますが、正常に音声を発することができません。
彼らがこのネックバンドを着けると、首の動きデータはそれを通じてコンピューターに転送され、モデルの訓練を経て、ユーザーが言いたいことを音声で復元できます。
3、雪だるまロボット
人型ロボットは必ずしも人型である必要はありません。
ディズニーは最近、映画『アナと雪の女王』のキャラクター・オラフの姿をしたロボットを発表しました。

ディズニーランドで訪問者と相互作用するために使用されます。


これは、人型ロボットをキャラクター形状で作成することも優れていることを示唆しています。

また、LG 社は米国 CES 展示会で、同社最新の家事用ロボットを展示しました。


このロボットの機能は家事を行うことで、例えば衣類を畳んだり、皿を洗ったりします。国内メーカーは参考にすべきだと思います。ロボットの機能を展示する際に、ダンスやボクシングを展示するのではなく、家事を行う方法を展示してください。
記事
1、MySQL をやめて、MariaDB に切り替える(英文)

かつてのスターデータベース MySQL は、ここ数カ月間のコードコミット数がゼロです(上図)。著者は、あらゆる兆候がオラクルがこのプロジェクトを放棄していることを示していると信じています。
2、10秒で AI コードレビュー結果を取得(英文)

本文は AI がコード提出のレビュー結果を迅速に提供する方法を紹介しており、コツはコード全体を提出せず、差分部分のみを提出することです。
3、Pandoc を使用した静的ウェブサイトの生成(英文)

ドキュメント形式変換ツール Pandoc を使用して静的ウェブサイトを生成することができ、著者は自分がどのように行ったかを紹介しています。
4、アンカー要素<a>の知られざる側面(英文)

アンカー要素<a>はリンクを生成するために使用され、本文はリンクが特殊文字の場合について紹介しています。
5、カスタム要素の学習(英文)

HTML カスタム要素についての入門チュートリアルで、わかりやすく書かれています。
6、Go、Rust、Zig に関する考え(英文)

著者は経験豊かなプログラマーで、Go、Rust、Zig の3つの言語に対する彼の考えを述べています。興味深い点は、この3つの言語すべてに класс(クラス)がなく、オブジェクト指向プログラミングをサポートしていないことです。
7、私の個人的インフラストラクチャ(英文)

著者は自分のホームラボについて紹介しています。興味深い点は、彼の個人ウェブサイトはローカルでビルドされた後、自動的に Syncthing を使用してサーバーに同期されることです。これは小規模な静的ウェブサイトにとって確かにシンプルです。
ツール
1、GoRead

オープンソースの電子書籍リーダーアプリケーション、デスクトップとモバイル(Android/iOS)に対応しています。(@zhashut 投稿)

API デバッグ用のクロスプラットフォーム デスクトップアプリケーション、Postman + JMeter に相当します。(@lakernote 投稿)
3、Port Sentinel(ポートセンチネル)

Windows デスクトップアプリケーション、ポート占有状況を確認します。(@Sanjeever 投稿)

Web ベースのマンション採光 3D 日照シミュレーションツール。購入者がマンションの採光を評価するのに役立ちます。(@SeanWong17 投稿)

純粋にローカルの Office ウェブアプリケーション。Web 上でオフラインで Word、Excel、PowerPoint ファイルを作成・編集できます。(@baotlake 投稿)

無料の Web サイトスクリーンショット機能、API を提供し、スクリーンショットコードを Web ページに直接挿入できます。(@phpiscute 投稿)
7、tsshd
SSH サーバーログインプロトコルの完全に新しい実装で、接続が切断されない、前の会話に再接続できるという特徴があります。(@lonnywong 投稿)

オープンソースの Web アプリケーション。動的 QR コードを通じてファイルを送受信します。(@topcss 投稿)

オープンソースルーターオペレーティングシステム OpenWRT のプラグイン。ローカルネットワークの各デバイスのリアルタイムトラフィックと宛先を監視できます。(@timsaya 投稿)

オープンソースの Web 族譜ツール。家族の族譜を生成するために使用され、Next.js + Supabase に基づいています。(@yunfengsa 投稿)
11、mdto.page

このウェブサイトは無料で Markdown ファイルを HTML 形式に変換し、公開アクセス可能な Web ページとして公開します。
AI 関連

OpenAI がひそかに発表した翻訳機能。公式ウェブサイトでのみ利用可能です。

クロスプラットフォーム デスクトップアプリケーション。自然言語を使用してローカルファイルを検索します。(@moyangzhan 投稿)
3、OpenWork

Claude 社の新製品 CoWork のオープンソース代替品。通常のユーザーがプログラムすることなく、ファイル操作を完了できます。位置づけは「Claude Code の非プログラミング版」です。
別に類似プロジェクト Open Claude Cowork もあります。(@aiagentbuilder 投稿)
4、Wolfcha(オオカミハンター)

オープンソース Web ゲーム AI 人狼ゲーム。プレイヤー自身を除き、他のすべてのキャラクター(魔女、ハンター、ガード、狼など)は AI に扮しています。(@oil-oil 投稿)
リソース

ウィキペディアは2001年1月13日にオンラインになり、今年は25周年記念です。このウェブサイトは公式記念サイトで、相互作用的な形式で発展の過程を展示しています。
また、インターネット・アーカイブの歴史についての記事もあります(下画)。


このウェブページは指定された Web サイトが返す HTTP ヘッダーを確認できます。各フィールドの意味を詳しく説明しています。
3、モダン Java(Modern Java)

初心者向けの Java 言語チュートリアル。
画像
90年代生まれの写真家 Chu Weiying が撮影した中国の新エネルギー建設。
彼は言います:「地上からはこれらの発電所の規模を感じるのは難しいですが、空中に上がると、山脈、砂漠、海との関係が見えます。」
青海冷湖

浙江象山県

青海タラバン

内蒙古アラシャン

「最初は風景を撮影していただけですが、2022年に貴州、雲南、青海などを旅行した時、風力発電所と太陽光発電所が常に私のレンズに映るのに気付きました。これが私たちの時代の物語だと気付きました。でもほとんど誰もそれを系統的に記録していません。」
摘要
14年前、私は Google に加わり、このタスクはコードを書くことだと思いました。
この考えは部分的に正しいです。しかし、時間とともに、私はますます、本当に成功したエンジニアは必ずしも最高のプログラマーではなく、コード以上のあらゆることを支配することを理解しています。
以下は、私が得た経験教訓です。教訓の中には、数か月の迂回路から学んだものもあり、数年で完全に理解することが必要な教訓もあります。それらはすべて特定の技術とは無関係です。技術は急速に変化し、本当に重要ではありません。
(1)エンジニアが大企業で生き残るには、コミュニケーション能力を学ぶ必要があります。
大企業では、チームは組織の基本単位であり、プロジェクトを進めるには他のチームとコミュニケーションを取る必要があります。プロジェクトが大きいほど、他の人や他のチームとのコミュニケーションに費やす時間は、コード作成よりも多くなります。ほとんどの「遅い」チームは実際には通信していないチームです。
スムーズなコミュニケ