V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aincvy
V2EX  ›  版本控制系统

开源项目中,如何管理项目的『专业版』的代码?

  •  
  •   aincvy · 2020-11-20 14:24:25 +08:00 · 1861 次点击
    这是一个创建于 1250 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一般情况下, 社区版的代码应该都会托管到 github 。

    这里, 我想问下, 如果做一个该软件的专业版本(收费版),如何管理代码?

    11 条回复    2020-11-20 15:14:32 +08:00
    imnpc
        1
    imnpc  
       2020-11-20 14:35:07 +08:00
    本地开发的话建立 2 个项目

    社区版开发好的合并到专业版

    专业版代码单独提交到私有库
    cmdOptionKana
        2
    cmdOptionKana  
       2020-11-20 14:44:57 +08:00 via Android
    可以共用的代码单独一个仓库,社区版与专业版都去引用它。如果不相信大厂,可以自建 git 服务器给专业版用。
    XiLingHost
        3
    XiLingHost  
       2020-11-20 14:49:01 +08:00
    插件化,社区版写成平台和通用插件,专业版写成增强插件,然后专业版实际上就是变成几个独立的插件项目了
    andytao
        4
    andytao  
       2020-11-20 14:49:49 +08:00
    分两个库,一个公共的,一个私有的,袋鼠数据库工具 目前就是这样子安排的。
    aincvy
        5
    aincvy  
    OP
       2020-11-20 14:50:07 +08:00
    @imnpc 我的初始想法也是这样, 先使用 github 开发社区版本, 等时机成熟了,建立一个私有项目做专业版。
    但是想到 如果别人提交了 PR 什么的话, 处理起来会不会较为麻烦 ?
    aincvy
        6
    aincvy  
    OP
       2020-11-20 14:55:58 +08:00
    @cmdOptionKana 那个共用的代码的仓库是不是约等于 社区版本了。。?
    aincvy
        7
    aincvy  
    OP
       2020-11-20 15:00:28 +08:00
    @XiLingHost 刚刚简单的看了下,jetbrains 家族的 IDE 似乎就是这种形式 ? 这种形式下, 如何确保插件只工作在专业版授权下 可能是个问题
    XiLingHost
        8
    XiLingHost  
       2020-11-20 15:01:52 +08:00
    @aincvy 插件做鉴权啊,就和一般软件的授权类似
    aincvy
        9
    aincvy  
    OP
       2020-11-20 15:05:59 +08:00
    @XiLingHost 嗯,大致略微明白了, 有了些思路了。

    不过, 如果插件是用明文(*脚本*) 写的, 是不是就得考虑处理下插件机制了。。
    XiLingHost
        10
    XiLingHost  
       2020-11-20 15:13:19 +08:00   ❤️ 1
    @aincvy 混淆和加密啊,甚至可以做联网验证
    donnior
        11
    donnior  
       2020-11-20 15:14:32 +08:00
    把社区版作为商业版的 upstream
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5389 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:27 · PVG 16:27 · LAX 01:27 · JFK 04:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.