MySQL 創始人:寫代碼比打遊戲爽,程式員應多泡開源社區

來源:互聯網
上載者:User

標籤:建立   開源項目   警告   編程   預設   mic   pen   發行版   百分點   

根據StackOverflow的最新調查,MySQL仍然是全世界最流行的資料庫,受訪的開發人員中有44.3%的人在使用,超過了第二位的SQL Server 10多個百分點。可是你知道MySQL是怎麼誕生的嗎?openocean 的一篇有關MySQL開發人員Michael “Monty” Widenius的傳記為我們揭秘。

大學電腦專業的數量總是會隨著技術公司的興衰而起伏,而現在,電腦科學正處在全盛時期。這意味著,不管怎樣,電腦科學專業的畢業生絕大部分可能都會去敲2年的代碼,再轉到產品管理,然後過渡到企業、創業或者商學院,接著再轉為既有公司的中層管理,32歲的時候結婚,有了2個孩子,一個兒子,一個女兒,一條狗,還有一棟2層的漂亮房子。對於大多數人來說,成為程式員就是一份朝九晚五的工作,一份有保障的6位元薪水來償還高昂的學費,一種達到目的的手段,沒人應該為此受到責備。但對於千千萬萬無論好壞的程式員來說,只有一個Monty Widenius。

Monty是一位編程天才。19歲的時候,他從赫爾辛基理工大學輟學開始全職工作,因為大學已經沒有什麼東西可以教他了。在獨自一人寫完除了一個庫以外的全部代碼之後,33歲時,他發布了MySQL,後來後者成為了全世界最流行的開來源資料庫。55歲時,他藐視著對老年人的歧視,仍然是自己公司最好的程式員。

Monty1962年出生於赫爾辛基,1978年他用暑假鋪瀝青掙來的錢買下自己的第一台個人電腦的。Monty迅速意識到自己相當擅長寫代碼——對於別人來說很複雜的事情他卻覺得很簡單,而且他對工作非常投入。Monty用一種在講瑞典語的芬蘭人中常見的濃厚口音說:“基本上這就像是在閱讀一本真的非常非常好的書。或者像在玩視頻遊戲。你知道開始玩遊戲然後嘣一聲3小時的時間就過去了的那種感覺嗎?寫代碼對我來說就是這種感覺。”

當別人跑去聚會的時候,Monty卻呆在家裡編程。他把電腦從裡到外都摸透了。他把BASIC的能力推到了極限。Monty說:“學校並不理解編程不是像語言或者曆史這樣的東西,它不是靠學就能學來的。所以學校是不夠的。拔尖的駭客是萬裡挑一。他們奉獻了所有能用的時間,10小時,16小時,每一天,年複一年周而復始。大多數人都不願意做這樣的事情。大多數人寧願好好生活。”在Monty眼裡,好的代碼是寫過一次就永遠不需要再碰的那種。從效能角度來看它已經是最佳化了,你可以不斷增強,但永遠都不需要重寫。

到1980年,17歲的Monty癡迷編程已經無法自拔,他需要把自己電腦的記憶體從8KB擴到16KB。由於芬蘭沒有商店賣他想要的東西,於是他弄了一條船去到瑞典Allan Larsson的電腦商店。通過Allan,Monty結識了David Axmark,三人溝通交流了多年,就各自項目互相幫忙,偶爾也會一起協作。1995年,他們一起成立了MySQL AB。Monty負責編程,David和Allan負責幹完其他的事情。自1981年以來,Monty就一直以芬蘭公司Tapio Laakso Oy程式員的身份在寫MySQL前身的代碼,他和Allan一起創辦的資料倉儲公司也要用到那個東西。然而,知道1995年,在Allan和David的遊說之後Monty才決定在他寫的東西之上增加一個SQL層。1996年10月,MySQL終於發布了,它得到了廣泛的歡迎。MySQL快速、可靠並且易學,這主要是因為在多年的開發中Monty總是不斷把正是客戶的反饋整合進來。

MySQL的初衷是儲存和管理大資料。如果有人想要跟蹤不同的資料點,他們互使用資料庫,也就是有點像微軟Excel那樣的東西。然而,隨著資料變得越來越大,尋找Excel這樣的資料庫就會變得慢多了,也不再可靠。MySQL有能力儲存大量資料,並且返回搜尋結果極其迅速。“My”來自Monty女兒的名字,而“SQL”就是結構化查詢語言 (SQL)(Structured Query Language)的意思,是一種跟資料庫溝通的語言。

對MySQL開源的決定出自1985年的另一次芬蘭到瑞典的乘船旅行,這一次是在一場開源大會上。Monty說:“討論沒花多少分鐘。我們都希望回饋給開源社區一點東西。哪怕有人想拷貝或者偷盜我們的代碼,我們認為自己能掙的錢也不會比現在少。”開源項目使得開發人員社區協助把軟體做得更好,但從商業角度來看不好的是貨幣化就要困難多了。為了避免這一點,Monty補充了一個條款,那就是如果任何企業用MySQL來賺錢的話,就需要付費授權。對此MySQL的代碼裡面並沒有進行任何限制,但就靠這一榮譽制度MySQL實現了擴張並開始賺錢。Monty說:“我認為開源是開發軟體的更好方式。但你仍然需要賺夠錢來招聘員工,成立公司去跟閉源社區競爭。MySQL是第一款做到這一點的產品。”

Monty在MySQL AB的職位是CTO,對於大多數成熟的公司來說,CTO其實已經很少再編程的了。然而,Monty從未停下來過,他的絕大部分時間都是在寫代碼。這種(很少管理的)做法會導致很多晚期階段初創企業內爆,但哪怕公司人數已經達到550人,Monty在MySQL AB建立的獨特文化也使得他可以避免天天開會的煩擾(事實上,Monty甚至都不接受議事議程邀請)。Monty說:“我總是招會自動駕駛的人進來。所以我不需要告訴他們太多東西。而開源意味著你有開源社區,大家會給你提供代碼,你可以看看那些代碼的品質,看看他們是怎麼跟社區互動的,跟你是怎麼溝通的,他們會問什麼問題,在這些情況下很容易就能看出一個人是好是壞。在一次面試裡面是很難瞭解清楚編碼者有多好的。”

MySQL的成功是CTO Monty與CEO Mårten Mickos通力協作的結果。兩人能力都很強且對公司非常重要,但方式不一樣。Monty是技術專家,專註於員工生產出盡量完美的代碼。Mårten是公司建設者,專註於交付東西並協助團隊發展。正是兩人的聯合願景製造出了MySQL。但在一家沒有免費洗衣、免費午餐、站立辦公桌的公司裡,是Monty的個人魅力吸引住了變成人才。Monty不是好交際的籌資人,討好別人的人,博弈論大師,或者職業溝通者。他會寫代碼,而且寫得很好。在Monty看來贏得開發人員尊重是很簡單的事情:“你乾的是跟他們一樣的事,而且幹得更好。”

Monty給程式員的建議是,參與到開源社區去,花些時間到個人項目裡面(“這些年來我開發了成百上千個程式:MySQL是其中被用得最多的一個,但其他的都只有我自己用。”)。他警告說,改變環境和程式碼程式庫將意味著哪怕是最好的程式員也要去瞭解一堆的東西。在Sun被Oracle收購之後,Monty成立了MariaDB,這是MySQL的一個社區版的分支,開發的團隊成員很多都是MySQL團隊裡面的,使用的也是一樣的官方語言:“蹩腳的英語”。MySQL的許多熱心的開源信徒跟著Monty去到了MariaDB。MariaDB更加面向開發人員,允許由外人打補丁這樣的事情發生,在很多Linux發行版中它都是預設的資料庫。

Monty對開源和開發人員的承諾是堅定的——OpenOcean原先是Monty用自己在MySQL的所得成立的,使命是投身於開發人員驅動、有技術深度的產品。他仍然在赫爾辛基自己家中主持開發人員午餐,很快OpenOcean就將推出一個Slack頻道讓開發人員可以直接向Monty提問。在幾十年的時間裡,Monty對塑造開源社區無私的形象做出的貢獻無可爭議的。但這裡面大部分的功勞都應該歸到成千上萬無名的程式員和駭客身上,是他們投入的時間和能力造就了開源的繁榮,也是這批人才能確保開源革命的繼續。

稿源/編譯:36Kr 

原文連結:https://blog.openocean.vc/founder-stories-a-hackers-hacker-6d5054c90564

小編有話說:

國內最好的開源社區是哪?當然是開源中國啦!想玩最地道的代碼,碼雲絕對是不二之選。一起耍起來吧!!

 

http://www.oschina.net/news/88380/mysql-cto-founder-stories

MySQL 創始人:寫代碼比打遊戲爽,程式員應多泡開源社區

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.