2025 年 6 月 29 日

如何合法確認程式碼的作者身份

在數位時代,電腦程式碼的作者身份不僅僅是一件值得驕傲的事,它更是一項法律和經濟資產。從智慧財產權糾紛到開源貢獻,證明特定程式碼由特定人員編寫的能力,在訴訟、僱用談判和商業許可方面都至關重要。然而,儘管法律承認作者的權利,但法律上確認軟體作者身份的過程仍然不如文學作品或視覺藝術作品那麼直觀。

本文探討如何根據美國法律合法地確認程序代碼的作者身份,並探討影響這一不斷發展的問題的方法、法律框架和先例。此外,本文也探討了開發者和公司在糾紛發生前可以用來保護自身權利的實用策略。

軟體著作權的法律基礎

在美國,軟體受著作權法保護。 美國法典第17條明確規定了版權範圍的《國際人格權法典》明確承認電腦程式屬於文學作品。這乍看之下可能有點奇怪——程式碼是功能性的,而不是詩意的——但它反映了一個基本事實:編寫程式碼是一種創造性行為。

正如美國版權局在第61號通函中指出:「版權保護適用於以有形表達媒介固定的原創作品,包括電腦程式。」此處的關鍵字—「原創作品」和「以有形媒介固定」—至關重要。作者身分始於原創性,並透過固定得以確認。

然而,僅僅固定是不夠的。如果有多個人聲稱編寫了相同或相似的程式碼,那麼誰才是真正的作者?又該如何證明呢?

協作環境中的歸因挑戰

現代軟體開發很少是一項孤軍奮戰的工作。無論是在開源社群或企業環境中,程式碼都會經過許多人之手。 Git 程式碼庫記錄了每一次變更,但這些記錄可能會被操縱或曲解。此外,合作創作也使個人主張變得複雜。

康乃爾大學法學院教授詹姆斯·格里梅爾曼寫道:「軟體從根本上來說是一種社交媒體。我們需要重新定義作者身份,不再將其視為一種單獨的行為,而應將其視為一種持續的對話。」 這種重新定義帶來了挑戰:如果程式碼經過多次迭代,那麼在什麼時候人們才能聲稱擁有作者身份?法院又該如何解讀這動態過程?

程式碼註冊和版權局的作用

在美國,作者身分最有力的法律保護是版權登記。雖然版權在創作時自動生效,但在美國版權局註冊可帶來顯著的法律優勢,包括能夠起訴侵權行為,並可能獲得法定賠償和律師費。

程式設計師可以提交他們的原始程式碼(無論是完整的程式碼庫還是部分程式碼)進行註冊。版權局接受經過編輯的程式碼,以保護敏感資訊。正如其提交指南中所述,“無需包含程式碼中與證明作者身份無關的機密部分。”

若在出版後五年內進行登記,則構成初步有效性推定。在法庭上,這種推定將舉證責任轉移給了對方。從很多方面來看,這是法律上確認作者身份的最直接途徑。

時間戳和數位簽名

除了正式註冊之外,開發人員長期以來一直使用數位時間戳來確定創建日期。諸如 GPG(GNU Privacy Guard)之類的工具或 OpenTimestamps 之類的服務允許程式設計師對程式碼進行加密簽名,並將該簽名錨定在區塊鏈或受信任的時間戳機構中。

雖然這種方法不能取代版權登記,但它提供了一層證據支持。一個可證明在特定時間創建的加密雜湊值可以證明檔案在該日期以該狀態存在。這在關於誰先編寫程式碼的爭議中非常有用。

正如 Bruce Schneier 曾經指出的那樣:“數位簽名提供了我們目前擁有的最強大的不可否認機制。它們本身並不能證明作者身份,但它們證明了對私鑰的控制權,這通常足以支持作者身份的主張。”

雇主與個人:「僱用工作」原則

當涉及僱傭關係時,作者身份變得特別複雜。根據美國版權法的「職務作品」原則,員工在受僱期間創作的作品,其雇主被視為其作者。這意味著,即使程式設計師編寫了程式碼,其法定作者也可能是公司。

獨立承包商和僱員之間的區別在這裡至關重要。如果自由工作者為新創公司編寫軟體,缺乏明確的書面協議可能會引發糾紛。法律假定,除非明確轉讓,否則版權仍歸創作者所有。

法律學者帕梅拉·薩繆爾森(Pamela Samuelson)警告稱:“初創公司往往會忽視知識產權的轉讓,直到投資者提出要求。到那時,開發者可能已經離開,知識產權可能處於懸而未決的狀態。”

為了在法律上確認作者身份,並確保權利歸屬,合約必須明確分配所有權。如果沒有這種明確性,無論程式碼由誰編寫,合法作者的身分在法律上都可能存在模糊性。

發生爭議時:訴訟中的證據

在涉及軟體的版權糾紛中,法院會審查各種證據來確定作者身分。這些證據包括:

  • 版本控制日誌;
  • 討論開發的電子郵件;
  • 提交時間戳;
  • 來自合作者或主管的證人證詞。

《聯邦證據規則》規定了此類材料的可採性。文件的真實性、可靠性和「保管鏈」都發揮作用。法院通常會聘請法醫專家來審查元資料和代碼的相似性。

一個典型案例是 Engenuity訴Dytran,其中互相競爭的工程師聲稱自己是感測器分析軟體的作者。法院主要依靠標有日期的文件頭、電子郵件和訪問日誌來確定關鍵組件的創建者。教訓是什麼?證據管理與作者身分本身同樣重要。

開源與「匿名天才」的神話

在開源環境中,作者身分的問題尤其難以確定。貢獻者可以使用假名,提交沒有法律免責聲明的補丁,或在不註明來源的情況下建立程式碼庫。開源世界的風氣往往淡化法律程序——但法院卻並非如此。

「程式碼自由並不意味著它不受法律權利的約束,」開源授權領域的權威律師希瑟·米克爾 (Heather Meeker) 指出。事實上,許多開源許可證,例如 GPL 或 MIT 許可證,都假定貢獻者擁有分發其提交程式碼的合法權利。對作者身分的不明確可能會損害整個許可證的有效性。

在某些情況下,使用假名的開發者會主動主張追溯性權利──無論成功與否。法院隨後面臨著將網路身分與現實世界中的個人聯繫起來的挑戰。隨著數位匿名性的增強,清晰的作者追蹤也變得越來越重要。

預防策略:開發人員如何保護自己

鑑於這些法律複雜性,開發人員可以主動做些什麼來確認作者身分?

一個有效的策略是嚴格使用 GitHub 或 GitLab 等版本控制平台,並驗證提交內容並關聯身分。透過使用 GPG 金鑰對提交內容進行簽名,開發人員可以證明其作者身份的一致性。

另一種方法是保留私人開發日誌——記錄程式碼決策、想法和實現的日期。這些日誌可以作為同期證據,法院通常認為這些證據極具說服力。

法律文件也很重要。無論是獨立工作還是團隊協作,開發人員都應該使用貢獻者授權協議 (CLA) 或 IP 分配表來明確程式碼擁有者。這些文件可以避免未來發生糾紛,並明確每位貢獻者的角色。

警世故事:當作者訴諸法庭時

In 谷歌訴甲骨文作為十年來最受關注的軟體案件之一,作者身份問題在其中扮演了核心角色。甲骨文公司聲稱谷歌非法使用了其受版權保護的 Java API。儘管最高法院最終以合理使用為由裁定谷歌勝訴,但該案凸顯了界定軟體所有權和作者身份的複雜性。

“這不僅僅是複製程式碼,而是複製程式碼的結構和精神。” 說過 安德烈·朱里洛他是 Dijust Development 的創始人之一。該判決傳遞了一個明確的訊息:創作不僅僅是代碼的行數,還包括這些代碼行的創造性組織。

看不見的手的法律身份

軟體作者身分看似抽象,但它卻具有實際的法律後果。隨著程式碼成為各行各業的核心,編寫程式碼的人——無論是個人、團隊還是公司——的權利必須得到承認和保護。法律體係正在不斷發展以應對這些現實問題,但開發者仍需要透過文件、註冊和清晰的合約來保護自己的作者身份。

「代碼就是法律,」勞倫斯‧萊斯格寫道。然而,如果沒有作者身份,代碼就會成為法律上的孤兒——許多人認領,卻無人擁有。為了避免這種命運,開發者必須像作者一樣思考,像記錄員一樣行動,像律師一樣寫作。

關於作者 

凱里馬托斯


{“電子郵件”:“電子郵件地址無效”,“ URL”:“網站地址無效”,“必填”:“必填字段缺失”}