更新(2015年12月22日):谢谢大家对本提案的反馈。我们将在假期中处理此问题,并应在新年之后发布后续公告,回答您的问题并解决您的担忧。我们将不会就此主题做出任何仓促的决定,当然,如果没有足够的机会将您的想法整合到最终决定中,我们当然不会没有。因此,继续让我们知道您的想法。您很快就会再收到我们的来信。
更新(2016年1月14日):承诺的跟进在这里,需要注明出处并将更改推迟到2016年3月1日。
CC-BY-SA是众包知识库的理想许可证。我们从中受益匪浅,我们的社区也因此受到了保护,我们期待CC-BY-SA继续为Stack Overflow和整个网络中的散文贡献永远。
但是代码是有点不同(双关语意味深长),CC-BY-SA覆盖代码始终有点模棱两可。这导致了有责任心的开发人员的不确定性,因为他们在从Stack Exchange上获取几行代码时一直难以理解许可证要求他们(如果有)。不确定性对您和我们来说都是生产力的拖累,我们有义务使代码的使用更加清晰。
从2016年2月1日开始,麻省理工学院将涵盖Stack Overflow和Stack Exchange的所有新代码贡献许可证。
我们已经在这个问题上研究了一段时间。我们已经与OSI进行了协商,并寻求了一名现实生活中律师的帮助,并在内部进行了详尽的讨论。我们提出了一个解决方案,我们认为该解决方案是对现状的一项重大改进。
新的许可条款简而言之:
从2016年2月1日开始,整个网络上的捐款将被许可根据以下条款向公众公开:
根据CC-BY-SA的条款,非代码贡献将继续可用
您可以根据MIT许可证的条款使用代码贡献。
您不必在代码库中包含完整的MIT许可证。只要用户根据版权所有者(或代表作者的Stack Exchange)的要求给予合理的署名,则贡献者同意授予代码用户忽略MIT许可证的通知保留要求的权限。麻省理工学院许可的此可选例外将存在于我们的服务条款中。对开发人员而言,以上是太多信息。新的许可条款没有任何变化。您可以做以前做过的所有事情,甚至可以在访问Stack Overflow时做更多的事情:复制代码,修补,整理,将其放入项目中并继续构建。这两个事物中的两个,或两者皆有:
A)在您的代码中添加注释,以链接到找到它的帖子,或者
B)遵守通常使用的MIT ,通过在源代码中包含完整的许可证文本
您已经在执行选项A,对吗?这是在Internet上查找代码时的标准操作过程-超链接注释可确保您能够调试该行。但是在新术语下,超链接评论不仅仅是实用的,它是一顶帽子,而且是针锋相对的,可确保您遵守贡献者的术语。
我们想知道您的想法关于上述条款。在您让我们知道之前,我们会简要回答一些预期的问题:
真的那么简单吗?
非常简单。我们正在进行优化以简化合规性和清晰度。即使您什么都不做,该方案也可以让您保持合规。您只需要做一件事-提供信誉-何时以及是否需要原始海报的人。
我的项目是开放源代码,我不能只包含MIT许可证吗?
是的。利用通知保留异常是完全可选的。当新条款发布时,我们将在帮助中心轻松遵循有关如何满足各种用例的准则。
在2016年2月1日之前贡献的代码如何?
这是这只是减轻Stack Overflow和其他Stack Exchange站点用户许可歧义的第一步。根据CC-BY-SA的条款,2016年2月1日之前提供的代码将一如既往可用。我们正在研究允许用户选择将旧代码贡献到新方案中的方法。
Stack Exchange网络中的其他站点如何?
这些条款将对之后发布的所有代码生效2月1日在Stack Exchange网络中的所有站点上。
谁提出了这个计划?
为此,您可以责怪或有选择地感谢Tim Post,Britton Payne和Sam Brand。他们还从开源计划中获得了巨大的帮助。
下一步是什么?
我们希望在2016年2月1日推出。我们知道这是一个短时间通知,但我们认为建议的条款是决定性地改善现状,因此改变可能还不能及早出现。请让我们知道您的想法。
#1 楼
从本质上讲,该建议是将版权复制许可(CC-BY-SA 3.0)转换为许可的代码许可。 (默认情况下,它基本上是最宽松的许可,几乎等同于带有责任免责声明的公共领域。)考虑了几个小时,我的观点从“不确定”到“请重新考虑-这确实很糟糕”。 (很抱歉,听起来很戏剧性,但是@Laura建议这样做。)
我认为更改的理由是为了保护Stack Overflow答案的用户免受(可能是假想的)版权巨魔的攻击操作方式是:
将代码发布到堆栈溢出答案中
等待将代码合并到某些软件项目中
起诉或勒索
Win或解决
获利!
为避免低概率,高风险的恐怖主义威胁,我们面临着一项提案,该提案将给所有Stack Exchange社区带来巨大的成本。
态度错误
当我在Stack Exchange上提交答案时,我想以为我是在分享知识,而不是泄露代码,即使我的答案恰好包含代码。另外,我们作为一个社区希望问题更像是“我应该如何……?”而不是“任何人都可以给我做代码……?”创用CC许可表达了知识共享的态度。 MIT许可证肯定不是。
MIT许可证:不适用于问题
当有人发布问题时,无论是堆栈溢出,代码审查,WordPress,Raspberry Pi还是在任何其他Stack Exchange网站上,我都不认为有任何意图将该代码捐赠给公共领域(技术上不是PD,但实际上并没有区别)。特别是对于Code Review,共享的代码通常是大量的,通常是完整的可运行程序。目的是共享代码进行讨论,而不是泄漏代码。允许在没有归属的情况下进行商业开发的宽松许可可能会阻止很多问题。它还可能会鼓励用户保留部分代码,从而阻碍公开讨论。
有时问题实际上是家庭作业的解决方案。除了通常的道德/学术标准以外,将出处要求作为附加的法律工具来打击窃也将是有帮助的。我们希望互联网利用他们从答案中学到的知识和建议来改进其代码和技能。我们不希望他们只是将代码当作产品使用。没有版权许可问题。您刚刚学到了一些完成任务的明显方法。 />让我们举一个假设的极端例子:某人出版了O'Reilly风格的食谱,其中包括从Stack Overflow,Code Review,PPCG等中提取的代码片段。仅采用代码块;所有周围的文字都改写了。没有归因。您如何看待?
许可证碎片化很糟糕
许可证碎片化打破了知识共享试图建立的混音文化。有了这个建议,我们将有
2016年前的贡献,这是MIT-but-no-attribution-required要求的CC-BY-SA <2016以后的代码
发布者选择使用标准MIT许可证的2016年后代码
2016年后非代码贡献
在我看来,区分哪些内容属于哪个许可证似乎有些噩梦。而且,这甚至都没有考虑在现有帖子的顶部进行编辑,也没有考虑受其他帖子启发的问题(在Code Review中经常发生)。
评论
我将要完全同意这一点,并指出,我不希望我在《代码审查》上发布的问题或在《我的代码高尔夫》上发布的答案都获得允许的软件许可,该许可允许将所包含的代码包含在其他项目中。
–user213963
15年12月16日在21:28
谢谢你尽管我不同意您关于围绕Stack Overflow和跨网络共享代码的理念,但我很高兴知道您以及可能还有许多其他人都这样认为。我们将仔细考虑此反馈。另外,请随时开始对Code Review进行相关讨论,以使我们知道该社区对这些拟议更改的具体感受。
–samthebrand
15年12月16日在21:37
@samthebrand Code Review确实有一个帖子讨论许可建议。我将其迁移到此处作为副本进行了关闭,以便我们集中讨论。重要的是,我们决定在整个Stack Exchange网络上制定统一的许可政策,以确保信息的自由流通并允许迁移工作。我们不要建造围墙的贫民窟。
– 200_success
15年12月16日在21:59
@RubberDuck与BilltheLizard一样,我将其视为共享知识,而不是共享代码,因此,我不同意使用为代码设计的许可证会更好。此外,正如其他人在这里指出的那样,代码和文本之间的界线是模糊的(例如,数学和伪代码)。
– 200_success
2015年12月16日23:03
好吧,那我想我们不同意代码许可会更好。我想我看到我发布以供审查的代码为“如果有帮助,请随时使用”,并且代码许可对我来说很有意义。
–RubberDuck
2015年12月16日23:05
200_success,这是一个很好的总结,说明了为什么这是一个坏主意。我想补充一下,几乎我所有的代码都是GPL3。如果stackexchange坚持要使其获得授权,那么结果就是我不会在stackexchange上发布任何GPL代码。这些站点的目的是帮助代码,而且我认为GPL实际上对解释什么可以许可,不应该许可应该很好,而较短的代码块就是其中之一。其他代码是专有的,但可以作为答案发布为摘要。您不能随意改变魔术般地更改许可。
–蜥蜴
15年12月17日在1:53
我们希望互联网利用他们从答案中学到的知识和建议来改进其代码和技能。我们不希望他们只是将代码作为产品。 -好吧,但是这不会把Stack Overflow进一步推到“我该如何修复我的坏代码”领域?对其他人最有用的答案是实际上包含完整且有效的代码的答案。不要小看它的教育价值。否则,我们不妨沿着Math.SE的道路前进,使每个答案都成为一个提示。
–user102937
2015年12月17日在2:17
好吧,我所说的内容都不适用于Code Review,但是原理是相同的。如果我将代码发布到任何“问题-答案”类型的场所,我希望遇到它的任何人将其用于任何目的。如果我希望我的开源贡献受某些许可证的专门监管,我可以将其放在Github上,而不要放在Stack Overflow或Code Review上。
–user102937
2015年12月17日下午2:31
阅读此公告时,我的最初想法是完全一样的,因此,我很高兴一位受人尊敬的用户已经将它们写成详细答案。我是自由软件爱好者。这就是为什么我支持copyleft。当我决定参加SO时,贡献已获得CC许可这一事实使我确信这是正确的做法,这一点至关重要。我发布代码是为了建立共享自由知识的存储库,不是因为我想成为不尊重自由的人而成为免费提供的代码猴子,因此不能为遵守Copyleft许可而烦恼。
– 5gon12eder
2015年12月17日在2:46
200_success,我必须考虑一下您的回答,然后您就会明白:cc许可证体现了共享方面,而MIT是“接受”许可证。我明白了您为什么要经过精神上的步骤才能得出结论。唯一关心获得许可证的实体是担心能够自由获取的公司,即,他们的目标不是共享,而是自由,清晰地获取代码。这是对共享精神的敌对。我之所以做出贡献是因为其他人以前,在这里和其他地方都与我分享过。这也是为什么我要进行GPL代码共享。
–蜥蜴
15 Dec 17'3:44
@ 200_success Google因侵犯9行功能而被定罪...
–叙利亚
2015年12月17日在9:53
特别是对于Code Review,共享的代码通常是大量的,通常是完整的可运行程序。目的是共享代码进行讨论,而不是泄漏代码。嗯,我实际上从未想到过这种方式,这是一个很好的观点。
– B.K.
15年12月17日在17:15
“常识说没有版权许可问题” –我在这个答案中看到的一个大问题是,试图滥用版权来勒索金钱的律师从不按常识说,而是在最遥远的地方的解释,可行。法官的情况不同,但实际上在法庭上为案件打官司是一项重大投资,首先必须不惜一切代价避免,因此依靠常识听起来很成问题。
– O. R. Mapper
15年12月18日在12:34
如果我们不想将我们的代码作为MIT提供,那么我们总是可以对我们的代码进行截屏并将其嵌入,因为这是图像。
– Ferrybig
15年12月18日在13:03
@MichaelT:您的代码已被允许在其他项目中使用-我不确定您为什么认为这会改变该特定问题。实际上,这两个许可证之间的唯一区别是归因。您不能,现在也不能控制分发。
–尼克·巴斯汀(Nick Bastin)
2015年12月20日在17:13
#2 楼
请不要在归因要求上添加明确的例外。我住在开源网站上。现在,如果有人来问了一个问题,例如“向现有许可证的要求中添加例外是一个好主意吗?”(顺便说一句,有人现在已经问了这个问题),我就是d告诉他们不是-出于以下原因:
您实际上是在创建蜡笔许可证。
如果您修改现有许可证的条款,则您创建所谓的蜡笔许可证。那是一个问题-请参阅““蜡笔”许可证怎么可能有问题?”出于原因。
声称非法使用是合法的,这太容易了。
请参阅我的回答。本质上,有人可以从我使用它的地方(可能是在我的商业开源产品中)获得我的代码,而不会将其归于我。当我追逐他们时,他们可以简单地声明“哦,我是从Stack Overflow上获得的”,并且摆脱了无苏格兰问题。 >说我不想将此额外的异常应用于我的任何代码。我该如何注意?如果我在用户个人资料中注明我的所有代码段都必须按照整个MIT的条款正确地分配,就足够了吗?我必须在每个答案中添加注释吗?我宁可不必这样做,但也不想因为滥用我的代码而无休止地追赶人们。不做。
评论
“目前还不清楚如何撤销这一要求。”一点也不不清楚。您选择退出当前许可协议的方式与否相同:并非如此。这是Stack Overflow上许可环境的极大合理化和简化,并且允许例外会破坏这种情况。
–杰里米
15年12月16日在18:57
@JeremyBanks帖子明确指出“麻省理工学院许可的此可选例外将在我们的服务条款中适用”(强调我的),因此可以,您可以选择退出。
– Jeffrey Bosboom
2015年12月16日19:00
@JeffreyBosboom您误会了。应用新条款的可选项性取决于使用时的被许可人/消费者-因为他们可能更愿意专门使用标准MIT术语以保持一致性。许可人/作者通常不能选择退出此条款(在Stack Overflow帐户级别),而只能直接要求特定项目添加属性。
–杰里米
2015年12月16日19:04
@JeremyBanks好的。如果“只要用户根据版权所有者的要求给予合理的归属”部分,该怎么办?我是否可以在帖子中声明所有用户的要求,还是需要逐个追踪每个用户?
– Jeffrey Bosboom
2015年12月16日19:07
@JeffreyBosboom绝对值得澄清,Enderland在他的帖子中提到了它。我的观点是,用许可噪声污染用户的帖子将是一个坏主意,应该要求他们单独跟踪项目。这是对现实情况的最合法的务实做法。大多数用户将在没有适当署名的情况下使用该代码,这为接受该使用提供了一个框架,同时仍允许作者要求署名。
–杰里米
15年12月16日在19:11
是的,麻省理工学院仅应要求提供归属-麻省理工学院许可代码的“回购”(SO)不会通知版权持有者重用-是出于所有实际目的将代码公开。明确表示我们正在使用巨大的USE AT YOUR OWN RISK标记对这些内容进行公共领域使用,或者按照@ǝpoɔɟoʇɹɐ的请求诚实地使用copyleft代码。 (我偏爱前者。)
–松饼
2015年12月16日20:22
许可证的整个思想是告诉您您可以做什么。 “除非作者或SE另有说明,否则您可以使用此内容而无需注明出处”仅是在麻烦。如果您在已发布的产品中使用过代码,那么您将如何处理?如果答案是“为了安全起见,首先要归因于”,那么“选择”就是一种误导性的“特征”,鼓励人们陷入困境。这对我完全没有意义。除了储存麻烦之外,您为什么还要这样做?
–cfr
2015年12月17日下午0:37
@samthebrand我知道我正在参加您不希望的决斗(惊奇!我是另一个OS主持人),但是我看到这个MIT +例外业务的方式是我们将其公开域。您让任何人随意使用它,而没有适当的许可证文件。我们唯一保留的是我们的精神权利,在许多司法管辖区,这是法律所要求且不可撤销的。这种归因框架的问题在于,可能没有沟通,人们在“根据要求”对属性代码进行尽职调查时会疏忽大意。
– Zizouz212
2015年12月17日在2:07
TL; DR这基本上是公共领域,保留了精神权利,尤其是对于允许人们放弃这些权利的司法管辖区
– Zizouz212
2015年12月17日在2:08
不就是不。在SE上发布的代码始终旨在供人们使用,几乎不附加任何字符串。如果您对此不满意,那么无论正式使用哪些许可条款,都不应在SE上发布代码。所做的唯一更改是使官方许可条款与人们实际使用该网站的方式保持一致。任何打算在SE上发布代码,以追捕使用该代码的人,并告诉他们“您必须给我归属”或“您不能那样使用我的代码”的人,基本上都是在恶搞。
–aroth
15 Dec 17'3:38
@samthebrand我的问题不是MIT许可证;我的问题是可选异常。 (a)因为它签有蜡笔执照,(b)因为“按请求归因”部分没有得到足够的解释,正如我在本文中所指出的那样。如果我希望有人使用MIT的完整署名(即版权声明和许可),该怎么办?还是我不能这样做,而只要求“合理的”归属?我想看看以前的许可证,还是没有例外。
–ArtOfCode
15年12月17日在8:56
@aroth人们可能会认为他们在SE上发布了代码,打算在不附加任何字符串的情况下使用它,但出于无知,他们这样做。那些了解并关注当前CC BY-SA许可的人不希望将归属归为可选项。
–•uriousdannii
15年12月18日在5:20
@aroth:不,他们没有。建议的更改使副本的使用者可以选择是否包含MIT许可证(包括署名)。他们没有选择权,您必须接受新的ToS或停止贡献。
– Ben Voigt
2015年12月20日,1:12
您可以拥有许可的许可证或Copyleft许可证,并且可以通过两种方式知道人们的立场。如果您说“允许,除非我以后再提出要求”,否则没人会知道使用您的代码是否安全,这两种情况都是最糟糕的。
– trichoplax
2015年12月20日在20:07
@JGallardo无论您从事的工作有多大或付出了多少努力,都要归因于您所做的工作是完全合理的。
–ArtOfCode
15年12月21日在18:45
#3 楼
什么?!我是唯一一个不明白这一切意味着什么的人吗?这确实需要一个TL; DR。我给我的印象是,我在Stack Overflow上提供的任何包含代码的答案都可以自由使用,否则我们为什么要发布代码?想要自由使用我的答案的人,我需要做什么?什么都没?
评论
取决于您所说的“免费”。如果您根本不需要任何要求,请在个人资料中添加注释,说您将代码放入公共域(或公共域不存在的CC0)。
–ArtOfCode
2015年12月16日19:13在
@ǝpoɔɟoʇɹɐ无法这样做,这是您注册并使用他们的许可证时网站条款的一部分。
–雷斯塔法里安
2015年12月16日19:14
@Raystafarian但是您可以双重许可自己的内容。您无法撤消CC BY-SA许可证,但可以授予其他许可证。
–ArtOfCode
15年12月16日在19:19
@Raystafarian贡献者仍然是版权所有者,可以选择在其他许可下提供其代码或将其发布到公共领域;然后,用户可以选择使用哪个许可证来使用该代码。
– Jeffrey Bosboom
15年12月16日在19:19
您只能按照CC-BY-SA的条款在SO上使用现有代码,这很成问题。
– CodesInChaos
15年12月16日在19:54
据我了解,这里的TL; DR是:您可以随意复制您在Stack Overflow中看到的任何代码,并对其进行所需的操作。从2016年1月开始,具有代码的帖子的作者有权要求您添加带有Stack Overflow帖子链接的评论。很乐意接受纠正。
–影子向导正在接种疫苗
15年12月16日在20:19
@ShadowWizard:不,您目前不能“随意复制您看到在Stack Overflow中发布的任何代码,并随便使用它。 SO上的所有帖子,包括其中的任何代码,均已获得知识共享署名-相同方式共享3.0许可(类似于GNU GPL的“病毒”许可),并且从SO分发任何代码都必须遵守其条款。 [...]
–伊尔马里·卡洛宁(Ilmari Karonen)
15年12月16日在20:28
[...]当然,这是假设代码的作者未授予您其他使用它的其他许可;例如,除非我另有说明,否则我的用户个人资料中有一条语句在CC0公共领域的奉献下释放了我在SO上的所有(原始)代码,因此在使用我的代码时,您可以选择依靠它而不是必须遵守标准CC许可证。
–伊尔马里·卡洛宁(Ilmari Karonen)
2015年12月16日20:28
@IlmariKaronen谢谢,我的假设基于“您可以做以前做过的所有事情,甚至可以在访问Stack Overflow时做更多的事情:复制代码,修补程序,提琴,将其放入您的项目中并继续构建”,作者Sam。所以这句话是不正确和/或不正确的?
–影子向导正在接种疫苗
15年12月16日在20:33
@ShadowWizard:从技术上讲,没有,除非有以下任何一种情况:a)您的项目已获得CC-By-SA的许可,并且您将代码正确地归属了其原始作者; b)您已获得其他一些许可条款下使用该代码的许可; c)您要复制的代码非常琐碎或不原始,以至于没有资格获得版权保护(阈值是模糊的,并且因管辖权而异);或d)没有人足够在意起诉您。
–伊尔马里·卡洛宁(Ilmari Karonen)
2015年12月16日20:39
@TinyGiant-如果““窃”是指“使用”,那么可以。但是,如果您担心代码的code窃性以及打算向被窃的任何人传递影响的意图,为什么首先将其发布到SE上?有些人对归因问题表达的愤怒是没有道理的。 SE是否存在以帮助解决问题或将属性代码片段注入随机代码库中?
–aroth
2015年12月17日下午4:42
@ShadowWizard“如果从SO重新分发任何代码,则必须遵守其条款”-小修正;任何代码或涉及SO的任何代码的派生作品。例如编译的应用程序和二进制文件。
–aroth
15年12月18日在5:39
在我看来,如果我使用代码块回答一个人的问题,我希望那个人在他们的项目中使用我的代码。期。他们是否将代码归于我是法律上的细枝末节。
–艾萨克·莱曼(Isaac Lyman)
15年12月18日在16:41
@aroth并不是所有将代码复制到介绍代码库的地方。我得到的答案似乎具有新颖的技术,后来在学术出版物中也提到过。我不太在乎这些代码最终基于什么代码,但是当这些代码出现在论文或书籍中时,我希望注明出处。
–约书亚·泰勒(Joshua Taylor)
2015年12月19日下午4:27
我希望他们也向该帖子添加TLDR。我不精通许可证,尤其是因为我主要使用封闭源软件。我担心,如果没有外行的术语指导,人们会误解这些更改,从而导致SE出现问题。人们可能不会再在Code Review之类的网站上发布频率(如果有的话)。
– onebree
15年12月21日在14:40
#4 楼
一些想法:1。不要假装这是MIT许可证
不要假装您在使用MIT许可证。如果您需要针对特定情况的唯一许可证,则只需使用唯一许可证即可。虽然蜡笔许可证通常是个问题,但我认为,Stack Exchange网络是需要新的超基本许可证的情况。而且我知道您会使用您的法律团队来防止其他蜡笔许可证出现问题。
2。最好获得新的许可证
如果此更改的目的是使帖子作者和使用该帖子中的代码的人员更容易,那么您在做什么不会帮助。我认为最好写一个非常基本的新许可证,并且只要帖子的URL附加到借用的代码上就可以重复使用。如果要有任何用户选择,则应在此选项与现有CC BY-SA之间。也可以为用户提供执行CC0类型选择加入的选项,但是默认值必须为归因。
3。许可证必须是自包含的。
您没有许可证,然后在服务条款中列出其例外情况,然后还要求用户检查发布者的个人资料以查看是否尚未选择退出例外。如果要有两个选择,则只需拥有两个完全不同的许可证。用户还需要能够轻松查看每个帖子的许可证是什么...
4。每个帖子都应显示其适用的许可证
每个帖子下面都应注明相关的许可证。如果用户仅选择CC BY-SA或CC0,则可以显示它。旧帖子只能显示CC BY-SA(除非作者对其进行编辑并在框内打上“更新到新的SE归因许可证”)。由多位作者编辑的帖子将仅显示兼容的许可证:没有任何用户选择加入的新帖子将与只有一位作者一样,但是如果用户仅选择加入CC BY-SA,则帖子只会是CC BY-SA。
5。修正页脚的“需要属性”链接
要求特定的属性格式违反CC BY-SA许可的条款。将链接保留在页脚中是不诚实和不诚实的。
评论
我完全同意您的观点1-4,但我认为页脚中的链接是错误的。是的,强加额外的“要求”有点可疑,但我认为重要的是要突出“需要归因”并为我们期望合理归因的形式提供链接,对于那些不了解其含义和方式的人重要的是。
–贝尔吉
15年12月18日在11:00
@Bergi提供有关属性的建议,但是CC BY-SA许可证不允许您要求使用任何特定格式的出处。
–•uriousdannii
15年12月18日在11:03
完美的答案,恕我直言所有必要点的摘要。
– Nemo
2015年12月20日在18:14
我同意SO适用于每个问题/答案的许可证必须更加透明。
– onebree
2015年12月21日在14:29
这正是我希望看到的,可以过滤掉非公共代码的选项。我只想查看公共代码,我发布的任何内容都将是公共的。
–安德鲁·贝克尔(Andrew Backer)
16年1月15日,下午3:33
#5 楼
我对此有两个想法。首先是代码和非代码之间的界线有时会模糊。这意味着根据我们如何编写答案,不同的事物受到不同的保护。好像很奇怪第二个问题是,许可证的更改可能应该带有关于窃的社区标准的提醒:仅仅因为代码被许可地许可并不意味着可以在Stack Overflow中复制。代码与非代码之间的界线在哪里?我知道我们不鼓励仅使用代码的答案,但是在某些情况下它们是适当的:即,代码经过良好注释并具有自说明性。某些语言具有文档字符串,注释块约定等来支持此功能。假设我为堆栈溢出问题编写了算法的实现。为了使实现习惯,我在代码的文档字符串中包含了一个不错的描述。根据此更改,该描述现在已获得MIT许可,而如果我在代码块之外编写该描述,则完全相同的散文描述也将获得CC-BY-SA许可。这似乎非常非常奇怪。如果我写了一些“代码”,但是不将其放在代码块中会怎样?也许我将其放在答案文本中,但以黑体显示,因为我不需要单行距。它是哪个许可证的?例如,如果有人问我们如何将数字转换为数字列表,我可以将其发布为仅代码答案(我认为,它没有仅代码答案的典型问题):
(defun digits (n &optional (base 10))
"Returns a list of the digits of N when written in a specified the
specified BASE. The digits can be extracted from least significant to
most significant by repeated division. When N is divided by BASE, the
remainder is the least significant digit of N. The quotient is then
taken as the new value of N, and the process is repeated until N
reaches 0. Note that in the case that N is zero, DIGITS returns the
empty list, rather than a list containing 0."
(do ((digits '() (list* r digits))
(n n)
(r 0))
((zerop n) digits)
(multiple-value-setq (n r) (truncate n base))))
现在,如果我这样发布,我将得到解释的署名要求:
当写入指定基数的
时,此函数返回N的数字列表。可以通过重复除法从最低有效位到最高有效位提取数字。当N为
除以底数后,余数是N的最低有效位数。
然后将商取为N的新值,然后重复该过程
直到N达到0。 N为零,
函数返回空列表,而不是包含0的列表。
(defun digits (n &optional (base 10))
(do ((digits '() (list* r digits))
(n n)
(r 0))
((zerop n) digits)
(multiple-value-setq (n r) (truncate n base))))
这似乎很奇怪,尤其是对于语言具有很强的文档传统。
但是,mod的注释之一似乎表明,即使是“代码块≡代码”规则(我刚刚编写的;我也没有看到任何实际的准则确定什么是代码以及声明中没有什么)(固定为重点)也没有真正固定:
为了澄清起见,我们从未说过代码是代码块中的任何内容。
可能由用户决定什么代码,什么不是,就像他/她可能必须判断某项代码是否超出原创性阈值一样。最终,总是由
代码用户来决定他/她想如何使用他们在这里找到的内容。
– samthebrand♦12小时前
我认为这里一定会有一些误解,因为这似乎将成为官方政策:“您的帖子是根据CC-BY-SA许可的,但代码部分除外,该部分已获得MIT许可,且未注明出处,这取决于使用您的帖子的人员来确定哪些部分是代码。”
我认为这在涉及Markdown或HTML的任何问题上会变得特别模糊,在这些问题中,“文本”本身也可以视为代码。例如,如果有人问“我如何在Markdown中使文本变为粗体?”有人回复“喜欢这个(请参阅源代码)”。由于某些站点支持MathJax,因此TeX / LaTeX可能会遇到相同的问题。
显然,这是一个人为的例子,但它着重指出,我们需要一些明确的指导方针,以确定如何确定帖子的哪些部分是代码,并由此获得MIT许可(以及作者是否要求署名)以及哪些部分是非代码从而获得CC-BY-SA的许可。编辑不应该再将文本变成代码块,反之亦然,所有(错误地)使用代码块而不是块引号或使用反引号而不是引号的帖子会发生什么?用户对Stack Overflow仍然需要归因。毕竟,如果他们可以在Stack Overflow之外没有归属地复制它,又为什么不在Stack Overflow中? Shog9指出,帮助中心的“如何参考他人编写的材料”实际上涵盖了此内容。在澄清之前,您可以浏览编辑历史以了解一些较早的想法。
评论
这是一个很大的收获。我应该在此处快速复制/粘贴它作为对投票的另一答案!
– enderland
15年12月16日在20:26
@enderland您可能要做的就是将其包装在代码块和注释中...
–约书亚·泰勒(Joshua Taylor)
2015年12月16日20:31
抄袭与许可正交。抄袭在Stack Overflow(和其他站点)上是不受欢迎的,因为社区认为它是敌对的,而不是因为它违反了许可证。这里没有讨论改变任何东西。如果您被发现使用他人在Stack Overflow上所做的工作而没有注明出处,那么您将度过一段糟糕的时光,无论对原件采用何种许可。哎呀,剥夺您在pastebin上找到的某人的公共领域代码与剥夺某人的许可代码一样糟糕;从道德上讲,您只是在滥用自己的慷慨,是为了自己的私利。
–Shog9
2015年12月16日在20:44
@ Shog9但是在这种情况下是什么问题?如果您从其他人的答案中提取代码,则不再需要注明出处,对吗?那么,有什么有意义的方法来标记它吗?没有归属地复制和粘贴代码将在许可许可之内,不是吗?我同意它仍然同样糟糕,但是会违反哪些社区准则?复制和粘贴的人可以轻松地说“我只是根据许可证使用代码”。
–约书亚·泰勒(Joshua Taylor)
2015年12月16日在20:50
@JoshuaTaylor您仍然在假装某些代码是您自己的工作,而实际上是其他人编写的。即使代码是在公共领域,这也是窃。莎士比亚现在完全处于公共领域,这并不意味着人们只要假装自己写了麦克白就可以接受。
–疯狂科学家
15年12月16日在20:52
@MadScientist:因此,如果不提供出处是在冒充您写的(抄袭),那么真正不需要出处的是什么呢?
–矮小的巨像
15/12/16在20:55
@MadScientist是的,我了解what窃是什么。我的观点是,现在并没有标记它的好方法。对用户说“您发布的代码可以被他人复制和使用而无需注明出处”,然后惩罚这样做的其他用户似乎很奇怪。就像我们在说“嘿,大家,快来使用您可以在Stack Overflow上找到的这段代码。但是,最好不要在Stack Overflow上使用它,因为这违反了规则。”
–约书亚·泰勒(Joshua Taylor)
2015年12月16日20:56
在每个站点的帮助中心(@JoshuaTaylor)中都有详细说明。反过来,这是由此处关于meta的讨论所激发的(而且,面对现实,多年来存在大量的标志和投诉)。无论您是骗人的还是他们的工作受了什么许可,如果您在此处被抓到这样做,都将面对音乐。
–Shog9
15年12月16日在21:04
@Samthebrand取决于代码的用户,而不是作者?因此,如果任何人都可以通过调用代码来使用我们帖子中的任何内容,那么是否仍然有必要由sa覆盖cc?看来这会使整个站点都获得许可……这真的不是目的,不是吗?
–约书亚·泰勒(Joshua Taylor)
2015年12月17日在1:11
@ Shog9 gi窃是对另一位作者的“语言,思想,观念或表达”的“不当使用”和“窃取和出版”,并将其表示为自己的原创作品。 -如果您允许他人将代码代表为自己的作品,则这不是窃。如果我告诉某人“您不必说“ rolfl”写了该代码”,那么它就不再是“错误占用”。您不能说“不需要属性代码”,也不能说“您必须属性代码”(保持直面)。
–rolfl
2015年12月17日,下午3:54
模糊的线条是一个很好的观点,并提出了一个问题:如果格式更改了答案(部分)的许可,这是否意味着非作者不能再更改帖子的格式-因为他们没有版权才能获得许可?
–otus
2015年12月17日在9:02
总而言之,伪代码是我们在计算机科学上的首选武器?哪个许可证适用?当代码以任何语言编译时,答案是否会改变(也许是偶然的,作者甚至可能没有意识到这一点)? (抄送@ Shog9)
–拉斐尔
2015年12月17日在9:26
@raphael samthebrand(mod)留下的评论说:“由代码用户决定他/她想如何使用他们在这里找到的内容。”因此,听起来好像有人可以说“这是伪代码,我将其视为代码,因此无需提供出处。”现在,将其与有人提到要使用从Stack Overflow而不提供署名的代码创建“ O'Reilly风格食谱”的想法结合起来,您会遇到一种情况,我敢打赌,许多贡献者都不满意。
–约书亚·泰勒(Joshua Taylor)
2015年12月17日下午13:31
@rolfl:声称“如果您允许该人将代码表示为自己的工作,这不是窃”,交给SE.SE,看看它能存活多长时间。代表他人的作品作为自己的作品绝对是窃,获得他人的许可可能会让您免于让他人针对you窃采取任何行动,但这并不意味着它是窃,也不会阻止其他各方采取taking窃行为对你采取行动。
– Ben Voigt
15年12月18日在4:57
@ Shog9好吧,你告诉我。对于某些语言,这基本上是有效的,可复制粘贴的代码,对某些语法细节进行了模运算。我会说这是伪代码。因此,如果将其复制粘贴到项目中,请进行一些小的调整,以便编译器喜欢它-适用哪个许可证?
–拉斐尔
2015年12月19日在11:28
#6 楼
抱歉,但是我认为这是一个非常糟糕的主意。被他人使用。这是可以解决问题中出现的特定问题的一种方法(但不是唯一的方法)的示例。它更像是教科书中的代码片段,而不是github上的软件项目。 />
CC-BY-SA(IMHO)是发布到Stack Exchange网站上的代码的最合适的许可证:我们正在向您授予文档(包括代码片段/示例)的许可。如果您碰巧将其剪切并粘贴到生产环境中是很好的-我的理解一直是,您应该像将其发布到另一个站点一样(通过指向源的URL)来分配它的属性而且你很好。
我们(贡献者)未针对我们的代码段或我们的回答的任何其他部分提供针对特定目的的任何形式的担保或适用性声明。如果您想继续前进,并通过各种方式使这种语言在服务条款中脱颖而出,那么我认为弄混网站内容的许可条款是没有道理的!
也就是说,如果您认为我们必须将单独的“代码”许可证发布到网站上,则要获取具有特定要求的现有许可证,并在您的服务条款中说:“ ...但是可以忽略X,Y和X的要求“ Z”确实很糟糕–您正在创建两个法律文书(网站上的服务条款以及其中发布的代码的使用/分发许可),这是律师收取的数百美元费用。一个小时的时间在法官面前大喊大叫。
artofcode已经谈到了“蜡笔执照”的危险,我认为这些观点做得很好,因此在这里我不会重申他们的观点。 />可以说我认为您应该找到没有通知保存/许可证复制要求的许可证,创建没有该要求的许可证(亲爱的$ _DEITY,另一个freakin'开放源代码许可证!立即杀了我!),或专门为Stack设计交换代码段,这些代码段精确描述了必要的归属(例如,指向您从中获取代码的页面的链接)以及需要保留哪些声明(如果有)。
评论
这个答案不考虑像Code Review这样的网站,在该网站上定期发布完整,有效的实时解决方案。
–RubberDuck
2015年12月16日在22:49
@RubberDuck我认为同样的原则也适用:发布的问题(正在审查的代码-完整的可行解决方案)是在记录/分析/批评该代码的功能和缺陷时进行的一项较大活动的一部分。通过发布它,您的用户允许其他人根据CC-BY-SA许可条款(“适当地赋予它就可以了”)使用它(全部或部分修改或不修改)。但是,关于合规产品中适当属性的构成有些混淆(仅作为示例),这可以澄清。
–voretaq7
15年12月16日在22:57
我会说Code Review(或其他在其中“完整的解决方案”是问题或答案的主要部分的站点,例如Code Golf)可能是一个有趣的挑战。尤其是,《代码审查》可能涉及根据自己的许可进行的大部分项目,这可能与此处提出的全部或部分MIT许可发生冲突。但是,这是我不想涉足的法律难题。我的办公室里没有许可证龙舌兰酒。
–voretaq7
15年12月16日在23:07
如果您编写了代码,那将不会是什么泥潭。您有权随意许可。当不是您的代码时,它就会变得粘滞。
–RubberDuck
15年12月16日在23:48
@RubberDuck很少有大型项目(例如“操作系统规模”)完全是一个人的工作-从代码的意义上讲,您最初生成的代码部分随后被其他人修改并由第三方重构了。决定许可的权利?还值得注意的是,某些项目假定对代码贡献的代码版权是其贡献条件的一部分(几乎每个公司工作都这样做,因为它是“租用工作”)。现在,我们陷入法律泥泞的困境,而且我仍然没有执照龙舌兰酒!
–voretaq7
2015年12月16日23:54
@ voretaq7您是否忽略了CC-BY-SA的SA部分?
– CodesInChaos
15年12月16日在23:59
@CodesInChaos不,我也不曾在任何时候声称CC-BY-SA在这方面完全没有缺陷:无论哪种情况,当有人发布他们不完全拥有的内容时,都会出现相同的问题(尽管说“代码是MIT许可”(如果是GPL项目中的C&P,则会增加一层新的法律恐惧感)。坦率地说,我只是认为拆分许可(特别是带有ToS的拆分许可,它说可以忽略其中一个许可的一部分)不会在这里带来改进:它增加了复杂性并产生了新的问题,而又没有缓解现有的。
–voretaq7
2015年12月17日在0:17
@CodesInChaos您的观点确实导致了可能促使Stack Overflow开始思考的问题:“包括代码段(全部或部分经过修改或未进行修改)是否调用了Share Alike要求,意味着您必须分发结果产品根据CC-BY-SA?” -正如我在回答中所暗示的那样,我认为许可证涵盖的内容为“带有示例的文档”(而且我不习惯于采用C&P批发编码的习惯),但是我可以看到律师对此感到困惑。 (我认为现在有一只鳄鱼在我们的泥潭里游泳。)
–voretaq7
2015年12月17日下午0:26
@ voretaq7,重新“通过指向源的URL”;哪里?在没有人可以访问的源代码中?还是在网站的“关于”页面上?
–起搏器
20年8月24日在7:09
#7 楼
我不确定这对于代码审查是否是一个好举动,因为那里的问题和答案通常涉及大量旨在成为公众知识的代码,但不一定自由地合并到其他项目的代码库中,尤其是对于私有项目商业收益。我还没有考虑过理想的折衷办法,但我认为,这一非同寻常的变化应该更多地作为讨论的问题而不是批准的提案来重新构架。 >
评论
我们通常希望在实施体面的变更时进行更多的讨论,但是在许可方面,Sam和团队的其他成员(SO内部和外部)在过去几年中投入了大量工作来研究替代方案。让我们去要求社区做这样的工作来详尽讨论所有可能性是不合理的,所以我们做了大部分繁重的工作,并为您提供了最好的解决方案,这不会使您很难使用,保护用户的贡献,并且我们作为公司相信符合我们的理念。
–劳拉
15年12月16日在18:53
@Laura这是否意味着既成事实?
– 200_success
15年12月16日在18:54
否。如果我们真的以某种方式忽略了这项提议,那么我们将重新考虑。但是说“这就是我们要前进的方向;您怎么看?”比“在所有可能的许可证中,您最喜欢哪个?”的选择要好得多。 (在我看来)。
–劳拉
15年12月16日在18:55
@Laura:我看不到如何删除所有归因要求才能“保护用户贡献”。您是说它保护用户的贡献免受用户的贡献吗?
–矮小的巨像
15年12月16日在19:02
也许在您的问题和答案中添加下拉列表,以澄清问题/答案中的代码使用哪个许可证?
–莫文
15年12月16日在21:22
@Morwenn并不是那么简单。在知识共享的鼓励下,我们重新混合了代码。答案激发了新的问题(请参阅“代码审查”中的“从创富”标签)。答案通常包含问题摘录,以及一些原创内容。
– 200_success
15年12月16日在21:26
您是否真的假设前提是发布到Code Review的代码“仅用于教育目的,不打算在生产代码中使用”,并且有任何可行的方式可以实施这种原则?
–user102937
15 Dec 17'2:25
@RobertHarvey如果我向CR发布问题,我不希望它实际上会成为公共领域。 (我不知道我是否会继续跟进并起诉某人在没有归属的情况下窃取代码,但是强制执行是一个单独的问题。)如果我在CR上发布答案,我的动机是帮助申请者学习,以及如果它也能教育其他互联网用户,那就太好了。如果答案恰好包含大量原始代码,则目的是让他们研究代码,而不是向他们提供代码。
– 200_success
2015年12月17日在2:41
在我看来,您似乎无法完全解决可执行性问题。我理解您说的是一个原则问题,但是没有执行力,就是这样:一个原则,一个没有牙的原则。
–user102937
2015年12月17日在2:45
@RobertHarvey如果您认为这一切都无法执行,那么我们不妨采用最简单的可行解决方案:CC-BY-SA适用于所有情况和现状。
– 200_success
15年12月17日在3:52
为什么它的可执行性不如开放源代码存储库中的代码?对于是否值得执行存在疑问,并且可能有所不同。但这同样具有可执行性。
–cfr
2015年12月20日下午3:33
#8 楼
只要用户根据版权所有者的要求给予合理的归属,贡献者就同意授予代码用户忽略MIT许可证的通知保留要求的权限。样板文件
# I hereby explicitly request attribution under the MIT license
# for this code, as stipulated in Stack Overflow TOS § NN ¶ n.
在站点中弹出一半代码块。我认为我们都可以同意这是噪音。
也可能是法律噪音;老实说,我不知道它是否有价值,但是我想归因于我的代码。我也没有办法跟踪谁从网站上获取了它,那么您还想让我做什么?
评论
我已经看到人们已经这样做了;通常来说,对于少量的代码来说,并不是这样。我想将其正式化并不可怕。如果它变得无处不在,那就足以为其构建UI。
–Shog9
15年12月16日在20:35
这是乔希(OP)的一个好观点。我同意这样的评论,即闻起来像噪音,我们需要重新考虑我们解释许可的方式以阻止它们。与律师会面。
–samthebrand
2015年12月16日在20:42
@samthebrand,您的评论似乎听起来像您只需要以不同的方式解释许可,而不是实际更改许可,以“阻止[此类评论]”。这是否意味着无论是否明确要求提供属性,代码用户都无法在没有属性的情况下使用代码?除非默认情况下法律上要求署名,否则您为什么会“不鼓励”要求署名的评论?而且,如果默认情况下法律要求注明出处,那么MIT许可证的例外情况是什么?
–通配符
2015年12月17日在0:53
@samthebrand当您说要“不鼓励”这些评论时,听起来您只是希望即使我们有权要求署名,我们也将默认放弃。
– Jeffrey Bosboom
15年12月17日在1:46
@samthebrand归因要求的一揽子例外可能会使我在所有答案中添加类似的评论。我喜欢分享我的知识,但是有时答案需要几个小时(或几天)的自我教育和研究才能给出答案。作为对自己贡献的认可,我至少要求归因。当然,Shog的建议是为其添加一个UI,这样可以更轻松地撤回已被带走的内容,但是我认为这不会再使噪音消失。
– Booga Roo
2015年12月17日4:06
@Josh,您介意将该样板复制到我自己将来的答案中吗?当我这样做时,我当然会为该帖子添加完整的署名:#原始的署名请求来自Josh Caswell,网址为http://meta.stackexchange.com/a/271105/188823
–Richard Le Mesurier
15年12月17日在10:24
嘿,@ RichardLeMesurier。您和阅读此评论的任何人都可以根据CC0许可的条款使用它。
–jscs
2015年12月17日19:29在
@Josh想象一下,该标头现在已经接管了我们网站上的所有代码片段:)
–Richard Le Mesurier
2015年12月17日在20:54
如果我们通过让人们选择许可证并清楚地显示其选择来减少法律干扰,该怎么办?
– Anko
15年12月18日在17:11
另外,当有人编辑帖子以删除该评论时会发生什么?
–混乱
15年12月18日在18:12
“我也没有办法追踪谁从网站上获取了它”。换句话说,无论许可证在纸上怎么说,它实际上都无法执行。更有理由简化“纸上”版本。
–aroth
2015年12月20日下午1:55
在我阅读本文时,不允许用户通过此处进行的任何操作要求提供属性。选择是在此处不发布代码与接受豁免之间进行选择。您唯一能做的就是在使用代码后跟踪使用该代码的任何项目,并追溯请求属性。如果是正确的话,我希望那些愿意在这里停止发布代码的人。可能值得探索其他选择。代码可以张贴在其他地方,并在答案中提供一个链接。我可以看到很多基于链接的答案,也许是代码的图像。听起来有用吗?好....
–cfr
2015年12月20日在3:29
@cfr仅链接链接已被禁止。哪个回答您的修辞问题...
–重复数据删除器
15年12月27日在16:20
@Deduplicator它不必是仅链接的帖子。解释可以在这里。仅代码需要在其他位置。
–cfr
15/12/27在17:56
#9 楼
您不必在代码库中包含完整的MIT许可证。只要用户根据版权所有者的要求(或代表作者的Stack Overflow)做出合理的署名,则贡献者同意授予代码用户忽略MIT许可证的通知保留要求的权限。麻省理工学院许可的此可选例外将存在于我们的服务条款中。例如,如果我在每条帖子中都添加了免责声明,则我要求我这样做-可以吗?等价吗?
如果大多数普通用户都需要注明出处,那么如何改善现状?的CC-BY-SA
代码捐款将根据MIT许可证的条款提供使用。 br />如果我写的是关于代码的答案,那是一堆许可证吗?句子的哪些部分是CC-BY-SA,部分是MIT?伪代码呢?
评论
如何执行?强制执行所有版权的方式相同。通过诉讼。
–卡兹
15年12月16日在18:42
@Zak我认为,通过“强制执行”,enderland问我们应该使用什么标签约定来区分内容的CC和MIT部分。
– 200_success
15年12月16日在18:51
更糟糕的是,一些数学非常接近代码,以至于令人困惑。不相信我吗看一下Lambda微积分。那是非代码还是代码?它用在数学论文中,但也可以编译成程序。 (答案取决于您的使用方式。)
– PyRulez
15年12月16日在21:18
Markdown在这里可以有所帮助。经验丰富的用户发布的几乎每个代码都缩进四个空格,并可以通过markdown轻松处理。因此,由减价标识为代码的帖子内容是MIT(无论何时实现)。
–普拉拉德·耶里(Prahlad Yeri)
2015年12月17日在4:24
@PrahladYeri:因此,如果我不带四个空格发布它,因为我不希望它在新的许可下,有人将其更改为代码块。然后怎样呢?将来会避免这种事情吗?
– Burkhard
2015年12月17日在8:15
@PyRulez您可能还想开始询问“涉及哪种类型的代码?”这是一个有趣的问题:在TeX网站上,人们张贴了大量的TeX / LaTeX作为代码,以回答人们对该语言的疑问。在其他支持MathJax的站点上,在答案中使用TeX / LaTeX代码来显示公式等。这可能不是一个大问题,而是一个有趣的特殊情况。如果您在TeX.se上问“我如何排版XXX”的问题,答案应该是代码,但在另一个站点上,答案可能类似于“ ....(请参阅源代码)”。
–约书亚·泰勒(Joshua Taylor)
2015年12月17日下午13:36
将您的归因偏好设置添加到个人资料将如何有所帮助?在阅读问题/答案时,我几乎从来不会看别人的个人资料。我通常太忙于解决自己遇到的问题。
– Ellesedil
2015年12月17日20:14在
在TeX SE上,人们通常会在他们发布的代码源中包含解释性说明,以便对源进行排版会输出包含解释性注释的文档。因此,所有缩进都是4个空格。
–cfr
2015年12月20日,3:22
#10 楼
我已直接向OSI发送询问以对这种情况发表评论。坦白说,我很惊讶他们会建议此处提出的更改。我希望能尽快收到他们的回音。当您说“您与他们协商”时,是否意味着“您与他们交谈,他们认为这是一个好主意?”这是否意味着“我们与OSI进行了交谈,他们认为这很糟糕,但是,嘿,'我们征询了他们的意见!” ?评论
我尚未收到他们“联系我们”页面的回复。嗯有人联系他们吗?
–rolfl
15年12月24日在14:34
@rofl有消息吗?我也会与他们联系。
– Tim
16年1月14日在17:42
@Tim-我什么也没听到。我使用他们的“联系我们-一般查询”联系了他们
–rolfl
16年1月14日在18:55
#11 楼
请明确说明代码将是双重许可的,而不仅仅是纯粹的MIT。至少这是我希望您尝试做的事情,但是用它的措辞方式可以解释为意味着在此ToS更改后发布到SO的新代码将不再根据CC-By-SA许可进行许可,而仅根据MIT许可进行许可。
这样的解释可能意味着人们当前根据CC-By-SA的规定从SO复制内容,例如在编程博客上,如果他们使用的内容包括此更改后发布的任何代码,则现在必须更改其许可条款。仅使所有CC-By-SA而不担心任何其他可能的要求的选项可能不再存在。 CC-By-SA的“病毒性” ShareAlike子句要求,当在组合作品中使用任何CC-By-SA内容时(不仅是单独的独立作品的集合),必须根据以下规定发布整个作品: CC-by-SA。虽然SO整体甚至单个Q&A线程可能仅算作单独帖子的集合,但很难争辩说包含散文和代码的SO帖子不能算作必须在CC下发布的单个作品。 -通过SA,如果有的话。
(当然,原始作者可以根据他们想要的任何许可条款发布自己的作品,尽管它们可能会自相矛盾。但是因此,作为再分发者,SO必须遵守授予它的许可条款-如果散文条款仍然只是CC-By-SA,那么可以争辩说,对于所有内容,它们都必须包括CC-By-SA,以便允许SO分发。)
另外,从一旁看,我有点想知道CC-By-SA和MIT许可证实际上是多么兼容。作为允许的许可证,我假设MIT许可证确实允许按照CC-By-SA进行重新分发,但前提是必须遵守MIT许可证的要求,即,除非获得豁免,否则包括版权声明,许可证文本和免责声明。我不是100%不确定的是,这些要求本身(如果未明确放弃或通过双重许可)是否可能与CC-By-SA中的某些语言相抵触,该语言禁止衍生作品的发行者施加其他限制在他们。老实说,自从我仔细查看了这些许可证以来已经有一段时间了,所以我不确定。我只是指出这是更喜欢显式双重许可的另一个可能原因。
评论
如果某件东西是双重许可的,那么这些许可的兼容性是无关紧要的。您可以使用GPL,麻省理工学院(MIT)和保留所有权利的商业许可证之类的双重(多种)许可证。
–•uriousdannii
15年12月17日在1:17
@curiousdannii:确实,这就是为什么我提出该问题,并将其作为支持显式双重许可的另一个原因。
–伊尔马里·卡洛宁(Ilmari Karonen)
2015年12月17日的1:21
到目前为止,我已经针对完整的或几乎如此的程序使用了双重许可方式(CC-By-SA + GPL),尽管对于较小的代码片段(相对于概述GPL许可授予的评论)而言,它却省略了它。我对麻省理工学院的执照并不熟悉,因为我想对拟议的政策变更提供全面的同意。在我看来,MIT = BSD +归因要求。
– Hardmath
2015年12月17日在3:32
您的回答很有趣,但是,对我来说,我真正感到困惑的是,OSI中的实际帮助对象是谁。我对他们的尊重减少了。
–rolfl
2015年12月17日,下午3:57
@curiousdannii:兼容性不是无关紧要的。内容的任何分支都将仅携带许可证之一。
– Ben Voigt
2015年12月20日,1:15
是的,双重许可代码是最好的。然而!麻省理工学院没有版权,所以我怀疑将麻省理工学院的作品纳入CC-BY-SA作品会存在问题。麻省理工学院唯一真正的要求就是提到版权所有人,甚至CC-BY也可以满足。复制许可证本身通常只需在ode头中将其命名即可。...CC-BY-SA衍生产品是独立的事情,可以在其自己的许可证下进行。就是说,首先让知识共享说MIT与CC-BY-SA兼容(当然是一种方法)是很有用的……除了SE提议的甚至不是MIT。
– Nemo
2015年12月20日18:19
有趣的答案,似乎……错了。您说“明确表示他们是双重许可”-当我阅读他们的文章的每一种方式时,他们都说它将明确不是双重许可。我认为除非他们改变主意以决定要双重许可,否则他们不应该明确规定双重许可。
–吉米·霍法(Jimmy Hoffa)
15年12月21日在13:30
@JimmyHoffa:我确实希望给SO带来疑问的利益,并假设他们只是简单地用了不好的措词。正如我在上面指出的那样,实际上并没有使所有内容都在单个许可证下可用(或者,特别是,不要求提供者授予SO在单个许可证下分发所有内容的权利)似乎是一个……经过深思熟虑的选择。
–伊尔马里·卡洛宁(Ilmari Karonen)
2015年12月21日14:19
@IlmariKaronen这确实不是一个“怀疑的好处”的情况。说得很清楚。我鼓励您详细说明为什么单一许可证分发是答案中的“极力考虑的选择”,以便您可以阐明为什么建议使用双重许可证而不是单一许可证(因为双重许可证是您提出的建议,有些落后方式-绝对没有其他人提出这个想法)
–吉米·霍法(Jimmy Hoffa)
2015年12月21日14:24在
@JimmyHoffa也许您和我正在阅读另一篇文章,但Ilmari的答案在5个段落中有3个关于双重许可为什么对SE,SE海报和重用者更好。
– Nemo
15年12月22日在15:28
@Nemo,您没有理解AP的观点。如果散文是病毒式的,并且代码是双重许可的,则它们的组合不能是MIT,因此Stackoverflow需要发布另一页(在提交者的允许下)而不进行捆绑。
–起搏器
20年8月24日在7:21
@Pacerier我想我做到了;我是说有一些方法可以在cc-by-sa下分发内容。 “他们的组合”是什么意思?例如,作品集和衍生作品之间就存在差异。
– Nemo
20年8月28日在7:42
#12 楼
GNU LibC并没有获得MIT的许可,只是因为我在StackOverflow答案中对其进行了追溯。 。只是将代码摘录放到StackOverflow上并不是该代码许可证上的即时授权。看到他们的代码已获得MIT的许可,只是因为他们放置了例程的一两个页面。如果重要的是要打扰人们并征询社区的意见,那么他们可能特别不想看到在专有的某个地方进行改编和使闭源代码成为现实。...源中的归因行以及指向StackOverflow答案的链接,该链接提供的不仅是“遵循许可证”的好方法,而且还是不错的文档。可以将问题和答案的SE URL缩短为仅词干,因此请使用
http://meta.stackexchange.com/q/271080
而不是http://meta.stackexchange.com/questions/271080/the-mit-license-clarity-on-using-code-on-stack-overflow-and-across-the-stack-e?cb=1
。有人不仅可以看到代码为什么会这样的原因,还可以稍后再去检查并找到新信息,或者对是否是真正的答案提出新的批评。我有总体而言,有两种相互竞争的感觉:
感觉:如果您是那种非常担心许可和诉讼的人,并且必须确保没有一点GPL在您的项目(或任何其他项目)中编写代码...应该由您的开发文化来为这些问题付钱。 Stallman是正确的,FSF / EFF 4eva。不在乎,他们可以用它做任何想要的事情。
因此,除了同意那些认为这可能不是单方面且应在短时间内完成的事情之外,我真的不知道该如何转化为答案。它可能需要一个更具适应性的解决方案,例如对许可审核进行ping操作的过程...然后根据需要解决了各种因素。勾选“我可以得到MIT许可就可以了”,然后所有要做的事情就是有人来寻找并确保我没有从其他地方获取材料,也许可以对它进行“审查”即使我不再在网站上也是如此。)
评论
请注意,FSF建议不要使用“ MIT许可证”一词,因为该词模棱两可。 SE通过在他们最初使用的其他任何MIT许可证之上创建另一个变体,进一步加剧了这种歧义。有人认为SE在此方面未咨询FSF。正如您在GPL中提到的那样,LPPL也存在类似的问题。如果邮政编码是从LPPL代码派生的,则此处的邮政编码无法提供空白。这使其成为派生作品,并且在这种情况下有适用的特定要求。
–cfr
2015年12月20日在3:42
#13 楼
我还没有在这里阅读所有答案,所以这可能是重复的。但是考虑到您只给我们两个星期的反应时间,我还是会说我的话。这太匆忙了。您可能已经工作了很长时间,但是
您的建议书显然还没有准备好。您尚不清楚其工作方式。
两个星期(包括大部分观众的假期)是很短的反馈时间。
请不要在2016年1月1日进行任何更改。即使2月1日也似乎太接近了。我不喜欢这种现状,我认为我们必须对此做些事情,您的提案当然是一件事情,但这不是正确的事情。
您的提案是一个巨大的更改,因为它将允许发布代码在Stack Exchange上可以不受任何限制地在任何地方使用。请不要称其为“ MIT许可证”。麻省理工学院的许可证大约是允许的,但它确实需要做一件事:保持归因。删除归因要求应该更恰当地称为将代码置于公共领域。
您的建议在法律上是可疑的。包括我居住的地区(法国)在内的某些司法管辖区授予作品作者精神权利,在大多数情况下(尤其是在软件的情况下),该精神权利仅限于所有权。这些精神权利不能通过合同放弃。 Stack Exchange根据美国法律运营的事实是否意味着,如果您放弃服务条款中的出处规定要求,这是否适用于法国出资人?我不知道-您最好与您的律师澄清一下,否则会使法国贡献者在Stack Exchange上发布代码的用户面临风险。
考虑到更改的影响,您实际上应该首先咨询然后通知Stack Exchange上的所有用户。为了进行咨询,meta是正确的地方-但不仅仅是此meta。除了MSE之外,您还应该访问定期发布代码且其居民不经常使用MSE的站点。请记住,堆栈溢出并不是整个堆栈交换网络。您应该咨询具有不同代码发布模式的社区,例如Code Golf,Code Review,Mathematica,TeX和LaTeX,Unix和Linux等。要通知用户如此巨大的变化,仅meta是不够的。这是服务条款的变更,必须在生效之前通知用户。
您还没有以非矛盾的方式提出变更。在您可以解释更改之前,请勿更改任何内容。您声明
我们将根据MIT许可证向Stack Overflow和Stack Exchange授予所有新的代码贡献。 />只要用户根据版权所有者的要求给予合理的归属,贡献者就同意授予代码用户忽略MIT许可证的通知保留要求的权限
根据请求给予归属?太疯狂了。我怎么知道有人在使用我的代码来提出这样的请求?我将如何与他们联系?
顺便说一句,由于我不知道这是怎么回事,我特此要求在我从Stack Exchange上贡献的任何创造性作品中注明出处。这包括过去和将来的捐款。这包括以可执行代码形式的贡献。这不包括不符合被认为具有版权的最低原创性阈值的稿件。 /> A)在您的代码中添加一条注释,以链接到找到它的帖子,或者
B)通过在您的源代码中包含完整的许可证文本来遵守通常使用的MIT。
等待:“面向未来”?证明什么?针对贡献者提出的归属请求?这带来了巨大的维护成本。引入这种不确定性到底有什么好处?选择一个许可证并坚持下去。如果您认为最好,则将其设为双重许可,但不要使其以后可以更改。
对不起,您确实需要回到图纸上。
评论
原始帖子顶部的更新内容说,他们将其推迟到2月1日。
– Cullub
15年12月17日在19:18
这篇文章出现在每个网站上的“精选于元”上。
– 200_success
15年12月17日在19:24
@ 200_success也就是没有人读的盒子。无论如何,我指的不是公告,而是咨询。在MSE上发布帖子并不是从比那些关心其他150个左右站点但对社区有话要说的人做事更好的人那里获得反馈的方法。
–吉尔斯'所以-不再是邪恶的'
2015年12月17日19:29在
我赞成,但是我真的想加强这一点:我完全同意你在这里写的一切。我也想知道,如果贡献者声称没有意识到这一变化,将会发生什么,因为他们没有付出太多的努力来宣传这一变化,并且肯定无法单方面决定这种事情。但是,我认为这些术语定义不明确的事实对StackExchange来说无关紧要,只要它们对意外的后果不承担任何责任。
–亚历山大·R。
2015年12月20日在16:27
现有服务条款中是否存在“我们可以随时通过...更改服务条款”的信息?如果没有,唯一的方法就是强迫所有用户在2月1日之后首次访问该网站时同意新的ToS。即使有这样的条款,如果您是合法的,依法依赖它也是可疑的公司想要使用代码。至少,尽管我不是律师,但我想是这样。这可能取决于您的位置和...。如果我是一名律师,我想如果我在2月1日之后为一家公司提供代码使用方面的建议,我会建议我非常谨慎。 。
–cfr
2015年12月26日,0:21
@cfr“ Stack Exchange保留酌情决定权,通过在网络上发布修订的服务条款并通过电子邮件(如果可能)或在网络上提供通知,随时修改这些服务条款。”我认为向每个用户发送电子邮件将满足这些要求,尽管由于并不需要有效的电子邮件地址,因此尚不完全清楚。有了一条额外的通知,那就是更安全,您在发布或编辑之前必须先单击一下。
–吉尔斯'所以-不再是邪恶的'
15/12/26在16:42
@Gilles如果我是一名律师,但如果用户必须积极同意(例如,按照您的建议,单击新的通知),我仍然会感到更加高兴。该语句看起来好像需要做两件事(1)更新ToS(2)发送电子邮件(如果可能)或在网络上发出通知。但是目前尚不清楚什么可以算作在网络上发出通知,除非您建议使用这种点击新通知。任何含糊的暗示都会令律师们担心。
–cfr
15/12/26在16:54
@cfr在许多(大多数?)司法管辖区中,合同不能单方面形成或更改,并且当事方必须对术语及其解释具有一致的理解,才能将其理解为正确形成。例如,在美国,Specht vs. Netscape发现必须提供许可条款的“合理通知”。另一方面,通常会保留点击型许可证。我认为您的建议是唯一合理的方法,尽管我怀疑SE会为之困扰。
–亚历山大·R。
16年1月7日在18:22
#14 楼
我认为一般来说,更改是个好主意。我不是律师,我假设大多数使用Stack Overflow和其他SE编程网站的人也不是。许可很快会变得非常复杂,消除歧义和模糊性是一个好主意。创用CC许可不是用于代码的,当在任何Stack Exchange网站上重用代码时,如何遵循它们都存在一些问题。复制代码时,尤其是当您不直接复制而又重写代码时,仍然存在足够的潜在混乱。造成这种混乱的主要原因可能是我在这一领域的知识不足,但是我想大多数程序员也不是版权法方面的专家。在我完全不相关的非律师意见中,Stack Overflow上的很大一部分代码都未达到要求获得版权保护的原创性门槛。许多摘录是有关如何使用特定库函数或语言功能的简短示例。使用相同的API的方式并不多,因此我认为这可能受版权保护并不合理。这很大程度上是基于我对法律应如何运作的看法,而不是法律实际上是如何运作的,所以我可能对实际的法律问题完全错了。如果我直接复制并粘贴相当大的一段代码,则规则很明确,我必须将其归因于此。但是,如果我只是复制它,然后在不理解的情况下使用代码,该怎么办?事后看起来可能很不一样,可以说它是衍生作品,我应该把它归功于它。如果代码只是显示如何使用特定功能的简短示例,我真的必须将其归因于该怎么办?但是,如果我阅读了代码,查找了所涉及功能的文档,然后使用该知识编写了看起来很相似的东西,但是我没有归属,因为我没有真正复制它,该怎么办?人们使用无尘室实现受版权保护的代码可能有很好的理由,但是一旦我看到了答案,就无法看到它。段落相当不合理,但是问题在于,仅按照许可领域的常识看来并不是一个好主意。消除所有歧义的唯一方法是使用无需任何限制即可授予不受限制的权利的许可证,或者将代码放入公共领域。我不知道它在法律上的测试情况如何,但是诸如Creative Commons CC0许可证之类的东西可能可以用于此目的。 。因此,我建议完全摆脱它,并使用限制性最低的许可证,您可以查找并完全避免该问题。
评论
一个真正考虑周到的帖子。这次真是万分感谢。我将很快就该提案发表更多意见,但我希望阅读所有相关评论。
–samthebrand
15年12月16日在20:32
@samthebrand编写它时确实没有被很好地考虑,这更多的是一连串的想法。但是,我认为使它变得有些不连贯的部分,即我实际上不知道我在谈论许可方面的法律问题时所面对的事实,是适用于大多数实际复制或使用用户的重要方面从SO改编代码。
–疯狂科学家
15年12月16日在20:35
这是一个受欢迎的思路。我们已经在这条线之间阅读了很长时间,以至于我们可能已经为树木损失了一点森林。
–samthebrand
15年12月16日在20:57
+1提及CC0。老实说,我真的不认为强制在CC0下发布SO上的所有新代码是一个好主意(即使我自己也这样做),但我确实肯定比提议的“ MIT +豁免”更好骇客。实际上,一种可能的选择是仅使用CC-By进行编码;删除ShareAlike子句使代码重用变得更加简单,同时仍然需要归因,而CC-By仅要求“以合理的方式”赋予归因,而无需像MIT许可证那样冗长的样板文本。
–伊尔马里·卡洛宁(Ilmari Karonen)
2015年12月16日在21:30
关于独创性的门槛,您如何看待这9根底纸?
–叙利亚
15年12月17日在9:36
没有CC许可真正适用于代码。另外,在阅读完它之后,我认为CC-BY实际上是一个较弱的copyleft,并且没有-SA缺少人们所认为的那样自由。 CC自己会要求人们由于存在感知上的问题而完全不使用CC0进行新作品,而是建议对其进行修复,以便发布CC- *版本4许可证。 Public Domain不是许可授权,因此不允许人员(例如,来自不同国家/地区,并且大多数欧盟公民也不能授予。
– mirabilos
15/12/17在10:43
@mirabilos CC0许可证上的常见问题解答确实指出它适用于代码。
–疯狂科学家
2015年12月17日上午10:57
@MadScientist关于“我们当时没有想到软件对CC0的使用是正确的猜测”,关于从OSI流程中CC0的CC退出
– mirabilos
2015年12月17日在11:04
实际有效的OSI流程中指向CC0的取款请求的链接(指向互联网档案):web.archive.org/web/20150906005825/https://lists.opensource.org/…-涉及CC0的问题在这种情况下,明显不放弃专利权。
– Michael Karcher
15年12月24日在9:38
#15 楼
说我有一个包含2015年编写的代码的答案。2016年,我编辑了部分代码。我没有编辑的部分仍然是CC BY-SA吗?还是我的编辑隐含地表明所有内容都在该MIT蜡笔许可下?如何向不熟悉该网站的读者表明?
评论
samthebrand在上面的评论中谈到了编辑,但没有回答“这是如何表示的”问题。
–jscs
15年12月16日在20:40
扩展这个问题:如果我编辑2015年其他人的答案怎么办?是否(或可以)触发许可证更新?
– Thegrinner
2015年12月16日在21:52
他们不应该:版权属于原作者的版权(有关更多背景:opensource.stackexchange.com/questions/1340/…)
– Zizouz212
2015年12月17日的1:19
@ Zizouz212但这意味着在2月1日之后编辑的部分代码不会应用新的许可证,因此您通常可以说,在2月1日之后添加到SO的所有代码都将拥有新的许可证。当然,片段具有一个许可证而部分具有另一个许可证的想法听起来像是纯粹的邪恶,但是替代方案听起来也不是很好。
–服务
15年12月18日在17:03
不,从2月1日起对代码进行的任何编辑均不得携带新的MIT许可证。 @服务
– Zizouz212
15年12月18日在17:38
@ Zizouz212在哪里注明?如果我在2月1日之前将一个全新的代码段编辑成一个甚至没有代码的答案(我是作者),这是否适用?
–服务
2015年12月18日17:46
否,因为该摘要属于帖子,而帖子属于原始作者。仅仅因为某些东西被编辑意味着它不能被许可。是一样的主意
– Zizouz212
15年12月18日在18:52
过去由用户贡献驱动的其他站点如何处理许可证更改?我记得几年前Wikipedia更改了许可证,但我不知道细节。
–gengkev
2015年12月20日,0:05
@gengkev有关更新,请参见meta.wikimedia.org/wiki/Licensing_update。请注意,这仅是因为1)CC-BY-SA和GFDL都是copyleft且同样具有限制性,2)FSF故意发布了新版本的许可证!此外,双重授权。
– Nemo
15年12月20日在18:26
毫无疑问,答案是:CC-BY-SA比MIT / SE蜡笔许可证更强大,因此CC-BY-SA可以生存(或者新作品是new窃和侵犯版权)。
– Nemo
15年12月20日在18:27
嗯,所以基本上,唯一的解决方案是许可证取决于原始帖子的提交时间。但这比在同一帖子中拥有不同的许可证要好得多!
–gengkev
15年12月21日在2:48
并且在@Nemo发布的链接中,看起来Wikipedia实际上在决定更改之前会先询问用户有关更改。嗯
–gengkev
2015年12月21日在2:49
#16 楼
我主要担心缺少归因要求。目前,Stack Exchange上的所有内容均为CC-BY-SA,需要归因。但是,对源代码许可证的拟议更改不需要署名。原始帖子确实指出,代码用户必须“根据版权持有人的要求给予合理的归属”。我想了解有关此工作原理的更多信息。具体来说,我想确保每当人们使用从堆栈溢出获得的我创建的任何内容时,都需要注明出处。我不清楚这种情况将如何发生。源项目,用户看不到源,因此看不到我的原始作品被用作项目的一部分。
我确实知道版权是有限制的。例如,某些东西不能享有版权。我知道,如果我不能对代码示例进行版权保护,那么就无需许可它,任何人都可以自由使用它。疯狂科学家(Mad Scientist)在这里的帖子谈到了原创性的门槛。但是对于可能的情况,我确实希望确保在内容上统一要求归因。
评论
听起来当我为codereview.stackexchange.com/q/1695/2150编写许可证注释时,您的目标与我的目标几乎相同
– Ben Voigt
15年12月17日在16:06
另一方面,我希望能够将答案中的所有内容标记为公共领域/ CC0 / WTFPL /任何允许所有人将其用于任何目的而无需注明出处的内容。
–user31389
15年12月19日在18:37
@ user31389我的理解是,如果您选择的话,可以。您也可以在限制性更强的许可证下使用双重许可证,但是找到内容的人可以有效地选择其中一个许可证。这就是为什么我选择CC BY和Apache 2.0作为我发布在网站上的内容的原因,这将允许任何人出于任何目的使用该内容,并且如果我将自己的贡献重新发布到那里,人们可以自由选择。
–托马斯·欧文斯(Thomas Owens)
15年12月19日在18:43
@ThomasOwens是的,但是目前我必须手动将所有内容标记为CC0许可。或者,我可以将其写在我的个人资料上,但随后人们需要访问它。如果有某种通用的机制可以将一段代码标记为需要(或不需要)归属,保留许可证文本或其他内容,那将是很好的。
–user31389
15年12月19日在21:10
@ user31389可能可行,尽管我不确定如何实现。但是,我发现使用术语状态声明部分内容不需要属性是不可接受的,尤其是当非代码内容需要属性的时候。我的断言是,除非在其他地方使用,否则发布在SE网站上的所有内容(如果在其他地方使用)都应要求署名。
–托马斯·欧文斯(Thomas Owens)
15年12月19日在21:37
TEX SE有一个关于Meta的问题,希望在其上声明任何其他许可证的人都可以在此发布他们的代码。
–cfr
2015年12月20日下午3:47
在我阅读时,它不可能发生。也就是说,您的想法是,除了追溯特定的个人或组织的特定用法外,您不能要求归因。
–cfr
2015年12月26日,0:26
#17 楼
如果在此日期之后回答2016年2月之前的问题是否可能构成非法?如果有人在1月31日问:不能工作,怎么办?
然后两天后,我可能知道答案了,只复制他的代码,更改几个字符以使其工作并张贴一个答案。
除了,我不被允许。他的代码已获得CC-BY-SA的许可,但在我的回答中,我将其许可为MIT。我不允许这样做。
这是正确的,还是我遗漏了什么?
当然要使其合法,我可以像
在第5行中,必须将位置16处的第三个'a'更改为'b',并在x行中将其更改为...。这么麻烦的回答,我可能不会。
评论
如果OP提出他的问题“需要归因”怎么办?然后,每个答案都必须使用适当的归因。 :)
–帕特里克·霍夫曼(Patrick Hofman)
15年12月18日在11:04
@PatrickHofman这就是约瑟夫描述的问题。由于拟议的修改后的MIT许可证不需要全部注明,因此不兼容。基本上,有可能不允许您在新答案中使用旧答案中的代码。
– Trilarion
15年12月18日在20:43
是的,这将是非法的。因此,2009年的Wikimedia许可更新要求FSF更新GFDL许可,然后大规模迁移到GFDL 1.3,然后再追溯到CC-BY-SA双重许可。 meta.wikimedia.org/wiki/Licensing_update
– Nemo
15年12月20日在18:34
#18 楼
如果发生这种情况,我认为需要在每个代码块上非常明确地显示它所属于的许可证。拥有多个许可证并试图通过查看日期来确定特定代码块属于哪个许可证,将很快变得混乱(特别是如果人们必须手动添加样板文本来要求提供出处)。用户应该能够在自己的配置文件中设置其首选许可证,并且他们编写的新代码块将自动默认为该许可证,但可以在需要时被覆盖。许可证,但用户可以返回并进行编辑以更改以后的许可证(如果人们想一次更改所有答案的许可证,可以提供大量更新工具)。
评论
当有人在编辑帖子的过程中创建或拆分代码块时会发生什么?没错,这种拆分许可将是一团糟,而您建议的用于管理复杂性的解决方案将真正帮助您突出显示它的混乱程度。
– 200_success
2015年12月17日,0:25
相关:建议让用户选择要使用的许可证。
– Anko
15年12月31日在9:06
#19 楼
我不明白。对不起,我担心这正是您要防止的,但是我不知道该如何再赋予属性。
您不必在代码库中包含完整的MIT许可证。只要用户根据版权所有者(或代表作者的Stack Exchange)的要求给予合理的署名,则贡献者同意授予代码用户忽略MIT许可证的通知保留要求的权限。麻省理工学院许可的此可选例外将存在于我们的服务条款中。
这意味着什么?通过简短浏览一下,听起来好像我不需要任何合理的归属,直到贡献者要求我这样做为止。
再次阅读后,“忽略”似乎仅指“许可证的通知保存”,即……等等……仅是
Copyright (c) …
行之后的内容。是吗?我担心大多数人会发生这种情况。他们读到“您不必包括<许可证资料> ...”,并认为“嗯,不需要注明出处”。这不应该发生。因此,请明确说明您的许可要求,并声明类似
的内容,您必须在使用的代码,并且应该(如果可能)或必须(如果版权所有者要求)在其下面包含MIT许可的完整条款。
#20 楼
CC-BY-SA覆盖代码的方式一直有点模棱两可。 CC BY-SA 4.0现在与GPLv3单向兼容。
您正在从copyleft更改为许可许可证。包括我在内的很多人都在关注我们的贡献是“共享的”(cc-by-sa中的sa)。
https://opensource.com/law/13/1 / which-open-source-software-license-should-i-use:“许可证的选择反映了为该项目制定的社会契约与任何法律要求一样多”不能像这样单方面更改。
编辑:经过反思后,我基本上可以接受更改,因为小代码示例的copyleft通常比其价值更大(gnu建议反对小<300的copyleft行https://www.gnu.org/licenses/license-recommendations.en.html),但我仍然不同意它的更改方式,并认为我提到的原因仍然是反对的理由。
评论
整个不希望自己的贡献被盗用的人呢?还有很多只希望能够使用代码而不必担心每个片段适用哪些许可条款的人吗?这是使其他两个相形见war的第三组。他们的愿望不算在内吗?您可以在SO上进行提问和回答,我认为这意味着社会契约包括“我将在没有任何期望的情况下为您提供帮助,因为有一天也许您会为我做同样的事情”。
–aroth
2015年12月17日在8:18
我不确定要如何回应,但我想指出,似乎没有人为cc-by而不是cc-by-sa鼓掌,或者因为现有的copyleft太繁琐而开办了一个替代网站。
–伊恩·凯灵(Ian Kelling)
2015年12月17日在8:36
我认为这可能是因为许多人不了解和/或不关注这些事情。地狱,直到我在晋升的主题列表中看到该主题,我肯定SO上的内容确实使用了CC-BY。我在该主题上偶然发现的大多数讨论都集中在确保正确处理归因组件上。我个人没有见过这样的讨论:有人在SO上编写了一段代码,因此想在第三方代码库上声明copyleft。
–aroth
2015年12月17日10:06
实际上,这不是单方面的变化。它适用于新的代码贡献,因此,如果您不同意,请不要发布。如果您发布,则表示您接受“合同”,因此是双边的。真的就是这么简单:-)
–user14860
2015年12月17日在13:07
只需说明一下:Stack Exchange当前使用CC-BY-SA 3.0,而不是4.0。
– 200_success
15年12月17日在17:32
任何人都可以仔细解释为什么CC-BY-SA 3.0是copyleft的原因,因为我认为不是。这是许可证的全文:creativecommons.org/licenses/by-sa/3.0/legalcode在我看来,当您从StackOverflow复制代码段时,从角度来看,您是将这些代码段添加到Collection中的许可证。因此,这意味着复制的代码段仍被CC-BY-SA 3.0覆盖,而其余代码则未被覆盖。
–罗恩
15/12/17在19:31
@ 200_success:如果我们正在谈论改编(如果使用此处发布的代码段,这可能是常见的情况),CC BY-SA 3.0和4.0是兼容的许可证(单向)。因此,如果今天改编在Stack Overflow上的改编代码,则可以在CC BY-SA 4.0和/或GPLv3下许可改编。
–未成年
2015年12月17日在21:34
@aroth:从一开始,在SO / SE上我们就有一个copyleft许可证。想要在宽松许可下许可其贡献的人可以并且可以通过双重许可来这样做。如果我们要更改为许可许可证,则希望拥有copyleft许可证的用户就不能这样做(当然,他们可以双重许可,但当然不能提供所需的保护)。 -我对有多少用户知道许可有兴趣,但是即使有很多人不了解/不了解/不在意Copyleft,也肯定会有很多用户知道。
–未成年
2015年12月17日在21:53
@paxdiablo:“我的道路或高速公路”是单方面的,就像“从戴比尔斯购买钻石,或根本不购买”一样。 (是的,我知道戴比尔斯只占垄断的65%。)
–内森·塔吉(Nathan Tuggy)
2015年12月17日在22:47
@unor“如果我们要更改为许可许可证,则希望拥有copyleft许可证的用户不能这样做”-我完全不同意。想要在代码段上使用copyleft许可证的用户仍然可以拥有该许可证,只要他们不将代码段直接嵌入其答案中即可。因此,例如,创建一个github项目,使用GPL(或CC-BY-SA,或其他任何东西)进行设置,将您的代码片段放在此处,然后从您的答案中链接到它们。我认为,对于那些希望设立限制性更强的许可证的人来说,建立一个强制执行所需代码段许可证条款的结构是公平的。
–aroth
2015年12月17日23:28
@aroth“只要不将代码段直接嵌入其答案中,想要代码段上的Copyleft许可证的用户仍然可以拥有它”,这意味着他们的答案取决于外部内容,因此是不可接受的。不,首先发布为GPL,然后发布为公共领域,并不意味着第二发布行为就以任何方式受到限制。
–重复数据删除器
15年12月19日在21:33
@aroth:“显然将GPL的代码段复制到答案中并不会从该代码段中删除GPL。”实际上,建议的Stack Overflow服务条款将做到这一点。如果您是版权所有者,那么您就拥有双重许可。如果不是,则您违反了Stack Overflow服务条款(此后一条声明已经成立)。
– Ben Voigt
2015年12月20日在1:26
@aroth,您对该线程中的每个重要声明都已被揭穿。我要补充:您问:“ [1]那些不希望自己的捐款被保留版权的人呢?”那些人不需要更改许可证:他们已经满足了。 “ [2]只希望能够使用代码而不必担心适用许可条款的人...”这些人是内心的窃者。
–user136089
16年1月4日,0:21
@aroth,您问:“为什么要创作(某些东西)给您授权他人许可许可条款的权利?”不管您是否喜欢,通常都是法律,在此评论中,我将不讨论法律哲学。正如已经多次指出的那样,如果您个人更喜欢(双重)许可MIT或CC0等下的自己的作品,则可以!您绝对不会在这里处于不利地位。最后,“常识”是完全主观的。通过在论点中诉诸它,您就犯了逻辑上的谬误,因此论点在本质上是不合理的。抱歉。
–user136089
16年1月4日在6:21
@aroth为清楚起见:“第三方”并不表示贡献者或Stack Exchange,Inc.。这是第一方和第二方。我的意思是,那些具有任意业务要求的各方可以使用专有的非SaaS软件从他们没有编写的Stack Exchange站点分发代码贡献。 (这是一个非常粗略的业务要求!)
–user136089
16年1月5日在1:54
#21 楼
我同意,要求为SO中的一小段代码包含完整的MIT许可是不合理的,但是我觉得完全放弃归因也是不合理的,并且直接违反了SO所基于的用户贡献内容的原则。 >我建议归因继续使用CC-BY-SA归因的方式,继续要求链接到原始代码的SO帖子和发布者的名称。在开源代码中,您建议的标准“注释链接”实践就足够了。商业代码会将链接添加到通常的“第三方代码的免责声明和许可”位置;他们可能仍然选择包括完整的许可证,以使他们的律师工作变得简单。不是律师。)
评论
是的,我想您想说的是应该是A还是B,并且应该没有用户不包含归因的选项C?
– David Mulder
15年12月16日在19:28
虽然我原则上同意您的意见,但这不是OSS许可的工作方式(其他人已经指出了蜡笔许可的问题)。尽管有样板,但各方(海报,SO / SE,用户)最好都使用已建立的许可证(而且,不到1 KiB)。
– mirabilos
2015年12月17日在10:44
@mirabilos CC-BY是已建立的许可证,其文本允许“以合理的方式”注明出处。如果裁员喜欢其余的话,我认为灵活性很有价值。
– Jeffrey Bosboom
15年12月17日在17:33
我能想到的CC-By的唯一问题是:a)它不是专门为代码设计的(但在这方面,它并不比CC-By-SA差),并且b)尽管是许可许可证,但它仍然包含一些人可能会提出反对或有问题的反DRM条款(尽管CC-By-SA同样也有)。除此之外,我喜欢这个建议。
–伊尔马里·卡洛宁(Ilmari Karonen)
2015年12月19日在1:27
#22 楼
如果我正确地阅读了您的内容,则此后的代码仅在MIT许可证(或其修改版本)下可用,而在CC BY-SA许可证下不可用。为什么不保留现有许可证,而添加MIT许可证?对于从这里复制帖子的人们来说,这将使生活变得更加轻松。如果整个内容都在一个许可下,则复制文章要容易得多。
请定义“代码”。
当
a > 3
。是“代码”吗?那大部分的情节是CC BY-SA,但最后几个字是MIT吗?这不是一团糟吗?
如果我编辑某人的帖子以正确格式化其代码,是否要更改其许可条款?我是否具有这样做的法律许可?
评论
项目符号要点2也是最早的评论之一,在我看来,确实需要解决。我只是回到这里发布有关它的信息。
–jscs
15年12月16日在21:15
而“定义'代码'”现在是它自己的问题。
–jscs
15年12月16日在22:18
a> 3是否为代码是否重要?两种方式均不具有版权。
–MSalters-恢复莫妮卡
2015年12月17日,0:02
@MSalters有点重要,因为整个帖子都受版权保护,因此根据“琐碎”行的位置,您不清楚要处理一个还是两个许可证。
–jscs
2015年12月17日,0:06
也是<3码吗? (说吧!)
–tripleee
2015年12月18日在8:26
我<3您的评论,@ tripleee。
– TRiG
15年12月18日在10:09
+1:“为了确定重用此文本时适用的许可证,请先解决此棘手的问题” ...
– trichoplax
15/12/22在12:01
#23 楼
这是我的两个主要要点:如何显示帖子获得许可的许可证? >
帖子底部的样式旁边是否会显示一个图标,用于指示许可证?
是否将基于许可证对代码块进行颜色编码?
是否将页脚添加到每个说明许可证的代码块?
无论使用哪种方法,它都必须对所有人(包括以前从未使用过SO的人)清晰易懂。我仍然希望将代码归因于我?
我可以要求将我的所有代码都赋予属性。
@Josh Caswell说,您可能可以在代码块中使用以下内容:
// I hereby explicitly request attribution under the MIT license
// for this code, as stipulated in Stack Overflow TOS § NN ¶ n.
有没有办法做到这一点?可以在用户界面中实现(即,一个复选框,该复选框在帖子底部添加一个通知,或者在您的设置中自动对所有帖子进行设置的首选项),还是我们必须自己做?
评论
您现有的所有帖子似乎仍然需要归因和分享,因为它们仍然受CC BY-SA的管理。只有新的东西会使用新的许可证。因此,至少我们不必担心将旧代码推送到首页的噪声编辑。
– Ben Voigt
2015年12月18日下午5:04
@BenVoigt好点-我忘记了现有帖子不需要进行编辑。
– Anussidney
15年12月18日在6:05
我想澄清一下,我无意建议“您可能可以在代码块中的这些行中使用某些东西”,而只是我预见到了这种情况。正如我在回答中所说,对我而言,这是个小消息。
–jscs
2015年12月25日在2:08
#24 楼
如果人们使用的是我在SO上编写的代码,但未发布具有署名的MIT许可...是什么阻止我或其他人起诉他们宣称他们没有收到以SO发行的MIT许可形式的副本?他们当时使用的是我的代码的未经许可的版本...我很难相信,当他们没有迹象表明我不会在法庭上行使自己的知识产权
我获得了MIT的MIT许可证,但是我仍然拥有个人IP权利,可以生产该代码并将其出售给其他持有该许可证的人,而不是单独的许可证给出了哪些SO和接收SO代码的人员。根据SO的TOS,我仍然是权利持有人,我提交这些文件后,它们只是由我提供的许可证。我认为“您无需在使用代码时发布许可证”的例外情况就无法合理发挥作用,并且如果使用该例外,则会在整个从头开始授予代码许可的概念中造成漏洞。
评论
如果您在SO上发布代码,并且还根据其他许可证将代码出售给其他人,则他们可以自由使用您出售它们的许可证或从SO那里获取的许可证。比较清楚。如果您真的担心,可以让他们签订合同,要求他们不要使用许可的其他任何许可版本的代码。
– Y牛
2015年12月16日在20:16
@Y牛我不担心;我只是在试图指出可能的漏洞,这些漏洞可能会导致人们无需公开许可。当人们四处使用代码而没有明确的授权时,我只是将其视为进入一个较大的法律灰色地带,这是一个坏主意。我不鼓励任何人使用他们从MIT许可证收到的代码,而不包括MIT许可证-他们添加的“可选地包括许可证”条款鼓励人们这样做。
–吉米·霍法(Jimmy Hoffa)
2015年12月16日在20:20
#25 楼
只要用户根据版权所有者的要求(或代表贡献者的Stack Exchange)做出合理的署名,则贡献者同意授予代码用户忽略MIT许可证保留通知的要求。 />
有两个相当明显的问题:例如。如果有人制作一本纸质书,使用从各个帖子中摘录的代码来教一个主题,然后其中一些帖子的作者要求注明出处,那么出版者所能做的最好就是将未售出的副本打成纸浆,并在他们的网站上放一个勘误表。
大约一半的MIT许可证是免责声明。用“属性”代替通知保存要求意味着无需声明作者和版权所有者已放弃责任。如果您实际上是在说您选择的许可证中有一半或以上是不相关且不必要的,那么为什么您在地球上选择该许可证?
评论
另外,不要求保留免责声明是例如ISC许可证,该许可证已在开源社区(OSI邮件列表等)中进行了多次评论(OpenBSD仍使用未修复版本)。
– mirabilos
15/12/17在11:27
主要针对第2点。我们是否不能通过使用CC0并将责任免责声明放入SO TOS中来获得相同(或更佳的效果)?这似乎是想用锤子打螺丝。
– T.E.D.
15年12月17日在15:29
#26 楼
如果您不希望人们使用您的代码片段,为什么将它们发布到Stack Overflow?现实:CC-BY-SA许可证的目的是阻止链接农民窃取内容以自动生成庞大的废话互联网。并不是要确保您在Contoso内部Web门户的评论中得到提及,因为您知道反序列化小部件的正确方法。 ,或者至少已获得许可,其唯一的义务是不对作者承担责任,并且不承担其他义务。堆栈溢出。
评论
不幸的是,“代码片段是公有领域”在美国和许多遵守WIPO条约的国家中不是法律认可的语言。您能做的最好的事情就是明确地授予您授予许可证的所有权利,这就是为什么我们拥有大量许可证的原因,以及OSI一直在努力使整个情况变得井井有条。我希望这很简单,但事实并非如此,而且永远不会。从法律的角度来看,在选择归因为可选的同时选择MIT可能是他们最接近公共领域的方法。这不是一个坏举动。
– Pollyanna
2015年12月16日在20:02
@AdamDavis,这真是胡扯。他们可以编写自己的许可证,该许可证与MIT相同,但没有署名要求,而是可选的。
–本
15年12月16日在22:44
在您发布此答案时,该问题已经从meta.SO迁移到meta.SE,因为它不仅影响SO,而且影响的站点也更多。我想不出我张贴到SO上的任何代码片段,我会担心人们会在没有归属的情况下重复使用这些代码片段,但是我绝对想保留伯尔尼公约关于我所拥有的某些代码的精神权利写在网络中的其他站点上。
– Peter Taylor
15年12月17日在16:39
例如,@ PeterTaylor?
–本
15年12月17日在16:43
示例1,示例2(这也是不能放在代码块中的代码示例),示例3,示例4
– Peter Taylor
15年12月17日在16:52
@PeterTaylor,您已经说服我它不适用于Code Golf。不是堆栈溢出,DBA,ServerFault或超级用户。
–本
15年12月17日在16:57
+1,我简直不敢相信有多少人希望为其代码段添加归因。伙计们,用您的时间/免费捐款来换取公众声誉是否足够?
–欧文·梅耶(Erwin Mayer)
2015年12月18日下午5:22
“ CC-BY-SA许可证的目的是阻止链接农民窃取内容,以自动生成庞大的垃圾互联网”。完全错误:Stack Exhange不拥有版权,也不能以任何方式对竞争对手使用版权。
– Nemo
2015年12月20日在18:32
@Nemo为了补充您的意思,提议的许可证更改当然会减少任何人(甚至是原始作者/版权所有者)从法律上限制刮板/细纱布的可能性。例如。如果答案仅包含代码,则对于刮板来说将是公平的游戏。简而言之,拟议的变更意味着SO / SE的竞争对手将拥有更多的freedom取自由,而不是更少。
–user136089
16年1月4日,0:26
#27 楼
推理我认为这不是一个好主意。
背景
我自己是BSD开发人员,所以我通常很乐意将其置于BSD / MIT风格的许可证下,但是那里有两个与BSD精神背道而驰的大事:确实很糟糕,因为归因于BSD开发人员通常会获得的所有信息(以及偶尔发送给电子邮件INBOX的补丁程序)。它还会自己创建一个“网络”许可证,其他人已经指出了这些问题。
代码是什么?不同意区分“非代码贡献”和“代码贡献”。此外,有人必须决定什么是法官,这通常由法官来决定,而且我们都知道,只有在有律师参与的情况下,事情才会逐渐消失。
这意味着: />您所说的这三个要点与大多数在野外使用MIT样式许可证的人的精神背道而驰。那例如“ GNU libc并没有成为MIT,因为我在SO上找到了它”。的确如此,您显然只能许可您有权许可的内容。但是,仍然有必要在战略目标职位上包括此类信息;不过,目前情况确实如此,因此需要对ToS进行修改,以发布只要拥有OSS许可就不拥有的内容即可。从目前的情况来看,HostileFork通过在CC-Wiki上没有权限发布内容的地方发布内容来承认基本上违反了ToS。我对目前的情况还可以,在此情况下,整个帖子都是在较弱的copyleft许可下(和谐地)发布的,但是我的网络配置文件中包含以下摘要:
我特此提供全部内容除了在“ cc-wiki”(CC-BY-SA 2.5或3.0,视SO / SE网络站点而定)之外,我还根据MirOS许可(WTF-8较少的HTML版本)在SO / StackExchange网络上编写的内容,显然)。我敦促其他在这里提供帮助的人也这样做。 )要求我这样做,并添加德语翻译,因为很多不讲英语的人也使用该网站…我也这样做。)
这使作者可以为他们的帖子(当然,我可以排除单个帖子,以及我发布的不是我的内容的帖子,例如GNU libc摘录),但保留了常规网站的copyleft-and-attribution-requirement要求。
并且所有根据MirOS许可使用我的内容的人都将注意到,它还必须保留完整的署名和许可条款(版权声明,条款和免责声明中的全部三个),同时允许包含在其他作品中。
回圈到代码,数据,文档,媒体内容等的和谐:此许可说明ically使用术语“工作”代替“代码”,否则通常是标准的BSD / MIT / HPND风格的许可证。正是为了方便将所有内容都置于相同的许可条款下。关于ToS的一些措辞,是关于某作品摘录的所有权(只要该作品是在OSS许可下获得的许可),因为当前术语和新提议的术语一样是一个问题。
重新思考,阅读社区反馈
可能允许选择加入甚至选择退出(每个(站点,不是网络)帐户)使用许可许可证,但不免除对它们的通知保存要求
允许选择退出单个帖子的许可许可证
这样可以使Code Review之类的网站继续按照当前条款运行(可能有资格加入),同时仍然允许您输入因此,根据更广泛的许可条款(这次有更多提前通知)的选择退出方案。
我希望对此类条款的任何更改将在将来成为突出的特色。确认页面,任何人上线后都会第一次发布,对吧?
评论
引用始终是合理使用,因此引用代码不需要任何特殊的子句。
–•uriousdannii
2015年12月17日在10:46
@curiousdannii“合理使用”是美国的概念,因此在国际上也不适用。实际上,在德国,引文的界限很苛刻。
– mirabilos
2015年12月17日在10:52
如果引用不合法,那么学术写作将是不可能的。我从未听说过报价非法的国家,对吗?
–•uriousdannii
2015年12月17日在12:17
@curiousdannii引号/引文有非常具体的规则;不幸的是,Google Translate的这篇文章做得不好,但是这里是重要的部分(略作编辑):[…]也就是说,引用必须作为引用工作的证据,作为讨论的基础,或者至少是批判地参与引用的作品。基本上,外部引用的作品和内部引用的作品之间必须存在联系。为此,仅使用作品来说明或仅用于信息报告是不够的。
– mirabilos
15年12月17日在14:03
因此,在某些情况下,在某些辖区中引用代码不会被视为“合理使用”,但是对于许多常见的情况,例如要求解释或评论CR上的代码,如果它们是基础,则应该可以的讨论。
–•uriousdannii
2015年12月17日14:07
在美国以外(并可能选择其他几个国家),没有“合理使用”之类的东西。显然,引用待讨论的代码是可以的,但这仍然是有人根据CC-BY-SA许可SO / SE的帖子的一部分(如果没有,则他们违反了ToS),但是他们不能为引用的部分提供该许可证(因为他们一开始没有许可证)。基本上,就CC而言,引号是-ND,与-SA冲突。
– mirabilos
2015年12月17日14:22
不放弃该通知,基本上就不可能直接从SO中获取一小段代码并将其合并到较大的项目中,因为您最终获得的版权声明要比您在各处编写的代码长,因此会产生法律后果如果它们曾经被删除(并且很难确定每个版权声明的确切适用范围,那么您就永远无法删除它们)。
– Y牛
15年12月23日在15:48
@Yakk,这是错误的,因为由于缺少沙芬舍厄(Schaffenshöhe),确实很小的摘录无论如何也不会受到版权保护(深夜没有英语法律用语,基本上这是一项工作需要付出的创造性和努力被©保护)
– mirabilos
15年12月23日在21:06
如果您希望别人认真对待@Yakk,请学习正确的拼写。无论如何,阈值不是大小/长度,而是创造力(FSF经常引用的10行规则只是经验法则,仅适用于某些编程语言和样式)。
– mirabilos
15年12月24日在12:51
@mirabilos因此,您说的是错误的,并且简短的摘要包含版权,这是含糊不清的,这意味着对摘要程序进行摘要的每个人都必须包含大量的许可证注释或对潜在的责任开放,何时/是否可以合法删除该许可证注释,代码库是否在发展,这一点变得非常不清楚。就我个人而言,我不希望人们必须咨询国际版权律师来安全地使用项目中stackoverflow中的代码。
– Y牛
2015年12月24日15:08
受您的启发,我将该代码段复制到了我的个人资料中,但很遗憾,我现在要退役以抵制此提案/公告,其原因与您在此处详述的相同。 :(
– Unihedron
15年12月24日在17:22
#28 楼
我认为对此变化的反应过于强烈。我鼓励怀疑论者:阅读标签
Stack Overflow是专业和发烧友程序员的问答网站。
资料来源:https://stackoverflow.com/tour
Stack Overflow的使命宣言至少是为双方专业人员提供有用的资源和业余/狂热的程序员。目的不是要主要使开放源代码社区(或任何其他利基市场)受益,也不是要在有关IP /软件权利和许可的意识形态辩论中立足。在这里,因为它意味着为了商业利益而运营。通常在使用公司实体时,和/或使用至少一些不是开源的或其他方式可公开获得的代码库时。
负责的专业人员比将copyleft代码合并到专有/封闭源代码库中了解更多。这使得CC-BY-SA许可成为一个非常大的问题(从技术上来说),以至于与SO的已发布任务声明直接冲突。
-BY-SA
CC-BY-SA本质上是一个copyleft许可证。请注意,CC-BY-SA中的“ SA”代表“ ShareAlike”,这是许可要求,任何包含CC-BY-SA内容的派生作品也必须在CC-BY-SA下发布。这就是Copyleft问题用于专业用途的地方。
在软件代码库的上下文中进行解释(尽管如OP中所述,CC-BY-SA最初并不是真的打算与软件一起使用),这意味着如果您在代码库中使用CC-BY-SA许可的代码段,然后严格来说,如果您分发从代码库派生的任何作品(例如完整的应用程序/已编译的二进制文件),则必须在同一许可证下发布整个代码库。 >换句话说,就是将SO中的代码段复制到您的Android应用程序中,然后通过严格解释CC-BY-SA(或任何其他copyleft许可),如果/当您提交时,必须以相同的条款发布应用程序的源代码它到Google Play。这使得根据CC-BY-SA许可的代码在技术上无法用于大多数专业(即商业)用途。
考虑实际情况
SO社区宣传自己是专业人员合作和讨论技术挑战解决方案的地方。毫无疑问,这里有很多专业人员。当然,其中一些可能已在专有的商业应用程序中使用了一些代码段。当然,很可能有更多的非成员通过Google搜索在SO上找到有用的摘录,并将其用于自己的闭源项目中。
假装这没有发生,没有发生或现在没有发生是很愚蠢的。争辩说这不应该发生是对SO已发布的使命陈述的否认。而且,如果他们不自我提名,则试图强迫问题并就某人违反某个代码段上的CC-BY-SA许可证提起诉讼几乎是不可能的(您将如何在地球上发现他们使用了您的代码段) ?)。
按照CC-BY-SA的条款获得SO上的所有代码实际上是对该站点预期用例的巨大阻碍。实际上,这与人们实际使用该网站的方式不一致。从表面上看,这对任何专业用户都是巨大的风险。实际上,这可能是大多数寻求SO编码帮助的用户(和非用户)忽略的一个问题。
新变化唯一要做的就是使“纸上”许可条款与人们实际使用SO的方式保持一致。我们所有人都应该欢迎这一点。
考虑为什么在SO上发布代码
您是在这里尝试帮助人们解决问题吗?还是在这里让您的名字在尽可能多的项目中列出,一次一小段?还是与毫无戒心的专业人士打成一片,在实际使用您提供给他们的代码抓住他们时向他们提起诉讼?您的代码段在copyleft下获得许可!如果您出于第三个原因在这里,则意味着您正在参加一场意识形态高度辩论。这完全是您的权利,但是SE可能也不应该纠结于此。这样做真的合乎道德吗?考虑到您知道提出问题的人很有可能是专业开发人员,并且您知道专业开发人员通常都在处理商业的,封闭源代码。如果您反对在这样的上下文中使用代码段,那么为什么要以代码开头回答他们的问题?
如果您的动机是帮助他人,则许可更改不会对您产生任何影响。或者,它们可能使您有可能帮助更多的人,因为新许可证使您的代码在技术上无法使用CC-BY-SA代码的地方可用。
请注意,实际上并没有关于归因的问题。 CC-BY-SA需要署名,新的许可条款仍然允许您要求署名。因此,如果您要这样做的话,就可以拥有出处。
更改的实质是从许可证中删除“ ShareAlike”组件,该组件将SO上的代码从被盗用更改为许可。这与将许可条款更改为CC-BY非常相似,后者需要注明出处,但放弃了“ ShareAlike”要求。
花一秒钟的时间了解一下法律优先权,该法律确立了知识产权创造者基本上可以根据他们选择的任意标准来命令术语的方式。张贴在SO。 FGITW表示平均摘要是在几分钟(而非几小时)内编写的。优秀的FGITW播放器发布后,至少会花费一些额外的时间来整理和改善其摘要。但是,总的来说,说SO上的大多数代码片段都是在60分钟或更短的时间内编写的。
那么,最多(最多)30-60分钟的工作量能得到多少回报呢?这是一个谢谢,有些+ rep,并且能够(您希望如此)要求发现您的代码有用并使用它的人提供帮助吗?我会说这很公平。您做出了有益的贡献,并得到了大家的认可。该代码库可能包含成千上万行代码,并且是许多人年共同努力的产物?我觉得不是。片段是一片海洋;它不应该让您向整个海洋求偿。
但是,如果代码段获得了CC-BY-SA的许可,那正是可以做的(假设没有法律障碍和技术障碍)。我个人认为这很荒谬。答案的价值是真实而微不足道的。但是,要给某人提供代码段并不意味着您应该拥有使用该代码段的每个代码库的权限,这并不算太大。我认为尝试这样做违反了合作精神,社区精神和支持SO的精神。
因此,新的许可条款在“公平合理”的规模上取得了更好的平衡,并解决了CC-BY-SA代码段所提供的价值与可以利用CC-BY-SA的'ShareAlike'组件来针对更大的代码库进行声明。 >我欢迎并完全支持此更改(尽管我认为将其作为双重许可而不是批发掉期实施的建议是值得的,只要是代码的使用者选择他们想要的许可即可)。你也应该没有理由不这样做。信息要免费。
越早生效,越好。
评论
感谢您为SO帮助人们解决问题做出的贡献。您似乎在Stack Overflow上发布了比问题更多的答案。您是否认为“信息想要自由”(因此我们应该强迫它自由)同样适用于问题中出现的代码?
– 200_success
2015年12月17日下午6:52
@ 200_success-问题中包含的代码的问题是它经常被破坏(否则该问题将不存在)。但总的来说,是的,我不明白为什么在两种情况下都不应该使用相同的规则。就提出问题而言,我不会提出我无权共享的代码,也不会提出专有代码库中的任何不重要的代码。如果人们发现它有用,即使它在问题中的存在暗示它以某种方式损坏/松动(因此书面上没有用),那么对他们也有好处。
–aroth
2015年12月17日在7:14
这个答案微不足道地指向一个事实,即这不仅会影响“至少在堆栈溢出中”的SO,但否则会给人以“这很适合SO,而网络中的其他站点都不重要”的印象。 。那些在其他站点上更活跃的人可能会强烈反对。
– Peter Taylor
2015年12月17日15:35
@PeterTaylor-足够公平。我的答案是非常以SO为中心的,因为那是我大部分时间的地方。虽然那也可能是SE的大多数(虽然不是全部)代码片段所居住的地方。我不会说必须有一个“千篇一律”的解决方案来在所有SE网站上许可条款,但与此同时,我也不能想到与该方法存在真正的强烈反驳。
–aroth
15年12月17日在16:02
还请注意,其他一些网站的代码不只是摘要。例如。这个问题的答案有完整的自包含程序,代表几个小时的工作。
– Peter Taylor
2015年12月17日下午16:31
我认为这是不正确的:“如果您在代码库中使用CC-BY-SA许可的代码段,那么严格来说,您必须在同一许可证下发布整个代码库”。从许可证的角度来看,我认为复制的源代码将被添加到您的软件项目的Collection中。这意味着复制的源代码受CC BY-SA许可,但是其余的源代码不受影响。我的完整分析:meta.stackoverflow.com/a/300861/386091
–罗恩
15年12月17日在17:09
@罗恩你确定吗? 100%?你是律师吗
–叙利亚
15年12月17日在19:36
@Ron-那不是copyleft的工作原理。另一个答案指出,CC-BY-SA是GPL兼容的,并且肯定在GPL下,使用复制的代码编译的所有源代码都会受到影响。当然,您可以提出您在法庭上描述的论点,并希望这一决定如您所愿。但是很少有开发者愿意冒险。 CC对ShareAlike的描述与您的分析不符:“如果您重新混合,变换或构建该材料,则必须在与原始材料相同的许可下分配您的贡献。”
–aroth
2015年12月17日23:15
@assylias不,我不是律师。我希望在StackOverflow上有明确的准则,以指导如何遵循源代码的CC-BY-SA 3.0许可证。既然没有,我不得不自己做分析。
–罗恩
15年12月18日在22:14
@aroth您能否指出一个仔细的分析(理想情况下是从律师那里来),说明为什么要使用StackOverflow中的代码片段需要重新分配CC-BY-SA 3.0下的整个专有代码库?您会认为,如果这样做是有意的,那么在某处会出现明显的警告!
–罗恩
15年12月18日在22:14
您可以获取MIT(或SO)许可的代码,并在几乎任何地方使用它,并以所需的任何许可证分发整个代码。因此,双重许可(主要)是没有实际意义的,添加双重许可只会使事情复杂化。最好不要理会,最终结果是相同的。
– vonbrand
15/12/19在3:02
您链接到的GPL软件案例并非基于与许可有关的任何决定-判决是默认的,因为被告没有参与该案例。 Drauglis诉Kappa Map案中的判决支持后者-“相同同意”主张被拒绝。 (此外,您链接的其他与CC相关的案例均与“共享相同”条款没有任何关系。)您的引用无助于您对“共享相同”的描述。
–jscs
2015年12月19日在20:15
@JoshCaswell-是的,这是默认判断。但是,如果您阅读了实际的决定(“西屋公司以不符合许可的方式分发BusyBox侵犯了原告的版权”),则它确实维护GPL的有效性和可执行性。如果许可证不可强制执行,则默认判决将对原告不利;如果您的主张表面上无效,那么默认判决并不意味着您会获胜。
–aroth
2015年12月19日23:54
不,那不是民事诉讼中的运作方式。没有刑事审判中的无罪推定。如果您不反对投诉,则默认判决意味着您已经输了,而法院没有考虑投诉的是非曲直。请参阅您链接的西屋PDF的第二个脚注。
–jscs
2015年12月20日20:03
(如果原告提出申诉,但未能出庭,原告将对他们进行违约)。
–jscs
15年12月20日在20:13
#29 楼
好吧...我只用了三个小时就看到了很多人对此的非常强烈的看法。 。感谢您花费时间和资源来解决此问题。我确定要做出很多艰难的决定,而且我也肯定处理该反应也将很困难。 />
对于希望对结果发表意见的人们,建议您在提出意见之前先阅读此问题以及其他内容。它打破了先前许可的复杂性,似乎证明了解释是两种方式之一。如果您想对正在发生的事情产生建设性影响,那么了解已经讨论的内容将大有裨益。
评论
我不是要说几个月来回走动,草拟计划以报废并重新开始,请懒惰的同事征求反馈意见并试图解析法律异议,这使Sam&Tim完全发疯了...我完全不尊重他们这么说。但此时他们可能都可以使用一加仑或两加仑的烈性酒。
–Shog9
15年12月16日在21:50
@ Shog9-如果有人在海湾地区,我很乐意为他们买一杯饮料或10。:)
– Spencer Ruport
15年12月16日在21:53
@ Shog9,如果他们不重新开始,也不要陷入困境,可能会更好。取而代之的是,我欢迎一个头脑清晰的声明,放弃提议的更改,而只保留许可。 CC-BY-SA 3.0是用户贡献的绝佳许可,坦率地说,所提出的更改前后不一致。
–user136089
16年1月4日,下午1:36
#30 楼
所以我们有希望尽可能自由地使用其代码的贡献者,
那些仅希望将其归因使用的贡献者,希望从代码示例中学习而不复制代码本身的程序员,
希望以明确定义的条款使用代码以便避免侵犯版权的程序员,以及
仅希望使用代码的程序员在他们的项目中,不必担心所有合法的庞然大物。一般不建议在软件上使用CC0。
麻省理工学院从2016年起对所有代码进行许可也适用于第2组。这可能对第4组有帮助,除非您不确定是否发布代码的用户实际上是作者...或者从StackOverflow之外的某个地方获取了代码...或从另一个StackOverflow问题或答案(不是必不可少的MIT许可...等。
准归因的MIT许可使属性可选,除非作者后来提出要求,增加了未来的不确定性,因此对第4组更糟。 br />
较少限制的选择是根据“未许可”,“ CC0公共领域专用”或类似的“按您想要的”条款提供代码贡献。这将满足组1和5,尽管组2不赞成。第4组可能也会有些担心,因为对于放弃版权是否合法有效存在一些争议(尽管讨论的时间更长)。
第3组对几乎所有许可条款都会感到满意。
我认为最好的平衡方法是将所有内容默认设置为CC-BY-SA,并允许各个贡献者根据自己的意愿以更宽松的条款共享其代码。
一个好的开始是提供一个在用户配置文件中添加许可/许可通知的选项。例如:
“我为StackOverflow贡献的所有代码均为版权
这将通过至少取消一些代码共享限制来帮助第1、4和5组。它也满足第2组的要求,因为归因要求保留给了需要的人。当然不是第4组和第5组。避免版权侵权的最安全选择始终是编写自己的代码-可能使用与您在其他地方看到的相同的想法(因为这些想法无法获得版权),但要在自己的代码中自己的话。
从我的角度来看,StackOverflow的主要目的是学习。不仅要学习如何修复某些特定的代码,还要获得解决任何形式的此类问题的能力。为此,阅读答案以向他们学习—无需复制他们的文字—很好。
评论
不错的摘要-组2.5:希望阻止其代码在具有宽松许可的商业项目或开源项目中使用的贡献者。
–叙利亚
2015年12月17日上午10:31
没有CC许可适用于代码,CC本身建议不要将CC0用于任何形式的任何新作品,因为它们有问题。 “公共领域”不是许可授予,如果有资格获得版权保护的话,许多人(例如大多数欧盟公民)就无法将其作品放到PD中,而且与许可(根据《伯尔尼公约》工作)不同,它不会跨越国界,因此不会使不同国籍的人重用。
– mirabilos
15年12月17日在10:48
@mirabilos op明确表示,对于CC0或非许可是否有效存在一些争议,不建议使用它们。
–叙利亚
15年12月17日在11:11
@assylias可以肯定,但是尽管他提到争议,但我可以确认放弃版权countries对于某些国家的公民work work跨越国家边界(因为《伯尔尼公约》仅涉及版权保护,这是常规OSS许可证使用的工具) 。
– mirabilos
2015年12月17日在11:15
即使在美国,也很难或不可能将某些内容设置为公共领域-基本上,公共领域仅适用于政府作品或版权期限已过期。 CC0意味着尽可能地放弃权利,并以宽松的许可证作为后备。但是,并非所有人都对此感到满意。例如,自由软件基金会(Free Software Foundation)推荐它,但开源倡议(Open Source Initiative)不推荐它。
– jkdev
2015年12月17日在11:23
@jkdev并非由Creative Commons以当前格式建议,这就是OSI无法推荐的原因(因为CC从OSI批准过程中撤回了它)。
– mirabilos
2015年12月17日14:24在
似乎他们正在发送一些混合消息。这来自CCO常见问题解答:“ CC0适用于最大程度地将您在计算机软件中的版权和相关权专用于公共领域...与CC许可证(不应用于软件)不同,CC0与许多其他软件兼容软件许可证,包括GPL。但是,CC0没有得到开源计划的批准,并且没有许可或以其他方式影响您可能拥有的任何专利权。您可能要考虑使用批准的OSI许可证...”
– jkdev
15年12月17日在17:08
只是想补充一点,一个人也可以通过复制来学习...只要一个人知道复制的内容。有时,即使您自己(在帮助下)自行完成某些操作,也很难做到与众不同。
– Trilarion
15年12月18日在20:46
@Trilarion非常正确。开发人员经常使用中国墙技术/无尘室设计来编写非侵权软件是有原因的...在看到代码后,不一定总是无法记住代码。
– jkdev
15年12月19日在23:43
关于第6组呢?不想花40分钟弄清楚他们要做什么才能复制3行代码的程序员。
–罗宾·戴维斯(Robin Davies)
15年12月27日在18:06
评论
非常感谢。 <31月1日后对现有代码的编辑如何工作?是否存在半途而废的状态,其中代码块的一部分在一个许可下,而另一部分在另一个许可下?
我们如何定义代码?如果我写“代码”但不将其放在代码块中,是否算作代码?另外,Math.SE网站上的数学块之类的东西又如何呢?我猜这将归CC-By-SA管辖吗? (相关元信息)
废话,废话,废话。这甚至不是“您如何考虑更改许可证”,而是“我们将更改许可证”。这不是您的工作,您无权决定。真可惜。
@HansPassant在此之前获得的代码可免税:“根据CC-BY-SA的条款,在2016年1月1日之前提供的代码将一如既往可用”
您说您想知道我们的想法,但是无论如何它将于1月1日生效。我支持此更改,但是冒充您关心我们的想法而冒犯了。
@JeffreyBosboom如果我们要“做到这一点”,我们就会有,然后宣布。这篇文章的重点是在我们获得反馈之前。可能用措辞可以使这一点更清楚,更好。
我不喜欢代码不需要归因。我倾向于选择CC-BY作为我在Internet上其他地方发布的内容(可以选择)的内容,而Apache 2.0是我的首选软件许可证。两者都需要注明出处。真正的MIT要求通过许可进行归属(它要求许可(包括版权行)包含在使用许可的项目中)。实际上,我在SO上编写的文本需要归因,但是任何人都可以使用我的代码...不喜欢这样。
如果您获得了MIT许可证并放弃了版权声明要求,还剩下什么?实质上不是具有免责声明的公共领域吗?
我认为这是人们花时间的事情,这是荒谬的,是常识或公共领域发生了什么?如果我在街上问你一个问题,而路过的人却听到我不在乎的答案。在stackoverflow上发布东西,无论是文本,代码还是与从屋顶喊出来的东西基本相同的东西-除了公共领域/无许可证之外,它还能是其他东西吗?
@samthebrand摆脱要求归因的理由是什么?
@ChristofferBubach:是的,旧的“它在网络上,因此是公共领域”胡说八道。请不。我知道的任何法律理论都没有对此提供支持,这是有充分理由的。
@samthebrand因此,我们只是通过获得要求来奖励他们?在我看来,这不合适。
当某人发布他们不拥有版权的代码(例如,解释其答案可以解决的第三方代码中的错误)时,会发生什么?如果用户将其归因于SO帖子,则有可能弄清楚发生了什么(IANAL,但无论价值多少,现在都可以使用“诚实”);没有署名,看起来代码只是被复制了。 (另外,当您使用许可证时,引用第三方代码时可能有助于阐明发布者的义务。)
因此,@ ruffin实际上并不在任何地方都存在公共领域,这是CC-0这样的许可证试图攻击的问题之一。但是除此之外,告诉人们仅通过在此处发布内容,他们就放弃了对所撰写内容的著作权,确实不是很酷。大概,如果您要在Stack Exchange上发帖,您希望其他人从您所写的内容中受益...但这并不意味着您希望他们将其作为自己的工作来传播!没有人应该做出这种折衷。