2007年11月25日

三評軟自協之一:怎麼會這樣?

〔註:這篇文章是我在 2006/9/16 寫在我的個人 wiki 上的,因為主機當掉了,就把內容轉貼在這裡。 - 2007/11/25〕

文/Ping

2006/9/16

這次的「2006 自由軟體傑出應用推廣選拔大賽」原是一件美事,竟然被眾人批評得體無完膚,怎麼會這樣?

之所以會有這麼多瑕疵,原因很多,但最根本原因是兩個:

  • 之前辦過相同活動,但沒把相關程式和經驗傳承下來。
  • 必需另起爐灶,可是沒投入足夠的人力,為了趕時間而急就章。
從這兩個問題分析,我認為主辦單位 SLAT 犯了三個錯誤:讓傳承付諸流水、辦活動交差了事、與社群漸行漸遠,以下一一說明。


一、讓傳承付諸流水

自由軟體傑出應用推廣選拔大賽的第一次是在 2003 年舉辦的,後來於 2004 年再度舉辦,之後決定選拔大賽(FSSOC Awards)和技術性的自由軟體競賽(FS Contest)輪流隔年舉行,所以第三屆是在 2006 年舉辦。選拔大賽的規則基本上除了評審的組成之外,幾年來都沒有改變,因此只要把之前接受提名、e-mail 確認、徵詢被提名人意願、請評審審查資格、投票等等的程式拿來再用一次,就可以放心整個選拔大賽的程序基本上會以符合規則的方式進行。

2003 和 2004 年使用的程式是唐宗漢(唐鳳)用 mod_perl 寫的,在 OpenFoundry 上留了一個 FSSOC Awards 專案,原始碼可以從 svn repository 下載,2004 年給評審用的 mailing list 也在專案網頁上有歸檔,換句話說,該有的檔案差多不都找得到,剩下的只是弄清楚如何去用這些程式和文檔,這是 documentation 的問題。

在 2004 年辦第二屆時,就已經知道這是個要去爭取經費或募款來持續常態性辦理的活動。然而因為 SLAT 理事的任期是兩年(2005 年選出的理事不知為何是一年),下一屆選拔大賽舉辦時的理事已經是新一期理事會的人了,在下一屆接辦的人不知會是誰的情況下,怎能不趕快寫出一份「如何使用 FSSOC Awards 軟體和相關檔案」的文件,commit 進去 svn repository,供後人詳讀呢?

沒有寫下文件留傳,等於埋下了一顆地雷。這是對歷史不經心、對後人不負責的行為。若是辦一般社群活動的志工這樣子也就算了,有法律地位的社團法人這樣子不做為,造成日後活動的失敗,就是辜負了社群的期望。

歷史和傳承是一點一滴累積的,不花苦工累積,就會一點一滴失去。我認為沒寫文件這件事,只是 SLAT 眾多失去歷史、失去傳承的事情之一;另外一個很明顯的例子,就是 slat-talk 通信論壇資料的損毀。slat-talk 是 SLAT 成立後立刻建立的通信論壇,在上面討論的議題很多,許多人發表了很有深度的談論,也因為是 mailing list,發表人的 e-mail address 每個人都看得到,不太算有匿名性,所以惡意的人身攻擊並不多。現在的歸檔網頁,是從 2006 年 1 月才開始歸檔的,也就是說,2001 - 2005 這五年珍貴的歷史資料,很可惜的,已經遺失了。同樣可惜的是,訂閱者名單也一起失去了。

這樣子維護歷史資料的 SLAT,前幾屆選拔大賽的官方網站 http://fssoc.slat.org/ 會消失也就不意外了吧!


二、辦活動交差了事

這個活動原訂 7 月 8 日開始投票,但拖到 8 月 3 日才公告投票開始,猜測是因為另起爐灶而有所延誤。如果真的要表揚得獎人、讓得獎人有榮譽,在舉辦這樣的選拔時顯然要很仔細,每一個環節都要務求嚴謹,不能讓得獎人被他人懷疑得獎的正當性和公平性。

SLAT 做到了嗎?當然沒有!

誠然,拿到的舊程式是三不一可能的程式:『這個可能是完整的版本,不過不維護、不回答、不技術支援』,因此要讓它運作起來有一定的難度。但是,出現這個狀況不該讓警鈴響起嗎?沒有程式,選拔大賽程序如何進行?大賽程序無法進行,這個狀況難道不是嚴重的 show-stopper?

那 SLAT 有做什麼事去消除 show-stopper 嗎?看來也沒有!執行者的決定是自己重新練一個程式出來,但從零開始寫出一個完全符合規則的程式,除非是對規則了然於胸的 web 程式高手,不然一定要花上很長的時間。code reuse 是自由軟體的精神和重要原則之一,砍掉重練是萬不得已的手段。個人認為,當事人沒有想清楚,沒有採取消除 show-stopper 最有效的方法。

如果在辦活動時,連 show-stopper 都不儘力處理,那也只能說執行人和主辦單位根本不重視這個活動,並沒有想把它辦得盡善盡美。

這不就是交差了事?


三、與社群漸行漸遠

先講清楚,這裡所謂的「社群」是什麼。我自己對「自由軟體社群」的定義是:對自由軟體有貢獻自己的時間的人,而貢獻的方式可以是寫軟體、譯介面、寫文件、解決他人使用自由軟體的問題、辦推廣活動等等,廣義地說,凡是花時間讓自由軟體更好用或更多人用的人,都算是社群的一份子。

回到問題面來。臨危受命的執行人,碰到不會用但對活動具關鍵地位的軟體,該怎麼辦?

別忘了,這是自由軟體的活動,自由軟體社群和其他技術導向的社群的一個很大的不同,是它的開放性格。所以,不用害羞、不用覺得丢臉,直接向自由軟體社群求救吧!連 linux 裝不起來都能在 freesf.tnc.edu.tw、fedora.tw、BBS 的 linux 連線版等網路空間找到救兵了,apache 的 mod_perl 模組或用 mod_perl 寫的程式裝不起來,當然要搬救兵啊!自由軟體社群中不乏 perl 高手,看到這個活動需要急救,真的會置之不理嗎?或者換句話說,如果求救後,自由軟體社群寧願坐看這艘船沉到海裡去也不出手,不正可以解釋成社群不關心這個活動?真是如此的話... 也許不辦也罷,那至少也比後來的發展好些。

SLAT 有及時向自由軟體社群求救嗎?可沒聽說!

近幾年來 SLAT 因為 slat-talk 的消失和其他原因,平常並不太和社群交流。這也就算了,但是出這種緊急事件也不求諸社群,SLAT 和社群實在是漸行漸遠了。一個遠離社群的組織,不論是營利的公司或是非營利的協會,出面舉辦鼓勵有貢獻的社群朋友的選拔大賽,不很諷刺嗎?

在 SLAT 成立後第一次舉辦的研討會 ICOS 2001 中(喂!研討會的官方網站 http://twopensource.org/icos2001 也連不上了),我給了一場專題演講『社群近況報告 - 軟體自由協會』,向與會的社群朋友宣布了軟體自由協會的成立、以及個人對軟體自由協會的期許,我提出 SLAT 應該是 of the community, by the community, for the community(由社群擁有、由社群組成、為社群服務)的主張。這當然是從林肯大大那兒抄來的,私以為很貼切。雖然必未每個人都同意這個定位,但至少當初 SLAT 和社群是很貼近的。時至今日,不但 SLAT 的理監事會成員和自由軟體社群交集日漸縮小,連行事風格都離社群越來越遠,一嘆!

結語

這是《三評軟自協》的第一評,焦點放在和「2006 自由軟體傑出應用推廣選拔大賽」比較直接相關的三個問題:讓傳承付諸流水辦活動交差了事與社群漸行漸遠。對 SLAT 更一般性的問題的診斷,將會出現在第二評和第三評中。

1 則留言 :