国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

對話 Ruby on Rails 之父:發(fā)自內(nèi)心恨透 Copilot,手鑿代碼才是程序員的樂趣

0
分享至

編譯自 Lex Fridman Podcast

出品 | CSDN(ID:CSDNnews)

原文 | https://lexfridman.com/dhh-david-heinemeier-hansson-transcript

投稿或?qū)で髨蟮?| zhanghy@csdn.net

傳奇程序員、Ruby on Rails 框架創(chuàng)始人 David Heinemeier Hansson (DHH) 最近做客 Lex Fridman 播客,來了一次深度對話。

David Heinemeier Hansson,通常被稱為 DHH,是軟件開發(fā)領(lǐng)域一位標(biāo)志性的人物。作為熱門 Web 開發(fā)框架 Ruby on Rails 的創(chuàng)造者,他不僅改變了無數(shù)程序員構(gòu)建網(wǎng)絡(luò)應(yīng)用的方式,更以 37signals(現(xiàn) Basecamp & HEY)聯(lián)合創(chuàng)始人的身份,倡導(dǎo)著一種“拒絕風(fēng)險投資、遠(yuǎn)程優(yōu)先、可持續(xù)發(fā)展”的商業(yè)哲學(xué)。

DHH 以其直言不諱和鮮明的觀點而聞名。他從不回避爭議,無論是公開挑戰(zhàn)蘋果公司的 App Store 政策,還是質(zhì)疑行業(yè)中過度設(shè)計的技術(shù)風(fēng)尚。

在與 Lex Fridman 這次長達(dá)六小時的馬拉松式對話中,DHH 深入探討了他世界觀的方方面面。而其中最引人矚目,也與我們當(dāng)下技術(shù)浪潮最息息相關(guān)的,莫過于他對人工智能,特別是AI 編程工具的看法。

他并非一個簡單的 AI 擁護(hù)者或反對者,他承認(rèn)每天都在使用 AI 來學(xué)習(xí)新知,但同時,他為 AI 編程助手可能導(dǎo)致的核心技能退化而深感憂慮。他將其描述為一種“能力從指尖流失”的感覺,并表示自己“恨透”了 AI。

以下是對這次長達(dá)六小時訪談的部分翻譯,我們節(jié)選了其中最精華、最與我們行業(yè)息息相關(guān)的部分。

「我不理解變量有什么用」

Lex Fridman:David,很高興能在這里見到你。

DHH:很高興來到這里。

Lex Fridman:我感覺你的思想非常深邃和廣闊。我想從一些基本的問題開始。在你看來,什么是變量?

DHH:(笑)這真是個好問題。我第一次接觸編程大概是在 1995 年左右,那時候我還在上高中。我當(dāng)時在玩一個叫做“BBS 場景”的東西,就是公告板系統(tǒng)。我有一個朋友,他比我大幾歲,已經(jīng)是個程序員了。他想教我編程,用的是Turbo Pascal。他試著給我解釋,但我就是搞不懂。

我記得我不理解變量的用途。如果有一個東西,你給它賦了值,為什么還要再給它賦另一個值?出于某種原因,我能理解常量,常量對我來說是有意義的,但變量沒有。所以我第一次嘗試學(xué)習(xí)編程完全失敗了。我當(dāng)時覺得,“好吧,這東西不適合我?!?/p>

Lex Fridman:這太有趣了。一個常量,一個永恒不變的值,這在哲學(xué)上是有意義的。但變量,可以改變的東西,這讓你覺得困惑。

DHH:是的,非常困惑。我覺得,“好吧,這東西不適合我?!比缓髱啄赀^去了,我開始做一些和網(wǎng)頁相關(guān)的事情。我先是用 HTML,這東西很簡單,我能理解。然后我接觸到了 ASP,經(jīng)典的 Active Server Pages,用 VBScript 編寫。這已經(jīng)是第二次嘗試了,稍微好了一點,但我還是沒完全上道。

然后,第三次嘗試,我遇到了 PHP。

PHP 是我最終豁然開朗的地方,當(dāng)我終于理解了條件、循環(huán)、變量以及所有這些東西,足以讓我認(rèn)為,我能行。我能用這個做出東西來。但我對它并沒有什么特別的熱情。它只是一個工具,一個能讓我完成工作的工具。我當(dāng)時在做一個丹麥的在線游戲新聞網(wǎng)站,PHP 幫我把它自動化了。我當(dāng)時覺得,“太棒了,這很有用?!?/p>

但真正讓我愛上編程的,是后來我發(fā)現(xiàn)了Ruby。

Lex Fridman:在我們聊 Ruby 之前,你認(rèn)為 PHP 的哪個特性最終讓你開了竅?

DHH:我覺得是它的易用性。你只需要一個 FTP 客戶端,把一個文件上傳到服務(wù)器上,就能看到結(jié)果。這種即時反饋的循環(huán)非常、非常快。而且它的語法,雖然現(xiàn)在很多人嘲笑它,但它確實很簡單。PHP/FI,最早的版本,就是“表單解釋器”。它就是為此而生的。你想從表單里取點數(shù)據(jù),然后用這些數(shù)據(jù)做點什么。

這為我揭開了Web 開發(fā)的神秘面紗。它并不是一個黑盒子。你可以看到它是如何運作的。這種簡單性,我認(rèn)為,是我最終理解它的關(guān)鍵。當(dāng)時,很多所謂的“嚴(yán)肅”編程都發(fā)生在 Java 世界里。那是一個充滿復(fù)雜性、儀式感和樣板代碼的世界。你需要編譯,需要部署,整個過程非常繁瑣。而 PHP 就像一股清流。它很直接,很務(wù)實。

「Ruby,為我的大腦量身定制」

Lex Fridman:所以,你遇到了 Ruby。那是一種怎樣的體驗?

DHH:那是一次徹底的啟示。當(dāng)時我正在和Jason Fried合作,創(chuàng)建 Basecamp。我們當(dāng)時用的是 PHP。我們用 PHP 構(gòu)建了 Basecamp 的第一個版本。它能用,但過程并不愉快。我覺得自己總是在和這門語言作對。

然后我開始尋找替代品。我看了看 Python,也看了看其他的。然后我讀了一篇關(guān)于 Ruby 的文章,作者是它的創(chuàng)造者 Matz(松本行弘)。

他在文章里說,他創(chuàng)造 Ruby 是為了優(yōu)化程序員的幸福感。這個想法本身就讓我震驚。什么?一門編程語言,它的主要目標(biāo)是讓使用它的人感到快樂?這太激進(jìn),太美好了。然后我開始看 Ruby 代碼的例子。

那是一種我從未有過的感覺。感覺就像,這門語言是為我的大腦量身定做的。而制作它的人我素未謀面。這怎么可能?它讓我看到了程序可以有多美。我之前甚至沒有“美學(xué)”這個概念,不知道“優(yōu)美的代碼”也是我們可以追求和優(yōu)化的東西。我一直以為代碼就是功利的,能用就行。

Ruby 改變了這一切。我記得我當(dāng)時想,“我必須用這個。我不在乎它是否 ‘準(zhǔn)備好了’,我不在乎有沒有庫。我要用它來構(gòu)建 Basecamp。”

Lex Fridman:你說“為你的大腦量身定做”,這是什么意思?你認(rèn)為你的大腦有什么特別之處,讓 Ruby 如此契合?

DHH:我認(rèn)為我更偏向于人文主義思維。我喜歡語言,喜歡散文。Ruby 的語法讀起來更像是人類的語言,而不是機器指令。它的創(chuàng)造者 Matz 是一個語言學(xué)家。他從 Lisp 和 Smalltalk 等語言中汲取靈感,但他也加入了一種……人性化的東西。

舉個例子,在 Ruby 里,你可以寫 5.times { ... } 。這讀起來就像英語。它不是 for i = 0; i < 5; i++ 。這種小的差異,累加起來,就創(chuàng)造了一種完全不同的體驗。它讓你感覺自己像個作家,而不是一個技術(shù)員。這對我產(chǎn)生了巨大的吸引力。Ruby 是為人類編寫的,而人類是復(fù)雜的生物,我們喜歡恰到好處的東西。

「我收到了來自上帝的郵件」

Lex Fridman:你和 Matz 后來有交流嗎?這個你崇拜的、為你量身打造了語言的人。

DHH:有的。當(dāng)我開始使用 Ruby 時,我加入了一個郵件列表。當(dāng)時社區(qū)非常小,可能全世界也就幾百人在用 Ruby。我開始在郵件列表里提問,分享我寫的一些小東西,一些我為自己構(gòu)建 Basecamp 時提取出來的庫。

Matz 也在那個郵件列表里。有一天,我收到了一封來自 Matz 的郵件。對我來說,那就像是收到了來自上帝的郵件。他看到我做的一些工作,然后他對我說:“嘿,你似乎對這個很有熱情。你想不想要 Ruby 核心代碼的提交權(quán)限?

Lex Fridman:哇。那是什么感覺?

DHH:我當(dāng)時的感覺就是,“什么?”

這太不可思議了。他信任我這個來自丹麥、素未謀面的陌生人,允許我去修改他創(chuàng)造的這件美妙的東西。這種程度的信任,在當(dāng)時,甚至現(xiàn)在,都是聞所未聞的。這讓我對 Ruby 社區(qū)和 Matz 本人產(chǎn)生了無比的忠誠和熱愛。我成了 Ruby 的一名傳教士。

從那一刻起,我感覺自己不僅僅是一個使用者,我成了一個守護(hù)者。我有責(zé)任去改進(jìn)這門語言,去分享它的美好。Ruby on Rails 的誕生,很大程度上也是源于這份責(zé)任感。我想讓更多人體驗到我所體驗到的那種編程的快樂。

「靜態(tài)類型,我不喜歡的主要原因」

Lex Fridman:Ruby 是一門動態(tài)類型的語言。現(xiàn)在靜態(tài)類型語言(如 TypeScript)非常流行。很多人認(rèn)為靜態(tài)類型能帶來更強的安全性和可維護(hù)性。你怎么看?

DHH:我是動態(tài)類型的堅定擁護(hù)者。我認(rèn)為靜態(tài)類型帶來的所謂“安全感”在很大程度上是一種幻覺。它能捕捉到的錯誤類型,通常是最淺顯、最容易發(fā)現(xiàn)的那一類,比如拼寫錯誤或者給方法傳遞了錯誤數(shù)量的參數(shù)。而那些真正棘手的、深藏在邏輯里的 bug,靜態(tài)類型系統(tǒng)根本無能為力。

更重要的是,靜態(tài)類型付出了巨大的代價。它讓代碼變得更冗長、更僵化。你必須花費大量的時間去“安撫”類型檢查器,編寫那些只是為了讓編譯器閉嘴的類型定義。這扼殺了編程的流動性和創(chuàng)造力。

這正是我不喜歡靜態(tài)類型的主要原因之一。它不僅在某些方面限制了你,還讓元編程(metaprogramming)變得異常困難。Ruby 和 Rails 的很多魔力,都來自于我們能夠動態(tài)地定義方法、修改類。在靜態(tài)語言里,做這些事情要么不可能,要么就是一場噩夢。人們會說,“哦,你需要代碼生成器”,或者其他復(fù)雜的工具。但在 Ruby 里,語言本身就給了你這些能力。這是一種賦權(quán)。

Lex Fridman:但對于大型項目和大型團(tuán)隊來說,很多人認(rèn)為靜態(tài)類型是必不可少的。

DHH:我認(rèn)為這是一個借口,一個拐杖。人們說你需要靜態(tài)類型來重構(gòu)大型代碼庫。不對,你需要好的測試來重構(gòu)大型代碼庫。測試能夠給你真正的信心,讓你知道你的修改沒有破壞任何東西。類型檢查器給你的只是一種虛假的、廉價的信心。

我們用 Ruby on Rails 構(gòu)建了 Basecamp 和 HEY,這兩個都是非常龐大且復(fù)雜的應(yīng)用,已經(jīng)持續(xù)開發(fā)了近 20 年。我們從來沒有覺得,“天啊,要是我們用了靜態(tài)類型就好了?!?strong>我們依賴于好的設(shè)計、清晰的代碼和全面的測試套件。這才是構(gòu)建持久軟件的真正基石。

當(dāng)人們談?wù)摯笮蛨F(tuán)隊時,他們真正想說的是,“我們的團(tuán)隊里有很多水平不一的程序員,我需要一個系統(tǒng)來防止他們犯錯?!?我覺得這是一個錯誤的前提。你應(yīng)該努力去雇傭和培養(yǎng)優(yōu)秀的程序員,而不是用一個官僚系統(tǒng)去限制他們。

「小團(tuán)隊選擇微服務(wù)是自尋死路

Lex Fridman:在架構(gòu)方面,你也以倡導(dǎo)“宏偉的單體應(yīng)用”(The Majestic Monolith)而聞名,這與當(dāng)前流行的微服務(wù)(Microservices)趨勢背道而馳。

DHH:是的。微服務(wù)架構(gòu)被過度兜售了。它成了一種時尚,一種人們不假思索就去追隨的潮流。人們被 Netflix、Google、Amazon 這些巨頭的故事所迷惑,以為他們也需要把自己的應(yīng)用拆分成幾百個獨立的服務(wù)。對于 99% 的公司來說,這是一個災(zāi)難性的錯誤。

當(dāng)你采用微服務(wù)時,你把一個應(yīng)用內(nèi)部的方法調(diào)用,變成了一個跨網(wǎng)絡(luò)的 RPC 調(diào)用。這意味著你引入了延遲、可靠性問題、分布式事務(wù)、服務(wù)發(fā)現(xiàn)、版本控制等一大堆全新的、極其復(fù)雜的問題。你現(xiàn)在不僅需要成為一個應(yīng)用開發(fā)者,你還需要成為一個網(wǎng)絡(luò)工程師和系統(tǒng)管理員。你的認(rèn)知負(fù)荷急劇增加。

Lex Fridman:那么,“宏偉的單體”好在哪里?

DHH:它的美妙之處在于簡單。你所有的代碼都在一個地方。你可以用你喜歡的 IDE 打開它,你可以進(jìn)行全局搜索,你可以輕松地進(jìn)行重構(gòu)。調(diào)試非常直接。部署也是一個單一的、原子的操作。你可以專注于你的業(yè)務(wù)邏輯,而不是基礎(chǔ)設(shè)施。

人們嘲笑單體應(yīng)用,覺得它“不酷”,覺得它是過去的遺物。但它非常高效。我們用一個宏偉的單體應(yīng)用支撐著 Basecamp 和 HEY,為數(shù)百萬用戶提供服務(wù)。我們的團(tuán)隊規(guī)模非常小,其中一個重要原因就是我們沒有把時間浪費在管理幾十個微服務(wù)組成的復(fù)雜網(wǎng)絡(luò)上。

當(dāng)然,我不是說微服務(wù)一無是處。如果你是亞馬遜,你需要幾百個團(tuán)隊獨立地開發(fā)和部署他們系統(tǒng)的不同部分,那么微服務(wù)是有意義的。但如果你是一個 5 人、10 人、甚至 50 人的團(tuán)隊,選擇微服務(wù)幾乎等同于自殺。你是在用一個你沒有的問題的解決方案,來給自己制造一大堆新的問題。你應(yīng)該先從一個“宏偉的單體”開始,當(dāng)且僅當(dāng)你遇到了它無法解決的、巨大的組織規(guī)模問題時,再考慮拆分。

「我用雙手把代碼從屏幕上鑿出來」

Lex Fridman:讓我們來談?wù)勀銓嶋H的編程過程。你使用什么樣的工具?IDE?自動補全?

DHH:我不使用工具來編寫代碼。我用文本編輯器。我用雙手將代碼從屏幕上“鑿”出來。我不使用自動補全。我不使用任何試圖猜測我下一步想做什么的東西。我希望我的手指能記住這些方法。我希望我的大腦能記住這些模式。

這是一種……與材料的親密接觸。就像一個木匠,他需要感受木頭的紋理。如果我讓機器為我完成所有的輸入工作,我就會失去這種感覺。我輸入代碼的速度,思考的速度,這兩者之間有一種節(jié)奏。我不想讓任何東西打斷這個節(jié)奏。這是一種肌肉記憶的培養(yǎng),也是一種思維的訓(xùn)練。當(dāng)你的手指知道如何輸入代碼時,你的大腦就可以專注于更高層次的抽象和設(shè)計。

Lex Fridman:這直接引出了我們關(guān)于 AI 的討論。你對 GitHub Copilot 這樣的 AI 編程助手有什么看法?它似乎與你的哲學(xué)背道而馳。

DHH:是的,完全背道而馳。我試用過 Copilot。我強制自己用了幾個星期,想給它一個公正的機會。

Lex Fridman:你的感受如何?

DHH:我恨它。我真的恨它。這是一種發(fā)自內(nèi)心的、本能的厭惡。

它讓我感覺自己像個監(jiān)督者,而不是一個創(chuàng)造者。我的工作變成了不斷地糾正一個過于熱心的實習(xí)生。它會生成一大堆代碼,然后我的任務(wù)就是,“不,這不是我想要的。這個地方不對。那里有個 bug?!?/p>

我能真切地感覺到能力從我的指尖流失。那種與材料的直接接觸感消失了。我不再是那個“鑿”代碼的人了。我成了一個代碼的審查員。這對我來說,是一種深刻的、存在的失落感。編程的樂趣,對我來說,很大一部分在于思考和輸入的那個過程。Copilot 把這個過程拿走了,用一種膚淺的、即時的滿足感來替代它。

「我能感覺到編程技藝正在流失」

Lex Fridman:但它確實能提高生產(chǎn)力,不是嗎?

DHH:這取決于你如何定義“生產(chǎn)力”。如果你所謂的生產(chǎn)力是“每小時寫的代碼行數(shù)”,那么是的,它可能會提高。但我不認(rèn)為這是一個有意義的指標(biāo)。對我來說,真正的生產(chǎn)力是關(guān)于“思考的質(zhì)量”。是關(guān)于找到那個最簡潔、最優(yōu)雅的解決方案。

Copilot 常常會生成一些非常冗長、非常平庸的代碼。它只是把我可能要寫的那些樣板代碼(boilerplate)給吐出來了。問題是,我經(jīng)常不想寫那些樣板代碼。我可能會停下來想,“有沒有更好的方法?我能重構(gòu)這個東西,讓它不需要這么多樣板代碼嗎?”

Copilot 打斷了這種思考。它太快了,太急于“幫助”我了。它誘使我接受一個“還行”的解決方案,而不是去尋找那個“卓越”的解決方案。從長遠(yuǎn)來看,這會侵蝕代碼庫的質(zhì)量,也會侵蝕我作為程序員的技能。就像學(xué)習(xí)彈吉他,你看再多 YouTube 視頻也學(xué)不會,必須親手把手指放在琴弦上。我認(rèn)為這和編程有相似之處,編程必須通過親手輸入來學(xué)習(xí)。

Lex Fridman:那么,你認(rèn)為 AI 編程工具有沒有它的用武之地?

DHH:有。我認(rèn)為它作為一個學(xué)習(xí)工具有著巨大的潛力。這很矛盾,對吧?我一方面說它會侵蝕技能,另一方面又說它可以用來學(xué)習(xí)。

讓我來解釋。當(dāng)我遇到一個我不熟悉的領(lǐng)域時,比如一個新的庫,或者一門新的語言。我可以讓 Copilot 或者 ChatGPT 給我生成一些例子。這就像有了一個不知疲倦的、耐心的導(dǎo)師。我可以問它,“嘿,用這個庫怎么畫一個圖表?”然后它會給我一個代碼片段。

這比在網(wǎng)上搜索文檔要快得多。我可以立刻得到一個可運行的例子,然后我可以去修改它,去理解它。在這種情況下,我不是在讓它代替我思考。我是在用它作為一個起點,來加速我的學(xué)習(xí)過程。

「AI 是個很棒的導(dǎo)師,但得由我主導(dǎo)」

Lex Fridman:所以區(qū)別在于使用的意圖?是在用它來代替思考,還是用它來輔助學(xué)習(xí)?

DHH:完全正確。這關(guān)乎于誰在主導(dǎo)。如果是我在主導(dǎo),我有一個明確的目標(biāo),我只是用 AI 來獲取信息或者處理一些繁瑣的細(xì)節(jié),那它就是一個強大的工具。但如果是 AI 在主導(dǎo),它不斷地向我推送建議,誘導(dǎo)我走上一條特定的道路,那它就變得很危險。

我每天都因為 AI 而變得更聰明,因為我用它來給我解釋東西。即使是一些我不好意思在谷歌上搜索的“愚蠢”問題,AI 也非常樂意用最簡單的方式為我解釋那些我本該知道但實際上并不知道的 Unix 命令。這是一個了不起的教育工具。

但當(dāng)我坐下來,準(zhǔn)備進(jìn)入“創(chuàng)造模式”,準(zhǔn)備構(gòu)建一些重要的、持久的東西時,我會把它關(guān)掉。因為在那個時刻,我需要的是深度專注,是我和代碼之間的直接對話,我不希望有任何東西插在中間。

「別拿風(fēng)險投資,這是第一條」

Lex Fridman:讓我們來談?wù)勆虡I(yè)。你和 Jason Fried 建立 37signals 的方式非常獨特。你們沒有拿風(fēng)險投資。

DHH:不要拿風(fēng)險投資。這是第一條。風(fēng)險投資不是免費的錢。它帶著期望,帶著壓力。VC 的商業(yè)模式是基于本壘打的。他們投 10 家公司,需要有一兩家能帶來 100 倍的回報,來彌補其他所有失敗的投資。這意味著他們會把你推向一個“不惜一切代價實現(xiàn)增長”的模式。

你的公司將不再是你的了。它變成了一個金融工具,一個實現(xiàn) VC 投資組合回報的工具。他們會催促你雇更多的人,花更多的錢,冒更大的風(fēng)險。絕大多數(shù)情況下,這會導(dǎo)致公司燒光錢然后倒閉。這是一種“要么成為獨角獸,要么去死”的心態(tài)。但絕大多數(shù)健康的、可持續(xù)的、能讓創(chuàng)始人過上美好生活的企業(yè),都不是獨角獸。風(fēng)險投資扼殺了這種可能性。

Lex Fridman:那你們的模式是什么?

DHH:我們的模式很簡單:打造一個人們愿意付費的好產(chǎn)品,然后用客戶付的錢來發(fā)展公司。我們稱之為“拉面盈利”(Ramen profitable)。就是說,你的收入至少能支付創(chuàng)始人的基本生活費,比如房租和拉面。

我們從第一天起就是盈利的。我們從未虧損過。這給了我們自由。我們能夠按照自己的節(jié)奏來發(fā)展公司,能夠做我們認(rèn)為正確的事情,而不是 VC 認(rèn)為能快速提升估值的事情。我們?yōu)榭蛻舴?wù),而不是為投資人服務(wù)。這種獨立性,是無價的。我們寧愿擁有一家小而盈利的公司的 100% 股權(quán),也不愿擁有一家估值 10 億但我們只占 5% 股權(quán)、并且時刻處于破產(chǎn)邊緣的公司。

「我會把公司燒了,也不會給蘋果 30%」

Lex Fridman:這種獨立性讓你們有底氣去挑戰(zhàn)蘋果。可以詳細(xì)講講那個故事嗎?

DHH:當(dāng)然。這是我們獨立自主哲學(xué)的一次終極考驗。我們推出了 HEY,一個新的電子郵件服務(wù)。我們?yōu)榇伺α藘赡辍N覀兲峤涣?app 到蘋果的 App Store。最初的版本被批準(zhǔn)了。然后我們提交了一個帶有 bug 修復(fù)的更新版本。這個更新被拒絕了。

蘋果告訴我們,我們的 app 違反了他們的規(guī)定,因為我們沒有在 app 內(nèi)提供通過蘋果支付系統(tǒng)進(jìn)行訂閱的選項。我們的 app 是這樣的:你可以在我們的網(wǎng)站上注冊 HEY,然后下載 app 來使用這個服務(wù)。這和 Netflix 或者 Spotify 的 app 是一樣的模式。這些“讀者”應(yīng)用是被允許的。

但蘋果突然決定,這個規(guī)則現(xiàn)在要以一種新的、更嚴(yán)格的方式來解釋,而且只針對我們。他們說,我們必須在 app 里加入蘋果的內(nèi)購(In-App Purchase),讓他們能從中抽取 30% 的分成。

Lex Fridman:你的反應(yīng)是什么?

DHH:我的反應(yīng)是,“絕不?!?/p>

這不僅僅是錢的問題。這是原則問題。蘋果正在濫用他們作為平臺守門人的壟斷地位。他們試圖強迫我們接受一個不公平的交易。

我當(dāng)時就想,我們有兩個選擇。要么我們屈服,要么我們抗?fàn)?。我?Jason 說,“在我把我們業(yè)務(wù)的 30% 交給蘋果之前,我會把這家公司燒成灰燼。”這不是一句空話。我當(dāng)時就是這么想的。有些事情比錢更重要。

所以,我們選擇了抗?fàn)?。我把整件事公之于眾。我在推特上發(fā)布了蘋果的拒絕信,解釋了情況。這引起了軒然大波。開發(fā)者、記者、甚至一些政客都開始關(guān)注這件事。我們把這場斗爭變成了一場關(guān)于平臺權(quán)力和開發(fā)者權(quán)利的公開辯論。

Lex Fridman:你害怕嗎?挑戰(zhàn)蘋果可不是一件小事。

DHH:當(dāng)然。蘋果是世界上最強大的公司之一。他們可以輕易地把我們從 App Store 里抹去,毀掉我們的業(yè)務(wù)。但有時候,你必須站出來,為你認(rèn)為正確的事情而戰(zhàn),即使你可能會輸。斯多葛主義教導(dǎo)我,專注于你能控制的事情。我無法控制蘋果的決定,但我可以控制我的回應(yīng)。我選擇戰(zhàn)斗。

幸運的是,我們沒有輸。由于公眾的壓力,蘋果最終讓步了。他們批準(zhǔn)了我們的 app,沒有強迫我們加入內(nèi)購。這是一個巨大的勝利,不僅是對我們,也是對所有在 App Store 里受到不公平待遇的開發(fā)者。它證明了,即使是小公司,如果站在原則的一邊,并且敢于發(fā)聲,也能撼動巨人。

「開源是禮物,不是附帶條件的交易」

Lex Fridman:你對開源的原則也非常堅定,這導(dǎo)致了你和 Automattic(WordPress 的母公司)的一些公開爭論。

DHH:是的。那件事讓我非常失望。我們開源了一個叫做 Stimulus 的 JavaScript 框架。Automattic 在他們的一個產(chǎn)品中大量使用了它。后來,他們決定分拆那個產(chǎn)品,成立一個獨立的公司,并且籌集了大量的風(fēng)險投資。

然后,他們的 CEO Matt Mullenweg 聯(lián)系我,基本上是說,因為他們的新公司要靠我們的免費軟件來建立,我們應(yīng)該得到一些補償。他提出給我們一些新公司的股權(quán)。

Lex Fridman:這聽起來像個不錯的提議?為什么拒絕?

DHH:不。這完全違背了我對開源的理解。我開源 Stimulus,是因為我為自己構(gòu)建了它,并且樂于分享。它是一份禮物。我從不期望任何回報。當(dāng) Matt 提出給我股權(quán)時,他把一種交易關(guān)系強加到了這種純粹的給予行為之上。

更糟糕的是,這背后有一種隱含的威脅。就好像在說,“我們現(xiàn)在這么依賴你的軟件,如果你不 ‘合作’,如果未來出了什么問題,那就會很難看?!?/p>

我 100% 反對此類互動。這污染了開源。開源應(yīng)該是無私的,一旦你開始計算誰欠誰什么,它的精神就被破壞了。你不能在把免費軟件作為禮物送給世界之后,又回過頭來說,“既然你用了我的禮物,你就欠我一大筆錢,因為你用我免費給你的東西太成功了。”

Lex Fridman:你是一個觀點鮮明的人,這也為你引來了不少批評和“憎恨者”(haters)。你如何看待這些負(fù)面反饋?

DHH:我認(rèn)為這是一個物理定律。如果你創(chuàng)造了很多人喜愛并有價值的東西,你必須創(chuàng)造出同等且相反的“憎恨者”力量。你不可能只擁有熱愛你的人而沒有憎恨你的人。唯一的例外是平庸。

如果你做一些沒有人關(guān)心、沒有人有強烈感覺的東西,那你可能不會有憎恨者。但你也不會有真正的粉絲。所以我把憎恨者看作是一個積極的信號。這說明我所做的事情,我所說的話,觸動了人們的神經(jīng)。它很重要。當(dāng)然,這并不意味著我要去享受它。被人攻擊從來都不是一件愉快的事。但你必須學(xué)會把它看作是成功的副產(chǎn)品,然后繼續(xù)前進(jìn)。

Lex Fridman:最后一個問題。對于那些剛剛開始編程生涯的年輕人,或者那些正在考慮進(jìn)入這個行業(yè)的人,你有什么建議?

DHH:找到你真正熱愛的東西。不要因為某個技術(shù)很“火”就去學(xué)它。編程是一項艱難的工作。如果你對你正在構(gòu)建的東西沒有熱情,你很難堅持下去。

找到一個你想解決的問題。一個你自己的問題。就像我當(dāng)初為我的游戲新聞網(wǎng)站構(gòu)建自動化工具,或者為 Basecamp 構(gòu)建框架一樣。當(dāng)你為自己構(gòu)建東西時,你會更有動力,你會學(xué)得更快。

不要害怕與眾不同。這個行業(yè)充滿了各種教條和“最佳實踐”。傾聽它們,但不要盲從。發(fā)展你自己的品味,你自己的風(fēng)格。相信你的直覺。最有趣、最有價值的工作,往往來自于那些敢于挑戰(zhàn)傳統(tǒng)智慧的人。

最后,享受這個過程。編程是一場奇妙的旅程。享受學(xué)習(xí)的樂趣,享受創(chuàng)造的快樂,享受解決難題的滿足感。這才是最重要的。可可·香奈兒有句名言:“生活中最好的東西是免費的,第二好的東西則非常非常昂貴。” 而家庭、朋友、愛好,這些實際上是世界上大多數(shù)人都能擁有的東西,這就是勝利。專注于這些,你的人生會非常富有。

AI 產(chǎn)品爆發(fā),但你的痛點解決了嗎?

2025 全球產(chǎn)品經(jīng)理大會

8 月 15–16 日

北京·威斯汀酒店

互聯(lián)網(wǎng)大廠、AI 創(chuàng)業(yè)公司、ToB/ToC 實戰(zhàn)一線的產(chǎn)品人

12 大專題分享,洞察趨勢、拆解路徑、對話未來。

立即掃碼領(lǐng)取大會PPT

搶占 AI 產(chǎn)品下一波紅利

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點推薦
17投砍26分6板!廣東20歲鋒線新星閃耀星銳賽,值得杜鋒更多信任

17投砍26分6板!廣東20歲鋒線新星閃耀星銳賽,值得杜鋒更多信任

老葉評球
2026-03-08 15:39:05
繞開日本永久舉辦權(quán)!國際排聯(lián)官宣,中國女排錯失,40年等待落空

繞開日本永久舉辦權(quán)!國際排聯(lián)官宣,中國女排錯失,40年等待落空

體育見習(xí)官
2026-03-08 08:59:24
伊朗就新的最高領(lǐng)袖人選作出最終決定

伊朗就新的最高領(lǐng)袖人選作出最終決定

極目新聞
2026-03-08 14:05:15
文旅部部長:7名外國游客到上海旅游,買了40箱中國貨;“成為中國人”成了網(wǎng)絡(luò)熱詞,老外愛上喝開水吃火鍋等中式生活

文旅部部長:7名外國游客到上海旅游,買了40箱中國貨;“成為中國人”成了網(wǎng)絡(luò)熱詞,老外愛上喝開水吃火鍋等中式生活

新民晚報
2026-03-07 15:00:52
準(zhǔn)備同歸于盡!伊朗或啟用“沉睡小組”,在美國本土執(zhí)行斬首行動

準(zhǔn)備同歸于盡!伊朗或啟用“沉睡小組”,在美國本土執(zhí)行斬首行動

東極妙嚴(yán)
2026-03-06 13:43:35
OpenClaw,又失業(yè)一批中產(chǎn)階級

OpenClaw,又失業(yè)一批中產(chǎn)階級

動察Beating
2026-03-05 11:55:52
第25波打擊,伊朗通報全球,以色列后院起火,特朗普開始急了!

第25波打擊,伊朗通報全球,以色列后院起火,特朗普開始急了!

阿萔影視評論
2026-03-08 01:17:09
李連杰首次正面回應(yīng)換心謠言,說我換人類心臟還是想象力太小,為什么不換一個華為心臟小米肝特斯拉腎

李連杰首次正面回應(yīng)換心謠言,說我換人類心臟還是想象力太小,為什么不換一個華為心臟小米肝特斯拉腎

觀威海
2026-03-05 16:31:07
國乒最狠一刀:3000分,斬斷王曼昱三年奔赴,也撕開奧運選拔的猙獰

國乒最狠一刀:3000分,斬斷王曼昱三年奔赴,也撕開奧運選拔的猙獰

最愛乒乓球
2026-03-08 06:06:12
美國將軍反思:毛澤東不首先使用核武,反而成了最強的威懾!

美國將軍反思:毛澤東不首先使用核武,反而成了最強的威懾!

鶴羽說個事
2026-03-06 18:25:20
回顧:2005年梁海玲器官被切后慘死豪宅,有人透露:她知道的太多

回顧:2005年梁海玲器官被切后慘死豪宅,有人透露:她知道的太多

歷來都很現(xiàn)實
2024-09-24 23:58:16
火箭五子球隊地位或發(fā)生變化 烏度卡的調(diào)整 意識到問題的嚴(yán)重性

火箭五子球隊地位或發(fā)生變化 烏度卡的調(diào)整 意識到問題的嚴(yán)重性

大話火箭隊
2026-03-07 15:51:24
奉勸男性:若不想被前列腺炎折磨下半生,盡早改掉這4大習(xí)慣!

奉勸男性:若不想被前列腺炎折磨下半生,盡早改掉這4大習(xí)慣!

全球軍事記
2026-03-02 10:13:18
梅西怒了?贏球后徑直離場!1分鐘2送妙傳遭吐餅 900球里程碑延后

梅西怒了?贏球后徑直離場!1分鐘2送妙傳遭吐餅 900球里程碑延后

我愛英超
2026-03-08 07:56:18
真敢提建議!全國人大代表卓長立呼吁:鼓勵大學(xué)生加入家政行業(yè)

真敢提建議!全國人大代表卓長立呼吁:鼓勵大學(xué)生加入家政行業(yè)

我心縱橫天地間
2026-03-05 16:39:56
香港網(wǎng)約車價格火了!1公里20港元,司機:太羨慕了。

香港網(wǎng)約車價格火了!1公里20港元,司機:太羨慕了。

我不叫阿哏
2026-03-08 13:14:22
軍統(tǒng)女少尉王慶蓮?fù)砟攴Q:共產(chǎn)黨養(yǎng)我31年,我從內(nèi)心里感激共產(chǎn)黨

軍統(tǒng)女少尉王慶蓮?fù)砟攴Q:共產(chǎn)黨養(yǎng)我31年,我從內(nèi)心里感激共產(chǎn)黨

明月清風(fēng)閣
2026-03-08 08:25:13
“一人公司”火了!全國人大代表、科大訊飛董事長劉慶峰:要完善適配稅費規(guī)則

“一人公司”火了!全國人大代表、科大訊飛董事長劉慶峰:要完善適配稅費規(guī)則

時代周報
2026-03-07 18:44:10
1967年,梁興初視察成都軍區(qū)時,被流氓威脅:這條街,你們出不去

1967年,梁興初視察成都軍區(qū)時,被流氓威脅:這條街,你們出不去

大運河時空
2026-02-21 13:40:03
vivo和OPPO差距有多大?2026年實測對比,別再買錯了

vivo和OPPO差距有多大?2026年實測對比,別再買錯了

小兔子發(fā)現(xiàn)大事情
2026-03-08 08:34:51
2026-03-08 16:32:49
AI科技大本營 incentive-icons
AI科技大本營
連接AI技術(shù)的創(chuàng)造者和使用者
2639文章數(shù) 7660關(guān)注度
往期回顧 全部

科技要聞

OpenClaw最大的推手是閑魚和小紅書

頭條要聞

媒體:伊朗用"窮人巡航導(dǎo)彈"反擊美以 美盟友聞之色變

頭條要聞

媒體:伊朗用"窮人巡航導(dǎo)彈"反擊美以 美盟友聞之色變

體育要聞

大傷后被交易,他說:22歲的我已經(jīng)死了

娛樂要聞

周迅新戀情曝光,李亞鵬等人已成過去

財經(jīng)要聞

油價要失控?

汽車要聞

9分鐘充飽 全新騰勢Z9GT首搭閃充技術(shù)26.98萬起

態(tài)度原創(chuàng)

教育
家居
房產(chǎn)
親子
公開課

教育要聞

第一次考英語四級,如何規(guī)劃復(fù)習(xí)才能順利通過,最好突破550分

家居要聞

暖棕撞色 輕法奶油風(fēng)

房產(chǎn)要聞

傳統(tǒng)學(xué)區(qū)房熄火?2月??诙址勘鸬陌鍓K竟然是…

親子要聞

3歲女兒突然關(guān)心爸爸,原來是另有目的,小小年紀(jì)一肚子心眼

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進(jìn)入關(guān)懷版