微軟併購 Nuance,確認了語音 AI 在醫療領域的實用價值。相較於影像 AI ,語音 AI 所需的資料更加多元、更加在地化。不論是為了拯救過勞的美國醫生,或是扭轉台灣高門診量的醫療文化,語音 AI 都將是得力助手。
- 2021-05-26 週三 Google I/O 2021 — 工作軟體 Workspace|人工智慧模型 MUM 與 LaMDA|Google Shopping
- 2021-05-25 週二 簡訊實聯制大獲成功|開放設計|校正回歸與規模化
- 2021-05-19 週三 東南亞獨角獸 Gojek 與 Tokopedia 合併|華納媒體與 Discovery 合併
折騰 10 年的訴訟結束了! 最高法院認定 Google 抄襲 Java 的 API 為合理使用。在軟體社群開心的同時,法律人士卻大失所望,因為軟體著作權解釋再次被大法官所迴避。本集討論此判決的重要性,以及對軟體業與著作權的影響。
閱讀時間 12 分鐘
Android 選擇抄襲
2005 年,地球仍是 Nokia、黑莓機等「半智慧手機」橫行的時代。智慧型手機山雨欲來,但尚未呱呱落地 — 要等到 2 年後 iPhone 才會問世。許多公司正緊鑼密鼓地秘密開發智慧行動裝置。
其中一家公司是 Google。Google 併購了新創 Android。Android 團隊決定以 Java 語言為核心,建造新一代的手機作業系統。當時 Java 主要用於電腦與伺服器。而團隊負責人 Andy Rubin 指出 Java 已有眾多的開發者與詳盡的文件,是發展智慧型手機系統的最好起點。
問題是 Google 需取得 Java 的擁有者昇陽(Sun Microsystems)的授權。然而雙方始終無法談成。最終 Andy Rubin 在一封內部信中留下兩個選項:
. . . . 如果昇陽不想跟我們合作,我們有兩個選項:(1)放棄並改用微軟的 CLR VM 與 C# 語言,或(2)硬做 Java 然後捍衛我們的決定,一路上豎立許多敵人。
Google 選擇(2)硬做。Google 希望吸引 Java 工程師轉來為 Android 開發,於是採用了一個巧妙的作法:它沒有照抄 Java 的所有程式碼,而是只抄襲了 Java 的應用程式介面(Application Programming Interface, API)。
想像有一個圖書館,專門蒐集各種工具書。圖書館裡有 37 個書架。每一個書架上放同領域的書。例如個人理財書架上放了很多個人理財的書。廚藝書架上放很多廚藝的工具書。
每一本工具書裡有不同章節。例如廚藝書架上其中一本是《快速牛肉料理大全》。書的其中一章是「蔥爆牛肉」。
每一章裡還分兩部分,「材料準備」與「實際製作」。例如「蔥爆牛肉」這一章,會先有一個材料準備:「綠蔥至家樂福買。牛肉需澳洲牛,可以在 Costco 買。另外準備醬油。」實際操作的部份,則描述做菜流程:「蔥爆香,再下牛肉跟調味料」。
Google 的巧妙之處,便是在蓋 Android 圖書館時,照抄了 Java 圖書館的 37 個書架名,以及這 37 個書架內,共 7,000 行的「材料準備」。Google 沒有抄實際操作的章節。
注意 Google 重新寫了「實際製作」的部分的程式碼 — 因為要配合手機的特性 — 這部分稱之為執行碼(implementing code)。但 Google 照抄了 Java 共 37 大項,11,500 行的「材料準備」部分,稱之為屬性宣告碼(declaring code)。Google 也照抄了「書架」、「章節」的名稱以及其組織方式(如下圖)。
抄的好處是當 Java 的工程師轉過來時,就不用重新學習 API 架構;只要使用已知的指令呼叫方式(method call)就能上手。
Google 的策略成功了。Android 免費、開源,迅速席捲市場,成為市佔率最高的手機作業系統。Google 也賺到滿滿的錢。相對的,昇陽卻日落西山,於 2010 年被甲骨文(Oracle)併購。
甲骨文於 2010 年控告 Google 侵犯其著作權。此案纏訟 10 年,不僅影響數百億美金的手機市場,也牽動軟體業的運行方式,被稱為「十年來最重要的著作權案」。
終於,本週美國最高法院做出了蓋棺論定:Google 勝訴。根據 T 客邦報導:
美國最高法院週一裁定,Alphabet 公司旗下的 Google 公司使用甲骨文公司的軟體程式碼所構建在全球大多數智慧手機上執行的 Android 系統,並未違反聯邦 [著作權] 法。這是 Google 的一大勝利
法官們以 6 票贊成、2 票反對的結果推翻了下級法院的裁決。先前法院判定 Google 將甲骨文的軟體程式碼包含在 Android 系統中是不合理使用,違法美國 [著作權] 法,需賠償 88 億美元。
大法官 Stephen Breyer 表示,允許甲骨文在其程式碼上執行 [著作權],將使其成為「限制新程式未來創造力的枷鎖」,從而損害公眾利益。
以下我將討論 Google 為何勝訴,以及此一判決對軟體業的影響。
著作權是手段
為何 Google 擺明是抄襲,而且是為了挖角別家的開發者,卻可以勝訴?
首先要理解著作權是一種手段,不是結果本身。著作權的存在是為了鼓勵創作,特別是鼓勵創作那些易於複製的東西,例如電影、書、音樂等。如果沒有著作權保護,作品可以任意複製,作者無法從作品中獲利,那就沒有人要創作了。因此才會有著作權 — 著作權的目的是激發科學與藝術(science and art)。
也因此著作權的保護不是絕對的。著作權本質上是為了一個人(著作權人)的利益,限制整個社會的行為。所以(美國)國會也設下許多限制,限縮著作權的涵蓋範圍。例如若一個領域就算沒有著作權保護,仍然蓬勃發展,那麼著作權就不需要過度的伸張。
而美國最高法院本次判決的核心,就是認為允許 Google 抄襲 Java 的 API 反而有助於創造更活絡的軟體環境。
不過這是跳到結論。我們先倒回去,討論個別的論點。Google 在上訴中提出了兩個主要辯護論點。
第一,Google 主張 API 不受著作權保護。Google 主張 API 這種分類方式,是一種概念、一種數學方程式,或是一種操作方法(method of operation),不該受著作權保護。就像物理課本裡的地心引力公式,或是字典的索引不應該受著作權保護一樣。
相反的,甲骨文則主張設計 API 是需要高度創造力。設計一套直覺、易記的 API 並不簡單,跟寫出《哈利波特》一樣需要創意。而且 API 有許多種設計方式 — 微軟與蘋果後來都開發出自己的 API — 因此甲骨文所選的設計當然應該享有著作權的保護。
這其實是本案最重要的爭執點,也是軟體業最關心的部分。很可惜最高法院迴避了此一問題,只說「為了方便討論,我們假設 API 具有著作權保護」,並直接跳到下一個論點。
合理使用
第二,Google 主張其是合理使用 Java 的 API。
合理使用(fair use)是可以侵犯別人著作權的例外狀況。如前述,著作權的保護不是絕對,會受到其他權利的限制。例如美國憲法第一修正案保證言論自由,因此雖然電視新聞享有著作權;但如果我想要抨擊、嘲諷電視新聞,就可以取用其中一小段,拿來製作抨擊內容的材料。這是一種合理使用。
常見的合理使用包括評論、嘲諷、教學、研究、逆向工程等。根據美國著作權法,法院必須根據 4 個要點來評估是否為合理使用:
- 使用的目的和性質;
- 著作權作品的性質;
- 相對整個有著作權作品相比所使用的內容和數量;以及
- 這種使用對有著作權作品的潛在市場或價值所產生的影響。
更白話文就是:
- 為什麼抄;
- 被抄的是什麼樣的東西;
- 抄了多大比例;以及
- 抄了害對方損失多少。
. . . . 某夜店 DJ 擷取(sample)了 Taylor Swift 情歌的片段,放在舞曲組曲中。這時雖然他用到了 Taylor Swift 的情歌,但是是有限的使用,並且有轉換其意義(transformative),不會讓人誤解 DJ 是原唱,也不會傷害到 Taylor Swift 的情歌市場。那麼基於鼓勵創作的公益性,這樣的侵權沒有關係。
在本案中,多數法官認為 4 個考量要點都對 Google 有利。
法官首先考慮第 2 要點。他認為被抄的 API 與一般的程式碼不同,其並不直接執行任務,只是開發者與程式碼之間的介面(interface),且主要價值源自於開發者對於 API 的熟悉度,因此抄襲更可能是合理使用。
在第 1 要點上,法官認為 Google 的抄襲也是一種轉化(transformative)使用 — 從電腦轉移到手機。因此不會替代原本的使用情境。
在第 3 要點上,法官認為 Google 抄襲的 API 僅佔總程式碼的 0.4%。而且 Google 不是為了 API 的「創意或美麗」而抄襲,而是為了讓開發者能更快上手,不算實質性的(substantively)抄襲。這有點類似我製作一個同樣使用 QWERTY 介面的鍵盤,不是因為這樣的排列特別美麗或好用,而是因為大家都習慣了。
在第 4 要點上,法官認為 Android 並不是 Java 的競爭者,沒有傷害 Java 的市場。也沒有證據證明如果 Android 沒有抄襲,甲骨文就能成功地進軍手機市場。事實上法官認為 Android 帶動更多人熟悉 Java 語法,反而擴大了 Java 的市場。
基於以上四點,多數法官認為 Google 抄襲 Java 的 API 屬於合理使用。允許其合理使用有助於加快軟體發展,且沒有傷害到甲骨文的原有市場,因此判決 Google 勝訴。
軟體業安心
判決一出,軟體社群大多一片好評,紛紛驚呼:「心頭大石終於落地了。」因為使用既有的 API,再重新寫執行碼在業界實已是常態。如果甲骨文勝訴,整個軟體業都要重新調整。
然而發表不同意見書的 Clarence Thomas 大法官則指出,多數法官的判決迴避了核心的問題 — API 是否可以享有著作權保護 — 而且違背商場現實。他認為 Android 當然傷害了 Java 在手機市場的機會。Thomas 指出 Java 原本是手機領域最普及的程式語言。原本亞馬遜、三星都與甲骨文簽有 Java 的授權協議;但因為 Google 沒付錢、Android 又是開源的,導致亞馬遜把授權金砍到原本的 2.5%,三星的授權金則從 4 千萬美金掉到 1 百萬美金。
Thomas 也不認為 Google 的使用方式有什麼「轉化」— 兩者 API 的功能根本一模一樣,從電腦到手機也不算真正的跨市場。他進一步質疑,如果誰都能抄襲,那麼未來誰還願意投資開發直覺、好記的 API 呢?
從產業的角度來看,我同意多數大法官的意見。「挪用」API 已是常態,現在只是確認為合法使用。目前看來新 API 前仆後繼地出現,並沒有缺乏投資的狀況。如果判決反過來,變成每次寫新的軟體平台都要重學 API 或是付授權金,的確會動盪整個產業。
未來軟體之間的 API 會更接近,更容易相容(interoperable),也更容易開發。不過我不確定長期是否真的對整個軟體社群有利,還是對大企業更有利。未來大公司看到有潛力的開源碼專案或是新創的程式碼,也可以照抄 API,吸走客戶,靠規模擊敗新創。這對 Stripe 與 Plaid 等「API 企業」都是新的挑戰。
我可以確定的是,最高法院用了 62 頁判決,其中超過 10 頁解釋何謂軟體平台、API 與程式碼,證明了軟體已成為社會的骨幹,亟需更多權利義務的定義。只是軟體可以輕鬆的決定哪一個指令能呼叫哪一個任務,法院卻得花 10 年才能釐清人際之間的利益衝突。
從臉書到 Twitter,從 Spotify 到蘋果,科技巨頭紛紛推出新工具,讓創作者可以靠付費內容賺錢。雖然今天的創作者不必跟當年的島讀一樣自建平台,但是也出現了新問題:如何選擇適合的平台,同時保有獨立性?
Starlink 將用人造衛星灑滿地球軌道。當人造衛星佈滿天際時,不只偏遠與貧困的人民將受惠,都市的生活面貌也將有巨大的改變。
閱讀時間 12 分鐘
一個平靜的下午,交易員史帝夫突然抬頭,注意到螢幕上通知,台灣的 PTT 股票版上有一群人準備炒作一支美國股票。
「太好了,再一次 Game Stop 之亂!我又可以大賺一筆!」
在鄉民的訂單都還沒送出之前,他已經提前數十毫秒,將自己的訂單輸入 Nasdaq 系統。接著股價果然如預料上漲,他也順利的套利了結。
當交易的腎上腺素褪去,他覺得肚子餓了。於是調轉船頭,開船回澎湖岸上去吃海鮮。他能遠從太平洋上領先眾人交易,是因為使用了衛星網路服務「星鏈」(Starlink)。
星鏈是 SpaceX 的姊妹公司,其實還在測試中。不過已經將完成第一階段的部署。根據 Space.com 報導:
3 月 14 日早上,一架 SpaceX 獵鷹 9 號火箭將 60 顆星鏈人造衛星送至軌道上,並且成功的在海上降落,結束創紀錄的任務。
這一台獵鷹 9 號是 SpaceX 旗下發射與降落共 9 次的老兵,創下紀錄。. . . 不到數日前,另一架獵鷹 9 號也完成遞送 60 顆星鏈衛星至軌道,讓 SpaceX 越來越接近其初步規劃的 1,440 顆衛星「星座」(constellation)。
去年我解釋了地球軌道上有約 2,000 顆人造衛星,而星鏈要額外增加 1,440 顆!事實上根據星鏈最新的計畫,其預計在 2025 年之前發射 1 萬 2 千顆人造衛星。並考慮再發射 3 萬顆,總計 4.2 萬顆人造衛星!
為什麼要這麼多衛星?因為星鏈使用的低軌道(Low Earth Orbit, LEO)衛星,離地面近,因此需要更多顆才能覆蓋全球。這跟傳統衛星非常不同:
傳統上,衛星網路是由「地球同步衛星」(geosynchronous satellite,簡稱 GEO 衛星)發送。這類衛星「固定」在地球的相對位置上,離地距離超過 2 萬公里,可以涵蓋很大的區域範圍,因此只要數十顆就能涵蓋整個地球。但相對的頻寬比較小。而且由於衛星離地太高,地面必須用大體積的天線才能接收到訊號。
若改用近地的 LEO 衛星,無法固定在地球的相對位置上,涵蓋範圍也比較小,因此需要大量衛星組成一個「小行星帶」才能服務全地球。但優點是地面接收器可以大幅度縮小,甚至小至一個披薩盒的尺寸。
可以參照《了概》製作的圖。GEO 是下圖中的「高軌道衛星」,而 LEO 是「低軌道衛星」。那傳統衛星網路公司為何不用 LEO 衛星呢?因為他們沒有 SpaceX。SpaceX 與星鏈是魚幫水,水幫魚。
火箭與衛星互補
SpaceX 轉投資星鏈是因為迫不得已。SpaceX 開發出可回收的火箭,大大降低運貨至太空的成本,破壞太空運輸業行情。然而其最大顧客通訊衛星業卻來不及反應。因此 SpaceX 在 2012 年就已預見未來 SpaceX 可能會「無貨可送」。這有點像高山嚮導一年協助數百位登山客爬上玉山。有一天突然出現了高山纜車,一般人卻還不會使用;纜車公司只得趕快找新客戶。
新客戶必須量大,能快速派上用場。LEO 衛星是最好選擇。LEO 離地面近,涵蓋的區域較小 — 就像桌燈的照射區域小於天花板燈的照射區域一樣 — 而且容易因大氣摩擦而損耗,使用期限短。星鏈的衛星預期壽命 5 年。以 3 萬顆衛星計算,每年需補充 6 千顆衛星,對傳統的衛星業者是天文數字。但這些對 SpaceX 都不是問題!它發射成本低,可以不斷的替換衛星。
此外,LEO 衛星更輕,可以標準化與量產。如果說生產傳統 GEO 衛星象是打造手工超跑,那麼做 LEO 衛星就像是量產 Toyota 汽車。一般估計 60 顆星鏈衛星的生產加發射成本低於 3 千萬美金,遠低於競爭者。
換言之,SpaceX 與星鏈是互補品(complementary)。衛星填補了火箭的空艙,降低 SpaceX 的單位成本。而 SpaceX 的低發射成本也提高星鏈的價格優勢。雙方可以擴大彼此的規模,進而持續壓低成本。
而且 SpaceX 還可以用星鏈來測試刪減成本(cost down)— 反正就算爆炸了,也是一家人,好處理。例如一開始提到的獵鷹 9 號,原本規劃是能重複發射 10 次。但到了最後幾次,SpaceX 謹慎的先拿自家產品試飛。
集合黑科技
不過「平價衛星網路」說起來容易,從沒人成功過。星鏈的優勢是能仰仗 SpaceX 做靠山,採取以量取勝的策略。但還要克服許多未知的挑戰。
例如首先,用戶如何連上網路?LEO 衛星無法與地球同步,而是以每小時 17,500 英里的速度劃過天際。而用戶必須一開機就能快速接上衛星,串流資料,然後在衛星消逝於地平線之前「轉接」下一個衛星才行。
要解決此一問題,首先衛星數量要多。在此網站可以看見目前所有顆衛星的位置。未來的數量將是今天的數十倍。其次,用戶付約 500 美金,會取得一個「小耳朵」(phased-array user terminal,相控陣列衛星地面站),大約跟披薩盒一樣大。小耳朵能自動「掃描」天空,找到最適合的衛星,連線,並追著衛星的位置轉動。在衛星「下線」,會通知「小耳朵」下一個要連接的衛星的位置,週而復始。目前第一批用戶反應良好。許多回報下載速率約 160 Mb/s,上傳速度超過 15 Mb/s,而延遲(latency)則在 40 毫秒以內。可說是與傳統寬頻與 4G 網路不相上下,延遲性則更勝一籌。
然而頻寬是衛星的硬傷。未來用戶增加時,會分掉衛星的頻寬怎麼辦?答案還是規模:發射更多衛星!
衛星的頻寬可以疊加。越多衛星覆蓋同一區域,頻寬越大。因此星鏈將在不同高度部署衛星。根據星鏈提交的計畫,其第一階段的衛星將在離地 550 公里至 1,275 公里之間,分 5 層部署 4,408 顆衛星。第二階段則在非常低軌道(Very Low Earth Orbit, VLEO)的 335 ~345 公里,分 3 層部署 7,518 顆衛星。因此同一用戶的頭頂將有數顆不同高度的衛星。
更驚人的是,目前星鏈正在研發衛星與衛星之間(inter-satellite link)的雷射資料傳輸系統。如果成真,則流量可以進一步分散:一顆衛星滿載時,可以「呼叫」其他衛星分擔流量。
衛星之間要傳輸資料,必須同步移動。因此可以想像星鏈的終極型態,是形成包圍地球的 8 個「層」,就像包著巧克力的 8 層包裝紙。這些包裝紙不斷的繞著地球旋轉,每一層包含可互相分擔頻寬的數百顆衛星。資深 NASA 工程師 Casey Handmer 以下圖示例:除了自動追蹤衛星、頻寬疊加、衛星互連技術之外,星鏈的衛星可以在脫離火箭後自己移動到軌道定位、自動趨避碰撞物、自動微調位置,以及在退役時自動脫離軌道,墜下大氣層,並焚燒至少 75%。實在很難想像這一切科技的結晶是一個消費性產品,一般人都能買得起,且打開就能用,月費才 99 美金。
星鏈不只是燃料與材料上的創新,它也奠基於晶片、感測器、軟體、電力與連網技術的進步之上。SpaceX 估計部署前 1.2 萬顆衛星需要 100 億美金,其實還低於美國每年更新寬頻系統的成本。
不過星鏈要怎麼賺錢?
船員、交易員、卡車司機
許多人第一個想到的是傳統網路的生意,例如跟中華電信競爭。但馬斯克強調雙方並不衝突:
「我要澄清,星鏈不會是電信商的什麼巨大威脅。我要強調它不是,」馬斯克說。「事實上,星鏈對電信業有利,因為星鏈將會服務那些電信商原本很難透過線路或 . . . 電信塔服務的族群。」
星鏈最有可能服務那些「電信商最難服務到的 3% 至 4% 客戶」以及「那些就是沒網路的人,或者連線品質很差。」馬斯克說:「因此我覺得對傳統電信商將很有幫助,甚至能幫忙分擔負荷。」
這話不盡不實。的確星鏈一開始會最吸引那些需求最高的人,例如偏遠地區缺乏寬頻的人 — 想像你在偏遠地區,會願意為寬頻付多少錢?但以後就未必了。
星鏈的成本模型與傳統電信不同。星鏈建造基礎網路的成本高,但串接每一位顧客的最後一哩成本相同。傳統電信商建造基礎網路的成本低,因為城市的人口密度高,但串接「邊緣」顧客的成本卻會快速增加。此外,星鏈天生是「全球級」服務,也跟傳統電信的市場範疇不同。
因此星鏈一開始會非常吸引邊緣的顧客,因為其服務成本跟服務大城市相同,因此價格也合理。「邊緣」包括地理上的邊緣,例如鄉村、山區、海上等。最先擁抱星鏈的將是發達國家的鄉村,想移向郊區的富豪與科技新貴,接著才是真正的貧窮區域。
而另一種「邊緣」是使用情境上的意外狀況,例如大城市突然出現的流量高峰。星鏈也很適合與電信商合作,作為流量備援或是延伸至偏鄉的輔助。
此外,LEO 低延遲的特性也適合金融交易。這是因為訊號在真空的傳遞速度可以逼近光速,約略是海底光纜傳輸速度的兩倍。如果是跨太平洋傳輸,可以相差數十毫秒。因此高頻交易者(high-frequency trader, HFT)會搶著付錢。
再來,企業也會優先採用。星鏈已經申請將網路用於船、飛機與卡車上,服務飛機乘客、卡車司機與船員們。
最可怕的是,星鏈的成本還在持續降低。不但衛星量產持續加速,而 SpaceX 已經公開了接替獵鷹系列的「星艦」(Starship)火箭。號稱將能一次承載 400 顆衛星,且可以完全回收,就像飛機一樣,進一步降低運送成本。這可說是給其他火箭與衛星業者的一記重拳。
真正的雲服務
不過除了上述容易猜測的應用,我更感興趣的是當衛星網路普及之後,會有什麼意料之外的發展?
第一個思考角度是雲。星鏈常被拿來跟貝佐斯的 Project Kuiper 相提並論,並指出衛星網路將來可以支援 AWS。那如果反過來呢 — 星鏈轉成一家雲服務公司?
目前衛星網路只能轉傳資料。但隨著運算能力持續提高、成本與耗電量降低,或許將來也可以在衛星上儲存跟運算資料?那麼星鏈就有機會成為一個全球級的,不受地理限制的雲服務。
如此一來,企業或政府不只可以用星鏈作為地震或軍事攻擊下的緊急網路,也可以拿來備份資料。富豪可以「買」下一排衛星,擁有獨家的網路與儲存服務。
或許可以在衛星上做交易?JP Morgan 成功的在兩顆 LEO 衛星之間完成加密貨幣交易。未來星鏈可能成為加貨幣交易網絡,並且協助地面的物聯網裝置清算。當然衛星也可以作為加密貨幣的錢包。理論上最低延遲的交易應該是在衛星上完成,此時沒有使用星鏈的交易員就更吃虧了。
換言之,當衛星普及,就不一定是拿來服務地面上的人類;反而可以把原本在地上的工作轉移到衛星上。衛星科技會更普及。大學或高中生就可以開發太空的工具,然後搭在一顆衛星上送到太空測試。大企業如臉書、蘋果等可能會直接租用專屬衛星,客製化網路服務。
或許有一天我在海上說:「Hey Siri,我迷路了,幫幫我。」Siri 就會呼叫衛星,衛星呼叫救援無人機飛到我所在的位置,空投綠茶跟大腸包小腸給我,而且直接用比特幣結帳了。