1.遵守协议是不是在代码顶部粘贴协议信息就可以了。2.这种方式真的能够保障代码不被盗用么?比如你以GPL的形式发布,被一个商业公司看到,它偷偷把代码用了,感觉很难发现的啊。也没法诉诸法律呢。
这方面不是很了解,求教育。特别想了解国外。。。大家都是靠自觉?
楼主明白开源的意义吗? 开源的话你就不能避免被盗用,如果你不希望别人盗用就不要开源。
只要你是开源的,就意味着其实你并不是特别在乎别人盗用,虽然这么说好像不符合GPL这类协议的定义,但事实如此。一般小团队和个人开源的都不会采用GPL,因为很难保证别人不盗用,除非你觉得你有办法或者是打算通过咨询服务来賺钱的。
例如我曾经用过OSIP这个开源的SIP库,我也曾经发现过QQ在某段时间内采用过这个库,而且没有履行响应的协议,但后来QQ又没继续用了(或者封装起来了),所以其实很难追究。而我们之前的做法是在OSIP之上做一层封装,如果要开源就只开这层封装的代码,再之上的就不用开源了。
说到底都是靠自觉,90%的情况都很难判断有被侵权。如果有意识就一开始就尽量把侵权问题局限在可控范围内。
2楼 @nickel 我 不同意你的观点。我认为你还不知道开源协议是啥
上图来自阮一峰的博客:http://www.ruanyifeng.com/blog/2011/05/howtochoosefreesoftware_licenses.html
此外还有一篇关于开源协议对比的:http://www.awflasher.com/blog/archives/939
国内开源是要看心态的。在国内,对于IT人员的地位在近几年来的地位才提升一点。
而且国家执法部门对于盗版法律的执行与版权保护根本还不够。所以这完全是靠人们的自觉。
刚刚看到@tinyfool 发到了微博,所以还补充点自己点个人看法。
很多技术人每次看到那些愤青帖或者是道德帖都愤愤不平,但是有些事情到了自己这边根本就啥事儿都不管。首先技术人要尊重技术人。有时在论坛或者微博上面能够看到一本技术书出来就有人问是否有PDF版。 试想假如曾有一天假如你出了一本书之后有人这么问你,你会如何想?
开源是一种心态,我选择某种开源协议。把软件or框架开源出来是选择了相信技术人。相信使用我开源软件人的道德。相信都是相互。但是你不遵守开源协议我也没有办法除了通过法律告你之外。完全无效。所以这完全靠技术人自觉。互相尊重技术,
个人观点,开源协议保证的不是“不被盗用”,而是“在什么情况下可以放心的使用”,其实保障的是使用者的权利。其实修改后开源不开源,对作者没什么利益影响(就算开放源码,你也未必能吸收到官方版本中)。
我觉得开源协议算是个君子协议吧。GPL还是比较极端的开源倡导者提出来的,目前使用Apache或者MIT之类协议的项目越来越多了。对于不遵守的,"道德上谴责"的会比较多一点。
3楼,6楼,7楼 各位,先是谢谢批评,我说的确实有点不太准确。
但大部分开源协议由于工作涉及到,所以几乎我都看过。 不过我的观点没有变。没错,欧美在知识产权方面的法律是比较健全的,但是要在代码层面判断被侵权其实是相当困难的。Tiny说到的FFMpeg库,因为是已经是媒体领域非常常用的库了,而且很多公司(尤其国内公司)迫于竞争压力没精力(或者说懒得甚至是没意识)去做必要的处理(例如我说的封装),导致直接侵权而且很容易暴露自己侵权行为。但但多数时候,如果有心,其实是有可能掩饰起来的,除非你得到啥内部证据去要求对方提供代码来证明自己没有侵权行为。
我老婆是做软件专利领域的工作的,虽然国内外法律程度有别,但类似的案件或者侵权形式还是多少有点熟悉的。这种代码级的侵权是极其难以取证的。国外更多是因为法制健全,一旦发现惩罚非常严厉,因此久之形成了比较好的守法观念。
你们说得都对,但是不是现实情况,至少不是中国这类国家的现实情况。我只是陈述现实,不是反对开源的宗义。