我正在考虑将某些代码用于GPL或LGPL用于iPhone项目。

如果我使用该代码(JavaScript)并将其重写为另一种语言以在iPhone上使用,那将是

从理论上讲,发生的过程是我遍历了项目的每一行,了解了项目的执行情况,然后以一种新的语言重新实现了这些想法。 >
对我来说,这就像在学习如何实现某些东西,然后与原始许可分开重新实现。因此,您只复制了算法,可以说您可以从原始项目之外的其他地方学到算法。

许可证是否还涵盖特定的实现或算法?

编辑------

真的很高兴看到该主题建立了良好的对话。为了给项目更多支持,所涉及的代码进行了某种音频分析。我相信学习或实现它并非易事,尽管我准备着手执行此任务(我处于可以实现FFT算法的水平,而且将超越此水平。)低LOC脚本,因此我认为做一个直接端口并不难。

我真的很喜欢重新释放端口并在应用程序中使用它的想法。我认为这没有任何问题,这是将某些东西还给社区的好方法。

我要添加一点,即不想讨论道德问题,但是我很高兴我没有参加,因为它似乎引发了一些辩论。

我仍然对使用开放源代码学习感到有些奇怪。这是否意味着不允许在开源项目中使用从开源项目中学到的任何东西?实施之后必须经过多长时间或不同,才能不被视为违反许可?

编辑2 --------

跟进问题

评论

我真的想深入探讨另一个问题:“如果您从开源程序中学习算法并重新实现该算法,您是否违反了许可证?”我是从法律的角度出发,而不是从道德的角度出发。但是,即使从道德的角度来看,这不是合法的学习形式吗?我们是否不允许使用从开源项目中收集到的任何知识?这似乎与GPL本身背道而驰?

@optician问题是您要逐行翻译它,这显然使其成为派生作品,就像人类语言之间的翻译一样。这个想法本身不受版权保护,而可能受专利保护。但是请注意,IANAL。

评论员:评论只是为了寻求澄清,而不是为了扩展讨论。如果您有解决方案,请留下答案。如果您的解决方案已经发布,请对其进行投票。如果您想与他人讨论此问题,请使用聊天。有关更多信息,请参见FAQ。

@optician Stack Exchange系统不是讨论板,每个帖子都是一个可以随时间改变方向的主题:如果您有其他问题想获得帮助,请提出另一个问题。否则,请随时编辑您的问题,以澄清收到的答案是否不能完全解决您的原始问题。

我投票结束这个题为离题的问题,因为它涉及法律问题。

#1 楼

我不是律师。这不是法律建议。

这就是说,为了避开版权法的唯一目的而将申请的每一行都进行小幅更改,显然是公然地创建了没有合理辩护的衍生作品。如果您曾经被拖入法庭,即使是最买断的法官和陪审团也一定会不利于您。

作为比较:确实需要为互操作性而重写某些东西的公司通常会雇用不同的人员来理解源,并创建端口(“无尘室实现”),因此人们可以指责他们创作衍生作品。您的建议与之完全相反。

评论


我希望我能给你+10 ...

– Marjan Venema
11年6月24日在15:00

那是“有史以来”的事情。

– QueueHammer
11年6月24日在17:32

如果该软件完全成功,它很可能会在某个时候出庭。

–贾斯汀C
11年6月24日在17:54

@optician:取决于您实际上离重新创作原始作品有多近,而这正是您需要律师回答的问题。

– David Thornley
11年6月24日在21:22

@DavidStone你倒退了。您必须了解逻辑上的算法和代码中算法的特定表达在法律上是分开的;只有该表达方式才受版权保护。进行重新实现的小组与算法的原始表达没有联系(他们仅查看有关逻辑算法的内部文档),并且他们的书面表达可能与原始表达不同,因此,他们不太可能侵犯版权。但是,由于它们的逻辑算法与原始算法相同,因此很容易侵犯专利。

–仿制药
13年1月4日在16:37



#2 楼

哈佛法学院版权基本原则的贝茜·罗森布拉特(Betsy Rosenblatt)表示:


构成版权侵权的内容是什么?

除某些辩护外,对其他人而言,这是对他人版权的侵犯。作者在未经作者许可的情况下执行以下操作:


复制或复制作品
创建从原始作品衍生的新作品(例如,将作品翻译为新语言,即复制和扭曲图像,或将作品转移到新的表达方式中)
首次出售或赠送作品或作品副本(但一旦作者拥有这样,出售或赠予该物品的权利就转移给了新的所有者,这就是“首次出售”原则:一旦版权所有者出售或放弃了该作品或其副本,则接收者或购买者可以随心所欲地摆姿势。)17 USC §109(a)。
未经版权所有者允许,可以在公共场所表演或展示作品(这项权利不适用于视觉艺术)。 U.S.C. 17 §106。侵犯美国《美国法典》第17篇定义的作者的“精神权利”也是侵犯版权的行为。 106A。在此位置讨论了精神权利。




在我看来,您会违反上面的第二项。

但是,我认为这里的术语很重要。您说:“如果我采用该代码(javascript)并将其改写为另一种语言以便在iPhone上使用,那将是法律问题吗?” (强调我的)。重写某些内容可能与复制有所不同。例如,如果您看着蒙娜丽莎(Mona Lisa),然后走进自己的工作室,画上自己记得的东西,那么在我看来,您正在创作的是原创作品,表达了您对原创作品的看法。但是,如果您的工作室中有《蒙娜丽莎》的副本,并且您画了它的副本,而不是您所记得的,那么我想您肯定是在复制。

同样,如果您使用MS Word,也许即使您看了一些代码,然后去编写自己的具有功能相似性的文字处理器,我相信在某些情况下决定“外观”不具有版权。 (当然,这没什么专利的。)

您可能应该问一位律师(因为我不是一位律师)。

我个人的观点是,“港口”是衍生作品,因此您必须在同一许可证中发布移植的代码。

评论


还有证明的问题。如果您查看了Word的源代码,然后编写了自己的文字处理器...您将很难证明您没有复制任何内容。

– gbjbaanb
2011年6月24日14:58

@gbjbaanb:在大多数国家/地区,微软有责任证明您的所作所为,而不是相反。没关系,因为如果Microsoft起诉您,那么除非您能够得到一家大公司的支持,否则您将一头雾水。 :-)如果您可以访问Word源代码,您已经签署了一些东西,说您无论如何也不会与它竞争,这很可能是您的签名。

– T.J.拥挤者
2011年6月24日15:22



与其在“这里”写上,不如给作者起个名字:“哈佛法学院的贝茜·罗森布拉特”。

– Nicolai Reuschling
11年6月24日在16:41

@Nicolai Reuschling:哈哈:)

–斯科特·惠特洛克
11年6月24日在17:23

@TRiG:“我不知道你为什么认为这很有趣。” -也许是因为你没有讽刺意味。 ;)

–斯科特·惠特洛克
2011年6月24日18:21

#3 楼

我不是律师,这不是法律建议,如果您在任何可疑的工作中都依赖我所说的话(1)您是白痴,(2)我不承担任何责任。这是多年来我从似乎认识的人那里听到和阅读的内容。

法官们不会玩“理论上”的游戏。他们不喜欢编造扭曲法律的方式的人,这些方式可能在逻辑分析方面是可以接受的,但与明显的意图和法官过去的统治方式背道而驰。如果您有机会在法庭上捍卫您的解释,请永远不要对法律太过聪明。

人们通常会接受小说和电影的翻译或翻译。译成另一种语言正在创造派生作品,这些作品比您在说的要大得多,并且需要更大的创造力。看看这些例子。

在美国,有些情况下,复制程序比您所讲的宽松,被裁定为侵权。在美国,希望将这些作为先例。

换句话说,您将在一个商业公司的基础上成立,如果有人打扰,这将被视为非法。这不是一个好主意。

此外,如果您对版权的想法有任何尊重,或者对作者的出版内容拥有任何控制权,那么您就太虚伪了。在某些条件下可以使用源代码。您违反了法律和作者的明确意图。

现在,算法不能享有版权。在美国,法院裁定不可能对一个想法进行版权保护,而通常可受版权保护的东西是表达某种东西的唯一方法,则该版权不可以受版权保护。因此,您当然可以使用该算法。

有一种复制具有版权保护的算法的方法:“无尘室”方法,其中一个人或一个小组研究源代码并创建该算法的描述(尽可能少的实现细节),而另一个人或组编写新代码,而不引用原始源。您越接近这一点,您就会越安全。

您可能还想考虑一下,通过在此处发布问题,您已经发布了可能侵犯版权的意图。如果有人有权这样做的话,该表格很可能可以追溯到您(例如,在民事案件中进行发现,或者如果事实证明是刑事案件,则由普通警察进行调查)。

评论


+1代表“您可能还想通过在此处发布问题来考虑到您发布了侵犯版权的意图”。

–user23157
2011年6月24日15:12

+1对于“无尘室”方法-我一直想知道它是如何工作的。

– DMan
2011年6月24日在22:09

我刚刚在情况论坛上发布了有关情况,并将结果发布在这里。

–克里斯·巴里(Chris Barry)
11年6月24日在23:24

算法是一个想法,程序是不是一个想法?还是程序不是算法的集合?

–踏板车
2012年9月7日下午0:11

#4 楼

为什么不只是开源您的端口,而让您的项目的其余部分成为开源?

引用我的另一个答案:


开源的作品,因为它是一个
社区。因为是相互的。您
不能通过编写开放源代码来赚钱。您可以通过使用开放源代码来赚钱。那为什么要编写开源代码呢?回馈



但是从更务实的角度来看:
如果您移植的代码确实有用,那么您认为应该保护它为了保持优势(您没有这个优势,因为使用Appcelerator的人可以立即使用它),迟早会有一个开源端口。它将由许多人维护,将由更多人使用并进行测试,并将进一步完善以合并目标语言所倡导的原理,并更好地与平台上的流行框架进行交互。与之相比,迟早您的代码看起来像是胡扯。
事实上,开放源代码是您时刻保持清醒的机会。这是双赢的。如果幸运的话,您甚至可以获得该代码的维护者,并且可以专注于您的应用程序逻辑,这实际上是使您的产品与众不同的原因。

评论


+1最好的一些代码是开源的。但是我可以看到,将GPL代码添加到商业项目中可能意味着更大的障碍,因为这意味着需要开源整个产品。

– Alex Jasmin
2011年6月24日23:28



据我了解,Apple许可条款禁止iOS应用中使用GPL代码。

–安德烈·塔兰佐夫(Andrey Tarantsov)
2011年6月26日下午4:43

好吧,Apple ToS中的一个子句似乎与GPL中的一个子句相矛盾,因此尽管不被禁止,但它们似乎是不兼容的。

–疫苗
2011年6月26日上午7:22

如果Apple的ToS与GPL相抵触,则拥有版权即可使您以更多许可(与Apple ToS兼容但又与GPL兼容的许可)发布它。

– Pieter B
13-10-31在10:47



#5 楼

我不是律师,甚至没有在电视上玩。

但是我认为这里的问题是衍生。如果您的新作品来自GPL或LGPL作品,则该作品必须符合GPL或LGPL的要求。即使完全用另一种语言逐行重写它,您的工作也显然是派生的。

评论


是的,但这是否意味着您不再被允许使用该算法?您是否已经看到它在另一个项目中实现的事实是否禁止您自己使用该算法,除非您可以证明自己具备通过其他学习途径自己提出该算法的知识?

–克里斯·巴里(Chris Barry)
2011年6月24日13:50

我也不是律师,所以我只是在猜测。如果您用另一种语言编写自己的算法实现,则不会使用“源自”一词。我认为GPL并不是作为秘密专利制度创建的。

–明智的船长
2011年6月24日13:51

@第七-您应将“ Covert Patent System”一词注册为商标并为该概念申请专利。

– Mayo
11年6月24日在14:15

算法不具有版权。出于版权法的目的,重复算法是不可行的。关键是您的程序是否从原文中衍生出文字;这意味着变量名称,代码布局等。(但是,专利法甚至可能不适用于算法。)

–基连·福斯
2011年6月24日14:19在

许可证涉及实施,而不涉及算法本身。将实现移植到另一种语言是一种衍生工作,就像将《哈利·波特》移植到西班牙语一样。您可以自由地以自己的方式实现算法。我建议不要复制/粘贴,并学习要实现的算法并从头开始编写自己的版本。 IANAL。

–戴夫·拉格(Dave Rager)
2011年6月24日14:23在

#6 楼

就像其他人所说的那样,这很可能是衍生作品,因此如果您选择“与原始许可分开”来直接侵犯GPL条款(我认为这意味着您将删除GPL并使用其他东西,甚至是封闭的来源) 。

即使它滑倒“合法”,也显然是不道德的。 GPL软件的作者选择了这样一种许可,将自由扩展到衍生作品上。无论是好是坏,这都是作者的意图,您应该尊重这一点。他们为您提供了读取和修改,派生之类的代码,仅作为回报,您不更改条件。也有可能您也不会为此软件付费。

我知道赚钱很困难,但是当您提出自己的想法时,这种形式就是在偷钱。当然,您可能已经从另一个来源学到了该算法或任何实现细节,但您自己却没有学到。

如果道德与您无关,那么请记住,鉴于您正在(或即将要做)的灰色合法性,原作者很可能会因以下原因与苹果公司联系侵犯版权。到目前为止,Apple迅速删除了侵犯GPL的软件。另一种可能性是诉讼。

如果我是你,我会考虑或者用GPL来完成我自己的工作(这不是一件坏事!)或通过其他方式获得知识。

评论


似乎有些应用程序是GPL(wordpress应用程序?)。您是在说使用开源项目学习算法是不行的吗?

–克里斯·巴里(Chris Barry)
2011年6月25日,0:02

不,我不是在说。我指的是OP的想法,即将相同的行翻译成另一种编程语言。现在,推导在哪里结束,原始工作在哪里开始?这不是一个简单的问题,但是我敢肯定,仅需重新实现同一算法而不进行修改就是衍生工作。

–塔马斯·塞莱伊(TamásSzelei)
2011年6月25日下午0:16

是的,这不是一个简单的问题。知道有多少变化足以不违法也将很有趣。更改可行的名称,空格?感觉有些愚蠢,因为这些东西很容易更改,尤其是如果您了解代码并因此可以做一个很好的替代名称。

–克里斯·巴里(Chris Barry)
2011年6月25日,0:20

顺便说一句,该代码已得到很好的注释,因此,很容易了解它在做什么。

–克里斯·巴里(Chris Barry)
2011年6月25日,0:20

好吧,只是使用常识。作为程序员,您是否认为更改空格和变量名称就足够了?最终(在现实情况下)法院将决定合法性。

–塔马斯·塞莱伊(TamásSzelei)
2011年6月25日下午0:26

#7 楼

尝试做正确的事情而不偷别人的想法怎么样?您可以简单地通过电子邮件发送代码的创建者,并询问是否可以将项目的某些部分作为基础。许多人对此不会有任何问题。如果他们确实有问题,那么即使撇开法律问题,您为什么还要破坏自己作为社区专业人员的声誉?这个问题或多或少地用“我能摆脱什么?”而不是“我应该怎么办?”来表达。有点麻烦。

最重要的是,请问编写代码的人。

评论


已经要求作者,我将结果发布在这里。

–克里斯·巴里(Chris Barry)
2011年6月24日23:56

#8 楼

我也不是律师。如果您担心这是否是法律问题,那么您甚至不应该问这个问题,而只是写自己的问题。

我对此事的个人看法:

如果您要使用javascript代码并用另一种语言重写它,则称为移植,它被视为派生作品。如果您正在编写自己的软件版本,并使用javascript代码作为参考来学习某些算法的工作原理,那么您可能会没事的。

我会错误地请教律师。

作为附录,版权法允许您除阅读外,基本上不对已发布的源代码进行NOTHING [*]。版权拥有者发布许可所依据的许可允许您享受版权法未提供的某些其他特权。以未经许可的许可方式使用和使用代码与未经作者的许可而使用和使用受版权法保护的任何受版权保护的作品没有什么不同。

[*]为合理使用而有例外。

评论


如果是GPL,您可以做更多的工作而不是阅读它。您可以制作衍生作品,只要这些衍生作品也是GPL。

–毛哲豪
11年6月24日在21:41

是的,这是正确的。

–戴夫·拉格(Dave Rager)
2011年6月25日在1:27

#9 楼

不,这是不道德的。几乎可以肯定这是非法的。而且,如果我曾经从做过此事的人那里审查过一个工作应用程序,那么它将充满极大的偏见。

评论


那么,您是说从开源项目中学习如何实现某些东西是不道德的吗?

–克里斯·巴里(Chris Barry)
2011年6月24日23:56

@Chris:从开源项目中创建衍生作品并将其发布以出售是不道德的,这与许可证所表明的作者的意图背道而驰。如果您不能遵守许可证,而是绕着许可证走了...嗯。

– Paul Nathan
2011年6月25日下午4:02

我并不是想避开许可证(为什么要问这个问题),但我想知道关于此类问题的情况如何。两件作品之间是否有时间限制或差异量,将使其停止为衍生作品?否则,似乎无法使用从学习开放源代码中学到的知识吗?

–克里斯·巴里(Chris Barry)
2011年6月26日13:58

并没有阻止您出售基于开放源代码的应用程序。实际上,开放源代码的定义(由“开放源代码倡议”提供)明确允许这样做。但是您需要遵守许可证,这是OP的难题。 App Store的条款与GPL冲突,这就是这里的问题。

– Martin Vilcans
2011年6月26日19:43

#10 楼

始终进行编码,好像最终维护您的代码的那个人会是一个暴力的精神病患者,知道您的住所。 〜Martin Golding

我不是律师,所以我不会像一个人那样回答。此外,许多其他非律师人士已经就您的想法的法律后果提出了自己的想法。我将跳过关于道德/道德的辩论。

如果我是你,我会更关心作为开发人员的影响。这是尊重的事情。特别是自尊。

当然,我们每个人都在寻找“ {specification}中的d'ya {implementation}如何?”。时。那是Stack起源的地方吗?这就是我们所有人发现这里的方式,对吗?这不是我在说的,因为那不是您在说的。

如果我结合了天才的功夫+英勇的努力=值得作为开源软件提供给开发者社区的成果首先,人们完全喜欢它,以至于无法使用它,我就不敢恭维了。我会很开心的像John Reisig或Mark Story。一点点,我。然后出现了一些小问题,并确定了我的贡献,以便他们可以将其提供商业用途或将其本地化到其商业应用程序中?死定了。

代码就像笔迹一样。您不能将应用程序比火柴盒大很多,以至于另一个合法的开发人员无法将两者并排区分并说“等一下……”作为开发人员,我的同龄人可能会感到尴尬,我的同事,我尊敬的人,以及我渴望得到的尊敬的人,都会发现我顶了别人的代码。我会成为笑柄。 Cos是一些史诗般的复制面食脚本kiddie bs。您是否真的想在同行眼中使自己合法化?顶起代码是开始的好方法。

作为一名开发人员,请考虑以下问题:如果那是我的应用程序,而我发现您将它顶了起来,以至于您可能会担心被起诉,如果我决定起诉您,该怎么办,您赚了一大笔钱无论如何,都要感谢我的代码,所以为什么我不应该在伤害你的地方打你,也许还可以把它拿回来?您如何知道我不是一个青少年,或者没有脾气和一套可怕的技能?可以这么说,尽我所能在r b0xen上pwn r00 [。由于顶起我的应用程序会向我显示我>您(根据:我可以写出您只能顶起的东西)。这不是第一次。

评论


我真的很喜欢这个答案。我认为问题是,您是否可以将代码用作学习点,然后重新实现。我认为这大约是200个LOC脚本,所以并不是那么棘手。我只是真的想从一个可行的例子开始学习,因此从那里开始似乎很有意义。如果我用伪代码编写整个程序,并且用GPL进行移植,那将使我处于一个合理的位置吗?我真的认为该帖子的标题引发了辩论,超出了我的预期。

–克里斯·巴里(Chris Barry)
2011年6月26日14:05

回复:引发辩论,考虑问题的本质:无论是否愿意,专业的开发人员都会将自己的心灵投入到自己的工作中。在我的时间里,因为软件的本质是一头野兽,所以流血如雨。最重要的是,我们的技术如此困难,以至于对开源(js库,php框架等)做出了真正的杰出贡献-在这一点上,我们中间的人并不依靠开源来专业地投入工作?因此,无论我们是否意识到,这样的问题对于我们所有人都是非常个人化的。

– OpenSorceress
2011年6月26日19:56

也就是说,我从约翰·雷西格(John Reisig)和马克·斯托克(Mark Story)等开源向导以及他们的帮派孩子那里学到了大部分知识。 jQuery是我的小朋友。 CakePHP是我的生计。这一点都没有错。因此,千斤顶和端口之间的区别。这就是我们所说的,我们站在巨人的肩膀上的意思。

– OpenSorceress
2011年6月26日在20:03

#11 楼

就像其他任何东西一样,您无法取消学习所学,所见,阅读...的内容,但是您可以控制的是如何使用它...

关于此事的两件事-


像大多数开放源代码的许可规定一样,在其上放一角钱完全是一件很酷的事情,使它成为“伪”关闭是一件很酷的事情-但问题是“信用”。我已经购买了许多脚本,这些脚本都赋予了“信用”(博客网址,所使用的操作系统代码...等),但是问题是您公开(而不是隐藏)为某人的创作提供信用/荣誉(再次,人们不介意您是否这样做……很多时候人们不给予信任(因此违反了GPL类型规定),因为担心人们意识到他们可以将其推广到其他地方……但是如果您的代码是公开的给予好评,并且仍然可以独立存在(无论您的代码贡献是否已关闭/公开),那么人们将不会在意。

作为开发人员,我发现人们不愿给予好评,请兑现封闭,以模仿伟大的开发人员/编码员为幌子,以假以他人的努力来赚钱...。

所以我偏离了第二名...


“意图”几乎总是(实际上)如此……您能站在法官面前吗(例如您被起诉,被告上法庭,或被要求解释自己的行为),并且清楚地陈述自己而不抱怨,并且在问题-为什么您决定隐藏/关闭代码的“开源”部分,所以这应该不是问题。

我的2便士。 :)

有趣的是-大多数人认为他们发明了“特定想法”-实际上,“想法”可能已经(以极高的概率)已经被抛弃了餐巾纸,纸张,编码,互联网,博客等...

因此,尽管它对您来说可能是新的,尤其是因为您已经在其他人的OS作品中看到了它,但它可能已在其他OS作品中使用,他们从中衍生了OS作品...最终可能在在线的其他地方使用。 。甚至根本没有声明的许可证/版权问题...在这种情况下,您可以从该来源复制...修改,更改,删除,添加...(通过复制/ URL可以追溯到哪里您可以根据自己的喜好显示它是合法的)。

我认为在“代码域”中这是令人惊讶的,尤其是有多少次我发现自己的代码“狡猾的”代码早在2003年就已经写过(不是那么好。.请注意-大声笑)在某人的怪异,谷歌搜索排名#1,239,他们在读研究生时创建的网站上,只是创建了有趣而免费的功能采用。 :)

要点是..值得称赞,不要回避问题,当所有其他方法都失败时...或如有疑问-询问原始OS'r的使用权...是!我们什么时候变得如此自大,以至于我们不能简单地要求某人使用他们的除草机,剪草机,割草机,以及-哦,是的,他们做的很酷的功能!

好了,三便士。 。

评论


问题是他试图逃避原始许可条款。

– Paul Nathan
11年6月24日在16:54

#12 楼

您不能将派生作品的派生作品制成派生作品...,并且不能期望它不是派生作品。它可能变得无法识别,但这又是另外一回事。
您可以从任何文本开始,并通过一系列更改获得任何文本(例如,删除第一个,插入第二个),因此可能并不意味着它是完成。
因此,是否有可能并不重要,但是否确实发生了(只有不可能的事情显然没有发生)

从广义上讲:
从一切可以学到的东西(学习) to可以,但是您应该确认消息来源。
合法是合法的。

IANAL,但是如果发生以下情况,我不会认为自己做错了:
1)我从公开学习源实现
2)通过实施相同的算法(即使使用相同的语言)
,实际上,很大一部分自然会变得完全不同,并且
某些部分实际上是相似的。
如果那些相似的部分双方都遵循相同的编码惯例,因此
不能有所不同,则这些部分也不具有版权。例如。如果类具有两个私有String字段,并且它们具有getter和setter,则唯一有趣的是该类具有两个读/写属性,而不是getter和setter的实现。

#13 楼

如果您分别重写每行,则可能会或可能不会“复制”这些行。

但是您要逐字复制这些行的顺序,整体结构和包含它们。换句话说,就是使作品“整体”的东西。

您正在复制“此行应在此处,此行应在此处”的部分。这是整个算法的很大一部分。

另外,当一个项目开始时,没人知道要包括什么,什么东西或多或少被认为是重要的,如何构造和组成算法。此信息需要在某个时候生成和设计。但是您不需要,因为您可以“复制”它。


例如:

如果我有一组{a, b,c,d,e,f}。

我可以创建它们的有序列表[f,e,c,b,d,a]。您必须说,我已向列表中添加了一些信息(称为订购信息),这些信息未出现在无序集中。根据列表的大小,此信息可能非常具体且难以提供。

#14 楼

让男人休息一下!


如果要对他提起法律诉讼,那将意味着某人将必须实际上有权访问该代码并阅读该代码。如果对软件进行编译该怎么办?
他总是可以在事实出现的时刻唤起他的无知。在被判有罪之前,不是一个应该诚实的人吗?
学习不是复制。在现有的一些作品中寻找灵感绝对是不能复制的。因此,如果他从一个软件中了解了每一行代码的功能,并决定要使用结果的原理对此加以改进,并开发出一个更好,更简单,更精简的软件,该怎么办?不复制恕我直言。

那是我的2美分。现在轮到第一个无罪的扔石头了...;)

评论


对于#1:直到您的源代码被法官传唤,并且您在陪审团令人讨厌的咧嘴笑着,因为他们看到您的“重写”。

–贾罗德荨麻
2011年6月24日19:05

对于#2:侵犯版权通常是民事事务,因此在法律上没有“有罪”之类的事情。如果有大量证据表明OP被侵权,那么这就是全部。对于#3:这不是原始问题所说的。

– David Thornley
11年6月24日在21:25

(1)不查看源代码就不难发现明显的窃。此外,我们不习惯于建议人们如何摆脱非法和高度不道德的行为。 (2)无知无故(无知不是辩护)(3)逐行重写不是学习。逐行重写绝对不是在寻找灵感。这是公然的窃,简单明了。我不会在这里重新讨论所有内容,但是有大量的法律文件和先例支持这一点。

–格雷格·杰克逊(Greg Jackson)
2011年6月25日10:10



好的,所以如果我不是逐行重写,而是理解算法,然后以自己的方式重新实现它。即单人无尘室操作。那不一样吗如果不是,我是否因此不能向任何开源项目学习?

–克里斯·巴里(Chris Barry)
2011年6月25日上午10:16

@Chris洁净室操作的全部要点是,实现该算法的人们根本没有看到原始源代码。没有“一个人的洁净室”之类的东西。

–亚当·李尔♦
2011年6月25日在20:57