「我不擅長與人溝通相處,我只想默默地寫程式。」過去身為程式設計者,大多時候都比較內向,十年寒窗的紮根是值得實行,然而乏人問津並不適合現在這個時代。

隨著程式開發型態的轉變,各式個人化平臺的興起,開發者要大膽地表現自己的想法與要求,唯有被看到、使用與批評,開發者才能加快修煉的腳步,擁有更多的機會與空間。

融合使用者內容的社群網站
早期開發者會透過以討論為主體的媒介,像是IRC、BBS或各式線上論壇來發布訊息、參與彼此討論。隨著眾多使用者參與、更多主題的提出,因而形成越多值得重複利用的內容,像是歷史資料、精華文章、FAQ等,雖然多半是文字往來,但確實是開發者彼此互動的一種方式。

活躍且積極參與的開發者容易受到矚目,藉由文章、星號、積分或有效解答等,來評價開發者在該論壇、社群或領域上的貢獻與能力,至今仍為各種社會化或社交平臺的基本概念。

論壇形式的網站中,歷史資料、精華文章、FAQ等有賴於論壇管理者的維護,隨著維基(Wiki)概念的興起,多人協同創作成為使用者提供內容的一種形式,論壇網站也開始將歷史資料、精華文章、FAQ等,有效地整理在維基上,並由使用者共同編輯與改進。

然而,無論是論壇文件或是共同創作的維基,基本上都是由多人貢獻整體內容,部落格(Blog)的興起,才開始讓使用者本身作為主體,由使用者本身提供個人化內容。

論壇每天都會產生大量討論,維基不斷產生新條目,眾多開發者亦會透過部落格產生新的文章,為了有效率地管理最新訊息,現今社群網站,不再單只指論壇形式,而是結合論壇、維基、部落格與新聞的網站,除了提供來自網站本身產生的訊息之外,還會撮合各個社群網站的最新資料。

為了讓使用者瞭解彼此間關心的重要新聞為何,過去論壇中星號、積分的維護,亦從管理者轉移到使用者手中,成為「讚」、「+1」等推文機制。

以使用者為主體的社交網站

社群網站發展的趨勢,就是從多人貢獻整體內容為主,轉變至獨立個體的內容為主。部落格形態是一個開端,在部落格興盛的年代,不少人會透過RSS閱讀器工具,來獲取部落格作者的最新動態,作者個人動態變得重要,而文章迴響也不單只是評論,引用(Trackback)的功能,在使用者看到某篇網誌而另起新文時,可以至該篇網誌中留下迴響,讓對方和其他讀者知道這些文章間的互動,這使得自己與他人的動態變得更加重要。

部落格文章基本上會包括較完整的概念,同樣是彰顯自己的動態,並強調與他人的互動,微網誌形式開始興起,因緣聚會之故,Twitter成為開發者的首選平臺,開發者用以發表即時動態、片段靈感、文件或自身部落格文章的鏈結,跟隨(Follow)的概念取代了RSS,提及(@)取代了引用,跟隨者(Follower)、轉推數(Retweet)成了新的評價系統。

自己與他人動態成為主體之後,Facebook更進一步加強了人與人之間的連結,透過人脈網絡的運算,主動建議更多人參與互動,社團功能讓開發者可以自行建立特定論壇,討論自己感興趣的話題,專頁設置讓開發者有更有效的工具,可以主動將目前動態通知粉絲。不過一開始過於強調人與人之間的連結,缺少有效的分類,使得Facebook逐漸令一些開發者厭煩,逐漸變成瞭解親友動態的工具。

Google+在此時發表,雖然開始時被認為是無人使用的「鬼城」,卻意外填補了開發者的缺憾,由於一開始在Google+中人脈關係一無所有,使得開發者更謹慎地經營,現在Google+反成了開發者或專業者群聚之處,對於開發者或尋求更特定族群的使用者而言,有別於Facebook的大雜鍋。

從過去的論壇、部落格,到後來的Twitter、Facebook、Google+,越來越強調使用者為主體,開發者若有心經營,切忌使其成為呢喃之地,資訊氾濫的年代,每個人在關切動態之時,都希望能獲取真正有益之資訊,無聊之餘發布的早安、毫無任何意義的打卡,偶然為之是有趣,但頻繁為之,對跟隨者來講則是雜訊。

論壇、部落格、Twitter、Facebook、Google+等雖各有相近之處,但實際上族群有所不同,看清自己真正想互動、經營的族群進行區隔,而不是利用工具將同一訊息發布於多個平臺,造成資訊的重複,更令跟隨者無所適從。

以開發者為主體的社交程設

無論是部落格、Twitter、Facebook、Google+,訴求的對象其實不限於開發者,而是各個領域的使用者,開發者不過是這些領域中的一小個族群。社會化程設(Social Coding)的概念,則真正將開發者視為主體,其中更以GitHub為主要平臺。

Git本身是個分散式版本控制系統,由Linux創建者Linus Torvalds於2005年開始打造,它是基於P2P(Peer-To-Peer)架構開發,每個開發者手上的檔案庫(Repository)地位相等且可獨立運作。以比喻來說,集中式版本控管系統相當於以內容為主的網站,而Git就相當於以個人為主體的Twitter、Facebook等。

GitHub雖提供Git托管服務,然而其主要理念在於社會化程設。在GitHub就可如同在Twitter、Facebook或Google+等,開發者可以發表自己的動態,不過這個動態是自己手上的專案程式碼;開發者可以關注其他開發者動態,也就是他手上的專案程式碼;開發者可以對其標示星號、把程式碼複製回來研究、發表評論、回報問題(Issue)、建立分支(Branch)、發出提取請求(Pull request)要求合併(Merge)。各種社交機制都圍繞著開發者,以開發者為主體,最新的動態都是有關程式碼。

Git的分散性、平等性與獨立性,結合GitHub提供的各種社交機制,與開放原始碼專案希望更多開發者投入,讓專案更健壯成長的想法不謀而合,因此,全球有名的開放原始碼專案逐一落腳GitHub,這更促進了GitHub成為開發者社交程設平臺的首選。

隨著更多開發者使用GitHub,使得GitHub個人頁面成為開發者的能力指標,相對於Twitter、Facebook、Google+等社交平臺,GitHub呈現的指標不只更具體地指向程式碼專案本身,更指示出開發者在開發領域上的社交能力。不少開發者的履歷上,也紛紛列上GitHub個人頁面網址來彰顯這份社交能力。

密切結合的虛實互動
無論是使用哪個平臺,無論平臺的目標群眾為何,其實都顯示出開發不再是離群索居之事,或許一開始就不是。

過去受限於溝通媒介不發達,開發者給予人的印象,就是關在小房間面對電腦,作些世俗人認為孤僻怪異之事,開發者可分享溝通之對象,因而受限於身邊可觸及之臭味相同之同好,成為當時社會環境中看似詭異的奇異社交團體,然而開發者對社交的需求確實是存在的。

現今各式社交平臺興盛,擴展了開發者虛擬的社交範圍,增加了社交的自信,回過頭來,更促進了實體的社交聚會。這幾年在臺灣,也出現了大大小小、各式各樣、定期或不定期的使用者群組(User group)聚會、研討會(Conference),相較更久之前,只有技術原廠或大公司才有能力或願意舉辦研討會而言,對開發者而言實屬福音,然而虛實互動不僅促進了開發者的社交性,更能促進社會的進步,像近來出現的零時政府(g0v.tw)與還文於民(3du.tw),都讓開發者實際參與社會環境改善。

作者簡介


Advertisement

更多 iThome相關內容