|
|
订阅/登录/新帐户

苹果对GCC的选择性贡献

LWN用户的好处

主要受益于订阅LWN有助于保持我们的出版,但除此之外,订阅者还可以立即访问所有网站内容并访问大量额外内容网站功能。请立即注册!

2010年9月15日

本文作者为乔·宗克尔(Joe‘Zonker’Brockmeier).

最近关于…的讨论GCC邮件列表明确表示苹果不会分配FSF将Objective-C 2.0支持移植到GCC的工作版权所有编译器。苹果已经发布了其更改,但尚未为自由软件分配版权基金会(FSF)或将其更改推送到FSF服务器上工作。我们可能会看到苹果显然计划采取的下一步行动一般远离GCC和GPLv3许可软件。

苹果显然一直在努力减少对GCC的依赖。这个该公司一直在赞助叮当作响,一个前端LLVM编译器基础结构支持(目前)C、C++、目标C和目标C++。开发商Xcode 4.0的预览似乎代替通用条款使用LLVM和clang。

苹果曾一度满足于在GCC基础上构建其开发工具并将版权转让给FSF。发生了什么变化?苹果对GCC的使用Mac OS X与GNU GPLv2兼容,即使该公司没有任何对FSF原则的特别热爱。

iPhone和GPLv3的发布,相隔几个小时,放置苹果公司与GNU项目不和。FSF已经注意GPLv3和iPhone不兼容。具体来说,要求对于要在iPhone上运行的应用程序,运行与第6节GPLv3表示,签名措施不能阻止应用程序在仅仅是因为他们被修改了。FSF还公开敌视苹果iPad发布应用商店最近。也许是有道理的,但它仍然不是那种鼓励苹果更加合作。

看起来,苹果正与以往一样合作到。代码是根据相应的许可证GPLv2发布的后来-但苹果并没有采取下一步推动变革提交给FSF或转让版权按要求成为作为像GCC这样的GNU项目的一部分提供。

理论上,GCC项目可以从苹果的源代码并将其集成到GCC中,但苹果员工和主要作者LLVM Chris Lattner的注意到这一点将违反FSF要求版权转让的政策:

请注意,没有任何未提交给FSF树的版权属于FSF。实际上,由于FSF关心版权转让,这可能意味着你可以可能会合并FSF服务器上苹果分支中的任何内容,但你不能从llvm gcc或apple gcc tarball中去掉那些在opendarwin上被赶出去。

我不是律师,所以这不是法律建议,只是我的理解FSF政策和版权转让机制工作。

理查德·冈瑟指出那个GCC测试套件中的一些代码不是FSF拥有的,GCC/GJC使用利伯菲,它使用Red Hat作为版权所有者。Guenther建议邀请指导委员会合并Apple拥有的代码的异常。然而,这不是苹果与苹果的比较。史蒂文·博舍尔注意到这个测试套件和运行库不是编译器本身的一部分,并且非编译器组件的策略不同。此外,他说““泄漏”风险。。。会太大“,至价值包含。

无论如何,这真的值得吗?它可能会刺激一些人苹果的开发者不会为其对项目的贡献转让版权从中受益,但这真的是GCC项目的重大损失吗?博斯克表明不是这样,说它可能对项目的影响比它更大有帮助。"GNU ObjC用户如此之少,似乎不值得努力将GNU ObjC前端升级到ObjC2.0。“他还指出Objective-C 2.0不是一个有文档记录的语言标准,并且苹果的分支机构可能不是苹果目前的Objective-C 2.0航运。即使GCC项目要合并代码与最流行的Objective-C 2.0实现不同步将是追逐一小部分可能不太感兴趣的观众。

最后一句话似乎是苹果没有兴趣贡献Objective-C变回GCC。当被问及苹果公司与讨论将版权分配给FSF、Lattner回应那个"苹果没有为FSF分配代码的内部流程不再。我将重点关注已经分配给金融稳定论坛。"

这是否可以解释为对GCC的“阻塞”贡献另一个问题。苹果的动机可能并不纯粹,但它发布了所需许可下的代码,这是FSF自己的版权转让阻止纳入的政策。代码可用且已获得许可适用于苹果采用的GCC版本。可能会很好如果苹果进一步向FSF分配版权GPLv3不是苹果最初同意的协议的一部分开始为GCC捐款。


本文的索引项
来宾文章乔·布罗克梅耶


(登录发表评论)

苹果对GCC的选择性贡献

发布于2010年9月16日协调世界时1:57(星期四)伊兰提斯(嘉宾,#6227)[链接]

我很困惑为什么GPLv3与此有任何关系。是因为苹果只是因为拒绝接触GPLv3代码而停止玩游戏吗?

苹果对GCC的选择性贡献

发布时间:2010年9月16日4:38 UTC(周四)布兰登(嘉宾,#7029)[链接]

的确。作者没有给我们一句支持苹果的决定构成GPLv3反弹这一隐含概念的引语。

苹果对GCC的选择性贡献

发布时间:2010年9月16日15:06 UTC(周四)在绿色(嘉宾,#33284)[链接]

我不知道苹果对GPLv3的看法。然而,我认为GCC的GPLv3运行库许可证例外确实存在问题。例如,异常是否适用于单独的libgcc.so?常见问题解答建议应该这样做,但请尝试从异常语言本身得出这个结论。IANAL,但我相信这将使用GCC构建多种封闭系统成为不可能,即使盒子上没有其他GPL代码。我确信这样的问题会让人们远离v3授权编译器。

另外,回复:libffi。有许多版权所有者。多年前,除了一位(非红帽子的主要贡献者)外,其他人都同意签署FSF的任务文件。这足以阻碍我的努力。回想起来,我很高兴这没有发生,因为它可能已经根据当前的v3运行时异常许可证重新获得了许可。

我希望这是一个诚实的错误,金融稳定论坛可以很快纠正或澄清。我刚才已经联系过他们了。

苹果对GCC的选择性贡献

发布时间:2010年9月17日21:35 UTC(周五)匕首(嘉宾,#65432)[链接]

这是众所周知的。在宣布libc++项目时,LLVM邮件列表上对此进行了长时间的讨论。libc++是对GPL v3的直接反应。

苹果对GCC的选择性贡献

发布时间:2010年9月16日10:49 UTC(周四)杰威克利(用户,#60262)[链接]

当GCC将许可证转换为GPLv3时,苹果停止向GCC提供更改,许多人认为时间不是巧合:)

他们继续增强GCC,但使用自己的GCC4.2代码副本,即GPLv2。这些增强功能没有应用于上游GCC的更高版本(GPLv3),因为FSF的政策是不接受没有版权分配的代码。

变化不在上游GCC中的原因是FSF/GCC政策,而不是GPL。GPL允许任何人接受苹果的更改,将其移植到当前GCC并发布自己的GCC版本。由于版权转让政策,“任何人”都不可能成为FSF。

记录在案,我认为版权转让政策是一件好事,我对ObjC的支持毫不在意。如果任何ObjC用户真的希望苹果在GCC的最新版本中进行更改,他们可以将其合并并发布自己的版本。

苹果对GCC的选择性贡献

发布时间:2010年9月16日2:22 UTC(周四)新资本市场(嘉宾,#165)[链接]

我发现,真的很难关心苹果公司的ObjC更改是否最终会出现在FSF或任何人的GCC中。用ObjC写的东西在非苹果的平台上运行有什么有用的吗?如果苹果想让开发人员用ObjC轻松编码,他们知道该怎么做;如果他们不在乎,我们为什么要?这似乎完全是内在的。

苹果对GCC的选择性贡献

发布时间:2010年9月16日7:05 UTC(周四)尼克松(用户,#2304)[链接]

嗯,有鲕粒和GNUstep。但据我所知,没有太多。

苹果对GCC的选择性贡献

发布时间:2010年9月16日7:05 UTC(周四)菲利普·罗塞尔(用户,#23227)[链接]

嗯,也许GNUstep,这是一个GNU项目,可以被认为是有用的。GNUstep在许多平台上运行。

谁在使用GNUstep?

发布时间:2010年9月16日7:50 UTC(星期四)嗯什么(嘉宾,#54087)[链接]

老实说,谁真正在日常使用GNUstep?

谁在使用GNUstep?

发布时间:2010年9月16日8:03 UTC(周四)mjthayer公司(嘉宾,#39183)[链接]

>老实说,谁真正在日常使用GNUstep?

如果苹果的代码没有被合并,也许这些人也会找到继续工作的方法。

谁在使用GNUstep?

发布时间:2010年9月16日8:28 UTC(周四)菲利普·罗塞尔(用户,#23227)[链接]

我是!
你可以在GNUstep邮件列表上询问,你会在那里找到更多的用户。我不确定我们是否需要苹果为gcc添加内容,但一些GNUstep开发人员似乎对此感兴趣。

苹果对GCC的选择性贡献

发布时间:2010年9月16日15:04 UTC(周四)TRS-80型(嘉宾,#1804)[链接]

SOGo公司是一个非常好的调度CalDAV服务器和webmail/webcalendar客户端,它是用我正在使用的Objective C编写的。它构建在一个名为SOPE的框架上,该框架声称将WebObjects与Zope概念混合在一起,这听起来应该会导致SAN丢失,但似乎工作正常。

苹果对GCC的选择性贡献

发布时间:2010年9月16日16:03 UTC(周四)吉姆帕里斯(嘉宾,#38647)[链接]

我不喜欢版权转让政策。这意味着像我这样的人不能使用现有的编译器端口(例如,Microchip的用于dsPIC/PIC24架构的GCC端口)并开始将其应用到上游——我需要Microchip首先分配版权,他们肯定不想这样做,因为他们喜欢让它成为一个很难构建的东西,他们可以转身出售。

苹果对GCC不存在的贡献(根据GPLv3)

发布时间:2010年9月17日14:18 UTC(周五)法拉米尔(订户,#2327)[链接]

我认为Bosscher的建议是,ObjC2.0二进制文件的发布可能与公开的源代码不匹配,这对苹果来说是一种法律风险行为。据我所知,苹果公司过去曾将版权转让给FSF,因此很有可能2.0版本中的一些代码是FSF合法拥有的。苹果将根据GPLv2要求采取法律行动。这假设我了解代码在过去是如何流动的。如果我错了,希望有更接近代码的人可以纠正我。

苹果对GCC不存在的贡献(根据GPLv3)

发布时间:2010年9月23日13:46 UTC(周四)沃尔(用户,#4433)[链接]

但FSF的版权转让类似于联合版权。如果苹果把它写下来并分配给FSF,那么苹果也可以用它做他们喜欢的事情。

对于Apple编写的、FSF拥有的代码,苹果唯一不能做的就是给第三方一个独家许可。

干杯,
沃尔

误导性文章

发布时间:2010年9月17日16:28 UTC(周五)德朗(嘉宾,#313)[链接]

我认为GPLv3的讨论让很多人对版权转让三思而后行。维基百科的例外也让人们思考。

FSF承诺,他们发布代码所依据的所有许可证都将与之前的许可证“本着同样的精神”,但GPLv3的讨论表明,FSF认为“本着同样精神”的东西并不总是写代码的人认为“本着相同的精神”的

苹果所做的远远超出了GPL的严格要求(他们可以只将源代码与二进制文件一起发布),因此他们所做的与GPL完全兼容。

他们只是不愿意进行版权转让,FSF有一项政策,不接受任何不包括此类转让的贡献,那么当他们知道上游不会接受时,为什么苹果要浪费任何时间“试图让他们的贡献上游”?

误导性文章

发布时间:2010年9月18日5:50 UTC(周六)拖曳(嘉宾,#31333)[链接]

我过去看到的是,在处理代码许可问题时,GNU项目比其他项目(例如,Apache)更灵活。

我不明白为什么如果有机会减少操作编译器的工作量和成本,那么至少尝试与GNU人员合作会是一个问题。

正如该男子在文章中所说,Redhat仍然拥有某些内容的版权。而且,似乎GNUStep的用户对Obj-C支持感兴趣,即使它不会与苹果最终发布的产品100%相同。毕竟他们的OpenStep API版本与苹果的版本(Cocoa)并不一致,而且似乎也没有那么麻烦他们。

GNUstep和可可

发布时间:2010年9月23日17:00 UTC(周四)tjc公司(嘉宾,#137)[链接]

毕竟,他们的OpenStep API版本与苹果的版本(Cocoa)不一致,似乎也没有那么困扰他们。

实际上,Cocoa兼容性是GNUstep项目的主要目标。从GNUstep.org主页:

GNUstep寻求与Cocoa兼容的源代码,因此可以用于开发和构建Macintosh(Cocoa)、Unix和Windows之间的跨平台应用程序。

如果他们把“不那么丑陋”作为一个目标,我认为他们会做得更好。


版权所有©2010,Eklektix,Inc。
评论和公开帖子的版权归其创作者所有。
Linux是Linus Torvalds的注册商标