為什麼大公司要開源自己的技術?
大約一個月前,谷歌公開了用於Big Transfer(BiT)的預訓練模型和微調程式碼——Big Transfer是一種深度學習的計算機視覺模型。根據谷歌的說法,Big Transfer將允許任何人在相應的任務上達到最優表現,即使每個類只有少量的標籤圖片。這僅僅是這家科技巨頭免費向公眾開放其專有產品的一個例子。要知道,釋出強大的免費開源軟體已經成為科技界的常見事件,並引發了這樣一個問題:大型科技公司這麼做得到了什麼回報?
在90年代後期,當Open Source Initiative出現時,將原始碼公開的想法被認為是一個壞策略,因為專有軟體是標準,公司會盡一切努力保護軟體。到2020年,開源的概念發生了巨大的變化,現在已經成為主流。
如今有許多開源技術公司,其中一些公司的年收入已經超過1億美元(甚至10億美元),包括紅帽、MongoDB、Cloudera、MuleSoft、Hashicorp、Databricks(Spark)和Confluent(Kafka)。
除了上述科技公司高調收購和投資開源專案外,谷歌和Facebook等科技巨頭也把開源放到了難以置信的重要位置,因為開源對於收集新產品的創新和建立一個龐大的開發者社群非常重要。例如,Flutter vs React Native、Tensorflow vs PyTorch、Kubernetes等。谷歌和Facebook在開源領域的貢獻更關注開發者和消費者,而微軟和AWS則更關注企業。
開源是持續創新的催化劑
開源是不斷創新的中心。當你擁有更多的來自不同公司和擁有不同背景的人,你對技術創新的覆蓋率呈指數增長。公司從不同的角度識別程式碼中的潛在問題,你也會了解如何使用集體智慧和開放貢獻者來解決問題。
因為開源,人們可以使用你構建的系統,其中一些人將提供改進。如果開源系統背後的主要團隊是科技公司本身,那麼專案的方向將是他們想要的,而外人則為專案做出大量貢獻。研究發現,技術專案往往會積累大量的工作時間,而這些工作時間在專案內部進行時很難做到。將專案開源,並使其可供外部使用者使用,會使其在長期內更加成熟。
公司仍然保留著為專案做出貢獻的主要勞動力,他們在管理新貢獻方面發揮著重要作用。此外,這也給了他們一個機會,讓他們知道是否還有其他人可以僱傭,或者,一般來說,是否能在未來與其他人合作。這對研究型社群尤其有利,而公司是研究型社群的一部分。
“開源是創新的推動者,使組織能夠快速獲得全球人才庫和開發安全、可靠和可擴充套件的軟體的工具。”Github India的總經理Maneesh Sharma表示,“最有效地加快業務轉型的組織是那些轉向開源軟體開發以在快速變化的數字世界中取得成功的組織。”
開源有助於構建豐富的開發人員社群
如果公司的DNA中沒有開源,那麼與開發人員社群建立積極的關係可能會面臨巨大的挑戰。一家像微軟、IBM或谷歌這樣的大公司,會有很多人時刻盯著。每個人都可以閱讀和批評其程式碼。而且,開源意味著釋出週期和路線圖的公開和透明,這需要付出大量的努力和主動性。
有了一個開源專案,公司的系統被其他人使用,幫助他們建立未來的專案和產品來對抗其他公司。這有助於他們打造一個更好的品牌,也贏得其他人的尊重。而且,他們的產品可能基於成熟的軟體版本,這意味著這些產品具有更好的價值。從某種意義上說,科技公司可以放心,該產品是基於一些許多人使用的系統,所以基本上不會有任何意外的問題,或者有問題也會立即得到解決。
“如今,99%的軟體專案都是使用開源軟體構建的。開源已經徹底改變了軟體開發,並建立了一個由開發人員組成的相互關聯的社群,這個社群具有高度的協作性,並擴充套件到世界各地。”Maneesh補充道。
公司不再需要每五年就重新投資
在開源環境下的運營,會推動一家公司成為技術構建和發展的領先者。這是透過協作和貢獻回開源軟體來完成的。有團隊領導開源專案的公司可以更深入地瞭解技術是如何構建的,以及技術的發展方向和原因。
如果一家公司已經開放了其雲/雲原生專案,那麼它就可以看到雲和雲原生的未來。這確保了它是不斷進步的技術領域的一部分。這也意味著不必每次建立新產品時都重新發明輪子。隨著科技推動創新,市場開始期待某些功能,而公司的差異化就體現在這些功能之上。
對於科技企業來說,開源並不總是首選的策略
但開源策略並不總是這樣。在諸如紅帽這樣的特定業務用例中,開源無疑是有利可圖的。但就人工智慧而言,它通常既先進又不可預測,研究人員很難將其想法貨幣化併為研究提供資金。
例如,OpenAI最初是一個非盈利的研究實驗室,在與微軟合作時,它改變了對開源的立場。一年後,他們說他們正在透過商業API不是開源來實現所有的軟體創新。該組織此前表示,擔心其下一代模型可能被濫用。
此外,雖然蘋果或微軟等大公司已經變得非常開源友好,但它們的軟體產品中只有一小部分是開源的,當然也包括庫和工具。與其他公司相比,這只是整個生態系統的一小部分。
“歸根結底,我們最關心的是確保人工通用智慧惠及所有人。我們認為開發商業產品是確保我們有足夠資金取得成功的途徑之一。”OpenAI在最近一篇關於釋出的部落格文章中說。
載自Blog.Cocoa
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69965343/viewspace-2704631/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼是技術債,為什麼要還技術債?
- 我為什麼要學技術
- 為什麼要貢獻開源
- 大公司為什麼要會選擇DevOps?dev
- 為什麼大公司要設定這麼高的門檻?
- 為什麼要搭建自己的部落格
- Reviewbot 開源 | 為什麼我們要打造自己的程式碼審查服務?View
- 我們為什麼要技術寫作
- 為什麼要堅持寫技術博文
- 技術團隊為什麼要堅持開展技術分享會以及落地實施
- 你為什麼要讓自己的生活一團糟_做好自己
- 趣說開源|為什麼要參與到開源社群中?
- 為什麼要學習Linux?如何學習Linux技術?Linux
- 為什麼要虛擬化,為什麼要容器,為什麼要Docker,為什麼要K8S?DockerK8S
- 5W1H聊開源之Why——為什麼要參與開源?
- 簡談為什麼遊戲公司要打造自己旗下的IP遊戲
- 谷歌要構建自己的區塊鏈技術谷歌區塊鏈
- 我為什麼開始寫技術公眾號
- 什麼是前端開發?為什麼要學前端開發?前端
- 為什麼技術必須要學習Linux?Linux發展趨勢如何?Linux
- Web前端技術知識:為什麼要進行網站重構呢?Web前端網站
- 技術管理進階——為什麼要多總結,如何做總結?
- 混合模式為什麼成為佔有率最高的app開發技術模式APP
- 從開源的歷史與今天,聊聊為什麼要期待HDC.Cloud 2021Cloud
- 從技術轉管理,我做了什麼來拯救自己?
- 為什麼做技術 PM 這麼難?
- 伺服器為什麼要託管,放在自己公司不行嗎?伺服器
- 為什麼 JavaScript 的 this 要這麼用?JavaScript
- 除了前端以外還了解什麼其它技術麼?你自己最最厲害的技能是什麼?前端
- 為什麼DRAM採用地址複用技術?為什麼SRAM不採用地址複用技術?
- 為什麼大公司一定要使用 DevOps?dev
- 為什麼大公司一定要使用DevOps?dev
- 為什麼明明是發自己的部落格,阿里卻刪除我發部的開源作品?阿里
- 為什麼要code reviewView
- 為什麼要寫作
- 什麼是java?為什麼大家都學習java技術?Java
- Linux是什麼?為什麼推薦學習Linux技術?Linux
- 為什麼Windows的相容性這麼強大,到底用了什麼技術?Windows