做者:神奈川
連接:https://www.zhihu.com/question/33573424/answer/57412434
來源:知乎
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。
面試
公司爲何要開源?
1. 樹立品牌形象:公司與我的開源的動機不一樣。公司開源不少狀況下是爲了提高外界對公司的形象認知。任何一個大科技公司,確定用了多多少少用了開源項目(Linux,至少吧?)。若是連一個開源項目都沒有,這很容易給人形成,「這公司老是索取,卻不回饋給開源社區」的形象(尤爲在美國)。安全
2. 發掘潛在員工:好比,我讀了谷歌的Android的代碼,發現裏面有個大安全漏洞,而後我提交一個修改把漏洞給補了。你說谷歌想不想拉起我去工做?不少公司一個很好的招聘渠道是開源項目的貢獻者。若是能在公司開源項目作出有意義貢獻的話,這個對於公司來講是比面試好不少的能力證實。架構
3. 實現額外功能:這點實際上頗有意思,有的公司/項目實際上有不少想作的小功能,可是沒時間也沒人力去單獨作。這個時候開源的力量就體現出來了,項目開源以後不少時候能吸引到開源貢獻者來作一些本身感興趣,項目想要,但項目沒時間作的feature。我以前在http://Socket.io作的時候寫的就是這樣的一個小feature。ide
4. 擴大影響範圍:公司開源項目的質量,不少時候能反映公司的影響力。因此硅谷的不少大公司,都有一些厲害的開源項目。一方面是回饋社區,一方面是展現公司的影響力和代碼質量,吸引更多人才。一樣,若是一個公司很但願本身的一個產品有更大影響力的話,開源是個好方法。蘋果的Swift就是個好例子。Swift開源以後,可以用在很多iOS以外的領域。說不定以後咱們還能看到用Swift寫的網站架構。網站
5. 用做戰略武器:開源項目還能夠做爲公司的戰略武器。最好的例子就是谷歌的Android。經過開源和病毒式的傳播一下追上iOS。這裏面有不少弊端(好比碎片化嚴重),不過谷歌這麼一招給了開發者十分大的力量,Android一下成爲一個和iOS比肩的選項。spa