一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

什么是開源?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

我該如何開始呢??

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

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

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

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

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

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

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

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

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

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

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

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

    關(guān)注

    69

    文章

    5150

    瀏覽量

    89179
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3689

    瀏覽量

    95189
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3673

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

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

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

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

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

    ADS1298的操作溫度范圍到底是多少?

    ADS1298是 0°Cto +70°C;工業(yè)級ADS1298I 是 –40°Cto +85°C。 現(xiàn)在不知道ADS1298的操作溫度范圍到底是多少?
    發(fā)表于 02-10 07:19

    ADS1278的參考電壓的要求到底是怎樣的?

    <27MHz為例,Vrefp輸入范圍為0.5到3.1V 而后文又提到,參考輸入電壓的范圍為AGND-0.4v to AVDD+0.4v 問題1. 這個參考電壓的要求到底是怎樣的? 問題2.
    發(fā)表于 01-23 08:02

    DLPC3436、DLPC3426軟件編程人員指南

    電子發(fā)燒友網(wǎng)站提供《DLPC3436、DLPC3426軟件編程人員指南.pdf》資料免費下載
    發(fā)表于 11-06 09:48 ?1次下載
    DLPC3436、DLPC3426<b class='flag-5'>軟件</b><b class='flag-5'>編程</b><b class='flag-5'>人員</b>指南

    DLPC3470和DLPC3478軟件編程人員指南

    電子發(fā)燒友網(wǎng)站提供《DLPC3470和DLPC3478軟件編程人員指南.pdf》資料免費下載
    發(fā)表于 11-06 09:31 ?2次下載
    DLPC3470和DLPC3478<b class='flag-5'>軟件</b><b class='flag-5'>編程</b><b class='flag-5'>人員</b>指南

    DLPC3439軟件編程人員指南

    電子發(fā)燒友網(wǎng)站提供《DLPC3439軟件編程人員指南.pdf》資料免費下載
    發(fā)表于 10-31 10:01 ?0次下載
    DLPC3439<b class='flag-5'>軟件</b><b class='flag-5'>編程</b><b class='flag-5'>人員</b>指南

    TLV320AIC3254內(nèi)部中的ADC處理模塊和minidsp到底是什么關(guān)系?

    我想請問一下幾個問題: 1.3254內(nèi)部中的ADC處理模塊和minidsp到底是什么關(guān)系,是并列的還是串行關(guān)系?還是ADC處理模塊就是minidsp特殊情況下的部分? 2.minidsp的抽取因子該怎么理解,到底怎么使用?
    發(fā)表于 10-31 06:02

    人民郵電報:“開源到底是什么?為啥熱度越來越高?

    ? ? ? 本文轉(zhuǎn)載自人民郵電報 這些年,“開源”這個詞越來越火,開源AI大模型、開源數(shù)據(jù)庫、開源框架、開源硬件等新詞匯層出不窮。那么
    的頭像 發(fā)表于 10-17 14:21 ?3771次閱讀
    人民郵電報:“<b class='flag-5'>開源</b>”<b class='flag-5'>到底是</b>什么?為啥熱度越來越高?

    請問PCM2903C的溫度范圍到底是多少呢?

    如下圖,PCM2903C的溫度范圍到底是多少呢? 如果用在-25~85℃,是否會出問題?
    發(fā)表于 10-14 07:14

    放大器的共模輸入電壓到底是指什么?

    請問放大器的共模輸入電壓到底是指什么?
    發(fā)表于 09-19 07:17

    功放和運放到底是什么區(qū)別?

    想請問一下功放和運放到底是什么區(qū)別,感覺只要接一個小負(fù)載,運放的輸出電流也可以很大啊?到底有什么區(qū)別啊
    發(fā)表于 09-10 07:00

    請問LMV772到底是雙電源還是單電源???

    請問LMV772到底是雙電源還是單電源???手冊前面寫的太模糊了。求指教
    發(fā)表于 09-09 07:10

    運放的輸入電容到底是什么?

    我想請問一下運放的輸入電容到底是什么?
    發(fā)表于 09-04 06:52

    LMH6502的輸入電壓到底是多少?

    LMH6502的輸入電壓到底是多少,我稍微給如大一點點的信號,放大不行還能接受,我衰減都失真,
    發(fā)表于 08-27 07:02