文章專區

2021-11-16盲人摸象看軟體,程式碼是財產,還是……? 479 期

Author 作者 洪朝貴/朝陽科技大學資訊管理系副教授。

過去這幾十年間,手機軟體逐漸吃掉了計算機、鬧鐘、指南針、數位相機、GPS導航、電子字典等物品,軟體/程式碼正在吃掉全世界,而如果我們的社會只停留在將軟體視為財產與工具,將忽略掉許多重點。

軟體像財產嗎?

把軟體/程式碼視為「財產」,恰當嗎?現在的軟體有許多特性,讓它與我們日常的財產有很大的差別。二手電腦可以上網販售,但是Microsoft Office可以嗎?買回家的畫紙蠟筆可以隨時使用,紙筆工廠不會檢查你的網路連線;但是逐步走向訂閱制的Adobe繪圖軟體可以嗎?Line說是為了保護你的帳戶安全,所以一定要綁定一支固定的手機;但是賣你錢包的廠商如果也要求你每次把錢包從一條褲子移到另一條褲子時,都必須把舊的那條褲子擺在手邊,否則禁止移轉,這樣你也可以接受嗎?廠商如果真的這樣限制你的自由,那麼這個錢包到底算是誰的財產呢?

把軟體視為財產其實是大型軟體公司的專利。軟體的複製成本幾近於零,對大型軟體公司來說,販售軟體就像是印鈔票一樣。但是這個權力如果釋放給一般大眾,那麼這種鈔票就會失去它的價值。對一般人而言,我們不僅無權印鈔,甚至無權像自由處置車、房、家具等一般正常財產一樣,自由處置我們所「擁有」的軟體「財產」。把軟體視為財產的視角,完全無法解釋為何我們失去了自由處置財產的基本權利,甚至會限制乃至扭曲思考,讓我們看不見許多比軟體價格更重要的事。曾經,臺灣許多所大學的校長們聯合發表聲明,目的僅僅是集體抗議微軟Office定價過高,令人嘆息。

即使是對於位居大公司的程式設計師而言,所完成的軟體也並不是可以重複販售的財產,而是單一次的工作產出。就像是老師上課的錄影一樣,這種產出並不是他的財產,最多只是可以向學生、僱主爭取一次性額外工作獎金的工作成果而已。

軟體是知識,可以在網路上自由分享

善於搜尋網路資源的人士,很容易把軟體視為「知識」。就像許多食譜或冷知識一樣,都因為資訊複製零成本,所以很容易在網路上搜尋得到、可以無償取得。把任何熱門軟體的名字加上open source去搜尋,經常可以找到自由軟體版的同樣功能替代品。

自由軟體跟網路上找到的食譜一樣,諸多版本的品質高低可能有著很大的落差。但是就如同食譜等網路資訊,只要網站有留言討論的空間,那些原本只是來吸收知識的閱讀者,也很可能在分享知識的氛圍下,把他處的知識帶來分享給站長、原創者、其他閱讀者。從這個視角比較論述自由軟體與專屬軟體孰優孰劣,有一部分會與探討維基百科或開放街圖優缺點的論述類似。也才得以解釋一些問題,例如參與貢獻的程式設計師、撰文者、地圖繪製者為什麼要無償分享?

採取財產視角看軟體、用金錢動機解釋人類一切行為,無法理解甚至會進一步強烈否定好玩、成就感、解決自身問題、提高網路社會地位等金錢以外的動機。在某些論戰當中,甚至可以看見主張「軟體/程式碼是財產;金錢是創作唯一動機」論述者所展現出來的反應,頗為類似獨裁國家民眾遇到多元視角論述挑戰時,堅持以黨的價值觀為唯一權威的態度。

軟體是法律,限制使用規則

程式碼/軟體是法律,這件事創用CC發明人雷席格(Lawrence Lessig)在20多年前寫書的時候就曾加以說明。他以《第二人生》(Second Life)等遊戲作為例子,說明在虛擬世界裡,程式碼像是物理法則(architecture)或是人類法律(law)一樣,限制或至少左右了使用者能做的事。

大約在此論述的同時期,英國郵局大規模導入日本富士通(Fujitsu)開發的「地平線」(horizon)電子會計系統,此後有700多位郵局局長遭控詐欺,其中有39位因此而入獄。直到今年他們才洗刷冤屈,是因為地平線程式碼裡有錯誤(bug) 而毀了他們的現實人生。這兩年的2019冠狀病毒疾病(COVID-19)疫情促使學校改採遠距教學,在美國更有許多學校採用極具爭議的遠距監考軟體。這類軟體禁止電腦的擁有者開啟瀏覽器的其他分頁、禁止開啟其他應用軟體等,行為跟違背電腦主人意志、劫持電腦控制權、刺探隱私的各類惡意軟體一樣。這引發師生抗議軟體公司侵犯隱私與自主權。

無奈地,大多數時候,我們的生活被那些我們無權質疑、甚至無權研讀與理解的法律所宰制著。對於冤獄的局長們,以及因為膚色太深而無法考試的學生們而言,這種被黑箱法律所冤枉的感受特別深刻。另一方面,開放原始碼的各種密碼貨幣,因為遊戲規則透明化及去中心化而吸引了許多投資者的信任,現在更逐漸與主流金融市場整合。密碼貨幣的交易手續費與挖礦機制,還有以太坊與艾達幣等智慧合約、非同質化代幣(non-fungible token, NFT)之類的金錢往來規則,更把「軟體是法律」這句話,從譬喻變成直白描述的事實。

軟體是言論,也應具備言論自由

程式碼也是言論,具有表達意見的屬性,撰寫程式的權利,應被視為言論自由受到保護。舉例來說,合法購買DVD影音光碟的用戶,會因為他的電腦採用Linux作業系統而無法播放。因為解碼授權機構DVD CCA(DVD Copy Control Association)不會同意Linux社群購得授權後公開其程式碼,因此募款也無法解決此一問題。有網友自行開發Linux的DVD播放軟體DeCSS,並且自由分享,開發者卻遭到授權機構DVD CCA以訴訟威脅,並要求網站下架DeCSS。霍蘭(Rene Hollan)採用隱寫術寫文章,把程式碼編碼藏在文章的空格裡,讀懂那一篇文章的人就可以還原DeCSS程式碼。這迫使DVD CCA必須對那邊文章進行言論管制,或者停止封鎖DeCSS。

另一個例子,加州大學柏克萊分校(University of California,Berkeley)的數學博士伯恩斯坦(Daniel Bernstein)發表一篇加密演算法的論文,卻遭美國政府以國安理由要求下架,由捍衛資訊人權的非營利組織電子先鋒基金會(Electronic Frontier Foundation,EFF)協助他進行訴訟。帕特爾(Marilyn Hall Patel)執行審判的法官判決程式碼是言論,伯恩斯坦的言論自由應該受到《美國憲法第一修正案》(First Amendment to the United States Constitution)保護。

另一個比較輕鬆的例子,則是perl程式語言的寫詩比賽,每件參賽的作品唸起來是一首英文詩,執行起來卻是一個程式。

軟體是數學定理,被發現而不是發明

程式碼也是數學定理,有一些人認為這兩者都是被發現的而不是被發明的。諸如各種排序演算法及平衡樹等資料結構,經常都有不同的人各自獨立發現類似或等價的結果。甚至僅僅是邏輯能力較好的年輕程式設計師,也很有機會獨立自行重新發現其中一些最自然、最有效率的方法。筆者在高中的時候,為了破解騎士走棋盤問題,而領悟出一大類對於剛學會迴圈的程式設計師而言較為挑戰問題的解法,直到大學唸了資工系才知道那個問題叫做旅行推銷員問題(travelling salesman problem, TSP),而我想出來的方法叫做遞迴。

事實上程式語言中有一大家族通稱為函數程式設計語言(functional programming languages),其設計理念就是把每一個程式碼都視為一個數學函數,而驗證程式碼的正確性也就變成了證明數學定理。如果這個社會用智慧財產權保護高斯消去法(Gaussian Elimination)或牛頓-拉福生演算法(Newton-Raphson Algorithm),要求每位使用者必須付錢給發明人的子孫,那麼數學在各種工程上的應用將會更加蓬勃或是肅殺呢?錢應該要付給牛頓的子孫還是拉福生的子孫呢?

軟體是認知戰的工具

程式碼是認知戰的工具,學習強國的app就有個最鮮明、赤裸裸的例子。高壓洗腦是最強有力的方法,但並不是透過程式碼進行認知戰的唯一方式,在《全民打漢奸》這個遊戲裡,反送中人士被貼上漢奸標籤,成為玩家打殺的對象。這個遊戲在微博中四處散布並沒有標明註明著作權人,創作者的動機顯然不是販售財產以便賺錢;這不是誰的財產,而是政治作戰文宣的21世紀版。

不過,共產黨並不是透過程式碼進行認知戰的唯一組織。《逆統戰:致地與海的革命者》是一款由臺灣境外戰略溝通工作小組所發表的反共史詩桌遊。籌資固然是目的之一,但是用智慧財產權保護它是否有助於終極目標?這是值得創作團隊思考的問題。

此外,政治並不是透過程式碼進行認知戰的唯一戰場。許多廠商把證券交易app設計成像遊戲一樣,吸引年輕人頻繁交易上癮。投資新手凱恩斯(Alex Kearns)誤以為自已賠大錢而自殺,這引發了美國證券交易委員會的關注,要限制這類的引誘交易限制。遊戲設計師佩德西尼(Paolo Pedercini)撰寫許多刻意引發爭議的apps,目的是要促使大眾討論被主流媒體所忽略的重要議題。他的作品遊戲《電話故事》(Phone Story)探討衝突礦產(conflict mineral)議題下的童工、血汗工廠、計畫報廢等問題,戳到許多手機生產商的痛點,因而遭蘋果從App Store下架。值得一提的是:跳回先前的「程式碼是言論」觀點,《逆統戰》與《電話故事》這類挑戰強權的認知戰武器,遭到強權噤聲也是很容易理解的。

軟體逐漸成為身體的一部分

最後,程式碼正在逐漸地與我們的身體結合,擴充甚至融入我們的神經系統。近期一個案例,是4歲的瑪雅(Maya)因為障礙無法清楚發聲,只能靠一家小公司在iPad上所推出的app「Speak for Yourself」(SfY)與父母溝通。而溝通輔具(augmentative and alternative communication, AAC)市場上的大咖公司Prentke Romich Company(PRC)原本的暴利被SfY所破壞,於是以專利法令控告SfY的發行者,蘋果也配合其要求將SfY下架,而瑪雅也因此被噤聲。

另一個案例,桑德勒(Karen Sandler)是軟體自由保護協會的律師,也是心律除顫器的使用者。她想要知道自己所使用的機器是否安全,但她無法從廠商手中取得程式碼。即使白帽駭客巴納比(Barnaby)早已示範如何駭入胰島素泵,顯示醫療器材的資安問題嚴重。桑德勒更不斷地向廠商強調:這是要放進我身體裡的東西,我需要知道它是否安全,但仍舊沒有任何一家除顫器的製造商願意提供程式碼。除顫器的參數設定對孕婦特別危險,如果有程式碼,就可以特別針對孕婦改變參數設定。但是在廠商不願意配合情況下,最後醫師只能施藥降低她的心跳速度,而提升了其他方面原本不必要的醫療風險。

特斯拉(Tesla)、太空探索技術公司(SpaceX)、Neuralink創辦人馬斯克(Elon Musk)的公司,最近成功地讓一隻頭骨底下裝有Neuralink的猴子用思想去操作遊戲。當逐漸老去的我們,全身上下從心臟到頭腦都漸漸需要透過軟體與世界互動的時候,我們還堅持「軟體是財產」的觀點嗎?我們認為廠商有權隨意處置他們的財產,透過藍牙或是WiFi讀取,甚至遙控那些植入我們身體裡各個器官的裝置嗎?

將軟體僅僅視為財產,而缺乏其他認知的社會,就像只被允許觸摸牆上細縫露出來的一條大象尾巴的盲人們一樣,因為關注了錯誤的重點,而失去許多真正了解大象──軟體的機會。軟體/程式碼正在吃掉全世界。如果這麼說太抽象,請想想過去這幾十年間,手機吃掉了計算機、鬧鐘、指南針、數位相機、GPS導航、電子字典,為什麼?無論是售前到售後,一般使用者從來不是軟體真正的「擁有者」,卻被說服把軟體視為大公司的財產。這樣的想法比所有的盲人們只能搶著摸象尾巴更危險,更令我們──包含大學校長與資訊、電腦教授們──的想象力貧乏、無法應對新世界的快速變化。我們的社會,需要勇氣打破對於軟體的認知高牆、需要更多採用其他觀點的聲音,去討論、理解軟體到底是什麼、會如何影響我們。