开源商业模式
今天看到一個(gè)文章,談到Berkeley DB與eXtreamDB的性能對(duì)比,可惜兩者的數(shù)據(jù)集不同,沒(méi)多大可比性,以后有時(shí)間,我把那個(gè)程序修改一下,使用相同的數(shù)據(jù)集對(duì)比下,把結(jié)果貼出來(lái)給大家看看。我很有信心:Berkeley DB不會(huì)輸給eXtreamDB. 看了官網(wǎng)才發(fā)現(xiàn),eXtreamDB是如此的與Berkeley DB相似,但是它不是開(kāi)源產(chǎn)品,所以從使用者的規(guī)模來(lái)看,我相信無(wú)法與Berkeley DB相比。
聰明的公司會(huì)發(fā)現(xiàn),現(xiàn)在開(kāi)源不僅僅是被迫而為,而是一種競(jìng)爭(zhēng)優(yōu)勢(shì),開(kāi)源和雙license 讓Berkeley DB受益匪淺。上OTN你會(huì)發(fā)現(xiàn)在免費(fèi)使用Berkeley DB的人非常多,Oracle公司收購(gòu)了Berkeley DB后,也很支持開(kāi)源社區(qū),不僅有專(zhuān)門(mén)的支持工程師在線回答基礎(chǔ)的使用問(wèn)題,我們很多同事包括我自己都時(shí)常上去回答一些免費(fèi)用戶的問(wèn)題,常常涉及到復(fù)雜功能的用法、性能調(diào)優(yōu)、bug報(bào)告、feature請(qǐng)求,等等。 這樣,我們可以清楚地知道用戶需要什么樣的產(chǎn)品,當(dāng)前產(chǎn)品有什么樣的長(zhǎng)處和短處,于是可以清晰地把握產(chǎn)品的發(fā)展方向,保證了每一個(gè)Release新出來(lái)的產(chǎn)品總是有不少人想要的;這一大批用戶偶爾報(bào)告的一些bug,特別是出現(xiàn)在一些罕見(jiàn)的平臺(tái)上面的,或者在極端情況下出現(xiàn)的bug報(bào)告,是極其珍貴的,雖然有時(shí)候會(huì)讓組內(nèi)若干個(gè)人忙乎好幾天,但是對(duì)于產(chǎn)品品質(zhì)的提升是非常有益的,而且我們都很樂(lè)此不疲。
例如9月份AL公司報(bào)告的那個(gè)bug就屬于這種情形。那次,起初用戶很著急,因?yàn)楫a(chǎn)品馬上要發(fā)布,于是我們趕緊研究解決方法,及時(shí)給用戶提供了解決方法。然后,用戶已經(jīng)有了我們提供的Workaround,沒(méi)那么著急了,但是我們比他們著急,想要找到問(wèn)題的癥結(jié)來(lái)解決問(wèn)題,所以組內(nèi)的高手紛紛追著用戶了解情況,懇請(qǐng)他們仔細(xì)描述問(wèn)題,reproduce bug(因?yàn)槲覀兪褂孟嗤臋C(jī)器和系統(tǒng)和配置并沒(méi)有重現(xiàn)問(wèn)題),并把bug出現(xiàn)時(shí)候的Berkeley DB的各種狀態(tài)報(bào)告結(jié)果送給我們,等等。最終我們找到了問(wèn)題的原因---沒(méi)有完整地使用Solaris系統(tǒng)的新的版本的多CPU時(shí)的并行控制功能---并解決了該問(wèn)題。
類(lèi)似這樣的例子還有很多,從源代碼注釋和內(nèi)部SR歷史中,我就曾經(jīng)注意到好幾個(gè)這樣的例子。有的用戶會(huì)在閱讀源代碼的時(shí)候發(fā)現(xiàn)一些不影響程序正確性的文字性錯(cuò)誤并OTN上面給我們指出,也是讓我們很高興而欣慰的,一是有這么認(rèn)真的用戶在關(guān)注、使用Berkeley DB,二是我們的源碼有不少人有興趣閱讀。當(dāng)然,這也提醒了我們,每一行代碼都要認(rèn)認(rèn)真真寫(xiě),不止關(guān)乎正確性、可讀性----還有很多人在看著呢,呵呵。
有無(wú)數(shù)開(kāi)源用戶在真實(shí)使用環(huán)境和真實(shí)用例下的測(cè)試的幫助,我們才得以不斷地完善產(chǎn)品,使它最貼近和滿足實(shí)際用戶需求。我想這是包括Berkeley DB在內(nèi)的優(yōu)秀開(kāi)源產(chǎn)品可以如此成功的重要原因。
下一篇我會(huì)說(shuō)說(shuō)我從Berkeley DB源代碼中的所學(xué)和感受,以及對(duì)計(jì)算機(jī)專(zhuān)業(yè)學(xué)生、新入行的軟件工程師的建議。
下面是那篇文章的鏈接,有興趣的可以改一下程序,做個(gè)性能測(cè)試,把結(jié)果貼出來(lái) :)
http://blog.csdn.net/johnlya/archive/2006/05/20/747089.aspx
轉(zhuǎn)載于:https://blog.51cto.com/davidzhao/1225761
總結(jié)
- 上一篇: CCNA实验(9) -- Frame R
- 下一篇: js绝招