如果GitHub与Git交互,并且Git在GPLv2下获得许可,那么GitHub是否不应该开源?


58

由于Git是根据GPLv2许可的,并且据我所知,GitHub与Git进行了交互,因此整个GitHub代码库是否不应该以兼容GPL的许可证开源?


59
您能否指出GPL中有关交互的特定段落?提示:没有一个。
约尔格W¯¯米塔格

14
@JörgWMittag:对于那些不熟悉网络访问是构成“释放”还是传播的人来说,这并不是没有道理的。
whatsisname 2017年

1
很简单:github不会将任何许可的工作交给您,或者,无论他们在何种程度上这样做,他们都会遵循许可条款。您能否指出他们交给您的“固定在有形媒介中”的某些作品,其中包含他们根据GPL从他人那里获得许可的作品?
jthill

3
@TobiasKienzler,应该指出的是,“ git”是两个独立但相关的东西-首先是一个标准,用于定义源代码版本控制的特定方法,其次是该标准的参考实现。两者具有相同的名称-git。这些东西中只有其中一项可以在GPL,AGPL等协议下获得许可-如果您根据标准创建自己的实现,则可以按任何方式许可它,并且标准或参考实现的创建者没有立足之本。您的代码。
Moo

6
@TobiasKienzler最近关于Java规范的Oracle-Google诉讼基本上意味着没有许可证可以用来阻止该标准的重新实现
Moo

Answers:


111

3个原因说明:

  1. 根据GPL的条款,不认为通过Web访问GitHub的人发布(或以GPLv3条款进行传播),因此GitHub不需要共享其源代码。如果GitHub打算出售他们的服务版本(他们可能会这样做,我没有费心看)在他们向您发送软件的地方,并且您在自己的网络上内部运行GitHub的实例,那么他们可能还需要交付源代码,除非:

  2. GitHub很可能通过命令行调用来访问Git客户端,在这种情况下,GitHub 被认为是“一臂之力”进行通信的,因此GitHub不会成为GitHub的派生作品,因此不受GPL的要求。

  3. 另外,GitHub甚至可能甚至没有使用Git软件,而是编写了自己的核心“ git实现”,并重新实现了其接口以保持兼容性,在这种情况下,GPL的要求将不再起作用。


47
实际上,AFAIK和GitHub都有自己的Git实现,因此Linus Torvald的Git实现许可证无论如何都是不相关的。
约尔格W¯¯米塔格

18
Github确实发布了他们的软件。enterprise.github.com
Bryan Chen

8
“ 3)此外,GitHub可能甚至根本不使用Git软件,而是编写了自己的核心“ git实现”,并重新实现了其接口以保持兼容性,在这种情况下,GPL的要求将不再起作用。 ” 我认为@whatsisname是正确的,因为Github使用libgit2。链接:libgit2.github.com,来源:github.com/libgit2/libgit2
andytime '17

8
重要的是要注意,LibGit2是根据GPL2许可的,具有链接例外
RubberDuck

8
@RubberDuck:值得注意的是libGit2由github拥有,因此他们不需要许可证就可以使用它,因此他们不需要遵守其许可的任何内容。即使有人与他们争论,作为libgit2的所有者,他们也可以根据自定义许可证将其许可给自己。
slebetman

6

除了其他答案外,我还要补充一点,FSF关于两个合作程序何时形成单个工作的观点非常模糊:

此外,除了德国以外,这些观点从未在法庭上得到检验:

这是一个持续的案件,但到目前为止,法官认为FSF列出的确定两个程序是否构成同一作品(即共享相同的地址空间)的关键考虑因素与(德国)版权法无关。应该注意的是,FSF并未参与诉讼,但诉讼方一直在主张FSF关于汇总/派生的观点。

因此,对于写下一个Github的人,我想说的是,当FSF声明自己是(反之亦然)时,不要以为你是法律的错误一方。


我不得不认为由于它是无法执行的事情,因此在法庭上的频率不高。我还记得Stallman的一次演讲,当时他提到磁盘上有一些技术公司DRM'ing软件,并且该软件是在磁盘上使用左复制Free组件构建的。斯托曼本人在演讲中指出,卖方从未对此提出法律诉讼。
Lan

1
@Lan那么,DRM是一个单独的问题,仅在较新的GPLv3中起作用,而在较旧的GPLv2中不起作用。通过对GPLv2的任何解释,供应商有权向您提供GPLv2 copyleft组件的来源,而无需提供任何实际方法来对其专有硬件执行修改。
DepressedDaniel

@Lan不要以为。查看执法历史至少可以说是合理的,即面临法律诉讼的违规者通常会遵守法规。是否可以强制执行它与是否有人花时间这样做并不相同,Busybox处于一个有趣的地方,很可能将其包含在不合规的产品中,因此作者面临挑战。
克莱里斯

@chrylis不确定您是指BusyBox的作者。Rob Landley开始提起诉讼,但他对结果感到厌恶,最终离开BusyBox从事ToyBox的工作(ToyBox(通过获得BSD许可完全避免了GPL)):brownrudnick.com/blog/emerging-technologies/…。基本上,并没有停止对BusyBox的任何修改进行公开(从来没有任何修改),而是滥用这种情况来要求资金来资助未来的诉讼,以及开放任何与BusyBox完全无关的法律理论上的专有组件。伤心。简直难过。
DepressedDaniel

此外,FSF关于“链接”的含义的解释没有技术意义。例如,任何使用Java的人都知道句子“如果模块被设计为在共享的地址空间中链接在一起运行,那几乎肯定意味着将它们组合成一个程序。” 废话
Michael Kay

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.