91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

開源軟件到底是什么?編程人員為什么要重視它?

如意 ? 來源:讀芯術微信公眾號 ? 作者:讀芯術微信公眾號 ? 2020-10-10 10:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

時至今日,很多人對于開源編程依然存在著誤解和低估,這無疑令人震驚。資深開發(fā)人員通常十分尊重和贊賞開源編程,但大多數(shù)初學者往往并不知道開源編程潛在的機遇。在網(wǎng)上尋找實習機會從而獲得報酬更具有吸引力,忽視開源的重要性似乎是可以被理解的。

雖然實習確實非常重要,我完全支持去實習,我自己也參加過一些實習,但忽視開源可能會對你的職業(yè)生涯造成影響。

自從幾個月前接觸了開源世界后,筆者就一直在研究它。如此簡短的一篇文章,或許無法把我從中學到的東西完全用文字表達出來,但我會盡力而為。首先,筆者會簡單介紹一下開源軟件到底是什么。

什么是開源?

開源軟件與大多數(shù)人每天使用的軟件并沒有太大差異。事實上,如果你現(xiàn)在上網(wǎng)并嘗試找到所有流行開源軟件的列表,你會感到十分驚訝。例如,Mozilla Firefox、Ubuntu、WordPress、VLC媒體播放器等等。而它們與其他軟件的區(qū)別到底是什么?是因為它們符合“開源”的條件,而其他流行的軟件不符合嗎?

很簡單,在于它們有一些預定義的特征,這些特征定義了我們一直討論的術語。

免費性:這可能是開源軟件最明顯的特征。開源軟件對所有人都是免費的,無論是開發(fā)者、用戶還是所有者。它不會收取任何服務費用,如果它收費了,它便無法自稱開源。

透明性:這意味著所有使軟件運行的代碼都可以在互聯(lián)網(wǎng)上免費瀏覽。你可以看到它,使用它,用它做你想做的任何事情。最重要的是,你可以參與其中,添加你自己的代碼,然后把代碼插入其中,從而改進軟件。

公平性:對許多人來說,這似乎是一個非常普遍的觀點,但實際上這是開源一個非常重要的方面。即將發(fā)布的軟件將對所有人開放,不考慮他們的種姓、宗教、領土、性別或任何其他可能區(qū)分人與人的因素。軟件開放,人人平等。

免費進一步使用性:似乎與第二點的重復了?不同之處在于,這是從程序員的角度出發(fā),任何程序員/開發(fā)人員都可以自由地使用開源軟件中編寫的代碼,用于自己的個人用途或項目。任何功能、任何特性都可以按原樣使用,沒有任何法律問題。

這就是開源實際意義的基本概述。了解這一切后,很明顯,最終用戶不會注意到開源軟件和非開源軟件之間的任何區(qū)別,除了前者更有可能是免費的。

參與開源的人員以及原因?

很多人此刻都會想到這個問題。我們知道了這些軟件是完全免費的,最初做這個項目的開發(fā)者似乎并沒有得到任何報酬。那么為什么會有人愿意把寶貴的時間投入到這件事上呢?還有,我在這篇文章開頭提到的機遇有哪些呢?

首先開源“付費”,而且報酬很高。人們通過開源賺錢的方式有很多種,但在我進一步談論金錢之前,我想指出一些其他的益處,這些益處比金錢更為重要:

知識、經(jīng)驗:當然,能夠不斷從工作中獲取新的知識總是有幫助的,但遠不止如此。在我個人看來,對于一個初學者,獲得經(jīng)驗比較好的方式便是參與開源。人們會尋找實習機會,或者僅僅是簡單的付費項目,而這些項目大部分都在公司名下,他們希望從你身上獲得價值。

以筆者自身為例,雖然我參加過的每一次實習都有非常支持我的經(jīng)理和學長,但參與其中一個依舊不是一件容易的事情。你會與大量的求職者競爭,競爭對手中很有可能出現(xiàn)有幾個月甚至幾年工作經(jīng)驗的“老手”。

真正參與一個現(xiàn)實世界的項目變得很困難,而開源為此提供了優(yōu)秀的平臺。在這個平臺上,無論你投入多少工作,你始終是有價值的。壓力會比實習要小得多,而且學習經(jīng)驗會好得多。正因為如此,這是獲得更多的經(jīng)驗并參與更多的真實世界項目的最有效的方法。

價值:在這個領域工作最重要的因素之一,你得到的價值將是驚人的。這些價值可以來自公司、個人、這些項目的所有者以及各種編程社區(qū),擁有一個好的開源檔案終歸是一個很大的優(yōu)勢。

專業(yè)網(wǎng)絡:對于這件事情我經(jīng)驗頗豐。在網(wǎng)上做項目時,你會和很多人合作,合作包括大量的交流。交流過程中,我們形成了很多專業(yè)的聯(lián)系。在我活躍的LinkedIn聯(lián)系人中,有來自倫敦和阿姆斯特丹的人,你永遠無法設想什么時候你的專業(yè)網(wǎng)絡會給你帶來怎樣的幫助。

機會:這一點與第二點密切相關。具體來說,是來自公司的價值。包括谷歌這樣的行業(yè)領袖在內(nèi),很多公司都非常關注開源,他們最負盛名的項目之一GSoC(Google Summer of Code)就完全基于開源。只有擁有一個好的開源檔案,并且參與的項目也是開源的,這樣才能夠進入公司,而這說明了目前這個領域在行業(yè)中的重要性。

GSoC并不是唯一,還有數(shù)百個有聲望的實習崗位在招收具有良好開源技能的人。Outreachy、MLH、Linux Foundation只是一些例子,窺一斑而知全豹,這些公司對開源的依賴直接反映了它的價值。

當然,你會得到報酬,認為開源無法帶來收入的想法是完全錯誤的。當你達到一定的水平,你就很有可能會從各種來源(實習,贊助商,公司付費)中獲得大量的收入。許多人都十分努力地建立系統(tǒng),以確保人們不會因為系統(tǒng)無法提供資金而不愿參與開源。就連我剛才提到的實習,他們付給實習生的工資都非常高,例如,Outreachy 3個月的津貼為6000美元。

我該如何開始呢??

這也曾是我困惑的問題,并且一直懷疑我所遵循的方式,直到我參與了第一個項目。答案就是:你只需要遵循你能想到的最直截了當?shù)姆椒āH欢?,我們是否應該在知道如何做之前,了解所需的技能什么?/p>

不需要。直到現(xiàn)在,無論我說什么,都會讓人覺得你需要擅長編程才能參與項目。當然,這是因為軟件是由代碼組成的。但是問題在于,軟件不僅僅是由代碼組成的。一個單一的軟件投放到市場會有許多方面:設計、內(nèi)容、使用文檔,甚至報告錯誤都是軟件的重要組成部分。這些都需要編碼嗎?不。你只需要做你已經(jīng)擅長的事情,并積極參與到需要你的項目中。僅此而已。

不過,在這里忽略編程是非常不公平的。一般來說,你并不需要學習一些新的技能。但作為一個程序員,參與開源確實有一些要求。

Git:Git是處理軟件的常規(guī)方式。它并不是一種軟件制作語言,只是一種檢查代碼的助力工具。利用Git的強大功能,人們可以在代碼中創(chuàng)建檢查點或創(chuàng)建分支,這意味著在保持先前版本完好無損的同時處理代碼,以確保在需要時可以恢復原狀。

本質(zhì)上,Git是軟件的版本控制系統(tǒng),它并不是針對開發(fā)軟件,而是對于在開發(fā)軟件過程中與其他人合作來說,是極其重要的。此外,由于在參與開源時協(xié)作是最重要的,Git也變得同樣重要。

Github:Github是所有開源托管發(fā)生的網(wǎng)站,它不是唯一的網(wǎng)站,但無疑是行業(yè)領袖。這基本上是Git的用戶界面版本,當緊密集成時,它就成為了完全承載協(xié)作的資源。因此,它在工作流程中和Git一樣重要。

編程語言:參與一個軟件,到最后,所有的東西都只是代碼。因此,顯而易見,了解代碼所用的語言是至關重要的。

要求僅此而已。對于大多數(shù)程序員,他們已經(jīng)知道一些編程語言,所以需要的新技能就是Git和Github。好消息是:學習它們非常容易,一兩天即可掌握天。在YouTube上找一個好的教程,就可以開始了。

整個過程中唯一困難的部分是找到一個可以參與的軟件。作為初學者,你可能需要一些時間來找到一個真正需要掌握的技能集(當然是在編程語言方面),而比較好的辦法就是不斷尋找。你可以手動完成,或者可以在Github上尋找與“good-first-issue”標簽有問題的代碼庫,那一定會帶你步入正途。

接下來呢?只需在系統(tǒng)上復制代碼,進行想要的更改,然后將代碼放回網(wǎng)站。如何做到呢?這就是Git和Github的用武之地。當你學會了它們,做這些步驟就輕而易舉了。恭喜你,你已經(jīng)參與了第一次開源,現(xiàn)在是一個開源開發(fā)者了!

為什么每天有4000萬人在“免費”做2800萬個項目?希望本文幫你找到了答案,也希望你會成為其中一員。
責編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 軟件
    +關注

    關注

    69

    文章

    5340

    瀏覽量

    91674
  • 編程
    +關注

    關注

    90

    文章

    3717

    瀏覽量

    97264
  • 開源
    +關注

    關注

    3

    文章

    4244

    瀏覽量

    46270
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    不懂編程,怎么搞定電子儀表上位機軟件?零代碼搞定上位機軟件開發(fā)

    “不懂編程,怎么搞定電子儀表上位機軟件?”這是很多電子儀表用戶的共同困惑。傳統(tǒng)上位機開發(fā)被“專業(yè)編程”門檻牢牢限制,即便你對測試需求了如指掌(比如知道采集哪些儀表數(shù)據(jù)、怎么分析波形、
    的頭像 發(fā)表于 01-27 17:19 ?625次閱讀
    不懂<b class='flag-5'>編程</b>,怎么搞定電子儀表上位機<b class='flag-5'>軟件</b>?零代碼搞定上位機<b class='flag-5'>軟件</b>開發(fā)

    CH341編程軟件NeoProgrammer_2.2.0.10

    CH341編程軟件NeoProgrammer_2.2.0.10免費下載,更新資料上閑魚找“于人雜貨鋪”
    發(fā)表于 01-23 15:37 ?172次下載

    MOS管到底是什么?和三極管、繼電器有什么本質(zhì)區(qū)別?

    出現(xiàn)的“實力派選手”,常常被與三極管、繼電器放在一起比較。不少人在選型時會困惑:MOS管到底是什么?和我們熟悉的三極管、繼電器,核心差異又在哪里?今天就用通俗的語言拆解清楚
    的頭像 發(fā)表于 01-07 13:46 ?644次閱讀
    MOS管<b class='flag-5'>到底是</b>什么?和三極管、繼電器有什么本質(zhì)區(qū)別?

    IGBT到底是什么?-從名稱入手來帶您了解

    對于工作需要用到IGBT、但從未專業(yè)學習過IGBT的人來說, IGBT到底是什么、它為什么叫IGBT、的核心關鍵詞是什么、怎么理解 等一系列問題并無法一次性在某個地方獲取到,都需
    的頭像 發(fā)表于 11-25 17:38 ?1756次閱讀
    IGBT<b class='flag-5'>到底是</b>什么?-從名稱入手來帶您了解

    請問Keil中的map文件到底是什么意思?

    Keil中的map文件到底是什么意思?里面是如何進行相關執(zhí)行操作的
    發(fā)表于 11-25 06:59

    單片機和嵌入式,到底是什么關系?

    的關系:什么是單片機?什么是嵌入式?它們到底是不是一回事?先說說大家最先聽說的那個詞——單片機(MCU)。單片機,全稱是MicrocontrollerUnit,顧名思
    的頭像 發(fā)表于 11-14 10:28 ?1708次閱讀
    單片機和嵌入式,<b class='flag-5'>到底是</b>什么關系?

    NVIDIA宣布開源Aerial軟件

    NVIDIA 開源其 Aerial 軟件,并將 NVIDIA Sionna 研究套件和 Aerial 測試平臺引入 NVIDIA DGX Spark 平臺,為研究人員提供強大的工具和便捷的訪問途徑,以加速 AI 原生無線創(chuàng)新。
    的頭像 發(fā)表于 11-03 15:14 ?964次閱讀

    一、API到底是什么?為什么我需要

    API (Application Programming Interface):應用程序編程接口。 類比理解:API它不是一個具體的東西,而是一份“餐廳菜單”和一套“點餐規(guī)則”。大模型廠商(餐廳)把
    的頭像 發(fā)表于 11-03 09:34 ?729次閱讀

    IEC 到底是什么?為什么它能影響全球?

    IEC 到底是什么?為什么它能影響全球?
    的頭像 發(fā)表于 09-04 17:07 ?3685次閱讀

    浮思特 | 紅外熱像儀有什么用?一文帶你看懂的“隱藏能力”

    問題來了,紅外熱像儀到底是干嘛的?到底有什么用?別急,今天就用這篇文章,跟你聊聊紅外熱像儀的真正用途!紅外熱像儀到底是什么?一句話解釋:它是一種可以“看到”溫度差異的
    的頭像 發(fā)表于 08-08 10:43 ?828次閱讀
    浮思特 | 紅外熱像儀有什么用?一文帶你看懂<b class='flag-5'>它</b>的“隱藏能力”

    晶振的 “負載電容” 到底是什么

    負載電容,到底是什么? 負載電容,簡單來說,是指晶振的兩條引線連接IC塊內(nèi)部及外部所有有效電容之和,我們可以將其看作晶振片在電路中串接的電容。從更專業(yè)的角度講,它是為了使晶振能夠在其標稱頻率下穩(wěn)定
    的頭像 發(fā)表于 07-25 16:26 ?1118次閱讀

    軟件開源生態(tài)出海合作分論壇即將召開

    ,也成為打破組織邊界、深化國際合作、促進全球技術創(chuàng)新和資源重組的重要路徑。中國高度重視開源體系建設,加快完善開源生態(tài)圈,促進開源國際交流合作,不斷釋放
    的頭像 發(fā)表于 07-23 09:57 ?878次閱讀

    請問編譯純rtos到底是選擇Linux+rtos的sdk編譯only rtos還是直接使用rtos sdk?

    編譯純rtos到底是選擇Linux+rtos的sdk編譯only rtos還是直接使用rtos sdk?
    發(fā)表于 07-11 07:22

    智能盒子到底是什么東西?昇騰310深度測評:為何能成為行業(yè)新寵?

    讓人摸不著頭腦的“智能盒子”。各位搞技術、搞工程的朋友,咱們在工作中是不是經(jīng)常聽到“智能盒子”這個說法?每次聽到這個詞,我猜很多人心里都在犯嘀咕:這東西到底是個啥玩意兒?難道就是個裝了點智能軟件的普通盒子?
    的頭像 發(fā)表于 04-27 10:46 ?1935次閱讀
    智能盒子<b class='flag-5'>到底是</b>什么東西?昇騰310深度測評:為何能成為行業(yè)新寵?

    一文給你講透!DA板卡到底是什么?和主板又有哪些不同?

    大家好,我是老王,在電子行業(yè)干了十幾年,今天我就用“大白話”給大家講講DA板卡到底是啥,和咱們常說的“主板”有啥區(qū)別。文章里會穿插一些表格和實際案例,保證你讀完不僅能懂,還能跟朋友吹牛!
    的頭像 發(fā)表于 04-24 16:48 ?2661次閱讀
    一文給你講透!DA板卡<b class='flag-5'>到底是</b>什么?<b class='flag-5'>它</b>和主板又有哪些不同?