由因为开源软件争吵而想问点问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yangyaofei
V2EX    GitHub

由因为开源软件争吵而想问点问题

  •  
  •   yangyaofei
    yangyaofei 2015-08-13 22:14:11 +08:00 via Android 2896 次点击
    这是一个创建于 3785 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有没有哪位大大写一下: br />1 开源软件用的话,源文件里面需要添加那些东西啊什么的。或者说那些东西需要保留。
    2 fork了一个项目,已经基本上全改了,(语言都换了scala 换成java 四克拉不熟悉……),但是核心的用法什么的还是理解了之后重写的,这样的话我需要加什么呢?
    3 开源项目很难参与进来啊,怎么才能真正的参与进来呢?
    4 实际点的问题,如果一个开源项目,你有一些功能或者什么想要添加进去,但是这样可能会脱离项目的主线,是像我前面那样fork之后自己重构或者添加好呢,还是怎么做才能达到最高的效果。毕竟原项目也会源源不断得到commit很多新的feature,fork的话就只能自己添加或者放弃那些了,很不好呢。

    不知道我写的是不是有错误或者什么,这也是我看到那个争论的帖子,发现自己也可能犯了或者可能会犯很多错误,所以来问问。还请懂得大神们赐教啊。
    16 条回复    2015-08-14 23:11:24 +08:00
    ryd994
        1
    ryd994  
       2015-08-13 22:45:59 +08:00   1
    1. 开源的许可:GPL、MIT、GNU都可以,你自己写一个也可以,但一般人没这个法律水平。开源不是源代码挂网上就算的。最好能配上文档。如果你要用闭源的编译器/解释器,也要一起开源。不过都是以自愿为前提。
    2.取决于原来的项目的协议。GPL比较严,沾上都要全开源。MIT比较松,只要Credit一下其他都好。其他各协议各有条款。你应该仔细阅读,至少查查维基简介
    3.GitHub的流程是fork然后pull。其他的有些要求你参加mail list,或者其它要求。先从写拓展/插件开始,如果展示出你的能力的话,联系项目协调人不是难事
    4.git rebase
    publicID001
        2
    publicID001  
       2015-08-13 22:47:51 +08:00 via Android
    1.2.一般只要注明源项目和源项目的协议就好,具体各个协议有所不同,比如Apache我记得好像要在每个文件里注明?

    4.你可以fork之后将原项目的更改合并过来
    publicID001
        3
    publicID001  
       2015-08-13 22:49:48 +08:00 via Android
    另外你的协议也受源的影响,GPL有传染性,MIT就比较随意等等
    Dongdong36
        4
    Dongdong36  
       2015-08-13 23:10:20 +08:00
    lightening
        5
    lightening  
       2015-08-13 23:22:48 +08:00
    用之前读一下他的 LISENCE 文件
    aaronlam
        6
    aaronlam  
       2015-08-14 02:20:39 +08:00 via iPad
    @Dongdong36 这图清晰明了啊
    cxe2v/td>
        7
    cxe2v  
       2015-08-14 09:33:31 +08:00
    有个问题,在国内,写了一个开源项目,结果被某些公司悄悄拿去用在了自己项目里,作者能怎么办?
    fengyqf
        8
    fengyqf  
       2015-08-14 13:48:23 +08:00
    @cxe2v 有这个潜规则:你用了开源项目,只自己用,不二次发布,那就闷声自用好了;如果你二次发布,那不是遵守游戏规则吧。
    fengyqf
        9
    fengyqf  
       2015-08-14 13:49:17 +08:00
    @cxe2v 有这个潜规则:你用了开源项目,只自己用,不二次发布,那就闷声自用好了;如果你二次发布,那*还是*遵守游戏规则吧。
    前面一条打错字了,更正
    cxe2v
        10
    cxe2v  
       2015-08-14 14:07:40 +08:00
    @fengyqf 那之前看到有人问那些开源项目的主要负责人怎么活,有人说写个开源项目放网上结果国外有公司在用,然后发现功能不够,叫负责人去公司所在国入职进行专职开发,这国外的公司自己不会进行二次开发吗?反正又不会发布出来
    fengyqf
        11
    fengyqf  
       2015-08-14 15:21:43 +08:00
    @cxe2v 有良心,尊重知识的公司。赞!
    当然,而且很可能是这样的:尽管项目是开源的,但二次开发也还是需要成本的,找一个人研究代码做,还不如直接找项目负责人做,他肯定比任何人更熟悉项目本身。如果与公司核心业务密切,重金挖来也是值得的。
    cxe2v
        12
    cxe2v  
       2015-08-14 15:46:13 +08:00
    @fengyqf 然后这个负责人告诉对方说不喜欢坐班,就喜欢给自己项目贡献代码,最后该公司说那你过来,自由开发,不用坐班,我们给你钱
    fengyqf
        13
    fengyqf  
       2015-08-14 16:48:36 +08:00
    @cxe2v 爆了!是什么项目,去围观一下大神
    yangyaofei
        14
    yangyaofei  
    OP
       2015-08-14 22:51:20 +08:00 via Android
    @fengyqf 好多项目貌似都是这样,不是说很多开源项目的作者都是这样,国外公司说你只要考虑一下优先满足我们需要的需求什么的就行么
    @aaronlam
    @lightening
    @ryd994
    yangyaofei
        15
    yangyaofei  
    OP
       2015-08-14 22:51:36 +08:00 via Android
    谢谢,我回去看看研究下
    lightening
        16
    lightening  
       2015-08-14 23:11:24 +08:00
    @fengyqf RedHat 很多员工都是这样的啊。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1466 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 16:47 PVG 00:47 LAX 08:47 JFK 11:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86