aincvy

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

  •  
  •   aincvy · Nov 20, 2020 · 3206 views
    This topic created in 2004 days ago, the information mentioned may be changed or developed.

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

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

    11 replies    2020-11-20 15:14:32 +08:00
    imnpc
        1
    imnpc  
       Nov 20, 2020
    本地开发的话建立 2 个项目

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

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

    不过, 如果插件是用明文(*脚本*) 写的, 是不是就得考虑处理下插件机制了。。
    KagurazakaNyaa
        10
    KagurazakaNyaa  
       Nov 20, 2020   ❤️ 1
    @aincvy 混淆和加密啊,甚至可以做联网验证
    donnior
        11
    donnior  
       Nov 20, 2020
    把社区版作为商业版的 upstream
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2946 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 11:29 · PVG 19:29 · LAX 04:29 · JFK 07:29
    ♥ Do have faith in what you're doing.