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

2020-11-20 14:24:25 +08:00
 aincvy

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

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

1874 次点击
所在节点   版本控制系统
11 条回复
imnpc
2020-11-20 14:35:07 +08:00
本地开发的话建立 2 个项目

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

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

不过, 如果插件是用明文(*脚本*) 写的, 是不是就得考虑处理下插件机制了。。
XiLingHost
2020-11-20 15:13:19 +08:00
@aincvy 混淆和加密啊,甚至可以做联网验证
donnior
2020-11-20 15:14:32 +08:00
把社区版作为商业版的 upstream

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

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

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

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

© 2021 V2EX