科技愛好者週刊(第 264 期):Elasticsearch 的啟示

阮一峰發表於2023-07-28

這裡記錄每週值得分享的科技內容,週五釋出。

本雜誌開源,歡迎投稿。另有《誰在招人》服務,釋出程式設計師招聘資訊。合作請郵件聯絡[email protected])。

封面圖

上海市寶山區在長江入海口,建了一個"長灘觀光塔",直徑25.7米,高180米。特別之處在於,這個塔其實是長江隧道的排風塔,只不過在外部安裝了玻璃幕牆,增加了觀光、餐廳等功能。(via

Elasticsearch 的啟示

上月的"紅帽事件",說明開源軟體的"客服模式"行不通,我在上一期已經寫了自己的看法。

那麼,開源軟體如何賺錢呢?既不能賣軟體,又不能賣支援服務,該怎麼辦呢?

我一直思考這個問題,覺得行業的發展、個人的前途,都跟它有關係。

我現在的看法是,只剩下一種模式是可行的,開源軟體只有這樣才能商業化,那就是 Elasticsearch 的模式。

Elasticsearch 是著名的搜尋軟體,市場份額非常大,很多大型網站的背後都是它。

2004年,以色列程式設計師謝伊·巴農(Shay Banon)為了方便妻子查詢菜譜,寫了一個簡單的搜尋工具,這就是 Elasticsearch 的由來。

一開始,Elasticsearch 採用最寬鬆的 Apache 許可證,幾乎沒有任何限制,你怎麼用都可以。

後來,謝伊·巴農拿了風投,成立了公司,僱了程式設計師,就必須有收入,否則公司就要裁員關門。

他想到的辦法,就是提供雲服務。你不必自己搭建搜尋了,我搭建好了,你買了就能用。這樣你比較省心,我也有收入了。

但是,他萬萬沒有想到,這種模式也行不通。原因是開源軟體不是獨佔性的,如果你的軟體太成功,其他人也可以提供服務,而且賣得更便宜,最終把你打敗,拿到更大的市場份額。

Elasticsearch 倒黴的地方在於,遇到的競爭對手是亞馬遜,世界第一的雲服務商。

亞馬遜不花一分錢,拿到 Elasticsearch 的程式碼,搭建搜尋服務出售,很快就讓原始作者沒生意了。

眼看公司有掛掉的風險,Elasticsearch 做出了一個石破天驚的決定。

2021年,謝伊·巴農宣佈,放棄 Apache 許可證,改用新的許可證:程式碼依然開源,但是不允許使用者銷售該軟體的雲服務,除非你願意公開整個服務端。(注意,是整個服務端,不僅是搜尋的部分。)

亞馬遜明擺著不會接受這個條件,所以新的許可證實質就是不允許亞馬遜(也包括谷歌和微軟)再賣 Elasticsearch 雲服務了。

作為業界老大,亞馬遜當然咽不下這口氣。它索性撕破臉,把 Elasticsearch 的程式碼分叉,開始維護自己的版本,起名為OpenSearch,繼續採用 Apache 許可證,讓社群無償使用。雙方就對幹起來了。

現在還看不出來誰贏誰輸,但是不管怎樣,Elasticsearch 有了起碼的生存保障,收入穩定下來了。你要用正宗的搜尋服務,只有買他家的。

我認為,這是目前唯一可行的開源軟體商業模式

有人把它叫做"開源核心模式":程式碼的核心功能是開源的,可以免費使用,但是存在某些限制,比如雲服務是獨家的,或者某些外掛和周邊工具是閉源的,需要付費。

目前,採用這種模式的知名開源軟體,除了 Elasticsearch,還有 MongoDB。

開源軟體創業,建議就採用這種模式。你同時維護兩個版本:一個是開源的社群版,讓大家免費使用,積累使用者和口碑;另一個是收費的企業版,擁有更多功能和客服支援。

科技動態

1、超聲波冬眠

華盛頓大學的研究團隊發現,對準老鼠大腦的某個部位發射超聲波脈衝,會使得老鼠進入冬眠。

這意味著,冬眠可以人工觸發。這或許可以用於執行長途太空任務的宇航員,讓其在長途旅行中進入冬眠狀態。

不過,有的科學家不認同這個發現,認為這只不過是超聲波發射能量,啟用了大腦的溫度神經元,欺騙大腦認為環境溫度升高,從而自動降低了動物體溫,讓動物進入不活躍狀態。

2、美國網路可信標誌

美國政府宣佈,將對聯網的家用電器推行"網路可信標誌"(下圖),表示該裝置是資訊保安的。

這個標誌帶有一個 Logo 和二維碼,使用者掃描後,會進入詳細說明的網頁。

目前,該標誌是自願加入,但也說不準哪一天就變成了強制認證。那時,如果不發給中國公司,就等於是變相的市場壁壘。

3、醫院黑匣子

一家加拿大公司推出了"醫院黑匣子",類似於飛機的黑匣子,記錄手術過程中產生的一切資訊,包括影片、音訊、儀器資料等等。

該裝置可以用於事後的手術分析,以減少醫療錯誤、保障患者安全、提高手術效率,還能用於醫生培訓。如果手術出錯,它有助於瞭解到底哪一步發生了問題。

有些醫生反對該裝置,認為屬於對醫生的監控,會增加醫療訴訟。為了平息反對意見,該裝置目前自動對所有資料進行匿名化處理,即使資料洩露,外界也無法使用。

4、太陽射電望遠鏡

全世界最大的太陽射電望遠鏡,在甘孜稻城啟用。

它由313部天線組成,排列在直徑1公里的圓環上。圓環中央是機房和定標塔,用來協調和控制所有天線。

每一臺天線的直徑6米,會跟隨太陽的方向轉動,用來監控太陽活動。

所有天線協同觀測,就能形成虛擬的超大口徑天線,從而實現對太陽爆發活動的高精度成像。

文章

1、洩露的谷歌薪酬資料(英文)

谷歌內網的一份文件洩漏,裡面有詳細的員工薪酬資料,本文整理了不同工種的工資最大值、最小值,以及獎金和股票收益。

2022年,谷歌員工的薪酬中位數為279,802 美元,是科技業薪酬最高的公司之一。

2、Dan Abramov 宣佈離開 Meta 團隊(英文)

著名前端程式設計師 Dan Abramov 寫了15條系列推文,解釋他為什麼從 Meta 辭職,離開 React 團隊。(@hacker0limbo 投稿)

3、使用 Map/WeakMap 處理 DOM 節點(英文)

Map 和 WeakMap 作為 JS 語言新增的資料結構,很多人不清楚它們的用法。作者給出了一個實際的例子。

4、繼承與組合(英文)

如果你要擴充套件一個類,可以使用繼承(inheritance),也可以使用組合(composition)。本文討論它們的區別和適用場合。

5、CPU 對分支程式碼的影響(英文)

本文分析 CPU 怎麼處理程式碼,進而討論分支語句(if)應該怎麼寫,執行效率比較高。

6、Object.keys() 的返回值型別(英文)

本文是 TypeScript 科普文章,解釋 Object.keys() 方法的返回值型別,為什麼是string[],而不是(keyof T)[]

7、NixOS 安裝快速指南(英文)

NixOS 是一個 Linux 發行版,它有一個系統配置檔案,記錄所安裝的軟體。只要有這個檔案,就能還原出一模一樣的系統。

8、這個部落格託管在我的 Android 手機上(英文)

作者介紹怎麼把安卓手機當作伺服器,託管網站。

工具

1、Aimless.js

一個生成各種隨機值的 JS 庫。

2、Primo

一個開源的內容管理系統(CMS),作為 WordPress 的替代品而開發,基於 JavaScript 的 Svelte 框架。

3、Link Redirect Trace

一個瀏覽器外掛,顯示當前頁面的所有重定向跳轉。

4、Clang.js

在瀏覽器直接執行 C/C++ 程式碼。(@luoxuhai 投稿)

5、mess-reader

一個網頁的 Epub 閱讀器,可以離線使用。(@daGaiGuanYu 投稿)

6、Automa

Chrome 瀏覽器外掛,用來設定任務自動化。另外,Chrome 有內建的使用者行為錄製。(@dllen 投稿)

7、Rickrack(焰火十二卷)

開源的調色盤軟體,提供多種色彩搭配功能,適用於各種設計場景。(@eigenmiao 投稿)

8、iFrame Resizer

一個控制 iframe 視窗的 JS 庫,可以根據載入網頁的內容,調整 iframe 視窗的高度和寬度,並提供許多其他功能。

9、Standard Ebooks

Epub 電子書生成工具,參見教程

10、Tablane

一個開源的 Web 軟體,用來進行任務管理。它實際上是一個列表管理軟體,任何可以表示成列表的東西,都可以用它管理。

資源

1、Starlink 衛星覆蓋圖

該網站實時顯示 Starlink 衛星的位置,目前有4000多顆。

2、GhostlyStock

這個網站是 AI 圖片的搜尋引擎,搜到的所有圖片都是人工智慧生成的。

想法是好的,但是圖片有點少,搜尋效果不理想。

3、ChatGPT 中文線上

ChatGPT 的使用頁面,並且收集了相關資源。(@jqsl2012 投稿)

4、全球音樂體育大全

家裡的娃學習打擊樂,經常需要到 Youtube 平臺搜尋一些曲子,觀看學習。作者就寫了這個微信小程式,可以搜尋和下載。(@rmrf 投稿)

5、GPYTHON

AI 輔助的 Python 學習網站,線上練習編碼。(@stanxing 投稿)

圖片

1、最長的視線

2016年7月16日,一位攝影師在西班牙海拔2820米的比利牛斯山脈上,拍到了一張照片(下圖),可以看到遠處的阿爾卑斯山。

這兩個地點相隔443公里,被吉尼斯認證為世界最長的視線,沒有人看得比這更遠了。

2、芭比長城

生成式 AI 誕生以後,只有想不到的圖片,沒有生成不了的圖片。

最近,電影《芭比》上映,一位國外建築師不禁突發奇想,如果長城變成芭比娃娃風格,會是什麼樣?下面就是 AI 生成的圖片。

文摘

1、滌綸如何重新流行

滌綸(學名:聚酯纖維)是一種化學纖維,誕生於上個世紀20年代,曾經流行一時。

那時,人們把它看作一種神奇面料。

它不會起皺,因此不必熨燙,而且很柔軟,也容易上色,能夠生產出各種鮮豔的布料,非常適合拍照片和上電視。

更重要的是,它很便宜,也不容易磨損,可以穿很久。

但是,到了20世紀80年代,它突然不流行了。

原因是它會抽絲和起球,時間一長,表面就變得毛絨絨。

最要命的是,它不透氣,穿著時間一長,你會感到很悶,並且會因汗水而發臭。人們漸漸形成一種印象,只有收入低的人才會穿滌綸服裝。

滌綸的價格因此一落千丈。正當人們以為,滌綸服裝將被淘汰時,事情發生了變化。

進入21世紀以後,健身變得越來越流行,人們喜歡戶外跑步、在健身房鍛鍊、爬山和遠足。運動服裝公司很快意識到,滌綸很適合戶外服裝,因為它不透氣,所以保溫效果好;改造以後不吸水,所以可以快乾;它重量輕,所以滿足運動服裝的輕便要求;它不易磨損,所以足夠堅固,適合戶外環境。

一旦滌綸的市場重新出現以後,運動服裝公司就使用最新的材料科學,進一步改造滌綸。

他們把滌綸編織成羊毛的結構,使其看上去像羊毛材料,但是更輕、更保溫、更排水。這使得滌綸迅速佔領了戶外服裝市場。

滌綸的一大缺點是排斥水,這注定它不適合直接接觸人體,直接套在皮膚外面會汗流浹背,很不舒服。

研究人員開始研究,能否增加滌綸的吸水性。經過幾年的努力,終於成功推出了吸溼排汗的滌綸纖維,採用的辦法是在纖維中間增加圓孔,讓纖維變成空心,因此就具有毛細管的吸水效應,可以將汗水排走。

一旦解決了吸水問題,滌綸就非常適合做運動背心和運動內衣。它又薄又輕,柔軟耐用,不會產生異味,而且可以機洗。

隨著運動人口的增多,以及滌綸的價格優勢,今天,滌綸是世界排名第一的紡織面料,佔全球纖維消費量的一半以上,約為第二名棉花的兩倍。年產量接近5800萬噸,是上世紀80年代的10倍多。再沒有人抱怨它的外觀和穿著感受,事實上人們變得太喜歡滌綸服裝了。

言論

1、

在任何一個領域,刻意練習都是造就頂尖人才的方法,也是頂尖人才用來保持領先地位的方法。如果你想成為專業人士,刻意訓練自己是絕對必不可少的。

-- 《刻意練習終極指南》

2、

如果你是一個高階工程師或者高階管理者,你所做的一切都有很高的機會成本,所以你選擇的工作必須很重要。

-- 《高階工程師的道路》

3、

越來越多的人覺得,成年的價值正在下降,而且成年的年齡也在被推遲。結果,我們的社會變得越來越幼稚化。

-- 《幼稚主義是一種常態》

4、

以前是我們學習計算機的語言,以後是讓計算機學習我們的語言。

-- Stephen Wolfram,著名計算機學家

歷史上的本週

沙特的新未來城(2022 #217)

廣告攔截器太過分了(2021 #167)

我不想讓你記住我的臉(2020 #117)

複雜系統無法維護,侏羅紀公園必定失敗(2019 #67)

(完)

相關文章