電腦效能應用與安全研究室 Performance, Applications and Security Lab


我們的研究範圍很廣,從嵌入式系統、手機應用、一直到雲端計算、商務應用、資訊安全都有做。
我們的合作研究夥伴很多,包括聯發科、IBM、中研院、資策會,還有和台大、清大、交大的教授合組研發團隊
,包括高階應用處理器架構研究、虛擬化技術、異質計算、系統軟體等重要技術的研究與創新,我們很關切台灣人才與產業的未來。

2016年5月13日 星期五

如何深耕軟體工業基礎技術?

昨天(5/12)被邀請去參加「行政院工業基礎技術第二期次產業投入與深耕項目產官學共識會議-軟體領域」,聽了第一期的執行成果報告,在座的產學人士,包括我在內,都給了一些意見,因為官方希望知道第二期要做些什麼。

在講我的意見之前,先談談第一期的執行面。被派來呈現第一期的成果代表團隊有三個,我特別欣賞中山大學黃英哲教授團隊的報告,他說他早在12年前就開始做軟硬體整合的技術,有與業界合作的產學計畫,也有受科技部補助的前瞻研究計畫,當然我在多個教育部教改計畫中也見到黃教授的貢獻。

我欣賞黃教授的成果,不是因為他報告中所呈現的KPI,而是因為我這些年看過多次他團隊所呈現出來的內容,挑戰困難的實作問題,堅定的態度始終如一,不隨波逐流。因此長久深耕而能累積豐富深刻的技術,進而衍生產學計畫、技轉、專利、論文等等,自然是水到渠成的事,毫不意外。

然而,黃教授也誠實地說,他這12年來深耕軟硬體整合技術,最辛苦的就是做第一期深耕計畫的這四年,因為每隔三個月科技部就要研究團隊填表格提供成果報告,而成果報告表格的項目一大堆,衍生產學計畫、技術轉移、專利申請、論文發表、培育人才、開發課程、辦理推廣活動、邀請業師授課、赴業界演講等等。如果績效不彰,可能就刪減預算,甚至停止計畫。所以光是忙著應付這些關鍵績效指標(KPI),就忙得不可開交。光是這兩週,我就見過他來台北兩次做這個計畫的成果報告。

我發言說我深感認同,因為我們也深為KPI所苦,而且這些年來用數字管理,已經早造成了許多嚴重的問題,應該要換個方式來評鑑執行成效,尤其是這個所謂的深耕工業基礎計畫,如果目的真的是為了好好發展那些「在國際上趨成熟,但台灣過去因產業文化,且未能在短時間看到經濟效益,以致於產業尚未投入深根之技術」(請參考下圖),就應該不是這樣的做法。



這個工業基礎技術發展方案,用「三高一廣」來描述其願景,在三年多前一開始的時候只有幾項質性的KPI,但一路執行下來,為了滿足計畫審查委員和立法院的質詢,不斷加入新的KPI,希望參與的研究團隊能夠提出強而有力的實質證據。

實質證據?如果是前瞻研究或產學計畫,或許可以定義好標竿,但一面說要「深根」和「十年磨一劍」,一面又要執行團隊每年拿出績效,要「三高一廣」,可能嗎?同時,由於這些KPI,反而造成許多「務虛」的事情。填表的事情就不用說了,為了要有經濟效益,研究團隊必須配合廠商,因此也不可能把研發的技術免費方享推廣給大眾,於是立意頗佳的計畫,到頭來只有少數廠商受惠、培養少數研究生而已。

我直接了當說,這些繁瑣的KPI不僅無法評估真正的貢獻,而且還扯後腿,讓研究團隊之間彼此競爭而非合作,成果無法在國內分享推廣。

今天要解決這個問題,關鍵不在於談下一期要做什麼,而是必須基於開放方享的概念,來提昇真正作為工業基礎的生態系(ecosystem)。例如談軟體領域,現代軟體工業的基礎是開放原始碼計畫(open source projects),尤其是那些常見於大型軟體工程以及系統軟體的開放原始碼計畫,包括Linux, Android, Apache, Hadoop, Spark, NoSQL, LLVM, Tensorflow等,國內現在極度缺乏能夠好好使用或修改這些開放原始碼計畫來堆疊出大型軟體應用或是建構先進系統的人才,原因是沒有人好好來經營這個生態系!

坦白說,國內在軟體實務工程架構技術上落後先進國家幾十年。不用說先進技術,各位可以到國外參加討論版,就可以知道人家如何從公開的討論和程式碼的分享中培植軟體人才和厚植軟體的實力。上述的開放原始碼計畫,都是經過許多一流專家們千錘百鍊所打造出來的,如同把秘密和寶藏公開放在我們面前供我們免費取用,正是我們好好利用來迎頭趕上的機會,為什麼不把握機會以國家的力量經營這個開放原始碼計畫生態系?

有人說,前幾年科技部不是砸錢搞過開放原始碼計畫嗎?再次,我必須說KPI不對,在執行面上就會失焦。之前科技部所支持的「自由軟體鑄造場」(https://www.openfoundry.org/),目前有將近1976個開放原始碼計畫,立法委員看到數字每年增加很高興,但究竟有多少是有用的呢?開放原始碼軟體貴精不貴多,各位到國外的網站上,可以看到更多的開放原始碼軟體,例如sourceforge.net 就有21539個程式碼。要知道,既然可以免費使用人家的原始碼,我們何必花時間重新打造類似的東西呢?(如果說這是訓練,那要如何證明程式碼不是抄來的呢?)

務實支持開放原始碼計畫,不是鼓勵參與團隊多多發表全新的開放原始碼計畫,應該是聚焦在現有的重量級開放原始碼計畫,鼓勵學界、業界多分享、研究、改進、貢獻這些開放原始碼的技術。學生藉由研究重量級開放原始碼來學習第一流的軟體、強化自己的軟體實力,藉由使用開放原始碼來堆疊出有創意的作品,藉由改進或創新開放原始碼來展現自己的程度。業界要懂得如何善用開放原始碼,而不是看到開放原始碼就轉彎,因為世界上的開放原始碼計畫越來越多、越來越好,看到開放原始碼就轉彎的公司遲早會無路可走,難道沒看到連微軟、IBM也擁抱開放原始碼嗎?

然而,業界要善用開放原始碼來創造價值,一個健全的開放原始碼生態系,其中包括好的人才參與其中、技術的交流、產業的分工。在這方面,我們落後先進國家很多,但是由於開放原始碼的天性,我們可以從網路上取得大量免費的資源加以研究,所以成功的機會遠比那些需要昂貴研究設備的尖端科技,或是需要長期實務經驗累積而成的工業技術來得高,關鍵在於有沒有辦法聚集足夠的高素質軟體人才和產業的參與。

目前的開放原始碼生態系還不夠蓬勃,缺乏業界的支持,雖然許多人有心耕耘,但大多是以社團、同好會、讀書會的形式在運作。雖然如此,但我樂觀其成。這幾個月來我課上演講的業師們,在國內的網路社群上很活躍,他們樂於分享開放原始碼的研究心得,也透過分享讓世界知道他們的才能,對社會和產業造成貢獻。

因此我對長官說,您問我第二期深耕項目要做些什麼?在座的諸位有各種的意見,我也可以把我有興趣或專精的技術項目加進去,但我認為重點不在於技術研發,而在於生態系的經營。至於要如何經營軟體領域中重點項目的生態系?我想可以利用開放原始碼作為基本載具,在上面想辦法加值,把成果分享給所有人,有產官學積極的參與和持續提供充分的資源,自然能把基礎打穩,大可不必讓KPI造成學界、業界的隔閡和浪費資源。

沒有留言:

張貼留言