Skip to content

使用许可

Keldos edited this page Nov 12, 2023 · 10 revisions

对大多数用户来说,您不需要关注本页说明,直接下载使用即可。
但如果您想拿本项目实现更多的事儿……可以看看本页 (=・ω・=)

开源许可协议

川虎Chat (Chuanhu Chat) 是一个开源的自由软件,根据GPL3.0协议授权。在GNU通用公共许可协议的约束下,您可以对其进行再发布及修改。

我们希望 川虎Chat(以下简称“本程序”)能帮助到您,但不保证它有经济价值和适合特定用途。

您可以在这里查看我们存放于仓库的协议原文。本页对于协议的解释可能存在误差,只有协议英文原文才具有法律效力,请以协议英文原文为准。

对开源许可协议的解释

根据GPL3.0协议,简单来说,您在使用、修改、复制和分发本程序时,需遵循以下规则:

  • 您可以自由地使用修改本程序。
  • 您可以自由地复制分发本程序,但必须保留我们的版权和许可证信息。
  • 如果您对本程序进行了修改(包括将本程序嵌入到其他程序中使用本程序的部分源代码创建新的程序),且同时希望分发修改后的程序,则需保证:
    • 修改后的程序也遵循GPL协议并提供源代码
    • 保留我们的版权和许可证信息
    • 带有醒目的修改声明及相应的日期
  • 该项目不提供任何明示或暗示的品质担保,您必须自己对由于使用该软件而导致的任何直接或间接的损失负责。

以下是对一些可能的常见问题的解答~

我可以修改 川虎Chat 的部分代码后提供给我的实验室或机构使用吗?

是的!你可以自由地修改 川虎Chat 的任何代码,将它修改成你所需要的样子,包括按照自己的喜好更改或增加新功能,然后使用这些修改后的代码部署并运行在你的实验室或机构机房中,为自己与内部人员提供服务。

事实上,我们能发现许多fork仓库将网页标题从“川虎ChatGPT”改为了“xxx实验室专用GPT”,或更改了图标等等,这不会产生任何问题。

GPL并不要求你公开你的修改版源代码。你可以随意修改并自用,而不必发布(对实验室或机构来说,则是可以做出修改版并在内部使用而不向其他外部组织发布)。你也不必通知我们。

  • 但是要注意,如果不仅仅是在内部使用,你还以某种方式把修改版向他人分发(包括公开发布),GPL就要求你向对方或公众提供修改版的源代码,同时满足GPL协议的要求:保留我们的版权和许可证信息带有醒目的修改声明及相应的日期
  • 根据GPL协议的说明,我们保留对“分发”(propagate)一词的解释权。

我可以基于 川虎Chat 二次开发吗?

是的!您可以自由地基于 川虎Chat 的源代码进行二次开发,根据喜好更改或增加新功能,让它更有趣或更好用。我们也将感谢您选择并使用我们的源代码。

同样,只要你只是自己使用,你不必公开布你二次开发版本的源代码,也不必让我们知道你干了什么。

  • 但是,一旦你决定分发(包括公开)二次开发的版本,GPL就要求你以相同的许可证向对方或公众提供修改版的源代码,同时满足GPL协议的要求:保留我们的版权和许可证信息带有醒目的修改声明及相应的日期

    例如,假设您基于本项目二次开发了“路喵ChatGPT”,并将代码放在Github上托管1,您将必须使用与我们相同的GPL3.0协议开源,同时保留我们的原始许可证和版权信息,并带有醒目的修改声明及相应的日期。

  • 基于GPL协议开源代码是为了保证其开放性和可访问性,旨在让更多人可以共享和受益。这有助于确保贡献者的利益和开放性的原则。

另外,如果您真的开发了特别有趣特别好用的功能,我们将非常乐意将其纳入到本项目中,您也可以成为项目的贡献者(contributors)之一!只要向我们提交一个 pull request,请参考:贡献指南

又或者,您的项目不适合并入我们的主线,我们也很乐意在相关地方提供友情链接~

我可以挪用 川虎Chat 的部分代码到我的其他项目中吗?

好吧,这是一个比较难回答的问题……

事实上,这是一个定义“挪用”是否为“二次开发”的问题。一般来说,如果你大规模地复用了我们的代码,这应当被视为二次开发,你可以参照上个问题的解释。但是,如果只是挪用一小部分代码,这也可以视为参考借鉴,你甚至不需要保留我们的署名。

也就是说,如果你想在某个公开发布的项目中挪用一段我们的代码,比如,复制你需要的Python代码片段甚至是CSS代码片段到你的Github项目中,你直接粘贴即可,并不需要什么额外说明2

如果挪用的源代码在您的项目中占有一定比例,我们建议您可以在源代码或项目说明中保留我们的原始版权信息(注明代码来源并提供我们的项目链接)3。至于是否认定你的行为是基于我们代码的二次开发,以及是否应遵守GPL协议将你的新项目按GPL开源,您可以暂时自行决定。

我可以基于 川虎Chat 创建商业产品吗?

是的,虽然我们谴责这种行为,但理论上你确实可以基于 川虎Chat 创建商业产品,并从中获得盈利。

但需要注意,根据GPL协议,你在售卖分发产品时,也必须:

  • 向对方提供继续按GPL协议授权的源代码
  • 保留我们的版权和许可证信息
  • 带有醒目的修改声明及相应的日期

我可以将 川虎Chat 和相关依赖打包为一个二进制文件吗?

GPL协议应该没有限制你这么干。但是,我们的项目源码并不包括pypi中的依赖项目的源码,我们将它们视作GPL协议中的“系统库”(System Libraries)。

如果你将这些依赖库也进行了打包并要进行分发,你还必须分别获取那些依赖库的授权。

本项目自身部分的源码的其他要求同样遵循GPL协议。

怎么样才算“保留你们的版权和许可证信息”?

好吧,或许我们应该遵照GPL的要求,在每一个源代码文件中都注明我们的协议声明和著作权信息……但我们目前还没这么干。

我们的建议是,您按照您喜欢的方式在源代码中注明代码出处,并在项目说明(如README)中同时注明来源并给出我们的项目链接。

同时,根据GPL开源协议,您新的源代码仓库中应该保留我们的 GPL协议原文

为什么要“带有醒目的修改声明及相应的日期”?

为了保护每一位作者和开发者,GNU通用公共许可协议指明一点:自由软件并没有品质担保。为用户和作者双方着想,GNU通用公共许可协议要求修改版必须有标记,以免其问题被错误地归到先前版本的作者身上。

如果方便,我们建议你标记出你在何时修改了我们的哪个版本的源代码,并修改了哪些内容。这样如果软件发生问题,我们可以知道是哪里出了错。(当然,如果你发现了我们的问题,也可以告知我们一下)

但是还是得重复一句:本程序作为自由软件,没有品质担保

你们是不是改名了?项目名字到底怎么写?

本项目原名为“川虎ChatGPT”,自V3起加入了其他LLM支持,改名为“川虎Chat”。

川虎Chat 对应的英文名为 Chuanhu Chat,如果您的输入环境不允许使用空格,也可以写作 ChuanhuChat

由于GitHub与git的机制,仓库名更改会产生一些不必要的麻烦,因此仓库的标准链接仍为 https://github.com/GaiZhenbiao/ChuanhuChatGPT

自现在起,请在引用或介绍本项目时使用新的名称。过往的引用或介绍等不必更改。

如何引用该项目?

引用本身并不作为GPL的附加要求,但是是的,合理的引用是学术发表的一个重要部分,我们很高兴您愿意引用本项目!(当然,我们也不介意您把我们放在“致谢”中,这样看上去更有面子)

您可以在本项目页面的 About 部分找到引用本项目的方式: image

您也可以查看我们的 CITATION文件

另外,我们的CITATION文件中的版本和发布日期信息可能不会及时更新,如果您使用了我们项目更新的版本,建议引用时自行修正为实际引用的项目版本信息

补充说明

免责声明

  • 本程序在适用法律范围内不提供品质担保。品质担保所指包括而不仅限于有经济价值和适合特定用途的保证。您需要自己承担使用该软件的全部风险。
  • 本程序作为基于生成式服务的API或训练模型的网页聊天界面框架,自身并不提供任何人工智能生成式服务,亦不知晓任何生成式模型的返回内容,并不承担任何内容合规、个人信息保护等方面责任。如您需要通过本程序为他人提供生成式服务,您需要自行采取措施防止生成虚假或违规信息,并自行承担相关责任。

使用限制

  • 您在使用、复制、修改、合并、发布、分发本程序或创建本程序的全部或部分衍生品时,不得违反当地的法律法规。
  • 您不得将本程序用于任何可能破坏中国的国家安全和民族团结、损害社会公共利益或侵犯人类权益的行为。

贡献者名单

我们鼓励任何人参与 川虎Chat 的开发!在 贡献指南 中我们写道,“通过提交拉取请求,您同意将您的贡献授予该项目的许可证下。”

由于原始许可证无法保留所有贡献者的信息,这里手动列出了所有开发者和贡献者(但由于文档的滞后性,此处并不能保证最新,请以实际为准。您可以在 这里 查看所有贡献者):

Chuanhu, MZhao, Keldos, iskoldt-X, xingfanxia, noahzark, HsunGong, 2p990i9hpral, ina111, binary-husky, bropines, JohnZ03, PedroGruvhagen, chinwh2019, xhongc, HaleyCH, XudongLiu, toantranct, xzajyjs, Kilig947, libukai, plucury, Pnut-GGG, QingXuDw, gghyoo, ParadoxZW, Eralien, Samge0, AneonCode, Gary2018X, iHomeSoft, sifue, tuteng0915, RedHeartSecretMan, KintaMiao, SexySteak, lihuacai168, Nativu5, Miloxing, IdlessChaye, chenhengjie123


注释

  1. 如果你直接在你fork的仓库中进行了二次开发,你也可以先忽略这些说明——因为git的上下游机制自动留存了这些你本需要额外声明或保留的信息。↩︎

  2. 当然,如果你愿意,你可以保留来源著作权信息,注明“该段代码参考了 川虎Chat”,我们将不胜感激QAQ。
    比如,中科院版ChatGPT (gpt_academic) 将我们写在了“参考和学习”中。↩︎

  3. 我们很高兴 Baize 项目同时在 README 和 Hugging Face 的 在线demo 中都标注出了我们的项目,感谢。↩︎