开源软件必须公布在 github 之类的网站上么? 如果只是放在自己的网站上,是否可以算开源?

2014-08-07 10:37:19 +08:00
 fan123199
举个例子,如果公司A使用了你的代码做了一个project,但是不遵循GPL协议开放源代码,并称是自主开发。然后,公司B抄袭了公司A的project。公司A告了公司B。公司B为了躲避指控,称project中的代码是开源的,不算抄袭。公司A为了自己的利益,不想公布你的网站。 关键在于公证处通过google搜索,由于你网站未被google搜录,找不到你的网站,故认定你的那段代码不是开源的。最后那个判断合理吗?
6553 次点击
所在节点    问与答
30 条回复
huage
2014-08-07 11:13:30 +08:00
我觉得只要你公布你的整体源代码,没有加密,应该就算开源了吧。开源的本义是open source,你全部open了,应该就OK了。

不过我对于严格意义或者讲行业规范上的认知不是很了解,SO个人意见!
Tink
2014-08-07 11:13:47 +08:00
公布了源码就是开源
semicircle21
2014-08-07 11:18:52 +08:00
有点绕晕了,
"B为了躲避指控,称project中的代码是开源的," 那么就要遵守这个project的协议.

最后的判断不合理, 按我的理解:
未被Google收录不等于不开源, 只要任何人提出想要这段代码, 代码的维护者给了, 就算开源的.
比如各大手机厂商的ROM, 是基于Linux的,但并未提供公开下载. 像CyanogenMod这样的第三方开发者索要源代码的时候, 这些厂商提供了, 就算满足了开源协议.
pandada8
2014-08-07 11:25:15 +08:00
就算代码公开了也可以使用商业的许可证禁止衍生
fan123199
2014-08-07 11:32:15 +08:00
@semicircle21 因为你知道那些rom是基于Linux的,所以可以要求他们开源,但比如公司拿了开源的代码,并删掉了中间的开源声明,并称是自主开发的。这样外面的人完全无法判断。
gotounix
2014-08-07 11:34:02 +08:00
在没有github之前就没有开源软件了?!当然有啦!
fan123199
2014-08-07 11:35:13 +08:00
@Tink
@huage
@pandada8
主要是涉及到了版权问题。不然对于开发者来说,有源码当然是开源, 可以拿来用。
jsonline
2014-08-07 11:38:15 +08:00
那要看你的 lisence 是什么类型的。跟是否公开没关系吧。
如何选择开源许可证?
作者: 阮一峰
http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html
bitbegin
2014-08-07 11:50:51 +08:00
@semicircle21 gpl要求是主动提供吧。如果自己索要他才提供应该违反协议的
lyragosa
2014-08-07 11:52:49 +08:00
当然不是,只要你在软件中附上了开源的lisence就说明是开源。
甚至都不用放上网。

另外 开源之后 衍生产品是否要求开源也是开发者自己定的,不是说开源的东西就一定要求衍生也开源。没记错的话安卓就是允许衍生产品闭源。
10iii
2014-08-07 12:25:18 +08:00
中国实践,算不算请问法院。这里讨论无意义。

真的想从理论上讨论,判断开源的关键在软件发布时声明使用的许可证。而不在于代码放不放在网上。

开源许可证有很多种,从字面理解,只要是允许用户得到软件源代码的许可证都可以算开源许可证。但是同为开源许可证,有的可能是禁止修改或者重新发布的,这种源代码是不能复制到自己软件中使用的。

至于用户得到源代码的形式,则没有限制。最早的时候开源软件很多是以二进制形式发行,但是你可以联系作者,支付合理的载体费和邮费,原作者邮寄一份源代码给你。有可能是软盘光盘,也可能是打印稿。

有一些软件即使源代码是在网上随手查得到的,但是他也不是开源软件。比如非法盗取在网上公布,比如原作者误操作放在网上,然后被复制传播。这样的代码公开并不改变软件的所有权和版权性质。
bitbegin
2014-08-07 12:27:56 +08:00
@lyragosa 开源协议一大堆,你这是说的哪个?
semicircle21
2014-08-07 12:45:51 +08:00
@bitbegin 这个我不了解, 我猜 GPL的主动提供 是指 比如发到社区的邮件列表, 告知大家我做了XXX修改 等等?
在以前的公司改Linux时, 我就想过这个问题, 当时不求甚解了, 后来...中国公司嘛, 就没然后了.
semicircle21
2014-08-07 13:00:47 +08:00
@fan123199 那这么说, 实际上B司只要提供出自己是从哪里找到的代码不就行了? 顺便附带上许可协议之类, 那不就足以说明问题了.

如果project作者已经被A司收买了, 甚至就是A司的员工, 那就真说不清了. 因为, 如果project的全部贡献者都同意的话, 软件的License是可以被更改的, 甚至某个补丁, 某些部分都可以是不同的License, 这要调查起来, 是个无底洞.

顺便问一句, 您是在代理知识产权纠纷的律师吗?
imn1
2014-08-07 13:23:56 +08:00
我在个人网站下的开源软件多了去了~
开源协议(或授权使用条款)也不必是公用协议GPL之类,自定的也可以,写清楚就行
主要是下载源必须带有协议,例如打包了给别人下载,包里面也要带上协议,协议文件命名、存放点及文件格式都应是一目了然

我曾见过开源协议写在ms word里面,很搞笑,虽然ms word也有免费工具可以阅读,但完全搞不清开源主是怎么想的

LZ说的例子很像某数字公司最近的一宗争议事件
muzuiget
2014-08-07 13:24:08 +08:00
> 开源软件必须公布在 github 之类的网站上么?

不,任何网站都行。

> 如果只是放在自己的网站上,是否可以算开源?

就看有没有同时附上许可证了,如果没有许可证,那不能算“开源”,只能算“公开”了。

“开源”指“开放源码”,“开放”就是你可以修改,重新打包发布,纳入自己的软件中。

“公开”就单纯的给你看,眼看手勿动,就给你看看软件是底层怎么实现的,方便你调试之类的,微软早期就是这种做法。

> 然后,公司B抄袭了公司A的project。

到底怎么“抄袭”法?
belin520
2014-08-07 13:46:13 +08:00
@muzuiget 没有 licence,不是默认使用某个licence 吗?
jacob
2014-08-07 14:08:09 +08:00
@belin520 软件是你写的,是属于你的,怎么可能有默认的许可证呢?我觉得你对开源的理解有错误。
davepkxxx
2014-08-07 14:10:27 +08:00
有一些公司都是自己建立网站维护自己的开源库,这很正常。
bitbegin
2014-08-07 16:11:03 +08:00
@semicircle21 所以说gpl协议使用很严格,尤其商用的产品代码,要主动提供源代码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/126525

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX