什么是開源?
我們都喜歡開源,在國內(nèi)一提到開源也都認(rèn)為是好事情。但到底什么是開源,也許大部分人對開源理念都不夠清晰。
國內(nèi)多數(shù)" />
-->
什么是開源?
我們都喜歡開源,在國內(nèi)一提到開源也都認(rèn)為是好事情。但到底什么是開源,也許大部分人對開源理念都不夠清晰。
國內(nèi)多數(shù)軟件公司或開發(fā)者對于開源的熱情,僅僅局限以下兩方面:免費(fèi)的代碼;深入?yún)⑴c的開源活動。對開源,我們用的多,貢獻(xiàn)少。國內(nèi)發(fā)起的有一定影響力的開源項(xiàng)目,也是鳳毛麟角。好的現(xiàn)象是貌似 Apache 基金會上,逐漸能見到很多國內(nèi)公司貢獻(xiàn)的代碼,成為頂級項(xiàng)目。
我曾聽過自由軟件精神領(lǐng)袖理查德 · 馬修 · 斯托曼(Richard Matthew Stallman)的演講,演講中他特別強(qiáng)調(diào) “Free is not free”,對這句話我的個人解釋是 “自由,而不是免費(fèi)”。free 開源是自由,但不等于免費(fèi)。開源是一種商業(yè)行為。試想一下,我們平日用谷歌百度做搜索,表面是免費(fèi),背后隱藏的是商業(yè)廣告給他們帶來的巨大利潤。我們在盡情享用那些開源的免費(fèi)大餐時,已然完全忘記開源的真正力量——開源是自由的,但不是免費(fèi)的。
除此之外,對開源定義的理解,也可以借用先魯迅先生所說的 “拿來主義”。把資本主義的資源拿來,給我們社會主義用。而拿來主義并非是不好的,原因是只有當(dāng)你去用了這個產(chǎn)品,你才能去了解開源,了解他開源的產(chǎn)品到底是什么樣的。live 開始前,一個同學(xué)問我怎樣參與到一個開源項(xiàng)目之中。我的回答是,先拿來主義,把一個開源項(xiàng)目拿過來,自己先用起來。事實(shí)上這個觀點(diǎn)可能和多數(shù)人不同。多數(shù)人的感覺是開源就需要貢獻(xiàn)進(jìn)去,需要付出。直白地說,拿來主義是第一步。不使用又如何參與?
但拿來主義并非一概而論。 只做個 “hello word”,寫一個 demo,就半途而廢說這個東西不過如此,這樣的態(tài)度是無法真正參與進(jìn)去。真正貢獻(xiàn)一個開源產(chǎn)品,需要做到以下幾點(diǎn):
理解一個開源產(chǎn)品的應(yīng)用場景是什么;
想明白當(dāng)初這個作者為什么會設(shè)計(jì)它,設(shè)計(jì)這個產(chǎn)品當(dāng)初是為了解決哪一些問題;
原作者解決的這些場景問題,是否符合我的場景問題?
基于 [3] 的判斷,如果你們處在同樣的場景同樣的問題。才可以使用“拿來主義”。應(yīng)用也不是淺嘗輒止,要進(jìn)行深入研究。至少做到把他們的文檔讀一遍。
使用之后發(fā)現(xiàn)一些功能不能滿足自己的需求,此時你可以說,這個開源有缺失,再貢獻(xiàn)進(jìn)去自己的代碼。把這個功能完善。
以上是我認(rèn)為的開源的使用方式和路徑,很多開源項(xiàng)目也都是這樣發(fā)展起來的。
我認(rèn)為的理想開源,及國內(nèi)現(xiàn)狀
首先,開放的源代碼。很多國內(nèi)開源項(xiàng)目,也僅實(shí)現(xiàn)了這第一步。比如,公司開源某項(xiàng)目的源代碼,直接扔到 github 上,即認(rèn)為自己開源了。真正的開源,開源源代碼,是最小的一步。
其次,有詳細(xì)的文檔。任何一個好的開源項(xiàng)目,都該有一個新手入門、詳細(xì)的文檔類東西。國內(nèi)多數(shù)開發(fā)者,在這部分同樣做得相對較差。
再次,是一個活躍的社區(qū)。國內(nèi)開發(fā)者社區(qū),比如我在國內(nèi)做 beego 時,使用較多的是 qq 群、微信群。國外使用較多的是 Google Groups , iris , slack。slack 目前也已經(jīng)建立,Google Groups 回復(fù)時間相對較少,通過 github 交流相對較多。在 github 上進(jìn)行一些開源問題的交流相對較好。
最后,是持續(xù)改進(jìn)。吐槽一個阿里的例子。阿里已經(jīng)開源了很多項(xiàng)目。但其實(shí)一開源后你會感覺,完全是為了一個 KPI。在阿里,想要從 P7 升 P8,P8 升 P9,是需要開源的。開源后才有資格申請等級晉升。如此開源,后續(xù)的改進(jìn)力度上,難免有一定程度的缺失。
綜上,我對開源的理解可能首先是一個社區(qū)。如自由軟件精神領(lǐng)袖創(chuàng)始人所說 “free is not free”,影響開源最重要的因素是以怎樣的精神心態(tài)去開源。所謂自由,是開發(fā)者、測試者、貢獻(xiàn)者、用戶,可以自由使用、自由交流,以及自由離開。這樣的狀態(tài)使得所有人都感覺舒適自由,在此程度上舒服地做事,進(jìn)而有一個好的 idea 去改進(jìn)。
目前國內(nèi)開源存在不好的狀態(tài)是,一言不合就動口,看到不爽就開罵,開發(fā)者做開源,需要用戶的一些吐槽。更好的交流方式是,吐槽諸如某功能如何,哪里做的不好,又如何去改進(jìn)。而不是去埋怨吐槽這個代碼有多爛。從大學(xué)開始做開源直到現(xiàn)在,我碰過各種各樣的人。當(dāng)然久而久之心態(tài)會變得非常好,讀者的負(fù)面評論并不會傷及到我的內(nèi)心。
其次,開源也是一種商業(yè)模式。好的現(xiàn)象是現(xiàn)在也有很多成功的開源公司,他們把開源的商業(yè)模式做的非常非常成熟。例如 redhat 是開源的操作系統(tǒng),也要用到商業(yè)的支持。MySQL 被 ORacle 收購以后也是這樣。以上兩個例子應(yīng)該是在商界模式上做開源做的非常好的公司。
云計(jì)算領(lǐng)域,做的比較好的如 openstack、docker、kubernetes,開源項(xiàng)目非常成熟,背后的商業(yè)模式也已經(jīng)逐步做起來。尤其 openstack 在私有云領(lǐng)域,已然做的非常完善。前天(1 月 10 日晚),OpenStack 開源云計(jì)算企業(yè) EasyStack 宣布完成 5000 萬美元 C 輪融資,這也說明了開源并不表示免費(fèi)。我們可以去提供很好的商業(yè)支持和商業(yè)模式去發(fā)家致富。OpenResty 和 BigBang 是開源項(xiàng)目。沒有商業(yè)運(yùn)作。
一個好的開源項(xiàng)目,如果要做的更加成功,背后需要有一個更好的商業(yè)模式去支持他。因?yàn)殚_源并不等于免費(fèi)。這是從商業(yè)模式角度。思考,開源是一種營銷模式,它使得以往封閉的需要很長周期技術(shù)驗(yàn)證的項(xiàng)目,以開源的方式可以很快進(jìn)行驗(yàn)證。
如何做開源?
首先,要有一個能解決問題的 idea。無論是工作,做產(chǎn)品,根本上是怎樣解決別人的某一個痛點(diǎn)。不管這個痛點(diǎn)多大多小。創(chuàng)業(yè)也是為了解決某一批的一個痛點(diǎn)。有了能解決問題痛點(diǎn)的東西,才能拿出來說,自己要去創(chuàng)業(yè)了,要寫項(xiàng)目了。因而開源的前提,是解決某些人一個痛點(diǎn)的東西。
其次,善用身邊的小工具。很多時候我們身邊的一些小工具,是可以鍛煉出來,做一些開源的東西。例如,我在我開源的一個東西 bat (github.com/astaxie/bat) 下,忘記原來是 java 還是 python 寫的了,有一個叫 httpIE 的命令行工具,開源測試 lastfor 的 api 的。
于是 go 語言,自己重新寫一個。這個就是結(jié)合我自己的 beego, 因?yàn)槔锩嬗泻芏?api,然后用 bat 測這些 api。后面,我又考慮,用 bat 是不是可以寫一個 desl 的語言。就是我要測的。寫一個 json,然后 request 應(yīng)該怎么樣。response 應(yīng)該怎么樣。也就說類似黑盒測試一樣的東西。你只要寫那個我的請求是什么,返回是什么。你用 bat 運(yùn)行下。是不是就可以測試結(jié)果出來了。
這是比較容易入手的。因?yàn)槟隳芙鉀Q你自己的那些問題,同時大家可能同事之間也好,圈子里面也好。大家平常的時候是怎么去處理這些問題的。然后這個問題,我怎么樣把它做的更好。很多時候,我們都是說,更好。那怎么樣才能更好呢?我們用某一個東西的時候,感覺它不是很好或者不是我想要的東西。我怎么樣讓它變得更好?當(dāng)你有一個想法的時候,其實(shí),你已經(jīng)有一個 idea 了。有了一個 idea 時候,怎么樣變得更好。變得更好的過程,其實(shí)是已經(jīng)產(chǎn)生了一個開源項(xiàng)目了。
再次是完善的文檔。開源項(xiàng)目做好之后,你的文檔要跟上。因?yàn)橹挥杏辛送晟频奈臋n,才能把各方面的人才給聚起來。我現(xiàn)在記得非常清楚的一句話,大學(xué)時候,教我電路原理的一個老師,他說過的一句話 “你要記住你做的任何東西,你的用戶都是小白。只有把你的用戶當(dāng)做小白, 你的文檔才能寫的非常好,每一步才會清晰易懂。每一步處理下來是不是可以行得通?你只有這樣直白的文檔,才能讓最沒有編程技術(shù)的人也能看得懂。
這樣的文檔才是好文檔。這樣的話,人家才能看了你的文檔,感覺你這個人好有水平。同時,在寫文檔的時候,也能提升你的技術(shù)。如果感覺步驟非常多,就可以思考如何進(jìn)行簡化?這同時也是一種提升。我們應(yīng)該思考,我們怎么與社區(qū)中的其他人進(jìn)行很好的交流。后面,我會講到,如果,你做開源做多了,這個能力就自然地上升了。
再然后,就是開始把你的東西推廣到全球,能夠鏈接全世界的開發(fā)者交流這個東西。那怎么做到這一步呢?對我們程序員來說,現(xiàn)在是最好的年代。因?yàn)槲覀冇辛?github,github 是給我們程序員一個交流平臺。因?yàn),很多人說,“Talk is cheap, show me the code.” 把代碼放在那里,文檔也有了。這個時候,github 的星星也就一顆兩顆,沒人來理睬。
這個時候,你需要去一定的圈子里面,做一定的宣傳。現(xiàn)在確實(shí)是一個信息爆炸的時代。再好的酒也怕巷子深了。所以,你要去社區(qū)里面進(jìn)行宣傳。比如說 go 語言的開源項(xiàng)目,去 Google 的 Groups 里面去宣傳;蛘呷R推特瑞或者 prezi 或者 facebook 的群組去宣傳。當(dāng)大家看到這個東西,是我們想要的,那么一切自然行云流水了。
最后,就是我們要去找到目標(biāo)人群。時間長了,還是會積累起來一部分用戶。這一部分用戶就是我們所說的目標(biāo)用戶?纯催@批用戶,他們的分級。有開發(fā)者,有 CTO, 有架構(gòu)師。他們都是為了什么,用你的這個東西的。每個人的目的是什么?一整個的過程,又可以促使你項(xiàng)目急速發(fā)展。相當(dāng)于社區(qū)反饋的過程。同時,在這整個過程中,我們就可以了解,我們的開源項(xiàng)目是為了解決哪些人的哪些問題。一旦你這個開源項(xiàng)目做成功了,類似 Apache 麒麟、TiDB 這樣。那你就具備了可以創(chuàng)業(yè)的資本了。
為什么?因?yàn)槲覀円呀?jīng)找到目標(biāo)人物了。這些目標(biāo)人物需要我的支持和我的產(chǎn)品。進(jìn)一步,他們需要我的產(chǎn)品,也需要商業(yè)支持。一開始,會可能項(xiàng)目的維護(hù)升級跟不上,可有了商業(yè)支持就會不一樣的。付錢了,才會享受更好的服務(wù),才會有一整套的商業(yè)模式。對于你的將來來說,你的創(chuàng)業(yè)目標(biāo)也就找到了。
總結(jié) tips:首先我們要找到一個痛點(diǎn)。從小開始做起。如果痛點(diǎn)能夠解決一個問題,那么就把這個問題給解決好。你熟悉哪個語言,你就用這個語言把這個東西給弄出來。弄出來之后,首先自己滿意吧。然后,弄一定的文檔,做一定的宣傳,看大家的反饋,依照反饋持續(xù)改進(jìn)。
如果,有了一定的規(guī)模了,是不是可以改進(jìn)?然后,看可不可以拿出去創(chuàng)業(yè)用。實(shí)際上,就相當(dāng)于是建立了一整個社區(qū)。你不僅僅是一個開放源代碼的過程。開源實(shí)際上是開放源代碼,文檔,貢獻(xiàn)者使用者的交互,然后交流,持續(xù)改進(jìn)。這個才是開源所表達(dá)的含義。
我的開源成長之路,我在 Github 上做的一些事
做開源做了好多年。目前的狀況是:在 github 所有的 user 里面,全球排名 16。go 語言領(lǐng)域里面,中國排名第一。世界排名第六,前五位排名均為組織。在 Github(github.com/astaxie)上,我分享了一本書, 一個 beego,一些工具。希望寫一本書。目前在準(zhǔn)備一個秘密項(xiàng)目,之后會開源出來。同時也參與了一些其他的開源組織。剛剛說的 TiDB 的開源,也會去改一下代碼,貢獻(xiàn)一下么。貢獻(xiàn)是一個享受的過程。
始于大二的開源生涯
最早做開源,是從大二接觸世界上最好的語言 PHP 著手的。那時候接觸了 PHP3、fleaphp。一直在研究這些東西。機(jī)緣巧合的情況下,認(rèn)識的庫比較多一些,庫積累的多了,就開始用一些框架。那時候,國內(nèi)有一個框架,叫 fleaphp。與此同時,我參與到了 fleaphp 框架組里面。
同樣用之前提到的方式,如果你要參與一個項(xiàng)目,首先,你就要去用它。大學(xué)給別人做兼職做好多個網(wǎng)站;径际怯 fleaphp 做的。所以對 fleaphp 幾個源碼級別的東西,已經(jīng)掌握的非常熟練了,也知道哪一些方面可以改進(jìn),哪一方面做的不是很好。參與開源先使用,拼命的用它,到崩潰為止。只有把它用到崩潰為止,你才能找到他痛點(diǎn)在哪里。
我做開源 fleaphp 框架時,好像沒有 github,基本上我們就是通過一些 qq 群直接交流。哪一塊代碼不對,要修改一下,然后直接修改了。那時代碼還是托管在 Google 的 code 上,協(xié)作也通過它。之后基于此做了很多視頻教程,寫了很多熱門教程。fleaphp 應(yīng)該怎么去用?現(xiàn)在用的比較多的是 thinkphp。其實(shí) thinkphp 剛開始的時候,抄襲了我們很多的理念。然后,當(dāng)年 fleaphp,我們沒有繼續(xù)做下去,也是因?yàn)槲覀儙讉創(chuàng)始人開源方向不一樣,我去了 go 領(lǐng)域,離開 php 界。
這里想分享大家的是,開源是誰主導(dǎo)并不重要,重要的是,你要怎么參與進(jìn)去。就參與的過程,我給作者提供了一個 PR。然后那個作者把 PR 給 Merge 進(jìn)去了,然后成了 Contributor,已經(jīng)貢獻(xiàn)進(jìn)去了。我覺得我的思路和作者的思路,其實(shí)是一樣的,都是在思考修改一個問題,都是為了改進(jìn)一個東西。
當(dāng)然,好的作者的話。比如說,你提供一個 PR, 過去有時候,人家會拒絕你。在整個交流過程中,其實(shí),也是可以學(xué)到很多東西的。有時候,他為什么會拒絕這個東西?Code Review 的時候,為什么會是這個樣子?我覺得,這才是開源社區(qū)的一個氛圍。只有參與進(jìn)去了,你才能學(xué)到更多的東西。
再之后,做過一些邊邊角角的東西,比如寫教程、做視頻教程。再后來,才去思考做一些工具類,怎么樣用一個腳本語言快速去生成一個我要的東西(基于 fleaphp 的),例如自動化生成結(jié)構(gòu)。這些思想會影響我自己做 beego,很多的東西其實(shí)都是自動化。怎么樣自動化也是有歷史淵源的。我以前做過這個東西,我知道這個的好處,可以生成我想要的東西。自動化都是為了節(jié)省我們的時間嘛。
為了讓代碼自動化,做工具類的嘗試
代碼自動化可以讓我們有更多的時間做更多的事情。這個思想,促進(jìn)了我做 beego。文檔和工具都是寫 beego 的時候,腦子里立馬生成的東西。如果我沒有參與到 fleaphp 這整個開源過程的話,我不可能說,在做 beego 的時候,是一步而就的。所以說,所有的經(jīng)歷,就像喬布斯在斯坦福做畢業(yè)典禮的時候說的,人生是有各個點(diǎn)串起來的。你之前做某件事的時候,是不經(jīng)意做的,但是你后面做另一件事的時候,其實(shí)你前面已經(jīng)做了很多的鋪墊。也就說人生的經(jīng)驗(yàn)累積到一定的步驟,你就會爆發(fā)。所以這也就是一個由量變到質(zhì)變的過程。
那這之后呢,我就去了盛大云,做 CDN 的開發(fā)。那個時候,也只是做一些管理系統(tǒng)(用 PHP 的)。那個時候,認(rèn)識了老徐,開始接觸一些 go 語言的東西。那個時候,go 語言是 R60 版本,還沒有正式的 release 版本之前。就開始嘗試寫一些 go 語言的東西。為了嘗試用 go 語言去寫呢,因?yàn)?php 確實(shí)折磨了我好長一段時間。
特別是我加入盛大珈學(xué)院之前,我在百事通也是用 php 做我們自己的 TBIB 系統(tǒng),遇到很多的性能問題。我記得有次熬通宵熬了兩個通宵。為了把那個并發(fā)從 300 提高到 400,整個熬了兩個通宵。但是大家想,從 300 到 400,性能呢沒有提升多少,但是你就花了好長時間做這個。每一個小細(xì)節(jié)都需要花心思去優(yōu)化。
后來,接觸了 go 語言之后,就感覺,隨便一寫都是 php 的好幾倍。當(dāng)然,現(xiàn)在 php7 出來之后,也是性能提升了好多。那是你相比于 go 語言,go 語言畢竟是靜態(tài)語言,性能還是天生的比較好。就開始接觸了 go 語言,就開始寫我們自己的應(yīng)用大文件分發(fā)系統(tǒng)、調(diào)度系統(tǒng),然后短域名啊,就發(fā)現(xiàn) go 語言寫起來就有一個非常好的好處:就是我只要編譯過后(前提邏輯通暢),跑到線上,性能非常好。
所以那個時候就開始深入的學(xué)習(xí) go 語言起來。那個時候,我們組里還有一個小伙子李輝,他是做 C++ 的么,會了解到很多底層的東西。所以很多底層的東西,我會和他交流,在交流當(dāng)中就開始不斷的學(xué)習(xí)。也是那個時候,自己每天回家就利用業(yè)余的時間,不斷地把我自己學(xué)習(xí) go 語言的整個過程來全部寫下來。然后,才有了這個《goWeb 編程》這本書。其實(shí),寫了很長時間的。我估計(jì),那個時候,是第一本有關(guān)于 go 語言的第一本書。應(yīng)該肯定是。
被編輯一句話打動,寫了一本書
這本開源之后呢,大家反饋比較好。然后,出版社就開始聯(lián)系我,問我要不要出版?我的理念是,開源嘛,知識是要共享的,是要幫助到其他人的。因?yàn)椋覄倓偤痛蠹艺f過,我在做 fleaphp 的時候,做過以及寫過很多的教程,教大家怎么去學(xué)習(xí)。在寫這個《goWeb 編程》的時候,也是懷著一份讓大家怎么樣更好學(xué)習(xí) go 語言的心事編寫的。
當(dāng)出版社來找我的時候,我就感覺,我又不賺錢,我為什么要出版。然后,我被一句話打動了。他說,其實(shí)有些人是熱愛看書的,看書也是知識傳播的一種渠道。我想了想,也對。確實(shí)有些人是這樣的。上廁所的時候,可能就是喜歡看書。在不同的場景下,有需求在么,多一個渠道,何樂而不為呢?然后就答應(yīng)了他們,但是說實(shí)在的,出版很復(fù)雜。要審稿,審計(jì)。要各種英文字正規(guī)范。就不符合我這閑慣了的心。
在寫這本的時候,也是在盛大做了好幾個下午。把那些基礎(chǔ)的組件抽取出來之后,在寫書的過程中,在最后兩章,我就思考著,給大家介紹下,怎么教大家寫出一個框架來。所以,才有了 beego 框架的原型。在寫 beego 之前,我用的是 python 的 Tornado。所以 beego 的最初版本就是 Tornado 的 go 實(shí)現(xiàn)。大家現(xiàn)在還可以看到保留了那個風(fēng)格。
我覺得 control 里面對應(yīng)的就是(萊斯特 for)的 post,get 方法。那后面的就是逐步地增加才有了現(xiàn)在的很多的模塊。當(dāng)然了,今天我也是打算做 beego 的 2.0 版本。也是經(jīng)過這么多年,也是積累了一些很多用戶的需求吧。也是打算直接來一個 2.0 版本吧。
開源對技術(shù)人的影響影響一:眼界
我們自己在寫這個東西的時候,就是為了給自己解決事情的。當(dāng)你把他開源出去,你的眼界就會開拓很多。你想我的用戶群里面,其實(shí)他們有各種的需求。這各種各樣的需求哪里來呢?很多情況下,我自己都沒有想到,他們還沒有這么用。然后,我們機(jī)會可以一起來改進(jìn)它。這就是開源社區(qū)。他們能夠讓我看得到,我在工作當(dāng)中遇不到的問題。讓我的眼界放的更闊。設(shè)計(jì)的時候,項(xiàng)目就可以更 flexible。特別是,像我以前寫的時候,就會猶豫導(dǎo)出還是不導(dǎo)出,都無所謂么。
但是,現(xiàn)在很多時候,我都不大敢導(dǎo)出,因?yàn)閷?dǎo)出的時候,用戶用了,就會很麻煩,F(xiàn)在就實(shí)現(xiàn)最小化導(dǎo)出。思考思考再思考。一旦要導(dǎo)出,就會思考 2 遍,到底需不需要導(dǎo)出,因?yàn)楹竺嬖俪返,影響就會比較大。
第二個眼界,就是你把這個項(xiàng)目,放到 github 上面。那 github 上,有全世界各個地方的人。你會接觸到各種各樣的人,90% 的人都是很 nice 的人。他們也很愿意和你交流,愿意得到我們的幫助;蛘哒f,他們的需求是什么樣子的。我覺得他們各種各樣的信息,對我來說都是一個輸入吧。這里面各種各樣的信息,對我也是一個很好地學(xué)習(xí)方式。
影響二:心態(tài)
做開源的時候,剛開始就是從一個年輕小伙子,年輕氣盛。和別人對噴,到后來無所謂。其實(shí),是越來越享受這個開源的過程了。而不是愿意花時間和別人對噴。人家去罵你的時候,你可以欣然接受。ok。也無所謂。你覺得心情不好就罵幾句。實(shí)際上,你就講道理的和別人講。如果說那個人是在沒辦法講道理講得通。ok. 那我們就沒必要理睬這樣的人就好了。這個也不是你的用戶群,對吧。你也不應(yīng)該把你的時間浪費(fèi)在這些人身上,應(yīng)該把你的時間花在喜歡你的人以及你的開源項(xiàng)目的人身上。服務(wù)好他們,這才是我們應(yīng)該真正做的事。
影響三:個人提升
這是最多的方面。例如,我寫出來的代碼是不是很好,高質(zhì)量的代碼。當(dāng)然是盡量好一點(diǎn)。沒有說,我一寫出來的,就是非常完美的。很多時候,你就回看發(fā)現(xiàn),半年前的代碼,怎么會這么爛呢。因?yàn)槟銈人是在不斷提升,很多時候,他開源代碼都是會選擇做出接近完美的代碼,才會公開。這個也是個人的平衡,就是說做完美了才公布呢,還是小步快跑呢?我個人喜歡小步快跑,趕快實(shí)現(xiàn)原型。然后持續(xù)的去改進(jìn)他。因?yàn)槲蚁胫,?dāng)用戶用了之后,這個東西是不是他們想用的東西。
影響四:溝通能力
你需要去寫文檔們需要去 github 回復(fù),需要去 qq 群、微信群里去溝通交流。那怎么樣,很好的去和用戶溝通交流,把你自己的信息直接通過最短的時間傳遞你最明確的意思。其實(shí)這是非常鍛煉人的。到底,怎么樣一個好信息?怎么樣一個直接傳達(dá)的方式,這是非常鍛煉一個人溝通能力的。
影響五:team work 團(tuán)隊(duì)精神
你單兵作戰(zhàn),是可以做一個好項(xiàng)目。但是你持續(xù)要有一個團(tuán)隊(duì)是很有必要的。像 beego,有很多人可以維護(hù)的,像小黑同學(xué),余雙棋同學(xué),有一個貌似意大利的很牛的。只有你很積極地參與進(jìn)來,我才會認(rèn)可你,才會把你納為 contributor,才會是團(tuán)隊(duì)的人。那團(tuán)隊(duì)的人要怎么樣一起工作,怎么樣相互的 review,怎么樣把代碼做好,怎么樣去完善它,協(xié)調(diào)好各方。
本文來源:重慶微信小程序建設(shè)|重慶微信小程序開發(fā)整理編輯(部分內(nèi)容來源于網(wǎng)絡(luò),如有侵犯您的權(quán)益,請聯(lián)系我們刪除)
本文網(wǎng)址:http://zhoukouyizhong.cn/wzbk/wlqy/4915.html
詳細(xì)咨詢:請撥打電話13629754288!
我們團(tuán)隊(duì)的IT服務(wù)始于2007年!
我們服務(wù)于各類企業(yè),為企業(yè)提供全面信息化建設(shè)
客戶的口碑是我們立足的根本,滿意度95%
Our partner
重慶飛海科技有限公司2008-2023