V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
fan123199
V2EX  ›  问与答

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

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

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

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

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

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

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

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

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

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

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

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

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

    不,任何网站都行。

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

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

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

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

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

    到底怎么“抄袭”法?
    belin520
        17
    belin520  
       2014-08-07 13:46:13 +08:00
    @muzuiget 没有 licence,不是默认使用某个licence 吗?
    jacob
        18
    jacob  
       2014-08-07 14:08:09 +08:00
    @belin520 软件是你写的,是属于你的,怎么可能有默认的许可证呢?我觉得你对开源的理解有错误。
    davepkxxx
        19
    davepkxxx  
       2014-08-07 14:10:27 +08:00
    有一些公司都是自己建立网站维护自己的开源库,这很正常。
    bitbegin
        20
    bitbegin  
       2014-08-07 16:11:03 +08:00 via Android
    @semicircle21 所以说gpl协议使用很严格,尤其商用的产品代码,要主动提供源代码
    bitbegin
        21
    bitbegin  
       2014-08-07 16:13:17 +08:00 via Android
    @pandada8 gpl没有商用优先,无法禁止衍生
    bitbegin
        22
    bitbegin  
       2014-08-07 16:16:08 +08:00 via Android
    @fan123199 这只能说只有我们国人才能干出来。企业要注意诚信,瞒得了一时,瞒不了一世。
    msg7086
        23
    msg7086  
       2014-08-07 16:22:46 +08:00
    @jacob 有默认许可证的。默认的就是版权所有,所谓的 "All rights reserved"。

    ---

    至于贴上开源许可证,实际上是重新定义了软件的权利归属,比如规定了是否可以修改和再发布,比如规定了是否必须公开修改后的源代码(GPL),比如规定了是否可以与闭源软件链接(LGPL),等等。

    像CC许可就有很多不同的版本,规定的内容也都不同。
    9hills
        24
    9hills  
       2014-08-07 16:36:55 +08:00
    @semicircle21 GPL不要求把源代码放上网,任何人要代码的时候你只要愿意给就行
    9hills
        25
    9hills  
       2014-08-07 16:37:36 +08:00
    @belin520 默认License有的,就是保留一切权利
    nicai000
        26
    nicai000  
       2014-08-07 16:40:57 +08:00
    你可以双LICENSE啊, 给A商业授权, 其它GPL, 并不矛盾
    dorentus
        27
    dorentus  
       2014-08-07 20:28:50 +08:00   ❤️ 2
    GPL 似乎有人有误解,简单举个例子吧,例如 GPLv2 的 Linux kernel,假如我拿来修改了自己用,那么即使你来问我要代码我也没有任何义务给你。

    但是只要我去分发,把我这个修改过的 linux kernel 给任意第三人,那么我就得按照 GPLv2,不能仅给二进制的,而必须同时提供源码、并且采用的许可证必须不能违反 GPLv2(或者说被 GPL 传染了:不能禁止别人再次分发、必须禁止别人再次分发的时候的使用违反 GPLv2 的许可证)。

    ----
    楼主的事情,只要原始代码确实是你写的,并且公司 A 没有得到你的授权,或者你的项目使用了某开源许可证公开了源码、但是公司 A 使用了其代码却没有遵守许可证,那么公司 A 就已经错了。和开不开源其实关系不大。

    至于到法院那里具体会怎么认定或者需要什么证据,我就不清楚了,咨询律师呗。
    fan123199
        28
    fan123199  
    OP
       2014-08-07 23:01:15 +08:00   ❤️ 1
    @semicircle21 不是,我是程序猿,不过这是从学知识产权的女友那里听到的
    fan123199
        29
    fan123199  
    OP
       2014-08-07 23:04:55 +08:00   ❤️ 1
    @muzuiget 抄袭的具体不是很清楚,好像是直接copy核心部分。对于学IT的我,只是想搞清楚开源这个概念,以后我们也可能遇到。 这种著作权的诉讼可以是上刑事诉讼哦!
    kneep
        30
    kneep  
       2014-08-08 08:56:06 +08:00
    算。别人关心的是你的license,不是你托管代码的地方。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1727 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 16:45 · PVG 00:45 · LAX 08:45 · JFK 11:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.