Skip to content

Xinyi Insights

Legal developments, research and practical insights

Legal Limits of Replicating Adobe with AI: Software Reverse Engineering and IP Protection

AI复刻Adobe的法律边界——从软件反向工程到知识产权保护

作者

卢慧琳 清华大学法学硕士

朱德宝 主任律师 博士

当一个开源项目声称"没有复制源代码、没有窃取商业秘密",却实现了与成熟商业软件高度相似的功能,法律上究竟如何评价?

这场看似技术圈的狂欢,实际上触及了软件反向工程与知识产权保护之间最深层的平衡问题。

ArtCraft:一个"没有侵权"的开源项目?

2026年10月,一个名为ArtCraft的开源项目引发关注,其创始人Brandon Thomas的GitHub材料显示其位于美国佐治亚州亚特兰大。其官网页面列出PhotoCraft、VectorCraft、FilmCraft、LightCraft、PdfCraft、EffectCraft和DesignCraft七款“Crafting Apps”,名称和定位分别对应图像编辑、矢量设计、视频剪辑、照片工作流、PDF处理、视觉特效和排版设计。官网页面称这些应用以Rust编写、采取开源模式。其中,PhotoCraft、PdfCraft标为早期测试阶段,其余多项仍处于开发中。[1]

海外媒体和社交平台将其概括为“一个人用AI重做了Adobe全家桶”。

这引出了三个问题:

第一,项目是否已经实现可与成熟商业软件相比的完整能力;

第二,开发者所称“clean room”是否有足以经受诉讼检验的过程证据;

第三,开发流程是否将受限制信息输入模型或用于生成、测试代码。PhotoCraft仓库本身将项目定位为“Clean Room”重实现,却也明确写着早期测试版,并说明生成式功能、部分工具、字体、专业工作流和插件兼容仍有缺口。[2][3]据PetaPixel转述,开发者Brandon Thomas称其使用Claude Opus 5.5辅助编写Rust代码。[4]

如果没有复制源代码,也没有窃取商业秘密,而是通过公开规范和外部观察重新实现相似功能,权利人还能依据什么主张权利?即使能证明未接触源代码,合同、专利、商标及不正当竞争规则仍可能介入。

复现软件具体拆分为不同的复现对象

01 “Clean Room”作为一套工作流不是绝对的免责标签

Clean room是一套控制信息来源并证明独立开发的流程。它有助于把功能、思想和接口需求与受保护表达分开,也能降低源代码或秘密信息进入新程序的风险,但不等于免责。法律真正关切的是谁在什么时间接触了什么、哪些材料进入了模型上下文、生成代码如何审查,以及最终相似来自功能约束、行业惯例还是表达性复制。

严格的“Clean Room”通常至少包含三层隔离:

其一,信息获取人员仅通过公开规范合法的软件及获准测试观察公开行为并形成规格;

其二,规格不得包含源代码、非公开文档和不必要的表达性细节;

其三,实际编码人员依据合规规格独立实现,并保留人员权限、提交记录、测试脚本和来源清单。

图片

02 功能与工作流

图层、遮罩、时间线、节点、曲线调色、撤销重做、导入导出等,在抽象层面通常更接近思想、方法或操作逻辑,而中国《计算机软件保护条例》第6条与美国《版权法》17 U.S.C. §102(b)均不允许著作权垄断思想、程序、过程、系统或操作方法。它们可能因长期行业实践、互操作需求或效率约束而趋同,因此相似未必来自于复制行为。“能调色”或“能编辑PSD”的功能本身通常不受著作权垄断,但具体图标、文案、素材和具独创性的界面编排仍可能受保护,特定技术方案还可能落入有效专利权利要求。

03 文件兼容与外部行为

兼容性开发往往需要观察输入、输出和错误信息,或研究公开格式规范。此时除了源代码接触的考察,还应包括软件从何取得、操作是否在许可范围内、是否绕过技术措施、测试数据是否包含保密资料。将黑箱测试转化为功能规格,再由另一组开发者实现,是常见的“Clean Room”流程。但如果测试者受合同约束、使用了泄露文档或把原程序的表达性元素逐项抄入规格,后端换一组编码人员也不能消除前端信息来源的瑕疵。

04 算法与源代码

同一功能可由许多算法实现,也可能只有很窄的表达空间。源代码和目标代码是计算机软件著作权保护的核心对象;算法思想、处理过程和数学概念通常不因软件著作权而被垄断,但可能受到专利或商业秘密保护。应注意,输出相同不直接推定存在复制行为,而代码不同也不自动排除侵权,仍需比较代码结构、界面素材、信息来源和可保护表达。

技术史的分岔路口:著作权进路与专利进路之争

图片

(一)IBM兼容机与独立实现的产业价值

软件史上,“Clean Room”最常被提及的案例是IBM兼容机案。Computer History Museum将1983年的Compaq Portable描述为首款100% IBM兼容计算机,并表示其BIOS通过合法反向工程完成。[5]如果法律只保护具体表达,不保护抽象功能和接口,独立实现能够打破事实上的技术锁定,促进兼容产品和新的竞争层次。

但IBM兼容机的经验它建立的是一种降低复制风险的组织方法,其效果仍取决于当时的权利组合、信息来源和证据质量。今天的软件更依赖在线服务、云端模型、账户体系、遥测数据和持续更新,观察行为本身还会受到用户协议、访问控制和反规避规则约束,“Clean Room”的合规讨论反而比离线BIOS时代更复杂。

(二)Altai与Sega划出的著作权空间

美国第二巡回上诉法院在Computer Associates v. Altai中形成“抽象—过滤—比较”分析:先把程序分层抽象,再过滤思想、效率决定的表达、外部因素和公有领域内容,最后比较剩余可保护表达。该方法强调,接口约束、兼容性需求与表达选择受限的内容不能仅因相似就获得过宽保护。[6]第九巡回上诉法院在Sega v. Accolade中进一步确认,在反汇编是接触不受保护要素的唯一可行方式、且行为人具有兼容性这一正当目的时,中间复制可以构成合理使用,并且对Accolade随后编写自己的兼容程序予以特别关注。[7]

两案共同指向的结论是,为取得不受著作权保护的信息而进行必要、有限的中间复制,并在最终产品中避免复制可保护表达,可能受到保护;而直接移植代码、素材或手册中的原创表达,或者超出必要范围复制,仍可能构成侵权。

(三)SAS案把功能和表达分开讨论

欧盟法院在SAS Institute v. World Programming中认为,计算机程序的功能、编程语言以及为利用某些功能而采用的数据文件格式,本身不是软件指令所保护的表达形式;合法许可使用者在获准行为范围内观察、研究和测试程序运行,也不因许可条款的相反规定而失去该项法定空间。与此同时,如果开发者复制了用户手册中体现作者独创性的表达,仍可能侵权。[8]因此,应分别判断兼容结果与被复制表达。

(四)Kodak案的反面提醒

Polaroid与Kodak的即时成像专利诉讼表明,即使竞争者独立研发、没有复制源代码或秘密资料,只要其产品落入有效专利权利要求,独立完成通常也无法支持抗辩主张。[9]所以,源代码接触与否主要回应著作权复制和商业秘密来源问题,无法解决专利问题。

NOTES

以上案例说明,著作权法为独立实现留下了空间,但这一空间的边界取决于信息来源是否合法、复制是否必要且有限。然而,即使著作权法允许独立实现,合同条款可能另行施加限制——这正是Adobe第17条的核心问题。

Adobe第17条:把争点推向合同层

01 Adobe第17条条款文本

Adobe现行英文版通用使用条款第17(B)项禁止对服务或软件进行逆向工程、反编译、反汇编,或试图发现源代码、数据表示、底层算法、过程和方法,并特别把“为了重建某一系统或应用而监控或追踪流经该系统的输入与输出”列为反向工程的示例。[10]

这比传统“不得反编译”的条款更贴近现代黑箱复现的工作流——即便没有接触二进制文件,只是反复输入素材、记录输出并据此拟合行为,也可能被条款文字覆盖。Adobe还写明,如当地法律赋予为实现互操作性而反编译的权利,用户应先向Adobe请求必要信息。[11]而个案中是否必须遵守该前置程序,仍要结合适用法中的强制性例外进行判断。

02 AI条款不等于禁止AI辅助编程

第17(C)项另行禁止使用Adobe服务、软件,或者从中收到、取得或衍生的内容、数据、输出或信息,去创建、训练、测试或改进机器学习或人工智能系统,包括模型架构和权重。[12]若开发者仅让独立的通用模型根据公开资料编写代码,且没有把Adobe软件、输出、截图、遥测数据或衍生信息用于模型创建、训练、测试或改进,第17(C)项未必命中;但第17(B)项关于输入输出观察的限制仍可能单独成为争点。

在生成式开发环境中,“使用AI”至少有四种情况:

(1)用模型补全普通代码;

(2)把公开API文档交给模型生成适配层;

(3)批量收集竞争软件输入输出并让模型归纳规则;

(4)用这些样本微调或评测专用模型。

不能仅因使用Claude就推定侵权,也不能因未微调模型就忽略黑箱测试、数据来源和合同限制。

03 合同能否成立须逐层证明

准据法与合同主体主要见Adobe通用条款1.1,北美地区一般由Adobe Inc.签约并适用加利福尼亚州法,其他地区可能由Adobe Ireland或Adobe KK签约,仍受当地强制性规则影响。[13]Adobe如主张违约,需考虑:

(1)开发者或其测试人员是否实际接受了相关版本条款;

(2)使用的是哪一项产品或服务,账号、版本和地区为何;

(3)受争议信息是从Adobe软件取得,还是来自公开规范、第三方资料或独立知识;

(4)条款选择的法律和争议解决机制能否适用,是否受当地强制性规则限制。

欧盟《计算机程序法律保护指令》允许合法取得程序副本的人,在实施其有权进行的加载、显示、运行、传输或存储行为时,观察、研究或测试程序运行,以确定程序任何要素所依据的思想和原则;为实现独立程序互操作性所必需的反编译,在严格条件下也可能被允许。指令第9条第1款规定,与第6条及第5条第2、3款例外相抵触的合同条款无效。[14]欧盟法院在SAS案据此确认,合法许可使用者可在许可行为范围内研究功能,权利人不能仅靠许可协议消灭这一空间。[15]

美国司法裁判对此尚未形成统一答案。Bowers v. Baystate在其适用的法律框架下执行了禁止反向工程的封装许可条款,认为合同义务可以比著作权排他权更宽。[16]Davidson v. Jung也重视用户对暴雪使用条款和许可协议的同意,认定相关用户以合同方式放弃了反向工程空间。[17]而SAS在英美两地引发的争议则显示,欧盟法下不允许合同排除的观察、测试行为,在美国诉讼中可能被重新评价为违约。[18]因此,Sega并不排除有效合同限制。

中国《计算机软件保护条例》第6条明确,软件著作权保护不延及开发软件所用的思想、处理过程、操作方法或数学概念;第17条允许为了学习和研究软件内含的设计思想和原理,以安装、显示、传输或者存储等方式使用软件;第29条进一步规定,因可供选用的表达方式有限而与既有软件相似的,不构成侵权。美国《版权法》17 U.S.C. §102(b)与以上规定类似。这些条文为功能竞争和有限表达留下空间,但并未直接回答商业化、系统化复现能否超出“学习和研究”的边界,也未处理其与反向工程禁令条款的效力冲突。

即使代码独立,仍要经过五条权利路径的考验

图片

路径一 软件著作权:过滤功能后比较表达

Karst案永久禁令附件A逐项列示了Adobe软件及文档的著作权登记,包括多版本Photoshop、Illustrator、Premiere、Lightroom、Acrobat和After Effects,Adobe拥有相关软件各版本的作品登记。[19]

图片

著作权诉讼首先需要确定原告主张的可保护表达。在中国法和美国17 U.S.C.§102(b)下,源代码、原创图形和具独创性的具体界面编排可能受保护,而功能、方法、兼容性约束、行业惯例及表达选择有限的部分应先过滤。只有剩余表达实质性相似,复制推论才有基础。

最高人民法院2026年发布的指导性案例279号针对未经许可商业使用NX软件的情形,明确在原告证明软件中的特有信息相同或用户界面设计高度相似时,人民法院一般可以初步认定被诉软件与权利软件构成实质性相似,但被告有证据足以反驳的除外;妨碍证据保全还可能触发不利推定。[20]

对ArtCraft而言,需要比对的包括代码层面的结构与具体实现,图标、默认素材和文案,面板组合是否体现独创性,以及相似部分能否由效率、行业习惯或兼容性解释,还应比较结构、顺序与组织,以及相似部分是否由功能、兼容或场景惯例决定。

路径二 商业秘密:关键在秘密点与取得手段

Adobe在2025财年Form 10-K中披露,其通过商业秘密、保密程序和合同条款等方式保护知识产权;年报另将源代码列为重要知识产权,并指出,源代码未经授权披露可能导致其丧失商业秘密保护。[21]

中国现行反不正当竞争法与美国DTSA要求相关信息不为公众所知悉、具有商业价值并经权利人采取相应保密措施。原告需要相对具体地说明秘密点以及被告的不当取得、披露或使用行为;公开可观察或已披露的信息通常难以作为秘密点;但产品中潜藏的信息仍可能保持秘密,能否通过合法反向工程取得还取决于取得方式和合同限制。

最高人民法院司法解释明确,对从公开渠道取得的产品进行拆卸、测绘、分析等而获得有关技术信息,属于反向工程;但先以不正当手段取得商业秘密,再以反向工程为由抗辩,人民法院不予支持。[22]美国DTSA也认为reverse engineering与independent derivation不属于improper means。由此,clean room在商业秘密审查中把“公开取得—独立分析—隔离开发”用于证明信息来源和独立开发。而这种处理的风险在于,前员工、保密测试计划、泄露代码、内部设计文档或受限API资料一旦进入规格或模型上下文,来源瑕疵仍延续至独立编码。

路径三 专利:独立开发不是抗辩理由

专利审查关注产品或方法是否逐项落入有效权利要求。因此,分析专利侵权需锁定相关国家或地区的有效专利并解释权利要求,将把被诉功能逐项映射到技术特征,最后评估不侵权、现有技术及无效理由。

图片

路径四 商标与商业外观:必要兼容说明不等于任意借名

Karst案附件B列示Adobe的核心注册商标包括PHOTOSHOP(美国注册号1,850,242及2,920,764)、ADOBE PHOTOSHOP(1,651,380)、ILLUSTRATOR(2,060,488)、ADOBE ILLUSTRATOR(1,479,408)、ACROBAT(2,068,523)及ADOBE(含3,029,061等)。[23]

兼容产品通常需要说明“可打开某格式”“适用于某工作流”,这可能涉及描述性、指示性使用;但名称、图标、配色、版式和宣传语的整体组合如果足以造成来源或关联关系混淆,就会进入商标和反不正当竞争法。FilmCraft的README曾使用“Lumetri-style grading panel”以及“The Lumetri Color panel”等表述,同时声明项目与Adobe没有隶属关系。[24]应审查使用Adobe标识是否为说明兼容关系所必要、使用程度是否适当,以及页面整体是否仍可能造成混淆。开源项目尤其应避免在产品名、启动页、下载页和图标上造成“官方开源版”或授权关联的印象。

路径五 开源许可:只解决贡献者授予了什么

PhotoCraft仓库标示MIT与Apache-2.0择一使用的许可。[25]这表明项目贡献者允许复制、修改和分发代码的条件,但不能证明代码没有包含第三方受保护表达,也不保证项目未涉及第三方著作权、专利、商标或商业秘密。因此,企业把该项目集成进产品时,应核验依赖、字体、模型、测试数据和素材的许可,并按所选许可履行许可证文本、版权归属、修改说明及适用时的NOTICE义务。

AI真正改变的是开发成本与举证密度

NOTES

AI辅助编程把过去需要多人长期完成的接口研究、样板代码生成、测试覆盖和跨语言迁移压缩到更短周期。但它降低了功能重实现的成本却没有创造新的免责事由。开发者可以让模型批量处理大量截图、日志、手册和样本,而开发团队更难凭个人记忆解释某段代码究竟来自哪里,因此操作日志等证据治理的重要性随之上升。

01 对重实现团队:把合规写进工程流程

第一,建立信息来源台账。公开规范、公开论文、合法购买的软件、第三方库、测试语料和用户提供文件应分别记录获取日期、许可条件和用途。对受账号条款约束的软件,保存当时版本条款及接受主体。

第二,控制模型上下文。原则上不得输入泄露代码、内部文档、保密测试材料和来源不明的二进制分析结果,确需处理时应先完成授权和安全审查;对自动抓取的输入输出样本设立审批。除了模型名称和提示词,还需要留存输入材料、生成结果、人工改动和最终合并的链路。

第三,实施角色隔离。观察团队只输出经过法律审查的功能规格,通过权限控制使编码团队不接触原产品的可保护材料,审计人员定期抽查相似代码、图标和文案。对高相似度模块保存备选设计和取舍记录,用于说明相似来自功能约束,而非代码或表达性素材的复制。

02 对成熟软件企业:从不可见秘密转向可证明权利组合

当竞争者能够更快地复现可观察功能,企业需要重新配置保护策略。

(1)能够通过界面和输入输出轻易推断、且商业寿命较长的核心技术,可评估是否通过专利公开换取排他权;

(2)真正难以从外部观察的参数、数据处理、训练策略和运维方法,适合以商业秘密管理,但必须落实访问控制、分级标识和离职交接;

(3)代码、图形、字体和手册则通过著作权登记、版本存证和素材链路巩固证据;

(4)品牌价值依靠清晰的商标注册与持续使用、监测混淆和规范许可。

用户协议条款可以保护服务完整性、限制滥用并分配合同风险,但过度宽泛的“不得学习功能”在某些法域可能受到法定例外、格式条款控制或公共政策审查。更重要的是,合同只约束成立合同的主体,不能直接转化为针对全世界的功能排他权。

03 对专利与竞争政策:不宜过早宣告标准已经改变

AI工具的普及可能逐步影响研发常规、技术人员能够合理期待的工具组合,以及创造性判断中“本领域技术人员”的事实背景。但专利新颖性和创造性具有严格的时间锚点,仍需围绕申请日前的现有技术、技术启示和合理成功预期展开。

结语

ArtCraft事件真正值得关注的是软件竞争边界被重新讨论,功能、方法和兼容性需要保持足够的公共空间,而具体代码、原创表达、商业秘密、有效专利和来源标识也需要获得可证明、可执行的保护。

对在后开发者而言,更有证明力的clean room是一条可以复盘的信息与开发证据链。而对在先权利人而言,最有力的主张是明确指出哪一项受保护客体、哪一个行为、哪一组证据满足哪一法域的构成要件,并与具体法域连接。

引注

[1]ArtCraft, “Crafting Apps: open-source creative tools,” https://getartcraft.com/apps。

[2]ArtCraft, “PhotoCraft,” GitHub, https://github.com/storytold/photocraft。README将项目称为以Rust编写的Photoshop“Clean Room”重实现,并明确标注为early alpha。

[3]PhotoCraft README, “Clean-room implementation”与“Current Status”部分,https://github.com/storytold/photocraft。项目称仅依据公开规范、观察到的行为和第一方测试开发,同时承认AI/生成式功能、部分工具、字体、专业工作流及插件兼容仍有缺口。

[4]Jaron Schneider, “Someone Rebuilt Free Open-Source Versions of Photoshop, Premiere, and Lightroom Using AI,” PetaPixel, Oct. 7, 2026, https://petapixel.com/2026/10/07/someone-rebuilt-free-open-source-versions-of-photoshop-premiere-and-lightroom-using-ai/。其中关于Claude Opus 5.5、Rust及开发动机的内容系媒体对开发者陈述的转述。

[5]Computer History Museum, “Timeline of Computer History: Compaq Portable,” https://www.computerhistory.org/timeline/computers/。该馆将Compaq Portable描述为首款100% IBM兼容计算机,并指出其BIOS经合法反向工程完成。

[6]Computer Associates International, Inc. v. Altai, Inc., 982 F.2d 693, 706–12 (2d Cir. 1992),https://law.justia.com/cases/federal/appellate-courts/F2/982/693/137252/。

[7]Sega Enterprises Ltd. v. Accolade, Inc., 977 F.2d 1510, 1520–27 (9th Cir. 1992),https://law.justia.com/cases/federal/appellate-courts/F2/977/1510/305345/。

[8]Court of Justice of the European Union, SAS Institute Inc. v. World Programming Ltd., Case C-406/10, Judgment of 2 May 2012, paras. 35–46, 61–71, 78–82,https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:62010CJ0406。

[9]Polaroid Corp. v. Eastman Kodak Co., 789 F.2d 1556 (Fed. Cir. 1986);后续程序见867 F.2d 1415 (Fed. Cir. 1989),https://law.justia.com/cases/federal/appellate-courts/F2/867/1415/357122/。该组诉讼表明,独立研发本身并非专利侵权抗辩。

[10]Adobe, “Adobe General Terms of Use,” published and effective Oct. 3, 2025, https://www.adobe.com/legal/terms.html,§17(B)–(C)。第17(B)项将为重建系统而监控或追踪输入、输出列为反向工程示例;第17(C)项针对利用Adobe服务、软件及由其取得或衍生的内容、数据、输出或信息创建、训练、测试或改进机器学习或人工智能系统。

[11]Adobe General Terms of Use, §17(B)。条款还写明,如当地法律赋予为实现互操作性而反编译的权利,用户须先请求Adobe提供所需信息;这一程序要求本身能否在具体法域中执行,仍取决于当地强制性规则。

[12]Adobe General Terms of Use, §17(C), https://www.adobe.com/legal/terms.html。该项所列对象是Adobe服务、软件,以及从中收到、取得或衍生的内容、数据、输出或信息,不能脱离这些限定词概括为对一切AI辅助编程的禁止。

[13]Adobe General Terms of Use, §14. 居住地与合同主体决定适用法律及争议解决安排;例如北美用户一般适用加利福尼亚州法,其他地区可能由Adobe Ireland等主体缔约,并受当地强制性规则限制。

[14]Directive 2009/24/EC of the European Parliament and of the Council of 23 April 2009 on the legal protection of computer programs, arts. 5(3), 6, 9(1), OJ L 111, 5.5.2009, pp. 16–22,https://eur-lex.europa.eu/eli/dir/2009/24/oj/eng。

[15]SAS Institute Inc. v. World Programming Ltd., Case C-406/10, Judgment of 2 May 2012, paras. 39–46, 61–71。法院区分程序功能、编程语言、数据文件格式与受保护的具体表达,并确认合法许可使用者可在获准行为范围内观察、研究和测试程序运行。

[16]Bowers v. Baystate Technologies, Inc., 320 F.3d 1317, 1323–26 (Fed. Cir. 2003),https://law.justia.com/cases/federal/appellate-courts/F3/320/1317/615628/。

[17]Davidson & Associates v. Jung, 422 F.3d 630, 638–40 (8th Cir. 2005),https://law.justia.com/cases/federal/appellate-courts/F3/422/630/569453/。

[18]SAS Institute Inc. v. World Programming Ltd., 952 F.3d 513, 521–30 (4th Cir. 2020),https://law.justia.com/cases/federal/appellate-courts/ca4/19-1290/19-1290-2020-03-12.html。跨法域争议中,美国法院对合同法与英国法、欧盟软件规则之间的关系作了区分。

[19] Adobe Systems Incorporated v. Karst, No. 5:10-cv-03626-LHK, Dkt. 14, Exs. A–B (N.D. Cal. Nov. 5, 2010)(附件列示Adobe软件著作权登记及商标注册),https://law.justia.com/cases/federal/district-courts/california/candce/5%3A2010cv03626/230828/14/。

[20]最高人民法院指导性案例279号“西门子公司、西门子软件公司诉沃申公司等侵害计算机软件著作权纠纷案”,2026年2月28日发布,https://www.court.gov.cn/shenpan/xiangqing/490521.html。

[21] Adobe Inc., Annual Report (Form 10-K), pp. 12, 25 (filed Jan. 16, 2026), “Protecting and Licensing Our Solutions”及“Risk Factors,”,https://www.sec.gov/Archives/edgar/data/796343/000079634326000003/adbe-20251128.htm。

[22]《最高人民法院关于审理侵犯商业秘密民事案件适用法律若干问题的规定》第14条,法释〔2020〕7号,https://www.court.gov.cn/fabu/xiangqing/254751.html。该条将对从公开渠道取得的产品进行拆卸、测绘、分析等而获得有关技术信息界定为反向工程,同时排除先以不正当手段获密后再主张反向工程的情形。

[23] Adobe Systems Incorporated v. Karst, No. 5:10-cv-03626-LHK, Dkt. 14, Exs. A–B (N.D. Cal. Nov. 5, 2010)(附件列示Adobe软件著作权登记及商标注册),https://law.justia.com/cases/federal/district-courts/california/candce/5%3A2010cv03626/230828/14/。

[24]ArtCraft, “FilmCraft,” GitHub, https://github.com/storytold/filmcraft。README出现“Lumetri-style grading panel”及“The Lumetri Color panel”等表述,同时载有与Adobe无隶属关系的声明。

[25]PhotoCraft仓库标示MIT与Apache-2.0双重许可;参见GitHub仓库“License”及LICENSE文件,https://github.com/storytold/photocraft。

阅读公众号原文