Posted on 2006-04-02 18:26
壯士日志 閱讀(835)
評論(0) 編輯 收藏
本文給出了一些指導性的意見和建議,用于幫助用戶在產品開發中遵循自由軟件的許可證條款,并避免出現違反自由軟件許可證的情況發生。
1.如果您不接受 GPL/LGPL 許可證,請勿使用任何遵循該許可證條款發布的軟件。如果您在自己的產品中使用了 GPL/LGPL 軟件,則說明您已經接受了 GPL/LGPL 許可證中定義的所有條款,并有義務向產品的最終用戶提供源代碼——無論該源代碼是否經過您的修改。如果經過了您自己的修改,則必須公開“衍生作品”的源代碼,并以相同的許可證條款發布。
2.當您從 GPL/LGPL 軟件中拿出 10 行以上的源代碼用于自己的作品中時,則您的作品將成為該 GPL/LGPL 軟件的衍生作品,無論您的作品的整體代碼規模有多大。因此,如果您不打算將自己的作品作為自由軟件發布,則應該遠離自由軟件代碼,以免因為受到自由軟件代碼的影響而編寫出和這些軟件相類似的代碼。
3.如果在您的作品中使用了 GPL/LGPL 軟件,但沒有對這些軟件做任何修改,則可以在產品手冊或者其他類似的文檔中、程序界面上或者幫助信息中指明您使用的自由軟件名稱、版權擁有者以及能夠獲取該自由軟件全部源代碼的公共網站或第三方。如果因為某種原因,最終用戶無法從您提到的第三方或者公共網站上獲得該自由軟件的源代碼,您應該擔負提供源代碼的責任和義務。
4.GPL/LGPL 條款賦予您修改作品的權利,經修改之后的作品稱為“衍生作品”。當您的衍生作品以某種方式發布時(典型情況就是用于您的產品中),您必須依照 GPL/LGPL 許可證發布您的衍生作品。當然,一種更加可取的辦法是,將自己所做的修改提交給原始作品的維護者,并由該維護者負責發布,而您在產品中始終使用由維護者發布的作品。
5.自由軟件不等于免費。提供自由軟件的人可以要求您支付一定的費用,該費用通常有兩層含義:第一,自由軟件以某種介質發行時,該介質的制作、發布等費用;第二,當您希望獲得對某自由軟件的技術支持、缺陷修正等服務,要求某個人或組織提供相應的產品質量擔保時,該組織或個人可以要求您就質量擔保收取服務費用,甚至是專有軟件產品慣用的使用許可費用。這里提到的組織或個人是任何遵循上述自由軟件許可證條款發布自由軟件、并向您提供質量擔保的組織或個人,并不限于自由軟件作品的作者或主要的版權擁有人。
6.對 LGPL 條款的自由軟件(通常是函數庫)的“正常使用”,通常的理解是,始終以動態鏈接的形式鏈接這個函數庫——如果以靜態的方式鏈接,將使該函數庫成為您作品的一部分,從而使之成為該函數庫的衍生作品。但實質上,LGPL 許可證的宗旨和精神是禁止將自由軟件成為專用和獨享的軟件,而至少應該確保其他軟件也能通過某種途徑使用這個函數庫的接口。當然,靜態鏈接顯然違背了上述精神和宗旨,從而是不允許將私有作品和 LGPL 函數庫靜態鏈接在一起。但如果您的產品沒有提供任何擴展功能,而只能由您自己的私有作品使用其中包含的某 LGPL 函數庫,這無異于將該函數庫靜態鏈接到您自己的私有作品中。因此,我們認為這種情況下,您的作品是該函數庫的“衍生作品”——無論您的作品通過靜態鏈接還是通過動態鏈接的方式鏈接該 LGPL 函數庫。
上述這種情況經常會出現在嵌入式系統中。在這種情況下,您可以有如下選擇:
? * 以動態鏈接方式鏈接 LGPL 函數庫,并為您的產品提供擴展接口及程序上載接口,
??? 以便用戶或者其他人能夠對該產品進行擴展。
? * 最簡單的方式:將衍生作品置于 LGPL 條款下發布。
? * 和 LGPL 條款的版權擁有人聯系,看看是否能夠以其他許可證方式授權您
??? 在自己的產品中使用該函數庫,而不必遵循 LGPL 條款使自己的作品成為
??? 衍生作品。許多自由軟件為商業用戶提供另外一種可選的許可方式。
? * 當然,如果您覺得麻煩,可以選擇不使用任何自由軟件。
?