穿越寒冬的獨行者
這篇文章轉自別人,如有侵權,我會立馬刪除,原文連結地址如下:
https://jhuo.ca/post/ddg/
2018年有很多故事可以寫,但是到最後一天的時候,讓我選一件事來寫,我想寫的是duckduckgo這個搜尋引擎。選擇它是有原因的,這個搜尋引擎創始於2008年,正好是第10個年頭。

即使在今天,聽說過這個搜尋引擎的人也不多。上個月(2018.11),它的每日搜尋量第一次超過了3000萬次,很多科技媒體用非常小的版面報道過這件事。中文也有報道,基本上就是“一句話新聞”這樣的待遇,沒人多想什麼。這不意外,每天3000萬搜尋聽起來不小,但是放在整個搜尋市場可以算的上微不足道。做為對比,Google早就不再發布每天準確的搜尋量,但根據前幾年釋出過的數字和增長率,大致能推算出來,一般被認為是4萬~8萬次搜尋每秒。即使用最低預測,要超過duckduckgo一整天搜尋量,Google只需花750秒==12.5分鐘。
在搜尋引擎市場上,每天3000萬搜尋量太小了,比被所有人都認為早就完蛋了的Yahoo搜尋還少好幾倍。但是這樣一對比,這個在搜尋引擎市場只佔0.x%份額的產品竟然存活了10年,這就是一個有意思的故事。再考慮它不屬於任何大公司,是個完全獨立的搜尋引擎,那就更有意思了。它是如何開始的,如何存活下來的,誰是它的使用者?
10年已經足夠長了,2008年,蘋果剛剛釋出iPhone 3G,到接近年末,Android的第一個手機,G1到年底才勉強上市,諾基亞仍然佔統治地位,移動網際網路才剛剛有了一點影子。2018年再扭頭看回去,簡直是個完全不同的時代。但是在那個時代,搜尋引擎市場已經成熟了,做一個新的通用搜索引擎,聽起來已經像個笑話了。要知道,搜尋引擎市場的最大巨頭Google,已經成立了10年,就算是其他語言的搜尋,中文區最大的百度2000年創立,俄語區最大的yandex比google還早,90年代初就存在了。即使是最年輕的中文搜尋引擎搜狗,也成立於更早的2004年,2006年搜狗已經靠著拼音輸入法有了自己的一席之地。到了2008年,沒人再想挑戰這個市場了。
2008年的主流看法是:做一個通用搜索引擎是不可能了,一方面是競爭對手過於強大,全是上市公司,都非常有錢,都有忠實使用者或者各種壁壘造成的基本壟斷,另外一方面是搜尋引擎系統耗資巨大,通常認為要融到一筆不小的投資才能開始。2007年後半年,金融市場就籠罩在“金融危機快來了”的恐懼中,2008年下半年金融危機終於爆發。在那個市場情況下,更沒有投資人會投一大筆錢在這種“一看就沒戲”的專案上。
不過世界上總有一些例外。Duckduckgo就是這種例外的產物。(為了縮短點篇幅下面使用其官方簡稱ddg)
Gabriel Weinberg並不是創業新兵。在開始ddg專案之前,他開過不少家公司,做了好幾個產品,其中一個算是成功,以1000萬美金的價格被另外一家公司併購,其他的都失敗了。賣掉公司之後,他希望下一個產品做一個自己喜歡的方向,可以一直做下去。什麼是自己喜歡的呢?他自己也不知道,於是乾脆一個領域一個領域做起來試試看,不喜歡就放棄。就這樣又試了將近兩年,最終他走到了搜尋引擎這條路上。
此時已經到了2008年,如前所述,那絕對不是一個做搜尋引擎的好時代。我清楚的知道這些,因為當時我也在做搜尋引擎,只不過我們是在做一個搜尋雲服務系統,不是通用搜索。即使這樣也相當不容易,這是另外的故事,有機會再講。
Gabriel決定一個人開始做一個搜尋引擎。按照Google這種“索引全球資訊”的模式做,那當然不可能,按照那種模式,他自己賣掉上家公司的1000萬美元都扔進去也未必夠啟動專案。於是他決定從一個簡單的模式開始,即利用提供搜尋API的產品,聚合他們的站內搜尋結果,重新排序呈現到一個頁面上。嚴格來說這算不上一個真正的搜尋引擎,這種做法侷限性很大,除了內容源有限之外,從每個服務API拿回資料拼接頁面的過程很慢,產品體驗也不好。不過它總算是個開始,之後他開始用一系列開源軟體搭建自己的爬蟲系統,建立自己的索引,不再單純依靠別人的搜尋結果拼接。這個過程並不是那麼複雜,開源工具Apache Solr就能很好的滿足需求。尤其是ddg只面向英文市場,沒有搜尋分詞的困難,又只面對有限的搜尋源,不會遇到索引量大規模膨脹的問題,總體投資可控。這時候的ddg像是一個簡單開源軟體拼接起來的工具,它需要很多人力去精心調配各種結果,收集各種搜尋源,至於搜尋技術本身,在這個階段完全不做任何修改的開源軟體都足夠用了。
除了搜尋頁面,ddg還在力推Instant Answers這個概念,它指的是在搜尋結果頁面上直接顯示答案。Google早在2007年就開始推廣搜尋產品onebox,開始在標準搜尋結果頁面上展示一些專有內容,比如電影,書籍,購物等等。今天這些都已經是大家都熟知的搜尋特性了,但是在10年前,這仍然是一個新概念。如何準確的命中使用者搜尋結果,在onebox中展示,這需要複雜的演算法和大量歷史搜尋資料做為基礎,無論在資料積累還是技術上,這都是一個挑戰。ddg的做法相比Google有點可笑,它乾脆抓了一堆常用的內容和關鍵詞,直接存到了資料庫裡面。這種解決方案和他們處理搜尋本身一樣,它不能稱之為一個搜尋引擎,但是勉強能用。
2008年9月,ddg正式釋出。做為當時第一批使用者的我,用過之後的感受是:“這玩意也能用?”然後默默關掉了視窗。儘管在hacker news的討論上,創始人Gabriel一次又一次的表示“你堅持用一週,肯定會喜歡它”。我不知道那個時候什麼人會堅持用一週,至少我是沒能堅持下去。
不過Gabriel倒是不在乎大家沒能堅持用下去,他仍然繼續優化他的產品。儘管他走的和Google是完全相反的道路。Google的做法是首先訂好演算法和框架,然後儘可能讓機器去幹活。比如,Google一開始就確定了根據連結關係來確定頁面權重的模式,設計好Pagerank演算法,再實現演算法,之後就是程式按照演算法順著頁面之間的連結關係一層層把內容抓回來,建立索引,使用者輸入關鍵詞,就在索引中命中關鍵詞,按照Pagerank演算法排序,把結果呈現給使用者即可。這個過程中人是不參與的,人的工作集中在優化演算法和修補漏洞上。Google始終在驕傲於“演算法決定搜尋結果,人不干涉它”。
ddg走的是完全相反的道路,人挑選內容源,人決定哪些更重要,應該放在資料庫裡,甚至社群可以貢獻內容,貢獻Instant Answers結果…一切都是人在做決策,ddg最多的程式碼是perl和javascript完成的,這足以說明了他們幾乎不去觸碰開源的搜尋系統核心部分,只是用一系列的指令碼把他們認為重要的結果塞到索引庫裡,以及把一些他們覺得是spam的內容農場從索引庫裡挪出去。畢竟,ddg也從來沒有“索引全球資訊”這麼巨集大的夢想。
2009年,ddg提出了一個重要的概念,叫做“尊重隱私的搜尋”。更技術的表達是“不追蹤使用者行為,不儲存使用者搜尋歷史”,這個概念在2009年聽起來根本不重要,那還是一個大家覺得“我熱愛網際網路,我願意出賣隱私”的時代。但之後的這些年裡面,世界變得越來越快,到現在它已經變成ddg的核心競爭力之一。
到2010年年末,ddg的每日搜尋量始終在4萬、5萬這個數量級別波動,而2009年,Google的每日搜尋量已經超過了10億次。2011年1月,Gabriel在舊金山租了一個月的高速公路廣告牌,只有一塊。上面寫著“Google追蹤你,我們不會”。廣告牌引發了一輪獵奇的媒體報道,廣告效果明顯反映在搜尋量上,使得ddg每日搜尋量翻倍,開始超過了10萬。在那個時候,科技行業從業者中一部分人已經開始思考Google的隱私策略存在的問題,在舊金山這個科技重鎮的這塊廣告牌,影響了這些人。

我在這一輪媒體報道之後,重新開始嘗試ddg。這次它給我的印象不錯,我常用的搜尋,比如github/stackoverflow/wikipedia之類的站點已經被索引的比較完全了,儘管它的搜尋範圍仍然限於有限站點,但已經可以解決一部分問題。這得益於Gabriel在前面2年中的艱苦工作,到這個時候,這還是一家一個人的公司,只有創始人Gabriel一個人。辦公室和伺服器仍然在Gabriel家的地下室裡。
我在這個時候開始把它設定成瀏覽器的預設搜尋引擎,我知道它不好用,但是我希望能給他貢獻一點點流量,並且希望這點流量能幫助這個產品存在下去,從而可以存在一個選擇。這種可替代選擇不必在功能上完全擊敗競爭對手,只要它能滿足超過及格線的使用需求,就比沒有好很多。
2011年的年底,堅持不融資的Gabriel終於去給ddg融了第一筆天使投資,僱了第一個員工,在ddg發展的這10年裡,這應該是唯一一次融資。不過ddg的真正快速增長的時代,是在之後的兩年才逐漸開始的。2013年,NSA的外包僱員斯諾登逃到香港,對全世界公佈了美國政府正在監控網際網路的稜鏡計劃。人們終於開始第一次有證據的意識到,隱私問題不再是無關緊要的。同樣的問題,用隱私換更好的搜尋質量,在2008年,大部分人會回答“沒問題”,但到了斯諾登事件之後,至少有一小部分人會回答“不能接受”。ddg符合了他們的理念,如何才能不洩漏隱私?只有完全不儲存不必要的隱私資料才能做到。到5年之後的今天,歐盟的GDPR隱私資料保護法已經生效,更多的人認同這個觀點。現在逃離Google/Facebook逐漸成了新時尚,ddg成了最好的搜尋引擎替代產品之一,也逐漸被各類瀏覽器內建成預設搜尋引擎之一。
到今天為止,這仍然不是一個“創業企業成功”的故事。到現在ddg只有50個員工,在搜尋引擎市場擁有幾乎可以忽略的市場份額,但是它能存活到今天,本身就是一件有意義的事情。
Gabriel在不打算融資的3年半養成的習慣仍然主導著這家公司,並且使得它生存的更頑強。一直到今天,ddg的主要伺服器已經搬到了amazon雲服務上,但是還有不少元件仍然躺在Gabriel的地下室裡——那些對即時響應要求不高的服務,比如抓取某些資料裝進資料庫,這樣的任務在自家地下室進行,仍然比使用雲服務便宜的多。公司雖然有50個人,但是他們都分佈在世界各地,他們在一張地圖上標記出了所有人的位置,幾乎沒有兩個人在同一個城市,所有人都是遠端辦公。這大概是把遠端辦公貫徹最徹底的網際網路公司。

它所謂的“總部”,也只是在賓夕法尼亞州的一個小鎮主街上的一棟普通房子,並且還是和另外一家公司共享的。按照我的經驗,每月租金不會超過1000美金。如果想要個直觀點的印象,可以看看街景照片:

除了ddg之外,我猜這個鎮上和“科技”最接近的公司,應該是修理手機和電腦的店。至於為什麼選中它?我從地圖上看,這是距離創始人Gabriel家最近的小鎮,大概有5英里遠吧。
這些和其他科技公司完全不同的離經叛道的舉措是有收穫的,它使得ddg始終是一家盈利的公司。盈利來源很簡單,他們只靠關鍵詞廣告即可獲得不錯的收入。他們沒有公佈過收入的具體數字,但是推測應該算的上有錢的公司。這些盈利除了能養活幾十個員工,支付各種雲服務開支之外,ddg每年還對各種開源專案和維護網際網路自由的相關組織捐款,2018年他們的總捐款額高達50萬美金。Ddg成功把自己放在了一個微妙的位置,它有一定的市場佔有率,有越來越多的忠誠使用者,但是它堅定的隱私策略使得這個市場中的大玩家不可能通過競爭消滅它,也不可能跟隨它,更不可能收購它。這個奇妙的位置使得它可以按照最初的信念一直生存下去,不需要融資,不需要為了增長率出賣原則,不需要上市。事情似乎重新回到了“你只需要做好產品,使用者自然會來”這個遠古時代的路線上。對於2018年正在發生的,比如燒錢無數的共享單車大戰,他們好像發生在兩個平行世界裡。
在網際網路已經變成了以資本遊戲為主的時代,ddg的存在給了很多人勇氣,使得他們有機會去做一些不同的事情,一些理智看起來毫無勝算的事情。回顧這10年的歷史,最艱難的應該是創始人Gabriel獨自扛下來的最早的3年多。那時候的他就像沿著一條大霧中的公路獨自行走,不知道前面有多遠,不知道周圍有什麼,只能看到一輛輛車呼嘯而去。沒錯,他剛剛賣掉公司,有1000萬美金,生活不愁。但是大多數取得了這樣程度成功的人,會把下一個目標定為“再做一家上市公司”,去融更多的錢,打更狠的仗,而絕對不願意選一條未知而孤獨的路自己走下去。
在ddg發展起來之後的年頭裡面,更多的人開始嘗試做一個“在某種程度上替代Google”的搜尋系統,比如法國人的qwant,塞普勒斯的searchencrypt,都是類似概念的搜尋引擎。回到搜尋本身,做為用了長達7年ddg的使用者,我的感受是什麼?確切的說,隨著ddg搜尋範圍的擴充套件,今天用起來已經體驗不錯了。ddg從2012年提供了一個叫做!bang的功能,在搜尋詞前面加上一個字首,就可以轉向其他搜尋引擎。比如 “!g 電影” 就會直接跳到Google搜尋關鍵詞“電影”。“!a switch”,就會跳到amazon.com 搜尋switch。這個功能很簡單,但是有效降低了嘗試新搜尋引擎的成本。每個關鍵詞使用者都可以先在ddg搜尋試試看,對搜尋結果不滿意再轉向google。我比較直觀的體驗是這些年裡,我使用!g的比例越來越低了。更有趣的是,Google越來越趨向於根據使用者資料,給不同使用者展示不同的搜尋結果,結果是ddg的搜尋結果總是會和Google的不太一樣,可以獲得一些在Google搜尋不到的結果。這使得ddg更有競爭力,它永遠能成為google搜尋結果的有效補充,被使用的價值也就越來越高,2016年美國總統大選之後,人們又把它做為突破“資訊同溫層”的重要工具。
今天和10年前對比,網際網路世界發生了翻天覆地的變化,網際網路滲透率比10年前高出太多,但是大公司的壟斷、資本的力量也強得多。網際網路滲透率高意味著,再小眾的需求都能找到足夠多的使用者,一個保持低成本運營的團隊,靠滿足這些使用者活下來已經不那麼困難。只是資本會對你毫無興趣。這類事情在市場熱火的時候沒人想做,人人都有一個上市的夢想。但是當市場進入冬季的時候,這種專案就顯得很有吸引力。
看看2008年的納斯達克指數,對這個說法可能更有感覺。

有人說2019年會是未來十年最好的一年,即使如此,對整個世界來說也不一定是壞事,也許又能讓我們多一些選擇呢?
說到這種小而有用,可以養活自己生存下去的搜尋引擎,連一百萬人口的塞普勒斯都有,中文區竟然沒有這類產品,有點遺憾。我有 一位朋友 曾經想做一箇中國的醫療搜尋引擎。大家都抱怨醫療資訊沒有可靠的搜尋,這顯然是個需求。但是前司用競業禁止官司拖住了這件事,從而使得這個專案長期沒法真正開展。希望他2019年能擺脫這些麻煩,真正把這個產品做出來。
Author Huo Ju