日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

很多优秀的软件公司和开发者为什么愿意开源和共享?

發(fā)布時間:2025/4/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 很多优秀的软件公司和开发者为什么愿意开源和共享? 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

首先,我給大家拋出兩個問題。在繼續(xù)閱讀后面的內(nèi)容之前,建議大家花幾分鐘的時間認(rèn)真思考自己對下面這兩個問題的答案:

  • 在當(dāng)今世界上,你認(rèn)為最優(yōu)秀的軟件公司都有哪些?

  • 在當(dāng)今世界上,你認(rèn)為最優(yōu)秀的軟件工程師都有哪些?

對 于上面這兩個問題,你是不是在心里已經(jīng)有了自己的答案?如果有的話,你的答案的名單列表里分別有多少家軟件公司和多少個軟件工程師的名字呢?3 個?5 個?還是 10 個?盡管目前全世界有成千上萬的軟件公司和軟件工程師都在做一些非常出色的軟件開發(fā)工作,但當(dāng)我讓你列舉出最優(yōu)秀的軟件公司和軟件工程師的時候,我敢肯定 你的腦海里只能浮現(xiàn)少數(shù)幾家軟件公司和幾位軟件工程師的名字。為什么在如此多優(yōu)秀的軟件公司和工程師里,你的腦海里只會浮現(xiàn)這些軟件公司或工程師的名字, 而不是其他的公司或工程師呢?

這是因為浮現(xiàn)在你腦海里的這些公司和軟件開發(fā)者不僅做的工作非常出色,而且因為他們愿意花時間去告訴你他們在 從事著非常出色的工作。我敢肯定,對于你名單上列的每一家公司和工程師,你一定讀過他們寫過的東西(如博客、論文或書籍)、聽過他們的演講(如訪談節(jié)目、 會議演講)或是使用過他們的代碼(如開源代碼)。

例如,如果你列的優(yōu)秀軟件工程師的名單里有 Linus Tor-valds 的話,很有可能是因為你對操作系統(tǒng) Linux 或分布式版本控制系統(tǒng) Git 比較熟悉,而 Linux 和 Git 都是 Tor-valds 開發(fā)出來并且供大家免費(fèi)使用的開源項目。如果你列的名單里有 Den-nis Ritchie 的話,這很有可能是因為他是 Unix 操作系統(tǒng)和 C 語言之父,而且是開源標(biāo)準(zhǔn)、開源文庫和相關(guān)書籍等締造者之一。如果你列的優(yōu)秀軟件公司的名單里有 Google 的話,這可能是因為 Google 經(jīng)常公開發(fā)布自己的研究論文,并將 Google Talks 系列放到網(wǎng)上供所有人觀看,它同時還開源了包括 Android、Chrome、Angular 和 Go 在內(nèi)的眾多項目。包括 Facebook、Twitter 和 LinkedIn 在內(nèi)的一些其它主要的軟件公司,甚至包括微軟這種之前非常傳統(tǒng)封閉的軟件公司,現(xiàn)在都已經(jīng)開始定期開源數(shù)百萬行的代碼供大家使用。現(xiàn)在有一些公司甚至將自 己的項目完全建立在開源的基礎(chǔ)上,將自己幾乎所有的代碼都共享開源出去,包括 Mozilla 和開源解決方案供應(yīng)商 Red Hat 等。

說了這么多,很多人要開始問了:為什么?為什么這么多軟件公司和軟件開發(fā)者愿意共享自己的工作成果?為什么他們在一個項目上投入了大量時間和數(shù)百萬美元后會選擇將項目開源供大家免費(fèi)使用,甚至讓競爭對手也免費(fèi)使用呢?這只是單純的利他主義,因為他們愿意幫助其他人嗎?

當(dāng) 然,利他主義是其中的一個原因,不過這只是能夠解釋這個問題的原因之一。在下面的內(nèi)容里,我將深入分析優(yōu)秀的軟件公司和開發(fā)者愿意共享和開源自己的大部分 工作成果的其它五個關(guān)鍵原因,同時探討那部分不愿意共享與開源的人通常會給出的原因,最后,我希望能夠說服你和你的公司在未來都能夠更多地共享和開源自己 的工作成果。

一、優(yōu)秀的軟件公司和開發(fā)者愿意共享和開源的五大原因

據(jù)統(tǒng)計,大概有三分之二的軟件公司都曾為開 源貢獻(xiàn)過自己的力量。僅僅在 GitHub 平臺上,就有超過 140 萬的開發(fā)者在超過 3500 萬個開源項目里共享過自己的工作成果。這個數(shù)字已經(jīng)讓人非常驚訝了,更重要的是,開源項目的規(guī)模正在呈指級增長,所以這個數(shù)字將會變得越來越大。

進(jìn)行開源項目共享、博客分享、演講分享的人并不僅僅是想做慈善。當(dāng)然了,確實有很多開發(fā)者是真心地想回饋開發(fā)社區(qū),但這本身并不能解釋為什么軟件行業(yè)的共享開源會如此普遍。很多優(yōu)秀的軟件公司和工程師之所以愿意共享和開源自己的工作成果,主要有以下五個方面的原因。

原因一:共享和開源有助于自己更嫻熟地掌握相關(guān)知識

學(xué)習(xí)一樣?xùn)|西的最好方式就是去將它教授給其他人。這是因為要想將一種知識教授給其他人,需要你自己對這種知識有更加深刻的理解和認(rèn)識。每當(dāng)我準(zhǔn)備完一場演講、寫完一篇博客或是為一個開源項目貢獻(xiàn)了新的成果之后,我便會對相關(guān)的知識有更加深刻的理解。

對 于一家軟件公司而言,鼓勵你的員工通過寫作、演講或開源項目的方式去分享他們的工作成果是你給他們提供的最廉價但最高效的培訓(xùn)項目。對于個人而言,花一定 的時間去分享自己的知識是提升自我的最容易、最有效的方式之一。事實上,一位工程師之所以能被大家尊稱為資深工程師就是因為他們能夠幫助身邊的每一個人變 得更加優(yōu)秀,而讓周圍的人變得更優(yōu)秀的唯一的方法就是去給大家教授知識。

原因二:共享和開源共享有助于提高自己的項目質(zhì)量

你 家里一般在什么時候是最干凈整潔的?我猜應(yīng)該是每次家里來客人之前你精心打掃之后的家最干凈整潔的。畢竟家里來客人時,你想將最干凈整潔的家展示給客人, 就好比是你將自己的家和客人分享。其實不管你和別人分享什么,同樣的道理都是適用的。將自己的代碼開源的一個最意想不到的益處之一在于,在準(zhǔn)備代碼開源的 時候,你會確保即將開源的代碼是高質(zhì)量的,因為你知道一旦開源,就會有 “客人” 看,這和家里來客人之前你都精心打掃一番是一個道理。在開源之前,你會花更多的時間去清理代碼、增加測試項目、編寫所需要的文檔,爭取讓準(zhǔn)備開源的項目以 最好的面貌展示在大家面前。如果你準(zhǔn)備寫一篇博客或是準(zhǔn)備就自己的工作給大家做分享,上面這個道理同樣適用。開源一個項目有助于讓項目的質(zhì)量變得更高。

除 了上面所說的之外,共享你的工作和項目還能從另一個方面提高你的工作和項目的質(zhì)量:反饋。你分享的東西獲得的所有評價反饋,不管是正面評價還是負(fù)面評價, 都是你進(jìn)一步學(xué)習(xí)和提高的一個難得的機(jī)會。有時你會發(fā)現(xiàn)自己在交流分享一些內(nèi)容的時候沒有表現(xiàn)得很好,或是你遺漏了所分享主題的一個非常重要的部分、或是 針對一個問題的一個完全不同的視角你沒有考慮到。在開源代碼方面,反饋所發(fā)揮的作用就更加強(qiáng)大,因為它本身就是一種獲取同行審查的方式。正是基于這個原 因,開源已經(jīng)成為開發(fā)復(fù)雜和關(guān)鍵的軟件系統(tǒng)的一個標(biāo)準(zhǔn),例如安全穩(wěn)定、操作系統(tǒng)和編程語言的開源。有數(shù)據(jù)表明,通常情況下,開源的項目要比那些封閉的項目 質(zhì)量更高。

著名的計算機(jī)程序員、開源軟件運(yùn)動的旗手 Eric S. Ray-mond 曾這樣說過:

“只要經(jīng)過足夠多雙眼睛的審查,所有的 bug 都將失去藏身之地。這就是 Linus 定律。”

原因三:開源和共享能夠讓你免費(fèi)利用大家的智慧與勞動

每 當(dāng)有人使用了你的開源代碼并報告了一個 bug 之后,就等于他們?yōu)槟忝赓M(fèi)做了一次 QA。每當(dāng)有人在你的開源項目里提交了一個補(bǔ)丁之后,就等于他們在為你免費(fèi)開發(fā)軟件。每當(dāng)有人寫一篇有關(guān)你的開源項目的博客的時候,就等于他們免費(fèi)為你寫 了一篇文檔。如果他寫的是一篇負(fù)面評論的博客,即使這樣,這也等于他為你免費(fèi)做了一次設(shè)計評估。

將你的項目開源就等于允許讓整個開發(fā)社區(qū)都 在這個項目上貢獻(xiàn),相比你自己單兵作戰(zhàn)而言,尤其是當(dāng)你在一家小的創(chuàng)業(yè)公司工作的時候,項目開源可能會幫助你將項目變得更大、質(zhì)量變得更高。即使你在一家 大公司上班,你也會發(fā)現(xiàn)有很多優(yōu)秀的開發(fā)者你是無法招聘到的——可能是因為你的招聘經(jīng)費(fèi)不夠,可能是因為那些開發(fā)者非常滿意自己當(dāng)前的工作,也可能是因為 他們生活在地球的另一端。但是如果你開發(fā)了一個非常優(yōu)秀的開源項目,那些優(yōu)秀的開發(fā)者可能就會免費(fèi)幫你在這個項目里貢獻(xiàn)他們的力量。舉個例子,目前已經(jīng)有 超過 3000 名開發(fā)者為開源的 web 框架 Ruby on Rails 貢獻(xiàn)過自己的代碼,更不用說還有上萬的開發(fā)者使用過這個框架、報告過 bug、寫過有關(guān)它的博客文章以及寫過插件。如果你的公司想寫一個自己專有的 web 框架,你認(rèn)為你能夠投入多少人在這個項目上呢?

原因四:開源與共享是推銷自己的最好方式

如 果你是一位軟件開發(fā)者,讓自己在一家公司面前看起來非常優(yōu)秀的最好辦法就是共享你的工作。你不妨將其視為一種讓公司主動找上門的推銷自我的策略。在找工作 的時候,你不用通過盲目地滿世界投遞簡歷的方式讓招聘公司注意到你,你通過共享很多公司認(rèn)為有價值的內(nèi)容的方式來吸引那些潛在的招聘公司的注意。如果你通 過共享讓其他公司的工程師曾讀過你寫的博客、看過你演講訪談視頻亦或是使用過你開源的項目,他們便會將你視為專家,也就會更想去招聘你。你共享過的內(nèi)容將 成為你的簡歷的一個永久的組成部分。事實上,共享對找工作的作用可能超出你的想象,正如 jQuery 的創(chuàng)始人 John Resig 曾說過的那樣:“不管在任何時候,只要涉及到招聘,相比普通的簡歷而言我更看重的是應(yīng)聘者在 GitHub 上開源共享的東西。”

如 果你是一家正在招人的公司,上面的道理反過來同樣適用。給那些優(yōu)秀的開發(fā)者留下一個好印象的最好的方法就是共享你的工作。如果一位開發(fā)者在過去幾年里一直 在使用你們公司的開源代碼,那么他們想要加入你的公司并繼續(xù)使用你的開源代碼的可能性也就更高。開源項目是吸引優(yōu)秀的開發(fā)者加入公司的最有效的方法之一, 這種方法比傳統(tǒng)的發(fā)招聘簡章的方法不知要好多少倍。

原因五:開源和共享能夠讓你獲得對項目的擁有權(quán)

作 為一位開發(fā)者,如果你已經(jīng)投入了上千個小時的時間在一個項目上,那么你就會變得非常依賴這個項目。它就像你的孩子一樣。如果這個項目是公司專有的項目,這 時如果你從這家公司離職,這就好像你經(jīng)歷了一次離婚一樣,你失去了對這個孩子的監(jiān)護(hù)權(quán),這是非常痛苦的一件事。如果你經(jīng)歷了多次這樣的事情,這就會讓你很 難再有足夠的激情在一個不真正屬于你自己的項目上投入太多精力。

然而,如果你更多的和大家分享你的工作,發(fā)布有關(guān)自己工作成果的博客或論 文,最好是開源你的項目,這樣的話這個項目將一輩子都屬于你。這個開源項目將成為你工具箱里的一個永久的組成部分,不管你去哪里,你都可以隨身帶著它,你 可以和更多的人分享它,你也會為在這個開源項目上工作感到自豪的。

換句話說,開源項目能讓工作變得更加有趣,更有滿足感。在這個大家甚至?xí)闋帗寖?yōu)秀的開發(fā)者打爛頭的年代,讓工作變得更有趣可以成為你招聘的一個巨大優(yōu)勢。正如著名的計算機(jī)程序員、開源軟件運(yùn)動的旗手 Eric S. Ray-mond 曾這樣說過:

事實證明,開源帶給我們的寶貴財富之一是它教會了我們這樣一個道理:玩的心態(tài)是最經(jīng)濟(jì)也高效的創(chuàng)意工作模式。

二、一些人不愿意共享和開源的三大最常見的理由

雖然我在上面舉出了很多開源和共享所帶來的益處,我知道依然還有很多人不愿意共享和開源,下面我列出了一些人不愿意開源共享的三個主要原因。

  • 我太忙了,根本沒時間去共享和開源。

  • 沒人會看我共享的東西的。

  • 擔(dān)心有人會剽竊我的工作成果。

下面我們就一條一條來看上面列出的不愿意開源共享的三個常見原因:

原因一:我太忙了,根本沒時間去共享和開源

很多人之所以不愿意花時間去寫博客、做分享演講或是開源代碼的一個最常見的原因就是:“我太忙了,根本沒時間去共享和開源。” 每當(dāng)這個想法將要蹦出來的時候,希望你都能記住這一點(diǎn):忙與不忙其實是你自己的決定。 什么意思呢?你不是找時間去做很多事情的,你通常是擠時間做很多事情的,就好比你為了在項目截止日期前完成一項工作,你晚上就算是熬到很晚也會擠時間將工 作完成,就好比你不管怎樣也會擠時間去看預(yù)約的醫(yī)生,就好比你不管怎樣也會擠時間去看《權(quán)利的游戲》,以及很多其它你認(rèn)為重要的事情。而事實證明,如果你 想擁有一個非常成功的職業(yè)生涯,學(xué)會共享也是至關(guān)重要的。

在職業(yè)體育里,繁重的鍛煉和強(qiáng)化的訓(xùn)練是必不可少的一部分。同樣的道理,職業(yè)音樂 家、舞蹈家和棋手每天都會花很長時間去訓(xùn)練、去磨練自己的技藝。在大部分公司的工作里,一旦你大學(xué)畢業(yè)并完成了在新公司的入職提升培訓(xùn)項目之后,你就再也 沒有專門的時間去專門進(jìn)行學(xué)習(xí)與培訓(xùn)了。其實你可以完全不用這樣的。就以我為例,每天晚上 11 點(diǎn),我都會花 20-40 分鐘的時間去創(chuàng)作、學(xué)習(xí)和分享。根據(jù)我當(dāng)時的心情,我可能會看視頻學(xué)習(xí)、讀書、寫博客(比如你正在讀的這篇文章)或是投身到一個開源項目里。我發(fā)現(xiàn),我每 天都會抽一定的時間去學(xué)習(xí)并分享自己的學(xué)習(xí)心得的這個習(xí)慣已經(jīng)徹底改變了我的職業(yè)生涯。

讓學(xué)習(xí)和分享變成你每天的時間安排里必不可少的一部 分。找到適合你的時間段——可能是每天早上工作前,可能是午飯時間,也可能像我一樣在每天晚上睡覺前——每天花 20-40 分鐘的時間去學(xué)習(xí)和分享。每天 20-40 分鐘,看起來時間并不長,想想一旦長時間堅持下來它可能會帶給你的復(fù)利:你現(xiàn)在每天投入的很短的時間在未來產(chǎn)生的集聚效果可能會超出你的想象。

原因二:沒人會看我共享的東西的

即使沒人看你寫的博客或是使用你的開源項目,那也沒關(guān)系。寫作、演講和開源項目最重要的作用是,它們可以作為你學(xué)習(xí)的工具。正如著名作家 William Zinsser 在他的書《On Writ-ing Well》里所寫的那樣:寫作其實就是一種在筆尖上的思考。寫博客的主要的目的就是為了提升你的思考能力,所以即使你寫的東西沒人看,寫作也是非常值得做的一件事。同樣的道理,準(zhǔn)備一場演講,將你的想法分享給大家聽也是可以幫助你理清思路的。此外,正如我之前說過的那樣,你為開源代碼所做的準(zhǔn)備是可以提高你的代碼的質(zhì)量的。

如 果你經(jīng)常鍛煉你的寫作、演講和編碼的技巧的話,你的粉絲、讀者和觀眾可能會慢慢變多。最開始可能是身邊的朋友和同事,但慢慢的,尤其當(dāng)你將你的作品在 Twitter、Facebook、LinkedIn、Reddit 和 Hacker News 等平臺上分享的時候,很多原來陌生的人也會看到你分享的東西,并且會主動分享它并提供反饋。此外,在互聯(lián)網(wǎng)上,是沒人能看到你的真面目的,你的身份其實就 是你寫的東西、演講內(nèi)容和開源的項目的集合體。換句話說,在如今的世界上,人們可以將你等同于你分享的東西。

如果你擔(dān)心沒人對你所要分享的東西感興趣,你只要記住:每個人其實都在學(xué)習(xí)的不同階段。正如一位非常知名的程序員 Steve Yegge 在他的一篇文章《你應(yīng)該寫博客》里所寫的那樣:

你 會驚訝于太多看起來就像是 “常識” 的知識實際上對很多同樣聰明的人來說都是全新的知識。其實只不過是因為這個世界上有太多東西需要我們?nèi)チ私?#xff0c;我們都在不斷的學(xué)習(xí)罷了。有時候我也會被潑冷 水,因為看起來好像我討論的東西早就已經(jīng)有人和大家討論過了。我需要記住的是總有一個 “恰好的時間” 去學(xué)習(xí)某些恰好的東西,這個 “恰好的時間” 對每一個人來說是不同的。
無論你處在教育生涯的哪個階段,有些人會喜歡了解你的奮斗過程。當(dāng)你在寫博客的時候,你應(yīng)該把這句話放在心里。你的讀者 當(dāng)中每一個人都有一個屬于他們自己的不同的時鐘,他們都是在某方面比你強(qiáng),但又在某方面比你弱。寫博客的意義在于我們都樂意去分享自己目前的狀態(tài),并且不 會去嘲笑那些在這方面沒我們懂的多的人,因為很有可能他們在其它某個領(lǐng)域的造詣可能是我們自己未來很多年都無法企及的。

原因三:擔(dān)心有人會剽竊自己的工作成果

大部分人其實都沒有興趣、時間、精力、知識或技能去剽竊你的工作成果的。正如計算機(jī)先驅(qū) Howard H. Aiken 所說的那樣:“不要擔(dān)心別人偷取你的想法。如果你的想法足夠好,你還得努力把它塞到別人喉嚨里呢。” 此外,即使有人想從你寫的東西或是通過使用你的開源項目去剽竊你的想法,這在大多時候其實都是一件好事,因為與你自己單兵作戰(zhàn)相比,他們的反饋和貢獻(xiàn)能夠讓你的工作成果變得更好。

不 過也存在如果有人剽竊你的成果會對你造成危害的情況,那就是當(dāng)剽竊你的工作成果會讓你的競爭對手超過你的時候。當(dāng)然,只有當(dāng)你將自己最核心的技術(shù)成果共享 出去才會出現(xiàn)這樣的情況。例如,對于 Google 這家公司而言,它的核心技術(shù)成果就是它的搜索架構(gòu),即它的搜索算法和大規(guī)模分布式系統(tǒng),這是 Google 的秘密武器。Google 是不會將自己的秘密武器也共享出去的。

但對于很多其它東西來說,將它們開源共享比保密能讓 Google 從中獲益更多,這也是 Google 將自己和搜索不直接相關(guān)的超過 900 個項目的 2000 萬多行代碼都共享出去的原因。此外,Google 還發(fā)布了一些有關(guān)搜索價格的論文(包括 PageRank、MapReduce 和 Gogle File System 等)。畢竟光聽到一個想法是不足以去剽竊的。事實上,如果你的想法足夠簡單,導(dǎo)致其他人僅僅通過閱讀你的博客或聽了一場你的演講就能輕易剽竊并打敗你的話,這只能說明你的想法可能還不夠好。對比一下這兩種說法:“我有一個有關(guān)社交網(wǎng)絡(luò)的想法” 和 “我已經(jīng)開發(fā)出了一種能將物體運(yùn)送到太空中的方法”。執(zhí)行其實才是更加重要的。相比想法,執(zhí)行力是更難剽竊的。

三、共享的文化

其 實在生活的方方面面,要想成功,光完成出色的工作是不夠的,你還需要確保其他人知道你完成了出色的工作。我發(fā)現(xiàn),要想讓程序員明白這個道理尤其困難,因為 程序員通常比較內(nèi)向,不善于推銷自己。但好消息是,分享自己的工作成果能夠?qū)崿F(xiàn)一個良性的循環(huán),它既能提升工作本身,也能提高你的能力。一旦你意識到分享 自己的工作成果其實并不需要你去多花費(fèi)額外的精力,而是工作本身不可或缺的一部分的時候(就好比寫文檔和測試是寫代碼不可分割的一部分一樣),那么你在生 活的各個方面取得成功的可能性就會更高,包括找工作、獲得升職加薪、獲取客戶和招聘員工等。

分享的文化是軟件行業(yè)和硅谷能夠取得如此大的成功的原因之一。相比華爾街的保密文化,科技行業(yè)相對是比較開放的。如果大家都能學(xué)會共享,大家便能共贏。在一個流行共享的文化里,我們便能站在巨人的肩膀上看得更遠(yuǎn)。

這也是我經(jīng)常寫博客、演講和開源代碼的原因所在。在分享我知道的東西的過程中,我也能學(xué)習(xí)到新的東西,同時也能看得更遠(yuǎn)。最后,我也非常希望能聽到你的想法。

本 文作者 Yevgeniy (Jim) Brikman 是《Hello,Startup》這本書的作者,同時也是 Gruntwork 的創(chuàng)始人。之前他曾在 LinkedIn、Cisco 和 TripAdvisor 等公司工作過。

文章轉(zhuǎn)載自 開源中國社區(qū) http://www.oschina.net本文標(biāo)題:很多優(yōu)秀的軟件公司和開發(fā)者為什么愿意開源和共享?本文地址:https://www.oschina.net/news/73880/company-open-source

轉(zhuǎn)載于:https://www.cnblogs.com/gxh195/p/10265694.html

總結(jié)

以上是生活随笔為你收集整理的很多优秀的软件公司和开发者为什么愿意开源和共享?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。