聯通一切:Scratch的開放式創新
炫科技
作者:吳俊傑
Scratch是這樣的一種軟件:我們可以找到它的源代碼,而且任何人能夠對其進行修改,並發布自己的改進版本。要做到這一點,隻需滿足兩個要求:一是改進版本的初始畫麵不能是一隻小貓,比如S4A軟件打開的默認圖案是一個Arduino板;二是改進版本保存的文檔不能再被Scratch原始文檔打開,比如S4A軟件當中,保存的擴展名為.sa的文件是不能被Scratch1.4編輯的,隻能使用S4A打開。這樣做的目的,是要讓Scratch作為一個開源軟件項目,保持其外部的活力和內部的一致性。
好的想法永遠不會消亡
在Scratch開發者——美國麻省理工學院媒體實驗室終身幼兒園團隊內部,隻有四五個人為Scratch軟件做技術維護。因此,很多用戶所需要的新功能,是不能夠馬上放進Scratch當中的。但是開放性創新的生態有助於改進這一點。比如在Scratch1.4當中,用戶不能自建帶參數的函數,而其改寫的版本,由美國加州大學伯克利分校開發的BYOB則率先更新了這個功能,之後Scratch2.0當中就增加了這個功能。
樂高,是終身幼兒園團隊的硬件讚助商。出於維護讚助商利益的考慮,官方的Scratch版本是不方便連接其他品牌硬件的。因此,Scratch1.4一開始隻支持兩個版本的硬件:開源的PicoBoard(Scratch傳感器板)和樂高的Wedo積木。為了平衡這一點,他們設定了一種開源規則。於是,有了S4A,一個由來自西班牙巴塞羅那的Citilab實驗室改進的,支持開源硬件Arduino的Scratch改寫版本。這個版本還創造性地做了一件後來所有Scratch改進版本都做不到的事情:它居然可以同時連接20塊Arduino,並且讓它們之間彼此通訊。
這種做法也是Scratch團隊所歡迎的。2013年,在首次啟動的Scratch Europe活動中,終身幼兒園團隊負責人米切爾·瑞斯尼克親自來到西班牙參與各項主題活動。雖然後來由於團隊方麵的一些問題,S4A軟件並沒有跟隨Scratch2.0一起更新,但是好的想法永遠不會消亡,原來團隊當中的一個成員最終完成了讓Scratch2.0支持Arduino的插件的編寫。而最近,S4A團隊終於將其軟件版本更新到1.6,並加入了大量基於物聯網的功能。
分享,培養競爭者以促進自己改變
Scratch團隊的精神代表著一種開放式的創新精神,其最重要的特點是分享。就像中國乒乓球要想不斷提高競技水平,就要學會分享技術,培養競爭者以促進自己改變。最不濟的結果是,創始人無力接盤,但是開源的結果使得好想法的生命周期能夠永遠地延續下去。很多人認為,Scratch是Logo語言的改進。事實上,在Scratch之前,終身幼兒園團隊還開發了另一款圖形化語言PicoCricket。遺憾的是,這款軟件並沒有走開放式創新的道路,其硬件被樂高收購之後,就不再銷售了。我想,這也是Scratch的官方硬件PicoBoard選擇開源的一個重要原因。