石南

石南的博客

他的个人主页  他的博客

我构想了一个新的开源软件协议《开源软件兼容协议》欢迎大家提意

石南  2009年08月22日 星期六 21:32 | 1473次浏览 | 38条评论

为了方便实现开源代码的商业化发展,获得有效的收益,支持开源开发者的开发,我提出了一个开源兼容协议,其主要的优势是能够很自由以向其他新开源协议转化,方便用户的个性化和商业化。避免各种开源协议之间的相互干扰,不兼容的问题。同时也尽力保证采用该协议的项目代码能够很好的维持发展

为了方便实现开源代码的商业化发展,获得有效的收益,支持开源开发者的开发,我提出了一个开源兼容协议,其主要的优势是能够很自由以向其他新开源协议转化,方便用户的个性化和商业化。避免各种开源协议之间的相互干扰,不兼容的问题。同时也尽力保证采用该协议的项目代码能够很好的维持发展。

协议内容(草案)类似 BSD 增加了协议转换的条款

(1) 再发布的产品必须包含源代码,在源代码中必须带有原来代码中的开源兼容协议;

(2) 如果再发布的产品有二进制类库 / 软件,则 需要在类库 / 软件的文档和版权声明中包含原来代码中的开源兼容协议;

(3) 未得到开源代码的作者 / 机构的授权不可以用开源代码的作者 / 机构名字和原来产品的名字做市场推广;

(4) 可以以符合公认的开源软件定义的开源协议再发布产品,但是必须在源代码和类库 / 软件的文档中包含原来的开源兼容协议 ; 并且声明该产品的采用的最初开源协议为开源兼容协议;

(5) 任何以其他开源协议发布的代码,将不能以开源兼容协议再发布。

 

欢迎大家提意见!

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
黄国荣

回复 黄国荣  2009年08月27日 星期四 09:07

可以尝试一下,必竞现在OSI中的协议包罗万象,现在已经超过60种许可协议。包括微软、苹果、诺基亚等商业公司,也有一些开源社区的协议,还有一些著名的开源项目单搞个协议等等。其实GNU已经有20多年的历史,GPL相对成熟,大部分的开源项目都会使用这个协议来发布,但你觉得它不利用商业等若干理由而不使用它,也可以选择MPL/APACHE之类协议,选择适合自己的协议很重要。要不然就单搞个协议,于是就有了开源软件兼容协议,也不错啊。

1条回复

石南

回复 石南  2009年08月25日 星期二 20:58

最近和大家讨论下,觉得目前的协议还过于简单,缺乏特色,目前正在收集需求,进行改进

0条回复

電波系山寨文化科学家

回复 電波系山寨文化科学家  2009年08月24日 星期一 20:38

啥叫源代码,有语义没?

0条回复

石南

回复 石南  2009年08月24日 星期一 09:18

王虎 1分3秒前 诚然,随着开源运动在中国的推广,大家或许也希望自己发布的软件,能有一份“国产”的 License。我也认真看了您草拟的方案,以及其它人的讨论,总体给人的感觉:草拟的方案拗口、晦涩,不够直观。正像夏武老师说的,License 的出台,是有他的需求(迫切性),和目的。这个 License 要有自身的价值观,而这个价值观是建立在一定的哲学基础之上的。你的这个哲学思想,价值观要大家能够认可,同时采用你这个协议,能带来一定的好处,物质或精神上的。我们是普通的人,我们不可能说三句话,全国人民就“积极主动”的来学习个好几年。初衷是好的,但现阶段还过去简陋,建议先在国内的圈子里面多做调查,同时关注一下圈子里面的人的生活方式。或许对你有帮助。
-------------------------------------------------------------------------
我不太清楚 BSD协议的出台前后,有没有各种讨论,应该说也是集体讨论的结果。具体行文修辞都是可以改的。开源兼容协议并没有什么地域性,谈不上什么国产不国产。这个协议是否能成功 那是以后的事情。哲学思想谈不上,价值观嘛 我这样认为:作者主动赋予再发布者有根据自己需要自由选择其他开源协议发布的权利,以满足更大的利益” 这个其实是为了有利于开源软件的发展,因为开源协议有很多种,为什么有很多种呢?必然是有很多种的需要,能够满足一部分人对代码控制、宣传推广、商业模式的需要。但是这样就没有那个协议可以满足所有人的需要。传统的开源协议要求再发布者继续以该协议发布,就限制了再发布者的自由,或许再发布者有其他的考虑。现在我们在开源软件的范畴内授予再发布者自由选择新协议发布的权利。就是为了解决这个问题。 给予再发布者一定的自由 不会对原协议有什么损害,长远来看有利于原协议的发展

0条回复

王虎

回复 王虎  2009年08月24日 星期一 07:04

我看你这个协议会受到绿坝之类的作者欢迎,我想抄别人的东西,拿来卖钱,但是原来的那个是基于 GPL 发布的。于是我就先用这个协议兼容一下,然后就可以光明正大的用了……

4条回复

  • 石南

    回复 石南  2009年08月24日 星期一 08:34

    这个就是理解错误了,只有原创的代码才能以该协议发布,而且就算是转换成BSD后 也要遵循BSD协议的标准,公开原来的作品名称和作者

    3条回复

      • 王虎

        回复 王虎  2009年08月24日 星期一 08:38

        我的理解没有错啊,我可以写一个软件,然后“引用”一些相关的代码,那么,这个东西我就是“作者”了,尽管我写的东西梅雨什么价值。然后我就可以协议兼容。那我再要用到相关关键代码的时候,不是就可以光明正大的拿来卖钱了?
        你这个协议是有 BUG 的,可以给人家轻易的绕过去。

        2条回复

          • 石南

            回复 石南  2009年08月24日 星期一 08:42

            你写的软件必须是自己原创的代码才能以开源兼容协议发布 如果引用了其他的有协议的代码比如GPL那么就不成立了。因为开源兼容协议是单向兼容的。采用其他开源协议的代码不能以开源兼容协议再发布。开源兼容协议只申明向其他协议再发布。

            1条回复

              • 王虎

                回复 王虎  2009年08月24日 星期一 08:54

                诚然,随着开源运动在中国的推广,大家或许也希望自己发布的软件,能有一份“国产”的 License。我也认真看了您草拟的方案,以及其它人的讨论,总体给人的感觉:草拟的方案拗口、晦涩,不够直观。正像夏武老师说的,License 的出台,是有他的需求(迫切性),和目的。这个 License 要有自身的价值观,而这个价值观是建立在一定的哲学基础之上的。你的这个哲学思想,价值观要大家能够认可,同时采用你这个协议,能带来一定的好处,物质或精神上的。
                我们是普通的人,我们不可能说三句话,全国人民就“积极主动”的来学习个好几年。大家不是打心眼里认可的东西,有没有实际的利益,很难推广起来
                初衷是好的,但现阶段还过去简陋,建议先在国内的圈子里面多做调查,同时关注一下圈子里面的人的生活方式。或许对你有帮助。
                持续关注中……

                0条回复

刘磊(V.L.)

回复 刘磊(V.L.)  2009年08月23日 星期日 20:32

看了这么多,我想楼主不要在拘泥那些乱七八糟的已有开源协议了,直接整《龙芯开源协议》就行了,把BSD汉化一下,改一改。
子随便造,要自主知识产权的轮子

3条回复

  • 石南

    回复 石南  2009年08月23日 星期日 20:49

    嗯,可以在修辞上修改下,来点自己的风格。

    2条回复

      • 刘磊(V.L.)

        回复 刘磊(V.L.)  2009年08月23日 星期日 20:51

        这样的话,很难融入国外的开源氛围,在国内又门派林立,不是好兆头。

        1条回复

石南

回复 石南  2009年08月23日 星期日 16:20

夏武 2009年08月23日 星期日 09:20
这里有几个问题:
1、GPL、BSD等已有的开源协议和你的“开源兼容协议”相比是什么关系
2、什么样的自由度是“开源兼容协议”追求的?

谢谢.
--------------------------------------
1 开源兼容协议只能以原创代码的方式发布,可以向其他开源协议再发布,但是不能从其他开源协议向兼容协议再发布。所以是单向兼容的。这样就没有什么冲突

2 开源兼容协议的主要要点
1 开源兼容协议要求作品必须以源代码开源 。
2 开源兼容协议允许可以以其他开源协议再发布
3 开源兼容协议允许作者对再发布者进行作品名称的商业授权。
在自由度方面 让作者在开源软件范畴下,最求最大的自由度以保证利益最大化。主要就是体现在可以任何开源协议自由再发布。

4条回复

  • 夏武

    回复 夏武  2009年08月23日 星期日 17:57

    最大自由度往往不能保证利益最大化。如果采用你的“开源兼容协议”,然后再转向GPL、BSD等,是不是一种浪费?另外,如果已有代码采用GPL、BSD等license,还不能向“开源兼容协议”转,是否把自己的路也堵死了?
    以上个人观点。

    3条回复

      • 石南

        回复 石南  2009年08月23日 星期日 20:29

        我觉得不是浪费,而是增加了若干的选择分支,大家在各种协议的分支上各有所取。不过应该对源项目说可以吸引更多的人来开发。
        码采用GPL、BSD等license,还不能向“开源兼容协议" 这个是考虑到不和现有协议冲突,当然如果需要的话可以和那些协议方协商。比如双向兼容协议。目前只是单方面的单向的兼容。

        源兼容协议主要有是希望通过开源的同时有自由选择其他协议再发布的自由,如果你一开始不知道选择设什么协议发布,那么选择开源兼容系无疑是最好的。在开发过程中可以更换协议。

        2条回复

          • 夏武

            回复 夏武  2009年08月23日 星期日 23:11

            软件license是软件业的法律,换套法律犹如社会革命,任何的变革都是由于现有的license确实存在很多不能解决的问题,或者及其丑陋。否则,就如张勋复辟,“昙花一现”而已。
            诚然,楼主提出的观点勇气可嘉,我也期盼着杰出人才的出现
            不过,任何license的产生都是市场驱动的。比如,GPL是因为Emacs和GCC确实需要一个license,但是没有。对于Linux kernel而言,如果linus本人当初自己造一个license出来,估计Linux kernel也不能发展到今天。
            其次,license是有其哲学基础的,一个所谓的“兼容”看似“万斤油”,其实能有多少追随者呢?
            外,从软件的自由度来说,多大的自由度是适合的,需要仔细斟酌。也许很多人会提及GPL的传染性,影响我们的“民族创新”。但是,如此一个自由度的东西在国内都很少人来遵守,更何况楼主所说的更多自由度。到时,谁来保护开发者的利益,用户的利益呢??

            1条回复

              • 石南

                回复 石南  2009年08月23日 星期日 23:22

                自由度的问题 我看有多个角度来看 比如作者方面 用户方面 精神方面 商业化方面 也许有时候维护了一个方面的自由会妨碍其他方面的自由。比如GPL的传染性。开源兼容协议更多的是从作者的角度来维护其利益的,一方面要最大限度的开源和推广 ,另一方面需要找到好的商业模式。
                需求方面的问题,比如通过一个大赛来推动。大赛需要一些标准的作品发布协议,这样才好统一的进行推广,但同时也要保留以后根据各种需要再发布为其他系协议的版本的权利,这样就很自由。我想这个协议会通过一些原创软件的方式进行实践吧。好不好,留于后人评说

                0条回复

高峰

回复 高峰  2009年08月23日 星期日 16:12

路过,不做评论

0条回复

史荣久

回复 史荣久  2009年08月23日 星期日 10:10

《开源软件兼容协议》这个名字不好.
不如起个名字就叫龙芯xxx协议吧.

条款内容,建议找个专家/律师商讨下.

1条回复

  • 石南

    回复 石南  2009年08月23日 星期日 15:44

    具体名字还没想好,你能建议下吗
    这个和龙芯硬件没什么关系。

    0条回复

刘磊(V.L.)

回复 刘磊(V.L.)  2009年08月23日 星期日 09:01

1.正如我第三点所说,纯粹的无意义。
2.你就没想过别人为什么用GPL,而没有自己弄个吗?
3.看你的头像是龙芯,很搞。抄袭的,还美其名曰,自主知识产权,纯粹的绿坝那路的东西。目的只是在于申请政府资金

3条回复

  • 石南

    回复 石南  2009年08月23日 星期日 15:51

    我讨论的这个事情和龙芯没有什么直接关系,有什么不同见解可以另开话题。
    我不是针对那些用了GPL的 ,是针对那些想以开源方式进行开发的作者以及那些想采用开源代码的人和企业考虑的

    2条回复

      • 刘磊(V.L.)

        回复 刘磊(V.L.)  2009年08月23日 星期日 18:40

        他们有GPL\BSD\APACHE\MIT之类的就已经很多了,整个汉化版的,呵呵,挺有创意呀。

        1条回复

夏武

回复 夏武  2009年08月22日 星期六 23:58

想知道,是否龙芯有软件将要采用这个协议?

4条回复

  • 石南

    回复 石南  2009年08月22日 星期六 23:59

    我正在策划一个开源软件比赛 希望能在比赛中使用这个协议。

    3条回复

      • 夏武

        回复 夏武  2009年08月23日 星期日 00:01

        具体好处和优点是什么呢?能否举个实例

        2条回复

          • 石南

            回复 石南  2009年08月23日 星期日 00:41

            第1 自由度比较大 方便大家实现个性化的需求,反过来吸引更多人采用。
            第2 方便比赛统一的标准 而又不限再发布的自由。
            第3 给作者实现商业化提供一些方便。

            比如我用开源兼容协议发布了一个 软件比如是 一个看照片的软件 《XX看图软件》。并以开源兼容协议发布。

            有人出于最大化推广或者教学的目的 把这个以GPL协议发布 当然就可以推广到所有的地方作为教材了。这个新的协议发行版就可以叫 基于XX的《番茄花园看图软件》教学版。 可以通过培训服务的方式商业化。
            有人把这个作为 BSD 再发布。就可以有更多的商业模式。我相信再发布的时候一定有较大的改进 ,甚至是翻天覆地的变化,有很多独门的创新。不然无法和原版软件竞争。可以叫 源于XX 的《番茄花园看图软件

            因为规定作者有授权其他发布者使用作品名称的权利。就给作者提供了一些收费的模式。比如企业以BSD 在发布后,觉得原来的作品名称比较有市场号召力 ,那么就可以向作者申请授权,当然这个就可以收费了。直接可以叫 《XX看图软件之番茄花园版》


            而更多的人可能还是以开源兼容协议来发布,这样就保证源头的可持续性发展。源头发展的越好,各协议发行版也就可以收到好处。

            1条回复

              • 夏武

                回复 夏武  2009年08月23日 星期日 09:20

                这里有几个问题:
                1、GPL、BSD等已有的开源协议和你的“开源兼容协议”相比是什么关系?
                2、什么样的自由度是“开源兼容协议”追求的?

                谢谢.

                0条回复

石南

回复 石南  2009年08月22日 星期六 23:20

BSD 协议不也是很简单吗? 我只是想以这个协议发布的 的软件 可以因为满足各种不同需要的再发布成不同的协议。比如可以发布成gpl 的这样 比较好推广,和研究 教学。但是有些人又需要发布成BSd的 进行一些商业化的考虑。如果一直坚持GPL 很多厂家会比较顾忌采用。而用开源兼容协议就很方便了。源头的代码是可以自由选择各种协议再发布的。而大家可以把主要的精力投入到 源头的开发,不用担心若干协议兼容的问题。如果有什么个性化的需要,换个协议再发布就可以了。关键是从源头开始就可以给大家一个自由选择再发布的协议的自由。这样我想更方便开源软件的发展,吸引更多的人参与开源开发。

4条回复

  • 刘磊(V.L.)

    回复 刘磊(V.L.)  2009年08月22日 星期六 23:50

    感觉BSD简单,就用apache。开源协议很多的。事实上,你的想法无外乎是向纯粹的闭源应用抛媚眼而已,同时也表现出对已有开源协议的漠视。“漠视”可能说的有点重,呵呵。但至少你没有观看足够多的协议。一般情况下,商业友好,只需要保留原项目的许可文件就可以了,BSD\apache\LGPL都是如此。而“优势是能够很自由以向其他新开源协议转化,方便用户的个性化和商业化”:所谓优势“只是你的感觉”,实际上无意义,协议之间不需要转化,也不能够转化,原因我在之前说过了;“方便个性化“,怎么说呢,自己在BSD之类的上面修改就行了,单独为这个目的而在整个协议,真是不知所谓呀。

    3条回复

      • 石南

        回复 石南  2009年08月23日 星期日 00:51

        开源协议很多,都是作者根据需要来发明的。为了实现更好的可持续发展,根据需要进行一些协议模式的创新 ,我看可以。已有协议多不是限制创新的理由。如果原来的就够好,那么现在就不会面临很多发展的问题,也不会有那么多种协议。其实那些协议都是想进行一些对作者有利的尝试。我不过是提出了一个新的尝试而已
        另外,闭源是不是可以和开源的互通呢?这个有很多软件开始是闭源的,后来开源了。那么开源的一些代码经过自己的改造后闭源,也是可以的,因为改造的,创新的代码是可以根据作者的意愿进行选择的。而其中开源的部分 ,只要作者保留原来的开源协议,给出原代码其他获取的方式还是不会影响开源代码的权利。我是这样理解的。开源不开源,作者对自己的代码部分应该有自由的选择权利

        2条回复

          • 刘磊(V.L.)

            回复 刘磊(V.L.)  2009年08月23日 星期日 08:40

            1.你要做尝试,就自己完成一套完整的开源协议,而协议之中包含对其他的开源协议的描述,美其名兼容协议,无意义。
            2.闭源开源的描述,只是把BSD之类的初衷描述了一遍,只能说你理解到了
            3.很有一部分人,认为别人的东西不适合自己,要弄自己的;要有自己的理念,而自己能力又不够。比如,龙芯,无能力兼容X86,使用精简指令集的MIPS,最终linux对MIPS的支持也不兼容,只能自己再打补丁;国外有一个开源的CPU设计,性能和龙芯的性能相当,在国内却访问不了它的网站,很容易想想龙芯是怎么造出来的。

            源CPU,在2004年左右我关注过,现在忘了什么网址了。

            1条回复

              • 石南

                回复 石南  2009年08月23日 星期日 08:47

                1 协议之中包含对其他的开源协议的描述,这个对开源软件的描述已经有些定义和标准了,我想没必要再重复。

                2 每个新协议的发布者都有我这的想法,我觉得这正是开源的魅力所在
                能力问题不是在这里所考虑的

                0条回复

李金贵

回复 李金贵  2009年08月22日 星期六 23:19

精神可嘉!顶一个!

0条回复

刘磊(V.L.)

回复 刘磊(V.L.)  2009年08月22日 星期六 22:53

内容很空洞,无意义。
事实上所有的开源协议自身已经是比较严谨的。各协议之间的不兼容是因为他们的理念是不同的,兼容性是个很弱的概念。
举例,GPL可以使用BSD的代码,BSD无法使用GPL的代码;BSD与GPL混用,只能使用GPL作为新项目的许可。你的这个所谓协议不能改变什么,顶多是多加了一个无意义的许可文件而已。

0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号