• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            歲月流轉,往昔空明

            C++博客 首頁 新隨筆 聯系 聚合 管理
              118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks
            今天群里面正好有朋友問起這個問題,就簡單的解答下,如果有問題的話,歡迎大家留言批評指正。

            常用的源代碼授權協議主要分為以 下兩類,商業協議和開源協議。今天主要討論一下開源協議。首先需要明確的是,既然是許可,就一定會具備法律效力。如果你的GNU作品被人侵權了的話,去找 GSF(GNU Software Foundation)吧,讓他們把你打官司,就像Skype被告了那樣的,哈。唔,當然你自己打也是可以的,就是搜集證據方面可能有點難度。

            開源協議,都有一個共同的特性,就是開放了源代碼(這句話貌似很廢話yeah)。他們的區別在于三點:
            1.對源代碼的修改限制。一些開源協議會告訴你,只能使用已有源代碼而不能進行修改。
            2.對原有協議許可的修改限制。通常的開源協議都會讓使用者在發布的二進制軟件或者源代碼中,保有被使用的軟件的版權信息和協議許可。
            3. 對二進制和源代碼產品的發布限制。對于GPL協議而言,使用了GPL協議的產品的軟件,是不允許單獨發行二進制產品的,而必須要將源代碼以GPL的協議發 布出來。這就是所謂的“傳染性”。這也就意味著,只要你的產品的使用鏈上有GPL的玩意兒,對不起,你就只能GPL了。
            而LGPL協議就要寬松的多。如果你使用了別人LGPL協議的二進制,只需要保有許可并不加修改,就不影響你的產品授權。但是如果你使用、修改了別人LGPL協議的源代碼,那么,修改后的源代碼就必須要公開,并且一樣遵守LGPL協議。

            GPL這樣的協議,相對是嚴格的。開源協議里面,還有很寬松的BSD,MIT和BOOST協議。這些協議的被授權方,可以自由修改、散播源代碼或者源代碼衍生的產品,只需要你產品的授權協議里,將BSD,MIT,BOOST協議一并附上就可以了。
            http://www.awflasher.com/blog/archives/939
            這里有GPL,LGPL,APACHE,BSD,MIT五種常見開源協議的簡單介紹。其他的可以參見baidu/wiki,或者如果你有足夠的法律知識,可以去直接看協議條款吧,嘎嘎。

            今天朋友的問題是,如果一個東西全部都是他做的,想以GPL的形式公開,同時還想賣錢,可以嗎?
            答案當然是肯定的。Qt 就是個最好的例子。Qt兼具GPL/LGPL協議和Qt Commercial的商業協議。你完全可以以GPL的的協議將你的產品公開,然后如果有人想用你的東西做商業用途,你就再簽一份商業許可就可以了。以上 的幾個開源協議,都是經由OSI批準的,強烈建議大家在發布新程序的時候,另可采用多份協議,也不要輕易修改標準協議。
            但是注意,如果你的產品里,直接或間接使用了第三方產品(這個太常見了,比方說Image Library啦,boost啦等等),一定要看清楚它的協議。如果你不小心用了GPL協議的組件,那么對不起,你的商業授權就算是廢了,因為你的產品只能是GPL協議的了。
            所以說,如果制作商業產品,stl,gdi+這樣的商業授權是首選(注意一下你有沒有發布產品的權利,不是所有的商業授權你都有發布的權利的)。
            其次是BSD,MIT一類的自由度非常高的協議,再其次是LGPL這樣的二進制可發布的協議。
            GPL是一定不能選的。相對的,如果你僅僅制作GPL協議的產品,也要看清楚,你是否具有發布第三方源代碼的權利。當然如果僅僅發布你撰寫的程序,是不會有問題的。
            posted on 2009-10-28 15:23 空明流轉 閱讀(2312) 評論(5)  編輯 收藏 引用

            評論

            # re: 如何為軟件源碼產品選擇授權 2009-10-28 16:30 OwnWaterloo
            請教一下:
            "但是如果你使用、修改了別人LGPL協議的源代碼,那么,修改后的源代碼就必須要公開,并且一樣遵守LGPL協議。"

            假設這樣一個場景,一個庫L,使用LGPL。
            某個家伙,比如我吧,對這個庫作了一些修改,成為L1,并且使用L1做了一個應用程序,叫A1。

            必須公開的部分是L1,還是L1+A1 ?


            我覺得后者好像說不過去。
            因為我總可以將我做的事情分成2步:
            1. 發布一個使用LGPL的L1 // 必須公開L1代碼
            2. 使用LGPL的L1產生A1 // 貌似不必公開A1代碼?

            是這樣嗎? 謝謝~_~

              回復  更多評論
              

            # re: 如何為軟件源碼產品選擇授權 2009-10-28 17:39 尋舟
            寫得很好,通俗易懂。
              回復  更多評論
              

            # re: 如何為軟件源碼產品選擇授權 2009-10-28 18:56 空明流轉
            @OwnWaterloo
            1,L1一定是LGPL協議的
            2,A1遵循我上面的規則。也就是用二進制就無所謂,不用二進制,就一定是LGPL的。  回復  更多評論
              

            # re: 如何為軟件源碼產品選擇授權 2009-10-28 23:44 夜風
            這篇文章出現的太及時了!多謝!  回復  更多評論
              

            # re: 如何為軟件源碼產品選擇授權 2009-10-29 01:24 OwnWaterloo
            @空明流轉
            謝謝~_~  回復  更多評論
              

            久久国产欧美日韩精品| 国产精品美女久久久| 日韩亚洲国产综合久久久| 国产精品成人久久久久久久| 久久综合九色综合久99| 久久久久青草线蕉综合超碰| 无码人妻久久久一区二区三区 | 久久精品国产一区二区电影| 欧美久久天天综合香蕉伊| 亚洲香蕉网久久综合影视| 国产高潮国产高潮久久久| 四虎国产精品成人免费久久| 欧美噜噜久久久XXX| 91久久国产视频| 无码人妻久久一区二区三区免费 | 久久久亚洲精品蜜桃臀| 久久精品aⅴ无码中文字字幕不卡| 国产午夜免费高清久久影院| 狠狠色丁香婷婷久久综合五月| 国产精品久久久久久福利漫画| 久久精品国产免费观看| 久久高潮一级毛片免费| 2021久久国自产拍精品| 99久久国产综合精品女同图片| 久久精品这里只有精99品| 久久精品国产网红主播| 亚洲午夜久久久久久久久电影网| 久久久国产精华液| Xx性欧美肥妇精品久久久久久| 亚洲日本va中文字幕久久| 久久亚洲精品国产精品婷婷 | 国产精品无码久久久久| 久久久久亚洲AV无码永不| 欧美激情一区二区久久久| 久久九色综合九色99伊人| 国产精品VIDEOSSEX久久发布| 国产三级久久久精品麻豆三级 | 最新久久免费视频| 日本欧美国产精品第一页久久| 丁香五月综合久久激情| 精品水蜜桃久久久久久久|