常见问题
谁在维护 ContiNew?
ContiNew 系列项目是独立的开源社区驱动项目。首个开源项目 ContiNew Admin 由 Charles 于 2022 年底以个人项目形式发起。如今,ContiNew 由 来自全国各地的非全职成员团队 共同维护,Charles 担任项目负责人。你可以在 发展历程 中了解更多关于 ContiNew 社区的故事。
如果你或你的企业从 ContiNew 中受益,请考虑 赞助 我们,以支持 ContiNew 的持续发展!
ContiNew 使用什么开源协议?
项目 | 协议 | 商用说明 | 常见问题 |
---|---|---|---|
ContiNew Admin | Apache-2.0 开源许可协议 | 完全免费用于商业应用开发 | 查看 |
ContiNew Starter | LGPL-3.0 开源许可协议 | 通过 Maven/Gradle 等依赖方式完全免费用于商业应用开发 | 查看 |
Starter 为什么采用 LGPL-3.0 开源协议?
不少人疑问 ContiNew Starter 为何采用 LGPL-3.0 开源许可协议?事实上,LGPL-3.0 协议本身并无问题,其核心目标是汇集更多开发者智慧,让通用功能更加普及。但部分开发者习惯了 Apache-2.0 和 MIT 协议后,可能会误以为 LGPL-3.0 不可商用,在此统一说明:
自 ContiNew Admin v2.1.0 版本起,我们调整了整体架构,将后端基础组件及各框架通用集成配置 抽取并封装至 ContiNew Starter 项目中。Admin 项目定位为解决方案框架,提供通用应用和实现方案;而 Starter 项目则作为应用脚手架,已发布至 Maven 中央仓库,可在任意项目中直接引入依赖使用。即使不使用 Admin 项目,你也可以直接使用这些 Starter 来简化 Spring Boot 程序开发!
Starter 的优势:
- 易于迁移: 选择程序框架的核心目标是减少重复开发。框架不仅提供成品功能,还包含基础配置。开始 Spring Boot 项目开发时,通常需要配置 JSON、API 文档、跨域、线程池等。若这些配置都在 Admin 中而没有 Starter,你需要从 Admin 复制大量配置到新项目,或从框架中删除不需要的配置,这既繁琐又容易出错。
- 易于扩展: Starter 的开发目标是通用且基础,不含业务逻辑。在设计和开发每个 starter 模块时,我们已尽可能开放更多可重写或覆盖的扩展点。未来在持续重构中,我们将进一步优化并开放更多扩展点,以适配更多场景,这需要社区的共同智慧。
关于代码修改
Starter 是一系列组件,若扩展点不够满足需求,欢迎反馈,我们会共同讨论完善并快速发布新版本。若需完全重构,你可以选择不引入某个 Starter,自行编写内部 Starter,或关闭 Starter 的部分配置并替换为自定义实现。需要说明的是,LGPL 协议涉及的二次开发不包括通过 @Bean 重写配置或 @Override 方法等常见操作,这是面向对象和 IOC 的正常使用方式,与开源协议并不冲突。换个角度看,就像使用 Hutool 工具库一样,你可以直接使用其提供的工具方法,也可以基于它封装自己的工具类,这无需担心侵权问题。当然,若仅修改包名或进行简单改动就发布为独立项目,则既无必要也不符合开源精神。
- 易于上手: 抽离基础配置后,Admin 成为纯粹的业务解决方案项目,这正是大多数开发者需要的。即使是新手,也无需关注无关的配置细节,大大降低了上手、学习和改造成本。
- 易于升级: 对于配置优化和完善,只需更新 Starter 版本号,无需对照最新版手动复制代码,减少出错概率,提升升级效率。
- ...
总之,我们欢迎更多开发者反馈建议,共同完善项目。有技术的捧个技术场,有人的捧个人场,有钱的捧个钱场。
ContiNew 支持二次开发并开源吗?
我们非常欢迎在遵守对应项目开源协议的前提下进行二次开发并开源,共同扩展生态系统。也欢迎投稿登记至 项目生态,给更多开发者更多的选择。
Creator 接定制开发吗?
Creator 仅利用业余时间维护开源项目,有正式全职工作,暂不承接定制开发。如有需求,可协助各位老板在维护群或交流群内发布相关信息。Coder help coder.
文档站点使用什么技术构建?
本文档站点基于 VitePress 构建,并采用 VitePress Vue 主题进行定制。