Showing posts with label Tech. Show all posts
Showing posts with label Tech. Show all posts

Thursday, April 7, 2011

open source

BSD開源協議(original BSD license、FreeBSD license、Original BSD license)


BSD開源協議是一個給於使用者很大自由的協議。基本上使用者可以"為所欲為",可以自由的使用,修改源代碼,也可以將修改後的代碼作為開源或者專有軟件再發佈。

但"為所欲為"的前提當你發佈使用了BSD協議的代碼,或則以BSD協議代碼為基礎做二次開發自己的產品時,需要滿足三個條件:

如果再發佈的產品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協議。
如果再發佈的只是二進制類庫/軟件,則需要在類庫/軟件的文檔和版權聲明中包含原來代碼中的BSD協議。
不可以用開源代碼的作者/機構名字和原來產品的名字做市場推廣。
BSD 代碼鼓勵代碼共享,但需要尊重代碼作者的著作權。BSD由於允許使用者修改和重新發佈代碼,也允許使用或在BSD代碼上開發商業軟件發佈和銷售,因此是對 商業集成很友好的協議。而很多的公司企業在選用開源產品的時候都首選BSD協議,因為可以完全控制這些第三方的代碼,在必要的時候可以修改或者二次開發。

Apache Licence 2.0(Apache License, Version 2.0、Apache License, Version 1.1、Apache License, Version 1.0)


Apache Licence是著名的非盈利開源組織Apache採用的協議。該協議和BSD類似,同樣鼓勵代碼共享和尊重原作者的著作權,同樣允許代碼修改,再發佈(作為開源或商業軟件)。需要滿足的條件也和BSD類似:

需要給代碼的用戶一份Apache Licence
如果你修改了代碼,需要再被修改的文件中說明。
在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協議,商標,專利聲明和其他原來作者規定需要包含的說明。
如果再發佈的產品中包含一個Notice文件,則在Notice文件中需要帶有Apache Licence。你可以在Notice中增加自己的許可,但不可以表現為對Apache Licence構成更改。
Apache Licence也是對商業應用友好的許可。使用者也可以在需要的時候修改代碼來滿足需要並作為開源或商業產品發佈/銷售。

GPL(GNU General Public License)


我們很熟悉的Linux就是採用了GPL。GPL協議和BSD, Apache Licence等鼓勵代碼重用的許可很不一樣。GPL的出發點是代碼的開源/免費使用和引用/修改/衍生代碼的開源/免費使用,但不允許修改後和衍生的代 碼做為閉源的商業軟件發佈和銷售。這也就是為什麼我們能用免費的各種linux,包括商業公司的linux和linux上各種各樣的由個人,組織,以及商 業軟件公司開發的免費軟件了。

GPL協議的主要內容是只要在一個軟件中使用("使用"指類庫引用,修改後的代碼或者衍生代碼)GPL 協議的產品,則該軟件產品必須也採用GPL協議,既必須也是開源和免費。這就是所謂的"傳染性"。GPL協議的產品作為一個單獨的產品使用沒有任何問題, 還可以享受免費的優勢。

由於GPL嚴格要求使用了GPL類庫的軟件產品必須使用GPL協議,對於使用GPL協議的開源代碼,商業軟件或者對代碼有保密要求的部門就不適合集成/採用作為類庫和二次開發的基礎。

其它細節如再發佈的時候需要伴隨GPL協議等和BSD/Apache等類似。

LGPL(GNU Lesser General Public License)


LGPL是GPL的一個為主要為類庫使用設計的開源協議。和GPL要求任何使用/修改/衍生之GPL類庫的的軟件必須採用GPL協議不同。LGPL允許商 業軟件通過類庫引用(link)方式使用LGPL類庫而不需要開源商業軟件的代碼。這使得採用LGPL協議的開源代碼可以被商業軟件作為類庫引用並發布和 銷售。

但是如果修改LGPL協議的代碼或者衍生,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須採用LGPL協議。因此LGPL協議的開源代碼很 適合作為第三方類庫被商業軟件引用,但不適合希望以LGPL協議代碼為基礎,通過修改和衍生的方式做二次開發的商業軟件採用。

GPL/LGPL都保障原作者的知識產權,避免有人利用開源代碼複製並開發類似的產品

MIT(MIT)


MIT是和BSD一樣寬範的許可協議,作者只想保留版權,而無任何其他了限制.也就是說,你必須在你的發行版裡包含原許可協議的聲明,無論你是以二進制發佈的還是以源代碼發佈的.

Friday, January 28, 2011

一個老工程師給年輕工程師的十大忠告 :: 綠色工廠 Easylife Blog

好好規劃自己的路,不要跟著感覺走!
根據個人的理想決策安排,絕大部分人並不指望成為什麼院士或教授,而是希望活得滋潤一些,爽一些。那麼,就需要慎重安排自己的軌跡。從哪個行業入手,逐漸對該行業深入瞭解,不要頻繁跳槽,特別是不要為了一點工資而轉移陣地,從長遠看,這點錢根本不算什麼,當你對一個行業有那麼幾年的體會,以後錢根本不是問題。頻繁地動盪不是上策,最後你對哪個行業都沒有摸透,永遠是新手!

可以做技術,切不可沉湎於技術。
千萬不可一門心思鑽研技術!給自己很大壓力,如果你的心思全部放在這上面,那麼註定你將成為孔乙己一類的人物!適可而止為之,因為技術只不過是你今後前途的支柱之一,而且還不是最大的支柱,除非你只願意到
老還是個工程師!

不要去做技術高手,只去做綜合素質高手!
在企業裏混,我們時常瞧不起某人,說他『什麼都不懂,憑啥拿那麼多錢,憑啥升官!』這是普遍的典型的工程師的迂腐之言。8051很牛嗎?人家能上去必然有他的本事,而且是你沒有的本事。你想想,老闆搞經營那麼多年,難道見識不如你這個新兵?人家或許善於管理,善於領會老闆意圖,善於部門協調等等。因此務必培養自己多方面的能力,包括管理,親和力,察言觀色能力,公關能力等,要成為綜合素質的高手,則前途無量,否則只能躲在角落看示波器!技術以外的技能才是更重要的本事!!從古到今,美國日本,一律如此!


多交社會三教九流的朋友!
不要只和工程師交往,認為有共同語言,其實更重要的是和其他類人物交往,如果你希望有朝一日當老闆或高層管理,那麼你整日面對的就是這些人。瞭解他們的經歷,思維習慣,愛好,學習他們處理問題的模式,瞭解社會各個角落的現象和問題,這是以後發展的巨大的本錢,沒有這些以後就會笨手笨腳,跌跌撞撞,遇到重重困難,交不少學費,成功的概率大大降低!

知識涉獵不一定專,但一定要廣!
多看看其他方面的書,金融,財會,進出口,稅務,法律等等,為以後做一些積累,以後的用處會更大!會少交許多學費!!

抓住時機向技術管理或市場銷售方面的轉變!
要想有前途就不能一直搞開發,適當時候要轉變為管理或銷售,前途會更大,以前搞技術也沒有白搞,以後還用得著。搞管理可以培養自己的領導能力,搞銷售可以培養自己的市場概念和思維,同時為自己以後發展積累龐大的人脈!應該說這才是前途的真正支柱!!!

逐漸克服自己的心裏弱點和性格缺陷!
多疑,敏感,猶豫不決,膽怯,多慮,這些工程師普遍存在的性格弱點必須改變!很難嗎?只在床上想一想當然不可能,去幫朋友守一個月地攤,包准有效果,去實踐,而不要只想!不克服這些缺點,一切不可能,甚至連項目經理都當不好--儘管你可能技術不錯!

工作的同時要為以後做準備!建立自己的工作環境!
及早為自己配置一個工作環境,裝備電腦,示波器(可以買個二手的),模擬器,編程器等,業餘可以接點活,一方面接觸市場,培養市場感覺,同時也積累資金,更重要的是準備自己的產品,咱搞技術的沒有錢,只有技術,技術的代表不是學歷和證書,而是產品,拿出像樣的產品,就可技術轉讓或與人合作搞企業!先把東西準備好,等待機會,否則,有了機會也抓不住!

要學會善於推銷自己!
不僅要能幹,還要能說,能寫,善於利用一切機會推銷自己,樹立自己的品牌形象,很必要!要創造條件讓別人瞭解自己,不然老闆怎麼知道你能幹?外面的投資人怎麼相信你?提早把自己推銷出去,機會自然會來找你!搞個個人主頁是個好注意!!特別是培養自己在行業的名氣,有了名氣,高薪機會自不在話下,更重要的是有合作的機會...

該出手時便出手!
永遠不可能有100%把握!!!條件差不多就要大膽去幹,去闖出自己的事業,不要猶豫,不要彷徨,幹了不一定成功,但至少為下一次衝擊積累了經驗,不幹永遠沒出息,而且要幹成必然要經歷失敗。不經歷風雨,怎麼見彩虹,沒有人能隨隨便便成功!

----- 以上轉貼 from 輕描淡寫 ------

總結:工程師不是一輩子的!

其實自己早就知道工程師只是一個過程,工程師不是說不能當,我只覺得一般的工程師不能達到真正的富有,技術的取代性太高太高了,除非你是頂尖的研發工程師,沒有取代性又能代領世界腳步的!當個工程師只是培養自己的技能,就像去擺個地攤會叫賣也是種技能,也是所謂生存的技能!我能做你也能做!

別讓自己只處於一個可以取代的狀態下,你的不同處在哪裡?有想法、有衝勁、不怕失敗的話為何不試一試呢?

##HIDEME##