新西兰拒绝软件专利

尚无读者喜欢这篇文章。
open source button on keyboard

Opensource.com

近期,新西兰政府宣布将把软件从可获得专利的项目列表中移除。这项决定是在开源社区和专有供应商双方激烈游说后做出的。

在过去几个月里,辩论围绕着专利法案中题为“可授予专利的发明”的章节展开。该章节一开始就表示,“我们建议修订第15条,将计算机程序纳入不得授予专利的发明之列。” 这显然未能获得支持软件专利游说团体的认同,开源支持者也担心这项建议可能会被推翻。然而,在2010年7月15日,新西兰政府网站报道称,商务部长西蒙·波维指示新西兰知识产权局(IPONZ)制定指南,允许包含嵌入式软件的发明获得专利。波维先生说:“我的决定是在与商务委员会主席会面后做出的,会上双方一致认为,进一步修订该法案既不必要也不可取。”

截至今日,专利法案规定:“我们收到了许多关于计算机程序可专利性的意见。根据1953年专利法案,计算机程序在新西兰可以获得专利,前提是它们能产生商业上有用的效果。3 自1980年代以来,开源或自由软件的普及程度日益提高。通过专利保护软件与开源模式不符,其支持者对此表示反对。许多提交者认为,软件开发中不存在“创造性步骤”,因为“新”软件总是建立在现有软件的基础之上。他们认为,计算机软件应排除在专利保护之外,因为软件专利可能会扼杀创新和竞争,并且可能因琐碎或现有技术而被授予。总的来说,我们接受这一立场。”

在更新其政策立场时,新西兰政府承认了开源日益增长的重要性,以及将软件排除在可授予专利的发明列表之外的合理理由。该法案确实对嵌入式软件做出了例外规定。相关章节指出,“虽然该法案将为创新提供充分的激励,但我们意识到,一些新西兰公司已在大量涉及嵌入式软件的软件相关发明上进行了投资。4 我们就英国和美国等其他司法管辖区采取的方法,以及允许“嵌入式软件”获得专利的立法是否可行征求了意见。经过认真考虑,我们得出结论,在嵌入式软件和其他类型的软件之间划清明确而明确的界限并非易事;并且为了清晰起见,简单的方法将是最好的。我们收到的建议是,我们关于将计算机程序纳入不得授予专利的发明之列的建议,不太可能阻止授予涉及嵌入式软件的发明的专利。”

“我们建议新西兰知识产权局为包含嵌入式软件的发明制定指南。”

目前来看,开源倡导者与新西兰政府的互动已成功地促成了一项重大的政策转变。

标签
Avatar
Venkatesh Hariharan 是红帽公司亚太区企业事务总监。在此职位上,他与行业、学术界、政府和社区合作,加速全球开源运动的发展。2006年,他被 Linux Asia 2006 的组织者授予“年度印度开源人物”称号。

17 条评论

新西兰最好小心点。他们这样做最终会被列入美国贸易代表办公室的特别301报告。其他国家因推广自由软件而被列入该报告。就专有软件集团而言,这同样糟糕。多久之后,大多数软件开发会转移到知识产权中立的海外国家?

我喜欢这向新西兰软件开发人员发出的信号。

许多提交者认为,软件开发中不存在“创造性步骤”,因为“新”软件总是建立在现有软件的基础之上。

非常正确!!!!

但当然,伟大的 bpUSA 国家不会同意,但最终... 美国除了这些赚钱的专利外,什么都不生产,这些专利赋予他们生产垃圾的权利(从食品到社会制度)。希望欧洲政府想要结束这种情况。“un petit pas pour l'homme un grand pas pour l'humanité” 尼尔·阿姆斯特朗。

尽管如此,我终于在此时意识到了这一切。

持续的误解
如果软件开发中不存在创造性步骤,那么任何新产品或发明中都不存在创造性步骤。当然,这种想法是无稽之谈。之所以称之为创造性步骤,是因为发明人采取的步骤与以前的产品和发明相比被认为是创新。

如果我发明了一种头部形状不同的锤子,使其可以在狭小空间内高效使用,我可能会因这一创造性步骤而被授予专利。我不是锤子的发明者,但我确实进行了创新,生产出了一种独特的、有用的元件。

当开发人员坐在键盘前创建软件程序时,他们并不总是或经常进行创造性步骤。但这确实有可能让他们真正创新,专利法为他们提供了在一段时间内利用这种创新而不受竞争对手抄袭威胁的机会。为了换取专利保护,发明人同意公开披露发明的细节,以便他人可以从中学习。这就是专利制度的意图,而不是让发明人对发明的细节保密,而是将其公开,以便他人可以学习,并在可能的情况下进行更多创新。

我同意美国和欧盟的专利制度存在缺陷,原因是含糊不清、不一致以及与当今技术的快速发展脱节。但这并不意味着应该废弃该制度,让我们失去提供该制度预期利益的东西。

对制造车间中使用手动工具和机器制成的发明实施保护的法律,却不对在键盘上完成的发明实施保护,这完全是不一致的。

存在许多误解。您关于用手动工具和键盘制作发明的类比就是其中之一。用手动工具制作的发明是实物财产。在您的示例中,锤子的头部可能确实符合专利资格。另一方面,软件不是实物财产。它是为实物财产而编写的。它是创作者思想的表达。人们甚至可以称之为艺术。因此,它应该受版权保护,而不是专利。您不会为蒙娜丽莎申请专利,对吧?

发明专利的处理方式与软件专利的应用方式也存在根本差异。以您的锤子想法为例,专利法中没有任何规定阻止我设计一个新的锤头,以实现相同的目标。专利的目标不是受保护的资产。而是方法。在软件中,拥有某些代码的专利会阻止其他人使用他们的原创代码执行相同的功能。蒙娜丽莎的专利可能意味着没有人可以再画女性肖像,或者画带有嘲讽笑容的女性肖像,或者可能画一般的肖像。绘画原本就不是用来被画的。

最后,所有软件都可以简化为一系列数学表达式。数学明确禁止获得专利。

最终,无论对错,专利和版权的存在都是“为了促进实用艺术和科学”,而不是为了永远造福创作者及其后代。软件专利阻碍了计算机科学的进步,因此仅凭这一原因就应该撤销它们。

绘画原本就不是用来被画的。

^应为

绘画原本就不是用来被授予专利的。

关于误解的误解
首先,您关于用手动工具制作的发明是实物财产的评论完全没有意义。专利是授予财产的。如果我决定制造我发明的花式锤子,它将呈现实物形式,但专利并不保护该实物形式。专利是授予发明的,发明是一种想法,以一组规范的形式表达,该规范可以由该发明领域的其他技能人员遵循,以产生该发明的功能形式。因此,专利不是授予实物财产的——事实上,即使发明是针对物理设备的,专利也保护“它是如何制造的”,并且发明人从不需要实际制造发明。软件非常符合专利的预期用途。软件就像一台机器——它接收输入,以某种方式转换输入,产生输出。两个完全不同的软件产品可以接受相同的输入并产生相同的输出。它们的独特性在于如何实现这一目标——在于机器是如何设计的。

软件和艺术几乎没有相似之处,如果有的话也很少。软件更像是一台为特定目的而设计的机器。绘画不执行功能。绘画不完成任务。软件,就像任何物理发明一样,本质上是为了做某事,而不是成为某事而设计的。

而且您关于将软件简化为一系列数学表达式的评论也是毫无意义的。物理世界或信息世界中的几乎任何东西都可以简化为数学表达式,包括您的身体、植物或我精巧的锤子发明。软件最终被简化为一系列二进制指令,这些指令仅仅是 1 和 0。所以这不是重点。

我同意专利的颁发方式以及有时被滥用的疯狂方式存在问题。例如,如果为软件颁发的专利过于宽泛,则可能会不必要地限制其他开发人员创新的方式。但我认为这可能是我们唯一达成共识的地方。

首先,您关于用手动工具制作的发明是实物财产的评论完全没有意义。专利不是授予财产的。如果我决定制造我发明的花式锤子,它将呈现实物形式,但专利并不保护该实物形式。专利是授予发明的,发明是一种想法,以一组规范的形式表达,该规范可以由该发明领域的其他技能人员遵循,以产生该发明的功能形式。因此,专利不是授予实物财产的——事实上,即使发明是针对物理设备的,专利也保护“它是如何制造的”,并且发明人从不需要实际制造发明。软件非常符合专利的预期用途。软件就像一台机器——它接收输入,以某种方式转换输入,产生输出。两个完全不同的软件产品可以接受相同的输入并产生相同的输出。它们的独特性在于如何实现这一目标——在于机器是如何设计的。

软件和艺术几乎没有相似之处,如果有的话也很少。软件更像是一台为特定目的而设计的机器。绘画不执行功能。绘画不完成任务。软件,就像任何物理发明一样,本质上是为了做某事,而不是成为某事而设计的。

而且您关于将软件简化为一系列数学表达式的评论也是毫无意义的。物理世界或信息世界中的几乎任何东西都可以简化为数学表达式,包括您的身体、植物或我精巧的锤子发明。软件最终被简化为一系列二进制指令,这些指令仅仅是 1 和 0。所以这不是重点。

我同意专利的颁发方式以及有时被滥用的疯狂方式存在问题。例如,如果为软件颁发的专利过于宽泛,则可能会不必要地限制其他开发人员创新的方式。

“软件,就像任何物理发明一样,本质上是为了做某事,而不是成为某事而设计的。”

真的吗?您从未见过印在 T 恤上的 decss perl 代码?代码的定义中没有任何内容表明它必须做任何事情。我可以编写什么都不做的软件,但它仍然会受到版权保护。代码也可以打印出来,这是版权而非专利的东西的特征。

说得好,Gary。但 T 恤上的代码不是软件。它当然也不是发明。我的声明说软件“本质上是为了做某事而设计的”,正是这种功能使其更像机器而不是艺术。实际上,您已经证明了我的观点。把一些代码放在衬衫上,它就无法运行。也许如果您将程序的完整源代码放在衬衫上,它就是软件的存储介质。您可以(可能)为部分/全部代码申请专利,但您不能为 T 恤申请专利。正如您所说,您可以为衬衫申请版权。我也可以在衬衫上印上我的新锤子的 CAD 设计。它将受到版权保护,但我无法为衬衫申请专利。但是,我可以为锤子发明本身拥有一项或多项专利。发明所呈现的媒体与发明本身之间存在分离。发明本身是一个功能性想法,以纸质或数字媒体形式提供给专利局(至少在非版权文件中!)。

您说您可以编写“什么都不做”的软件,但它仍然会受到版权保护。是的,这是真的,根据现行法律,版权会自动扩展到您编写的代码。但是,如果该代码可以运行,并且如果根据专利法它被认为是创造性步骤,那么即使是印在 T 恤上的代码也可以被授予一项或多项专利。(顺便说一句,任何实际执行哪怕一行的代码都会做一些事情)。专利法不关心您如何表示发明,只关心发明是为特定目的而设计的,并且以独特的方式实现该目的。

能够打印出代码并不能改变其目的,即发挥作用。所有专利都可以打印,无论是否是软件专利。新型油漆的配方或新型钉子的设计也可以打印。如果任何专利的所有者决定制定计划并将其出售(或赠送)给他人,那么这些纸质或数字格式的计划也将受到版权保护。仅仅因为发明可以存在于纸上并不意味着不能有与之相关的专利。在许多可能的情况下,版权和专利都适用于同一发明/产品/软件。

我认为很多人忽略了一个事实,即您通常不会获得整个程序的专利。您通常会获得以创新方式完成的特定功能的专利。并且获得专利的是您的“方法”,而不是实际的代码行。我认为这使讨论变得混乱。大多数人没有意识到您甚至不必向专利局提供代码副本。

很有兴趣了解“Unidentified”对 <a href='http://www.groklaw.net/staticpages/index.php?page=20091110152507492'>面向律师的计算理论解释</a> 有何看法。

特别是,该文章驳斥了“软件更像是为特定目的而设计的机器”和“将软件简化为一系列数学表达式毫无意义”的观点。

实际上,“软件是您需要提供给通用图灵机的信息,以使其执行所需的计算”。关键词是“通用”——一台机器可以执行任何所需的计算。更准确的比喻是 <a href='http://en.wikipedia.org/wiki/Lathe_(metal)'>车床</a>。按照 Unidentified 的逻辑,车床的每个设置都将是可获得专利的主题。

好的,John,我是 Unidentified,又来了。我在计算机软件行业工作了 31 年。我曾担任开发人员、开发经理、现场工程师、现场工程师经理、企业家、企业 IT 经理以及该行业的咨询公司所有者。所以我比您引用的文章作者多了一些经验。

我不确定您是否暗示我是一位律师,不可能理解技术的本质。如果是这样,那您就大错特错了。我在梦中都与代码相伴。我在周末构建我的新想法原型。而且我目前管理着一个国际开发团队。

您引用的作者似乎在讲述一个不错的故事,至少在某些方面,我认为他做了一些正确的假设。律师和法律系统通常不完全理解软件这一观点我同意。但这种说法非常笼统,自 90 年代以来,律师事务所发生了巨大变化,与知识产权相关的公司现在倾向于聘请获得法律学位的离职开发人员(是的,您会惊讶于有多少技术人员在互联网泡沫破灭后决定去法学院)。另一方面,法官和陪审团在很大程度上肯定是技术残疾,但好吧,他们在大多数主题上都是残疾的——法律系统就是这样。

此外,我在他的文章中没有读到任何表明他曾直接接触过专利制度或知识产权律师的内容。另一方面,我在这方面有多年经验。根据这些经验,我可以说该系统需要彻底改革,不仅仅是因为软件或计算机技术,而是因为它尚未进行修订以满足现代世界的需求。它速度慢、成本高,并且某些要素确实已成为创新的障碍。大大小小的公司都在玩弄游戏,从本应被驳回的已授权专利中赚钱。即便如此,我也不希望看到整个专利概念被废弃。

他的文章很有趣,但这又回到了对软件本质的基本理解领域。我认为我们迷失在不同上下文中软件的定义中。一行代码是软件吗?整个代码模块是软件吗?它是一个完整的程序吗?需要再次指出的是,专利不是授予软件或代码的,而是授予发明的。发明涉及采用已知的事物并以新的、独特的方式组织它们,以创建一种创新的功能/方法。一项发明可能只是(而且通常是)完整功能软件产品中包含的全部代码的一小部分。

试图证明软件只是数学,因此不能获得专利,这绝对是错误的方法。我一次又一次地看到人们提出这种论点,他们希望在技术上找到漏洞,试图证明永远不应授予软件专利。由于多种原因,这是一个迟钝的论点。说软件只是数据,就像说钢铁只是原子一样,没有什么价值。然而,当您以某种独特的方式排列钢铁时,专利局会授予您一项精巧的新锤头的专利。

这样想:当您坐下来编写软件时(我将在本周末继续这样做,因为我正在开发一个很酷的新型电子邮件配套应用程序的原型),您是在做数学吗?我认识的几乎每个程序员的数学都很烂。在 70 年代,情况并非如此,因为数学家是最早开始使用计算机的人之一。他们想要一台通用的计算机器来运行数学问题,以便他们可以解决纯数学问题。在纸上做数学非常慢。但这并不是当今软件的主流。

计算机将您设计的在屏幕上绘制笑脸的软件分解为 CPU 可以执行的简单数学运算(它们只能进行加法和乘法运算,但方式如此)这一事实不是问题。CAD 程序也会将我输入的锤子设计分解为数学运算,但这并不会降低锤子的价值。

最后一点想法:一切都是数学。化学、生物学、物理学。您能看到的每件物理事物。每种工具。每台机器。所有这些都可以通过数学来描述。软件不是数学,即使它最终可能像数学一样执行。甚至作者关于这一点的断言也不是真的。计算机最终处理二进制逻辑运算。二进制只是一组可以打开/关闭的开关。实际上,为了进行数学运算,计算机必须转换数学,即使是像 1+1 这样的简单计算,也要转换为二进制,运行逻辑运算,然后将答案转换为以 10 为基数的数学答案。开关用于存储信息、比较信息和操作信息。相信我,我编写过 8086 汇编程序,您可以做一些很酷的事情,例如加载直接二进制指令和数据。

无论如何,感谢您的反馈。我是一个技术人员,一辈子都是。我参与过一些软件专利。我看到了这篇文章,它让我感到担忧。倒不是我相信这对我有多少个人影响,只是我认为大多数软件开发人员真正理解专利是什么。许多人讨厌专利,因为他们认为专利本质上是大型企业用来压制小人物的工具。其他人认为专利阻碍了开源。好吧,这可能有一些道理,但真的,伙计们——有多少次专利阻止您编写优秀的软件?

我之前的帖子只是使用原始文章的标题作为链接文本——我发现这篇文章发人深省,并对软件可专利性问题提出了一个不常见的视角。任何从事软件工作并对软件可专利性感兴趣的人都可能会觉得它值得一读。

新西兰特别委员会听取了公众对专利法案的意见,这些意见来自各种不同的观点,委员会成员包括来自整个政治光谱中 5 个政党的代表。主席来自最大的反对党;向委员会报告的部长来自执政联盟中最大的政党。委员会的建议是一致通过的,尽管那些支持软件专利的人进行了强烈的私人游说,但部长还是接受了该建议。

正如委员会指出的那样,定义嵌入式软件很困难。我发现考虑 3 类计算机器以及它们解决的问题类型有所帮助。

<ol><li>规范或 S 类机器根据规范运行并实现纯计算方法。示例包括在结账时扫描条形码、查找价格并生成包含所有适用税项的详细账单;文字处理文档;或通过将资金从一个账户转移到另一个账户来支付发票。对于 S 类机器,原则上至少有可能进行程序正确性的数学证明。
</li><li>问题或 P 类机器通过与用户的交互来解决现实世界中的问题,例如玩游戏、运行在线拍卖或制定旅行计划和预订机票。P 类机器可以表示为 S 类机器的序列。虽然 P 类机器的组件适合进行正确性证明,但作为一个整体,P 类机器可能更像是一种科学理论,因为我们通过其在解决现实世界问题方面的成功来判断它。
</li><li>嵌入式或 E 类机器通过进行测量(例如位置、温度或 pH 值)并改变世界来直接控制现实世界,这些变化反过来又改变了正在测量的东西。示例包括洗衣机;使用 PC 监控和控制供暖和制冷的智能房屋;或车载导航系统。E 类机器在任何意义上都是世界的一部分,而不是世界的抽象模型,尽管 E 类机器中的软件是抽象模型的表达。</li></ol>

特别委员会的结论是,E 类机器是可获得专利的主题,而 S 类和 P 类机器则不是。这似乎在直觉上是正确的——如果一台纯机械洗衣机是可获得专利的主题,那么它的更智能的姐妹也应该是可获得专利的主题。新西兰政府在市场不干预方面有着悠久的历史,除非存在可证明的市场失灵。特别委员会似乎发现,那些提交意见支持软件专利的人没有对“软件专利是哪个商业问题的解决方案?”这个问题提供令人信服的答案。

我们还需要记住,软件专利是非常不寻常的东西。发达国家的普通家庭都充满了机器:汽车、电视、洗碗机、炉灶、割草机等等。除了我的电脑,我想不出我拥有的任何设备,如果按照其设计的方式操作,可能会使我面临侵犯专利的指控。因此,如果我们要为软件破例,我们真的需要一个非常好的理由。至少在新西兰,政治家们并没有被说服。

这或许是 Richard Stallman 对软件专利危险性批判的核心,他在 <a href='http://www.wikipublisher.org/books/GNUZealand2009/TheDangerOfSoftwarePatents'>他的 GNU Zealand 2009</a> 之旅中对此进行了阐述。

有一点我不同意 Unidentified 的观点。如果我理解评论正确的话,它说大多数程序员的数学都很烂,所以编程不是数学。我曾经花了一个夏天建造栅栏。我的木工技术很差。所以建造栅栏不是木工活吗?更严肃地说,根据我的经验,大多数程序员,他们可能总体上数学很烂,但在编程基础数学方面非常出色。但这在逻辑上是危险的循环论证。

您讨论的概念都是有趣的观点。虽然我喜欢探讨软件专利的主题,但我倾向于忽略试图以技术性理由(特别是“它只是数学”的论点)来消除软件专利的尝试。该论点试图将软件等同于数学,以便摆脱软件专利的概念。我不认为这是一个有用的论点,因为它完全忽略了软件专利与标准发明专利非常相似之处。并且它忽略了软件和数学之间存在的严重差异。

您试图反驳我“程序员不擅长数学”论点的栅栏建造论点没有抓住要点。我的观点是,除了极少数例外情况外,当程序员每天坐在键盘前时,他们通常不是在做数学。他们没有将公式编入代码中。他们的目的不是为了解方程。如果软件确实是一种数学练习,那么每天创建软件的人是否需要对这种数学有很强的实践知识?在我的职业生涯中,我与数百名开发人员合作过,我只能想到少数几个数学很强的开发人员。看看大学的计算机科学课程,您会发现它的数学强度不如工程学位课程。数学根本不是开发软件所需的关键技能。

您说:“根据我的经验,大多数程序员,他们可能总体上数学很烂,但在编程基础数学方面非常出色。” 我无法相信存在一种软件数学。即使存在,为什么软件需要特殊的数学?此外,如果这是真的,如果它确实与“常规”数学不同,您怎么能说它与“常规”数学相同呢?再次,看看大学课程:编程是作为数学课来教授的吗?

此外,那些还没有研究过软件专利的人应该查看一些案例。大多数软件专利都使用流程图作为核心图形进行描述[“图形”是专利文件中与文本一起展示的图表的专利术语]。如果软件真的仅仅是数学,那么专利就应该仅仅展示一系列公式来描述特定的专利文件。但事实绝非如此。软件专利要求你描述一种方法,即在一张流程图中展示的一系列步骤。软件专利中的方法或多种方法执行特定的功能。只有当审查员确定所使用的方法在显著的方式上是独特的[证明了创造性步骤],专利才会被授予。

让我们尝试理解这种关于数学的论点。纯数学之所以被认为不可授予专利,是因为数学仅仅是对已存在事物的描述。典型的论点是,数学公式及其答案(结果)只是对已存在事物的发现——因此是发现而非创造。而发明则恰恰相反,是创造出来的。我认为软件是创造出来的,而不是对已存在事物的发现。数学是对其他事物的表示——它是一种描述。软件本身就是一个实体——它不是对其他事物的描述。代码和数据就像工具和原材料。我们用它们来构建。我们有时以非常独特的方式组装它们,这些方式是可以获得专利的。

关于这一点,值得重新阅读《律师的计算理论》。作者描述了称为霍尔逻辑的数学分支:“当人们使用这种方法编写程序时,程序是编写数学证明的副产品。”

作者继续说道

“事实上,大多数程序员从不使用这种方法。软件的开发方式是否对专利侵权判定有影响?我们是否需要区分以数学方式开发的不可授予专利的软件和以非数学方法开发的可以授予专利的软件?也许一旦决定形式验证技术将代码带入免专利的避风港,这些方法就会变得更加流行。该行业可以避免数十亿美元的专利侵权责任。一个副作用将是软件可靠性的巨大提高,因为错误数量的大幅减少。但在这种情况下,软件专利的意义何在?”

文章总结道:“程序员在开发软件时是否使用数学方法并不重要。无论开发者如何编写源代码,源代码都具有数学意义。”

然而,在我看来,最初的博文真正想表达的教训是,新西兰遵循了一个开放、透明和民主的程序,以达成基于证据的政策立场,并获得了所有各方的支持。其他司法管辖区可能会或可能不会得出相同的结论。

“Unidentified”我认为是在倡导将可授予专利和不可授予专利的主题之间的界限划在S机器和P机器之间,而不是像新西兰那样划在P机器和E机器之间。他提出了合理的论点来支持这一立场。 “Unidentified”发帖的国家是否正在遵循民主程序来决定其软件专利政策,以便他的观点可以被考虑在内?

John,我想感谢你进行了一场文明的讨论。我完全同意你关于在审查此类主题时,透明、民主的程序的价值的看法。我住在美国,但在访问过新西兰并与那里的公司做生意后,我可以说,在商业和社会文化方面存在一些差异(或者如果你愿意称之为“态度”),这可能会导致那里的结果与我的祖国不同。

多年来,我参与过封闭源代码和开源软件的开发。我做过专利申请,但大多数情况下,这不是我软件存在的重点。我相信我们软件开发社区中的大多数人都在努力专注于构建优秀的软件——无论通过何种方式。但我逐渐意识到,在开源和闭源之间的战争中,存在一些极端分子。在极端情况下,有些人认为另一方不应该被允许以他们认为合适的方式进行开发。

这种转向看起来就像宗教狂热和不宽容,这让我感到担忧。我不希望看到任何一方“获胜”的世界。例如,新西兰已经决定反对软件专利。这当然是他们的选择。如果出现另一种迫使所有软件都开源的运动,我会更加担忧,因为我认为强迫任何人分享他们的代码是不合适的。但是,我应该小心,不要让人觉得专利和开源主题本质上是相关的。我只是提到了战争中“一方”可能将新西兰所做的任何改变视为他们的“胜利”或“失败”。

Creative Commons License本作品根据知识共享署名-相同方式共享 3.0 未本地化版本许可协议进行许可。
© . All rights reserved.