-
Notifications
You must be signed in to change notification settings - Fork 0
License and Attribution
本页详细说明 TeXLeaf 1.0.0 起的许可证、项目署名要求、修改版标记、源码/VSIX 再分发,以及历史 MIT 版本和第三方组件的边界。本页用于帮助使用者理解仓库中的正式文件,不代替适用于具体个人、组织或司法辖区的法律意见。
正式文本以主仓库中的以下文件为准:
- LICENSE:GNU General Public License v3.0
- NOTICE:TeXLeaf 署名声明与 GPLv3 第 7 节条款
- THIRD_PARTY_NOTICES.md:第三方组件与许可证
TeXLeaf 项目自己编写的部分从 1.0.0 起采用 GNU GPL v3 only(GPL-3.0-only)。你可以免费或收费地使用、研究、修改和再分发;但当你向他人分发 TeXLeaf、修改版或基于 TeXLeaf 的作品时,必须遵守 GPLv3 的源码与同许可证义务,并按 NOTICE 保留 TeXLeaf、原作者 zhangxh-math 和原项目链接。
GPL-3.0-only 中的 only 表示当前授权明确限定为 GNU GPL 第 3 版,不自动允许接收者改用未来尚未发布的 GPL 第 4 版或更高版本。
GPLv3 允许:
- 为个人、教学、科研、企业或商业目的运行 TeXLeaf;
- 阅读和研究源码;
- 修改源码、制作自己的构建;
- 免费或收费分发原版或修改版;
- 在满足 GPLv3 的条件下,把 TeXLeaf 代码用于更大的衍生作品。
GPLv3 并不等于“禁止商用”或“禁止收费”。它约束的是接收者的自由不能在下一次分发中被拿走。仅仅在自己电脑上安装和使用官方 VSIX,不要求公开论文、设置、Snippet、API Key 或其他个人文件。
下面这些行为通常属于本页所说的再分发或 convey:
- 把官方或自行构建的 VSIX 发给其他人;
- 在网站、网盘、Marketplace、Release 或软件包仓库提供下载;
- 发布修改后的 TeXLeaf fork;
- 把 TeXLeaf 代码合并进另一个扩展,然后把该扩展提供给其他人;
- 把修改后的可执行包、bundle 或安装包交付给客户或外部组织。
仅供自己使用、研究或修改而不向他人提供副本,一般不会触发“向接收者提供对应源码”的分发义务。企业内部、外包、集团关系和跨组织交付可能涉及更具体的事实与当地法律;有合规风险时应由组织自己的法律顾问判断。
再分发 TeXLeaf、修改版或基于 TeXLeaf 的作品时,至少应检查:
- 向接收者提供 GNU GPLv3 正文,并清楚声明作品受
GPL-3.0-only约束; - 按 GPLv3 提供对应源码,包含生成、安装和修改所需的源码及构建脚本;
- 不用额外 EULA、下载条款或技术措施剥夺接收者在 GPLv3 下已有的权利;
- 修改版显著说明“已经修改”,并给出相关修改日期;
- 保留原有版权、无担保和许可证声明;
- 保留仓库的
NOTICE文件,并满足下一节的 TeXLeaf 项目署名要求; - 继续保留
THIRD_PARTY_NOTICES.md、licenses/和第三方组件要求的版权/许可证文本; - 不暗示 TeXLeaf 或 zhangxh-math 对修改版、发行者、服务或商业产品提供认可、担保或支持。
这是一份实用检查表,不是 GPLv3 全文的替代品。出现冲突时以正式 LICENSE 与 NOTICE 为准。
GPLv3 第 7(b) 节允许版权所有者要求保留合理的法律声明或作者署名。TeXLeaf 的 NOTICE 使用这一机制,要求再分发者保留以下信息:
This software includes code from or is based on TeXLeaf, originally developed by zhangxh-math:
https://github.com/zhangxh-math/texleaf
中文可以写成:
本软件包含或基于 TeXLeaf 的代码;TeXLeaf 最初由 zhangxh-math 开发:
https://github.com/zhangxh-math/texleaf
文字允许翻译、换行或配合版式调整,但必须清楚保留:
-
TeXLeaf项目名称; - 原作者
zhangxh-math; - 原项目地址
https://github.com/zhangxh-math/texleaf; - 不能把署名改写成原作者认可、认证或支持修改版。
源码分发必须保留 NOTICE。面向用户的再发行版还应在以下位置至少选择一个:
- 随附 README 或使用文档;
- 扩展详情页;
- 用户可以正常找到的 About;
- Credits;
- Legal Notices / Open Source Licenses 页面。
不要求启动时弹窗、编辑器水印、每个功能页面重复显示,也不要求在与软件无关的论文、视频或社交媒体内容中宣传 TeXLeaf。要求的目标是让收到衍生软件的人可以合理发现来源,而不是制造广告负担。
以下做法通常满足本项目的署名位置要求:
- Fork 的 README 有“Based on TeXLeaf”段落,含作者与原仓库链接,同时仓库保留
NOTICE; - 修改版扩展详情页有 Credits,并在源码包内保留
LICENSE、NOTICE与第三方声明; - 商业发行版在可访问的 Legal Notices 页面列出规定署名,并向接收者提供完整对应源码;
- 未改动镜像保留原仓库文档和所有许可证文件,并明确它是镜像而不是官方新版本。
以下做法不符合本项目要求或存在明显风险:
- 删除 TeXLeaf 名称、原作者或原仓库地址;
- 只在源码中留下一个难以发现的提交记录,却从随附文档和 Legal Notices 删除署名;
- 发布修改后的 VSIX,但不提供对应源码或构建脚本;
- 用闭源 EULA 禁止接收者修改或再分发 GPL 覆盖的部分;
- 把修改版包装成“TeXLeaf 官方版”,却没有说明修改者、修改事实和日期;
- 保留 TeXLeaf 署名但删除 CodeMirror、MathJax 等第三方组件要求的独立声明。
GPLv3 允许创建和分发修改版,但修改版必须显著说明已经修改并给出相关日期。可以给 fork 使用不同名称,也可以在描述中准确说明它基于 TeXLeaf;无论是否改名,NOTICE 中要求的原项目署名都应保留。
TeXLeaf 名称、仓库链接和署名不能被用来暗示:
- 修改版由 zhangxh-math 发布;
- 原作者检查过或认可修改;
- 原作者负责修改版的 Bug、安全、支持、退款或服务;
- 赞助、商业购买或使用修改版会获得 TeXLeaf 官方优先级。
发布修改后的 VSIX 前建议逐项检查:
-
package.json的许可证信息没有被改成闭源或宽松许可证; - VSIX 中包含完整
LICENSE、NOTICE、THIRD_PARTY_NOTICES.md和所需的licenses/文件; - 扩展详情 README 或可访问的 Credits/Legal Notices 含规定署名;
- 修改版版本号、名称和说明不会让用户误认为是未经修改的官方构建;
- 对应源码与构建脚本可由接收者免费取得,位置说明与 VSIX 下载同样清楚;
- 源码仓库显著说明修改事实和日期;
- 没有附加禁止逆向、禁止修改、禁止再分发或限制源码访问的冲突条款;
- 最终解压 VSIX 检查许可证文件确实进入归档,而不是只存在于构建机。
已经有人在 MIT License 下合法获得的历史 TeXLeaf 版本,继续适用当时随副本提供的 MIT 条款;新许可证不能追回已经授予并合法保留的旧版本权利。
从 1.0.0 起发布的新源码和官方 VSIX 使用 GPL-3.0-only 与 NOTICE。因此:
- 不能把旧 MIT 副本的许可证文件替换成 GPL 后,声称旧接收者原有权利自动消失;
- 也不能从旧 MIT 版本取得新版本中后来增加的代码,除非同时遵守新代码的 GPLv3 与署名条款;
- 判断某份副本适用什么条款,应查看它具体版本、提交、下载来源和随附许可证,而不能只看项目今天的首页。
NOTICE 提供一项 GPLv3 第 7 节下的附加许可,明确区分“TeXLeaf 软件”与“用户使用 TeXLeaf 写出的文档”。仅仅进行以下操作,不会让用户文档自动变成 GPL 作品,也不要求用户在论文中提到 TeXLeaf:
- 用 TeXLeaf 创建、打开或编辑
.tex、.bib、Markdown 等文件; - 展开 TeXLeaf 内置或用户配置的 Snippet;
- 从 TeXLeaf article/Beamer 模板创建文档;
- 使用公式预览、结构化表格、交换图、引用、Zotero 或 AI 检查功能;
- 通过 TeXLeaf 与 LaTeX Workshop 编译 PDF;
- 把生成的论文、幻灯片、bibliography 或 PDF 交给期刊、学校、客户或公众。
这些用户文档可以由作者按照自己的需要选择许可证,包括保留全部权利、期刊投稿条款、Creative Commons 或其他安排。用户不需要因为模板里存在通用导言、定理环境或 Snippet 展开结果,就在论文首页、致谢或参考文献中强制添加 TeXLeaf。
输出例外不允许把 TeXLeaf 自己的模板库或 Snippet 库作为一个软件/素材库抽出后闭源再发行。判断方法是:
- 用户文档:为了表达用户自己的论文、演示、笔记或 bibliography 而生成的最终内容,适用输出例外;
-
库的再分发:把 TeXLeaf 模板、Snippet 集合、运行代码或实质修改后的同类工具作为可复用软件资源交给别人,仍需遵守 GPLv3 与
NOTICE; - 第三方素材:如果用户主动加入了另有许可证的图片、字体、代码或文本,仍由对应素材的许可证决定,TeXLeaf 的输出例外不能替它重新授权。
TeXLeaf 的 GPLv3 只覆盖 TeXLeaf 项目有权授权的材料。CodeMirror 6、MathJax、字体、JSONC 解析器和其他依赖继续使用各自许可证;GPL 不会把这些独立组件原有的 MIT、Apache 或其他许可证文字改掉。
再分发者必须同时满足:
- TeXLeaf 主体的 GPLv3 与
NOTICE; - 每个实际分发的第三方组件的许可证和版权声明;
- 修改版自己引入的新依赖或素材的许可证。
实际打入官方 VSIX 的清单以 THIRD_PARTY_NOTICES.md、licenses/、锁文件和最终归档检查为准。
向 TeXLeaf 提交代码、测试、文档或其他可受版权保护的贡献前,贡献者应确认自己有权提交。被项目接受的贡献将按适用于项目主体的 GPL-3.0-only 与 NOTICE 条款提供;贡献者不应提交与这些条款不兼容、来源不明或无法保留完整许可证的内容。
项目维护者没有编程背景,功能实现和审查主要借助 AI 工具完成,因此“PR 已打开”不表示项目能够及时完成版权来源、许可证兼容、功能或安全审查。详见 支持 TeXLeaf 与 开发与发布。
不需要。仅仅安装和运行软件不会产生在论文、幻灯片或社交媒体中署名的要求;当然,自愿推荐或引用项目仍然非常感谢。
可以。GPLv3 不禁止商业用途。只有在向他人分发 TeXLeaf 或衍生软件时,才需要重点检查源码、许可证、修改标记和署名义务。
可以收费,但接收者仍必须获得 GPLv3 保障的权利和对应源码,且规定署名、修改标记和第三方声明都不能删除。
可以私下修改而不分发;一旦向他人分发 GPL 覆盖的修改版或衍生作品,就不能用闭源条款剥夺接收者的 GPLv3 权利。
不强制启动弹窗或水印。保留 NOTICE,并在 README、About、Credits 或 Legal Notices 中提供清楚、可访问的规定署名即可。
许可证是否适用于某段复制内容取决于版权意义上的实质性、具体代码和司法辖区,不能只凭行数下结论。来源不确定时,最安全的做法是保留许可证与署名,或重新独立实现并记录来源边界。
如果实际复制、修改或分发了 TeXLeaf 覆盖的代码,仅写模糊的“受到启发”不足以代替 NOTICE 规定的项目名称、原作者和原仓库地址。
这里实际嵌入了 q.uiver.app / varkor/quiver 1.7.0 的代码,上游提交为 2f289ecbae9b7e5a473e04b924750c538ed5c4cf,原作者版权为 Copyright (c) 2018 varkor,使用 MIT License。TeXLeaf 维护本地汉化与集成补丁,并保留 quiver 和 KaTeX 0.18.1 的原许可证;这是实际代码集成,不只是交互参考。
quiver 的原许可证随源码保存在 vendor/quiver/LICENSE,发行包保存在 dist/quiver/LICENSE;KaTeX 的原许可证分别为 vendor/quiver/KaTeX/LICENSE 和 dist/quiver/KaTeX/LICENSE,版权为 Copyright (c) 2013-2020 Khan Academy and other contributors。固定来源与本地补丁说明同时随 UPSTREAM.md 提供。根目录 GPL-3.0-only、NOTICE 合理署名及用户文档输出例外完整保留,第三方原许可证继续适用。
开始
片段
AI 写作
文献
预览
贡献与发布