关于Gson RuntimeTypeAdapterFactory使用及源码引入许可的疑问
解答:Gson RuntimeTypeAdapterFactory的使用与许可证疑问
首先直接给你吃个定心丸:你完全可以直接复制带有原始许可证头的RuntimeTypeAdapterFactory.java代码到你的项目里用,这完全符合要求,也是那句“You should include source-code.”提示的核心意思。
先解释那句提示到底啥意思
这句话其实是Gson官方针对这个非核心扩展代码的明确要求:因为RuntimeTypeAdapterFactory属于Gson的extras(额外工具)目录,不是核心库自带的类,所以当你要用它的时候,必须保留完整的源代码文件(包括顶部的Apache License 2.0许可证注释),不能只拿编译后的字节码用,也不能删了许可证信息就用。
简单说就是:别搞“偷梁换柱”,把整个文件原封不动(或者改代码但留许可证)拿过去用就对了。
关于许可证的合规性
这个类是基于Apache License 2.0发布的,这个许可证的自由度很高:
- 允许你把它用到商业或非商业项目里
- 允许你修改代码适配自己的需求
- 允许你分发包含它的软件
唯一的硬性要求就是:
- 必须保留原始的版权声明和许可证文本(就是文件顶部那一大段注释)
- 如果你修改了代码,最好在修改的地方标注清楚是你改的(不是强制,但属于良好实践)
- 如果分发包含这个代码的软件,要确保接收方能拿到许可证副本(分发源码的话直接带文件就行;分发二进制包的话,在项目文档里提一下用了这个类并说明许可证就行)
所以你完全不用怕踩许可证的坑,只要保留好原始的许可证头,直接复制使用是完全合规的。
内容的提问来源于stack exchange,提问作者nantitv
相关产品推荐
相关产品推荐

