該系列第一篇發布后收到不少反饋,包括:
-
第一篇里說的MonicaHQ不一定盈利沒錯,但是問題在於絕大多數開源項目商業數據並沒有公開,從而無法判斷其具體是否盈利。難得MonicaHQ是公開的,所以才用來做這系列文章的開篇。
-
很多人關心最初用戶(專業術語叫種子用戶)是怎么來的?這不但是開源項目的難點,還是任何一切項目的難點,這個話題實在是太大了。無法開展。
-
有相當一部分人喜歡看像MonicaHQ這種處於早期的開源項目介紹,覺得這類項目才有參考意義,但是也有相當一部分人喜歡看成名的大開源項目分析。
所以:
-
我將系列名稱改為了《商業模式分析》。
-
在以后等文章里,我可能無法舉出翔實的數據支撐了,只能靠我個人片面的記憶和經驗,所以更加需要大家的反饋來糾正偏差了。
好了,開始第二篇文章。
Selenium是個很有名氣的大開源項目,主要用於自動化測試,由IBM主導。我現在也在用。
然而在十年前,Selenium的質量比WatiN差很多,比如:
-
Selenium當時是針對Firefox優化的,而WatiN是針對IE優化的。你要想你的自動化測試代碼跑在IE下,WatiN質量比Selenium好很多。
-
WatiN的用法和代碼風格十分先進,WatiN和Selenium的用法和代碼風格差距就像C#和Java的差距一樣大,用慣了WatiN的用法和代碼風格你再用Selenium你會無法忍受。
我從2008年開始一直用WatiN用到2015年。無數次想把WatiN換成Selenium,但是都告失敗了,因為在以上幾點里,Selenium還是一直不能超越WatiN。
然而,到了2015年,我終於放棄了WatiN,改用Selenium了。
因為2015年發生了兩件大事!
第一件,Angular/React/Vue等現代Javascript框架出現了!
WatiN因為缺乏持續維護,終於跟不上潮流,無法用在這些現代Javascript框架上!而Selenium因為持續不斷的更新,可以用在這些現代Javascript框架上。
第二件,這些現代Javascript框架對IE支持都不好,對Chrome支持都很好,同時IE市場份額不斷地掉,Chrome變成了第一大瀏覽器了(這兩者互為因果吧)。
WatiN因為缺乏持續維護,上面提到第一點也就是它最強大的競爭力,針對IE優化,隨着IE市場份額不斷地掉已經不再是競爭力了。
而Selenium因為持續不斷的更新,並且把更新重點放在支持Chrome和現代Javascript框架上,Selenium第一個缺點消失了,變成了優點!現在Selenium在Chrome上跑比Firefox好很多很多了!
同時,也因為持續不斷的更新,Selenium的用法和代碼風格現在變得和WatiN類似,甚至比WatiN更好了!嗯,大家可以在腦海里想象一下,Java也像C#一樣支持LINQ了,就可以理會到類似情景了。
See! 因為持續不斷的更新,Selenium把WatiN所有優點都超越了!
我做為一個用了WatiN7年的老人,當然是無比的憂傷!然而又能如何?
好啦,問題來了,WatiN為啥不像Selenium一樣持續不斷的更新呢?
其實WatiN也想更新的啊,然而:
-
一開始的時候,WatiN真的領先Selenium太多,完全沒有動力和必要更新啊。
-
幾年后,nuget出現了。WatiN為此終於做出了幾年來第一次更新!這次更新就是為了支持nuget.這次更新成功的原因是改動不大,工作量不大。
-
當2015年現代Javascript框架和Chrome超越IE這兩件大事出現時,WatiN如果要適應它們,改動實在是太大太大了,所以果斷放棄更新了。
而Selenium為啥能持續不斷的更新呢?因為它有IBM這個大金主好爸爸啊!
WatiN第一沒有IBM這個大金主好爸爸,第二又沒有任何收入來源,拿什么去支持持續不斷的更新?
這個真實的故事告訴我們,開源項目一定要有能支撐其長期發展的商業模式!技術暫時不先進沒有關系,只要有一個能夠支撐其長期發展的商業模式!你可以像龜兔賽跑里面的那只烏龜,超越那只睡覺的兔子!