ソフトウェアを書いて、無料で配布しよう
(nonogra.ph)- Nonographは無料・自由・オープンソースソフトウェアとして公開され、公開コスト約600ドルの大半は初期のセキュリティレビュー2件に使われた
- Nonographは望むすべての人に無料で提供されており、小さなライティングプログラムは月約5ドルでホスティング可能
- 優れていたWebサイト・アプリ・サービスが、サブスクリプション、強制的なAI機能、ベンチャーキャピタル調達のための機能によって悪化していく流れが繰り返されている
- もともと基本価格に含まれていた機能が別パッケージになり、価格が9.99ドルから11.99ドル、広告付きで12.99ドルへと変わるような収益化がユーザー体験を損なう
- ソフトウェア開発を金儲けではなく自己探求や趣味として見るなら、ユーザーに敵対的な価値搾取機能を減らし、経験・発見・個人的な目標を実際の利益にできる
無料配布を選んだ理由
- Nonographは無料・自由・オープンソースソフトウェアで、公開するのに約600ドルかかり、その大半は初期のセキュリティレビュー2件に使われた
- Nonographは今や望むすべての人に無料で提供されている
- 優れていたWebサイト、アプリ、サービスが、サブスクリプション、強制的なAI機能、ベンチャーキャピタル調達のための機能によって悪化する流れが繰り返されてきた
- もともと基本価格に含まれていた機能が別の機能パッケージになり、価格が9.99ドルから11.99ドル、広告付きで12.99ドルに変わるような変化がユーザー体験を損なう
- お金は現実だが、すべてを収益化する必要はなく、Nonographのような小さなライティングプログラムは月約5ドルでホスティングできる
- 1日の読者が数十万人いて、プロキシを3つ含めたとしても、サブスクリプション基盤を入れれば開発コストが増えるだけで、ユーザーが離れる可能性もある
趣味としてのソフトウェア開発
- もし誰もが趣味を収益化しようとするなら、それは第二の仕事になり、仕事は面白くなくなる
- 10代のころ、伝統的な仕事をする代わりにオンラインでビデオゲームのコンテンツを売りながら、楽しさゆえに追い求めていた情熱が、ノルマや利益を満たすために追う対象へと変わることを学んだ
- 収益化すると、次の四半期や次の1,000人の顧客を追い続けることになる
- ソフトウェア開発を単なる金銭的手段ではなく自己探求の手段として見れば、より自然になり、金銭的利益への期待がないぶん、ユーザーに敵対的な価値搾取機能が少ない、より良いソフトウェアが生まれうる
- ソフトウェア開発を絵を描くこと、楽器を演奏すること、森で運動することのような趣味として見れば、損を受け入れる選択も理解でき、実際の利益は常にお金ではなく、経験、発見、新しい視点、個人的な目標になりうる
- ベンチャーキャピタルを追う開発者は、自分のソフトウェアが課金に値するかを判断して、それに応じて課金するか、そうでなければ課金すべきではなく、ほとんどのプロジェクトは3人を超えるエンジニアチームを必要とせず、趣味プロジェクトのままでいるほうが適切だ
1件のコメント
Hacker Newsの反応
オープンソースのプロジェクトも出したし、有料ソフトウェアも売ったことがあるけれど、必ずしも無料で出すべきだとは思わない。
オープンソースのほうで受けたコメントには、かなり強い権利意識を感じることがあり、有料ソフトウェアの顧客とのやり取りのほうがずっと建設的だった。
人それぞれだとは思うが、お金を払う意思は良いフィルターになりうる。
商用製品でも、何年もソフトウェアを使っておきながら、返金して二度と来るなと言いたくなるような顧客がいたし、お金を払ったユーザーの権利意識や奇妙な振る舞いのほうが無視しづらいこともある。
オープンソースでは線引きがずっと単純だ。
私がいちばん好きなのは、前向きな貢献を一度もしたことがないのに、そのツールを捨てると脅してくる人たちだ。
オープンソースなら笑って「どうぞご自由に」と言えるが、商用だともっともどかしく、微妙になる。
私の経験では、支払う意思はそれほど意味のあるフィルターには思えない。
むしろ状況は悪くなっていて、多くの人があまりにせっかちになり、誰もが自分のためだけに働いていると思っている。
観客の入場券を無料にしたかったのに、無料だとかえって観客はずっと少なかったという。
入場料を試しに7ユーロにすると、毎回劇場が満員になった。
始めたばかりの人は、高く請求すると顧客からの圧力も強くなるのではと心配するが、実際には逆で、料金を高く設定するほど、より良いタイプの顧客に出会いやすい。
正確な教訓が何かはわからないが、単にケチな人と仕事をするのはつらい、ということかもしれない。
オープンソースとして公開しつつ、コミットもコメントも一切受け付けないことはできる。たとえば https://codeberg.org/y20k/escapepod/src/branch/master/CONTRI... のように。
GPL、MIT、そのほか好みの公開・自由ライセンスを使うことは、嫌がらせを受け入れなければならないという意味ではない。
望むなら、他人が使ったり土台にしたりできるようにしつつ、権利意識までは受け入れないで済む。
ほかの人がそうしていなくても、自分が望む関わり方を自分で決める自由はある。
大事なのは、私が自分の必要を満たすためにソフトウェアを作っていて、他人の提案を受け入れるかどうかは自分で決められるという点だ。
気に入らなければフォークして直せばいい。
私が提示したライセンス条件を守る限り、すべて問題ない。
この議論には簡単な答えはないと思う。
すべてがお金中心であってはいけないが、同時に私たちは生き延びるためにお金を稼がなければならない。
「誰もソフトウェアでお金を稼ぐべきではない」が答えではないし、「書くソフトウェアすべてにお金を取るべきだ」も答えではないだろう。
では、どちらにするかはどう決めればいいのだろうか。
私はプロのソフトウェア開発者として生きることをやめたくない。
好きなことをしながら自分と家族を養えてきたし、20年以上も毎日仕事に行くのを楽しめている。
同時に、趣味でやる適当なコード作業までお金を取るべきだとも思わない。
1日のすべての時間を収益化したいわけではないが、住宅ローンを払い、食べ物を買い、老後資金を貯め、ときどき楽しめるくらいには収益化したい。
ソフトウェアでお金を稼ぐのはひどいことだ、という文章を読むときの私の直感は、この問題はそれよりずっと微妙であるべきだというほうだ。
ソフトウェアは、パン作りや配管のような仕事とは根本的に違う面がある。
多くのパン職人は技術を愛しているが、家族以外に無料のパンを期待したりはしないし、多くの配管工も職人気質で問題解決を助けるが、無料の配管を期待したりはしない。
それに対してコードは、一度書いてロジックが完成すると、方程式に近く見えて、代数の宿題を売っているように感じられることがある。
さらに重要なのは、パンは食べられるし、配管は突然荷重を支える存在になるとは想定しないということだ。
多くの開発者は、専門的なサポートを提供する準備ができていないソフトウェアを売ることにためらいを感じる。
おもちゃのプロジェクトがコミュニティを得て有機的に成長すると、取り込まれずに資金を得るもっと良い道が必要になる。
ソフトウェアをファーマーズマーケットのようにできたら面白いと思う。
珍しくてローカルな品種を味わいに集まり、地元の店を知り、高価なターミナルUIのおもちゃや妙なパターンのハッシュ関数を買うような感じだ。
もちろんこれは、より広いオープンソース資金問題の解決策ではないが、誰かが少しはお金を稼げるかわいらしい夢ではある。
もっと大きな解決策は、学界の外にいる人たちにも、自分のプロジェクトに小さな助成金を受ける機会が増えることだと思う。
今、そしてこれから技術の世界が依存していく重要な技術や開発を支える財団がもっと必要だ。
多くの人は後者を目指して技術業界に入ってくるので、ビール一杯おごってもらえる程度の報酬ではソフトウェアを作らない。
一発当てたいのであって、それがソフトウェア開発に歪んだインセンティブを持ち込んでいると思う。
ただ、最近はベンチャー投資家を引きつけるために人々がやっていることのかなりの部分が本当に馬鹿げている。
半日でスタートアップを出荷し、基本機能の周囲に堀を巡らせて、どこかの企業が買って囲い込まれるのを期待する、そんなやり方を批判しているのだ。
企業は人々から一銭残らず搾り取ろうとするような、非常に非倫理的なやり方で動いていて、それはたいてい本当にうんざりする。
だから普通の人はその正反対に行きたくなり、結局いまのような議論にたどり着く。
しかし、お金をそれ自体、つまり単なる交換手段として見れば、お金を受け取ることは寄生的でも、搾取的な利潤最大化でもなくてよい。
それは、人が好きなことをしながら自分を養うための手段にすぎず、信頼しづらく、ときに尊厳を損なうこともある寄付依存を避ける助けにもなる。
さらにここには、政府が人々にオンライン上で、公に、匿名で、しかも世界規模でお金をやり取りしにくくしているという問題もある。
実際、物を売るにはかなり大きな障壁がある。
世界規模の匿名取引が簡単になれば、『倫理的に』何かを売る苦痛は大きく減るだろう。
もちろん、そうした可能性を持つ技術はすでに一つあったが、まだその可能性を十分に実現できてはいない。
たとえば農業でトマト1トンを作ったら、一家族では1年以内に食べきれないのだから、農家も無料で配るべきなのだろうか。
芸術家はどうだろう。彼らの作品は、実用的な機能すら持たないことが多い。
ここ数年サイドプロジェクトを作ってきたが、最近のMarkdown関連プロジェクト [1] が初めてのオープンソースで、これまででいちばんやりがいのある経験だった。
GitHubで54スターをもらい、主に感謝のメールを受け取り、一部の人からは機能要望も届いた。
機能や修正の要望は多くなかったが、ユーザーからの多少の圧力は、次に何を実装すべきかを教えてくれるので役に立つ。
AI以後は実装コストが経済的にも認知的にも下がったので、なおさらそうだと思う。
ユーザーが望む機能を作ることにはかなり満足しているし、そのツールを知った人の一部が週次・日次で使っているのを見るのも嬉しい [2]。
[1] https://sdocs.dev, HNでの議論: https://news.ycombinator.com/item?id=47777633
[2] https://sdocs.dev/analytics
おかしな話だが、夜遅くに古い教会の鐘楼の上、30メートルくらいの高さに座っていたとき、「アイデアを思いつく > アイデアを書く > アイデアを公開する」という流れをとても単純にしつつ、pastebinよりは良い何かが欲しいと思った。
Markdownで下線つきテキストが下線ではなく斜体として扱われるのも、昔から嫌いだった。
あらゆるソーシャルメディアプラットフォームがこのフローの問題を解決してはいるが、自分が書くものすべてを中央集権的なアイデンティティに結びつけたくはない。
単一の思考をリンクとして人に共有できるようにしたい。
Nonographには追跡機能がない。
ホストに入ってくるすべてのリクエストは、私のところに届く前に二段階のリバースプロキシかTorを通る。
そのせいで、サーバーの場所をもっと上手く隠す方法を見つけるまでは、普通のHTMLページの読み込みでも300msかかる。
私がやっている追跡に最も近いことは、
topを見てリソース使用量が低いか確認する程度だ。平均CPU 3%、メモリ210MBだ。
こういう姿勢で一度痛い目を見たことがある。
自分のオープンソースツールを無料でダウンロードした人たちが、予想外にサポートを期待し始め、一部はかなり不親切なメールまで送ってきた。
私のコピーレフトライセンスと、機能要望を無料で実装しない点が気に入らなかったからだ。
彼らがそんなことを期待するのは滑稽だし、無視してもいいし、提案を受けて作業してもいいし、助けてもいい。
ある人が、そのバグを直すつもりがあるのかと少し失礼な書き方で投稿してきたので、修正PRなら喜んで受けると返した。
結局PRは来ず、そのプロジェクトは何年も死んだままだ。単に興味を失っただけだ。
なぜ精神的に消耗するのだろう。
ライセンスと「無保証」「フォーク自由」と返して、Issueを閉じて先に進めばいいのではないか。
もちろん、こういうことが積み重なれば疲れるのはわかる。
無料で何かを作るなら、Plan 9向けの妙にニッチな itch-scratching プロジェクトみたいなものにするだろう。
たいていの人が欲しがるようなものではないはずだ。
現実的には、他人の庭を無料で手入れしないのと同じで、ソフトウェアも無料で作るつもりはない。
自由・オープンソースソフトウェアは多くの素晴らしいソフトウェアを生んできたが、同時にソフトウェア開発者が生計を立てられた多くの領域を収益化不能にもしてきた。
どんな専門職でも、自分の努力をただで差し出さなければならないと感じる必要はないのと同じで、開発者もそうである必要はないと思う。
自由・オープンソースソフトウェアはソフトウェア価格を底値競争へと追い込み、改善のための金銭的インセンティブを失わせた。
100%純粋なプラス効果だけではない。
他人のために何かをし、寛大になり、その寛大さで世界を少し良くするということだ。
それ自体に試す価値がある。
あの時代はシェアウェアの成長を後押ししたが、まったく違う時代であり、今日ではMS、Google、Appleがどんなアプリの実行を許すかを厳しく管理しているため不可能だ。
世界が違っていてほしいと願うのは簡単だが、セキュアブートとApp Storeの統制がある今日の現実では、ずっと生きづらくなるだろう。
自分のGitHubで見つかるものは全部GPLで、たいていはコードサンプルを要求する採用担当者に見せたり、C++20モジュールやWinRTのような言語機能を試したりするために置いてある。
個人開発者はたいてい金銭的に不利だ。
何かをSaaSにできれば収益化できるかもしれないが、もっと良い無料版がすでに出回っていたり、そもそも大半の人はコンピュータのことを考えたくないので、結局 m$lop に金を払う可能性が高い。
アイデアを投資家に売ることもできるが、それには強い営業力が必要だ。
ソフトウェア開発が有給の職業であるべきかどうかも、もうわからない。
ツールが十分進歩すれば、自動化は誰にでも届くようになり、全体としてその方向へ進んでいると思う。
私は90年代のBBSとデモシーンで始めた。
私にとってはあの頃こそコンピューティングの黄金時代で、7MHzのプロセッサで魔法のようなものを作っていた技術革新もあったし、コミュニティのまとまり方も良かった。
たとえばartpackシーンのANSIアーティストの中には本当に芸術家になった人もいたが、誰も何百万ドルも稼いだり、資本を集めるためにANSIを作り直したりはしなかった。
今の自分のオープンソース作業でも当時を思い出していて、お金さえ払えれば、自分が楽しくて面白いことをやり、あとは自然に流れていけばいいと思っている。
あの初期の時代についての文章を見て今と比べると、AIが10分で作ったPythonスクリプトを投資家にベンダーロックインとして売りつけるのが目標になる前の「良き昔」を体験してみたかった、という妙な気持ちになる。
ハッカー、大学のコーダー、warezの海賊、デジタルアーティストの間の交差受粉は実際に存在していた。
大企業のCEOの多くもあの時代に始めた。
ほとんどは探検とつながりに関することで、BBSシーンが efnet や freenode などのircチャットルームへ移っていった後も、その混ざり合ったシーンはしばらく成長し続けた。
今ではすべてが売り物だ。
このブログ記事には大いに共感する。
趣味を収益化することにも言うべきことはあるが、最近は「面白いものを作って無料で公開する」方向も試している。
この方向でかなり大きな実験を始めたところで、自分にとってどう機能するのか気になっている。
オープンソースの最新 Magic: The Gathering カード識別パイプライン: https://www.youtube.com/watch?v=MHieOcmC7Dw
以前はこういう画像認識を仕事にしていたが、しばらくその分野を離れていた。
以前とは違うアプローチのアイデアがあったので実装してみたところ、今回のバージョンは自分がこれまで作ったどのものよりもずっと良い。
とくに複雑な背景や隠れたカードのスキャン、見分けにくい版のあいだの微妙な差異を捉えるのに強い。
待っている顧客がいたわけではないので、元記事と同じく、実験として作ってオープンソースで公開することにした。
クローズドソースの商用プロジェクトで、ライセンスを求める人向けの収益化ルートに反対しているわけではないが、商業化よりオープンソースでどこまで行けるのかを見てみたい。
どの道を進むべきかはわからない。
最大の欠点は、このプロジェクトに人々が期待したほど関心を持ってくれないように感じることだ。
私はこれが本当に現存最高のカード識別ソフトウェアだと信じていて、そのためのテスト用ベンチマークも作った [0]。
市場がこうしたツールで少し飽和しているのかもしれないが、お金を取らないと価値が低いと見なされる問題はかなり強いのではないかと疑っている。
ときどき、これを無料で配ろうとしなければもっと注目されたのだろうかと思う。
これまで無料公開してきた中で、そこがいちばんネガティブに感じた部分だ。
[0] - https://blog.hanclin.to/posts/gh-26/
何十年も前のカードが入った大きな箱を保管していて、売ろうかと思ったことがある。
でも店に持っていけば買い叩かれそうだし、自分でやるなら一枚一枚を丁寧に調べて適正価格で売る方法を見つけるのに何時間もかかる。
写真をたくさん撮れば識別と価値評価が自動化されるなら、とても助かるはずだ。
私のような個人に売るのは難しいだろうが、カードマーケットプレイスなら非常に価値を感じると思う。
価値が低く見られる問題については言いたいこともあるが、私はオープンソースをとても高く評価していて、多くの面でより大きな価値があると思っている。
このまま頑張ってほしい。
自分のMTGコレクションを少しずつ索引化して、要らないカードや不要なカードを売っているので、こういうものにしばらく関心があった。
今週末に試してみるつもりだ。
私はかなり多くのものづくりの趣味を持ってきた。
金属で部品を作って売ったこともあるし、粘土やプラスチックで造形して鋳造し、鋳物を売ったこともある。
核心は販売ではなく、その趣味を取り巻くコミュニティだった。
たいていは材料費に少し上乗せする程度しか取らなかった。
オープンソースソフトウェアにも同じように向き合ってきた。
まずコミュニティがある。
Linuxを使い始めた最初の10年間、それは運動であり、皆でより良いコンピューティングの未来を作ろうとして参加していた。
以前こういうことをやっていたし、いまではAIのおかげで実質的に誰でもソフトウェアを書けるようになったが、それでもこういうハッカー精神はやはり素晴らしい。
多くのコメントでは、私たちの社会に広がる、潜在的に恒久的な貧困の脅威に触れずにはいられないように思う。
この圧力を社会の美点だと考える人たちの立場は、ますます理解しがたくなっている。
もちろん、その圧力に振り回されるのではなく利用できる資源を持つごく少数は例外だ。
それは私たちの社会だけの特徴ではなく、宇宙そのものの特徴でもある。
闘いと苦しみなくして生命はない。
エントロピーとの戦いは絶え間なく、良い知らせは、生命が何百万年ものあいだその戦いに勝ってきたということだ。