Questions tagged «open-source»

有关免费提供原始源代码并可以重新分发和修改的软件的问题。


3
GPL可以暗示为衍生作品吗?
共有三个软件项目:A,B和C。 A发布给任何人,并根据GPL许可。 B扩展了A,也已发布,但没有许可证信息或被LGPL错误地许可。基本上,它不是GPL违反了A的许可。B的源代码仍然可用。 C扩展B。C可以在GPL下发布吗?动机是“ A是GPL,任何衍生产品也必须是GPL,所以B也是GPL,C也可以是GPL”。

3
在公司内部不能使用哪些类型的开源许可证?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 最近,我了解了一些针对Microsoft Visual Studio的很棒的开源附加工具和库。这些工具可以帮助您提高生产力。库将链接到公司代码库。 我已经在电子表格中列出了所有这些很酷的工具和库,并且我将逐一列出每个许可证所依据的许可证类型。到目前为止,在很酷的库中,我看到了MIT,BSD和Apache License Version 2.0。但是,将来可能还会有更多。 我如何找出(或者更好的是,您可以列出)与公司内部使用不兼容(不向公司外部分发)的流行许可证?还要谢谢您,您能否说或指出一个解释。我不是律师,阅读这些许可证的精美字样让我感到头疼。 我想准备解释为什么可以使用允许的许可证。

2
当有人分叉我的同名开源项目时该怎么办?
我有这个GPL项目,卡住了大约一年,我真的很喜欢这个主意,然后有人将它分叉并更改了整个内容,但是使用了相同的名称,我不介意代码(毕竟是GPL)但我喜欢这个名字。这种情况的礼节是什么? 该项目将使我自己受益,我喜欢它,但是这个名字没有被出售。 编辑:我知道如果我与作者联系,他会理解并更改名称,但是我现在没有时间从事该项目,因此,我不想成为我的人们(小型社区)的“名称巨魔” ),那么这一次就可以了,我的问题更多是关于分叉的礼节。如果该项目显然被放弃,他们可以分叉使用相同的名称,还是必须获得一个新名称?

4
如何从头开始重写我拥有版权的代码,这样我就可以在工作中使用它而又不会失去第一版的权利?
好吧,我不想使其开源!那就是问题所在。但是我确实想在当前工作中使用它。公司不同意与我签署任何其他许可,并告诉我从头开始重写所有内容,以便他们拥有它。:( 因此,我如何以安全的方式做到这一点,以便公司以后不要再回头告诉我,我正在使用为他们编写的代码,该代码与我编写并拥有版权的第一个版本相似,在我的个人项目上还是在其他工作上? 您如何在不使其看起来像第一个版本的情况下重写第二个版本的哈希图?这对我来说听起来有点困难。:(

1
分叉代码库的最佳实践
我有一个关于分叉代码的最佳实践的问题。 我已经获得了Creative Commons Attribution-NonCommercial-ShareAlike 3.0许可的代码库,并对其进行了重大更改以适合我的需求。我觉得我的版本可以使其他人受益,并希望重新分发它。 我不确定再分配有哪些自由或可以接受的自由。我可以重命名项目吗?我应该启动新的v.1还是从原始版本号继续?对原始作者应有什么适当的归属?在发布之前,我是否应该咨询作者并寻求许可(尽管他已经知道了)?

4
升级时无法修补开源软件吗?
最近,我在集成到应用程序中的开源软件包中遇到了一个令人讨厌的(已确认)错误。根据公共问题跟踪工具,此错误已在该软件的最新版本中得到解决。 有时您需要该错误修复程序来避免对特定模块进行昂贵的重构,但是由于技术和/或政治原因,您将无法升级到最新版本。 在检查所做的代码更改时,此修复程序似乎很简单,我认为可行的选择是自己修补代码并重新编译我当前批准的软件版本,但是批评者希望证明这种情况几乎总是一个坏主意。这是有风险的,并且会带来麻烦的复杂性。 在他们眼中,因为此代码更改仅由我们完成,仅供我们使用,所以它必须是代码库的一部分,这意味着,与其将开源软件作为第三方依赖项引入,我们还必须将其作为一个新项目引入并纳入将其自动构建到我们的构建过程中。 对我来说,我认为这是错误的做法,因为我们会将他们的代码从其源代码控制存储库中提取到我们的代码中,并且在此之前发生的任何代码更改背后,我们都失去了历史。同样,对于需要进行如此小的代码更改而言,这似乎太复杂了。 在这种情况下执行上述操作会不好吗?如果是这样,那么当开源需要改变但仅出于内部利益而改变时,理想的情况是什么?

3
如何在我的开源项目中隐藏机密数据?
我有一个开源项目,可以将文件上传到多个文件主机中的DropBox。现在,我正在抓取DropBox的屏幕。要使用他们的API,我必须对他们提供给我的SECRET KEY进行硬编码,以进行OAuth身份验证。但我担心,如果任何人都可以清楚地看到该密钥,它就不会是秘密的。 恶意软件的人有可能使用我的密钥将病毒上传到用户的帐户(已经允许访问我的应用程序),该帐户会传播到他们的PC(如果启用了桌面同步)和其他人的PC(如果他们有共享文件夹)等等。:O 我发现这个未解决的问题与我的问题相同。 但是我想大体上知道在公开源代码项目中如何隐藏机密数据。 我有一个主意。 源代码中是否有占位符,例如“ <SECRET KEY HERE>”,并且仅在构建要发布的二进制文件时才占位?(y!) 有什么体面的主意吗?

5
如何最好地管理公司机密研究代码的开放源代码发布?
我公司(简称为Acme Technology)拥有大约一千个源文件库,这些文件最初来自其Acme Labs研究小组,在一个开发小组中孵化了几年,最近已提供给少数客户。非公开。Acme已准备好向开源社区发布大约75%的代码。其余25%将在以后发布,但是目前,要么尚未准备好供客户使用,要么包含与未来创新相关的代码,他们需要将这些创新保持在竞争对手的控制之下。 目前,该代码已使用#ifdefs格式化,该代码库允许相同的代码库与预生产平台一起使用,一旦开源,该研究平台将可供大学研究人员和更广泛的商业客户使用,同时可用于实验和原型设计以及与未来平台的向前兼容性测试。对于我们小组的经济(和理智)而言,保持单一代码库被认为是至关重要的,因为他们很难同时维护两个副本。 当前库中的文件如下所示: > // Copyright 2012 (C) Acme Technology, All Rights Reserved. > // Very large, often varied and restrictive copyright license in English and French, > // sometimes also embedded in make files and shell scripts with varied > // comment styles. > > > ... …

6
将未完成的项目的代码放在github上的优点和缺点是什么
我要说明的一个项目是我打算通过githubs作为开源发布的项目。从一开始就将代码放在github上有什么好处,而不是等到项目处于工作状态才发布。 如果重要的话,这个特定的项目是一个C#应用程序/服务,并且我只有一个免费的github帐户(因此我无法将其设为私有,然后稍后再撤回封面)

11
在商业软件产品中使用开源代码的智慧
我正在我的ASP.NET Web应用程序(特别是dapper)中使用一些开源代码。管理不是狂热者,因为开源以前被视为一种困扰我们的风险。显然,以前的开发人员在开源组件出现故障之后不得不重写东西。 优点似乎是: 它为我做了很多事情,否则会涉及很多样板代码或Microsoft推荐的但较慢的解决方案(实体框架)。 缺点: 它非常复杂,以至于如果它突然在生产中失败,我将很难修复它。但是,它在比我的流量更高的站点上使用,因此我认为它最终不会成为项目的高风险部分。 这有什么共识?在我的项目中使用自己不了解/理解的开源代码是否明智?

4
是否可以从开放源代码项目中学习算法,然后在封闭源代码项目中实现该算法?
参考开始这一切的帖子 为了澄清我提出来的原始问题,我提出了这个问题。 如果您从开放源代码项目中学习算法,可以在单独的封闭源代码项目中使用该算法吗?如果不是,这是否意味着您不能再使用该知识?如果可以使用它,那是什么情况? 只是为了澄清,我不是想逃避许可证,否则我不会一开始就问这个问题。

7
您如何应对偷窃?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我最近一直在入侵我几个月前开始的项目。这是一个简单的想法。允许人们收集他们在Github上共享的代码所取得的成就。 因此,我开始了这项崇高的尝试,试图吸引我的朋友获得编码和帮助。我将所有的空闲时间都花在了启动,运行和构建它上。 输入音乐延时 我的朋友们尽可能地参加。可以想象,我对它的成功非常执着。 然后,正当我为发布做准备时,一家公司发布了非常相似的产品。当我听到我的小计划被其他人释放时,我感到非常沮丧,但这并不是我拥有这个想法的权利。我吞下了自己的骄傲,并向他们开了一封电子邮件,说出一些类似的内容 嘿,我一直在做类似的事情。我们应该谈谈!这是超酷的东西。 我们交谈,我感到他确实不想合作,尽管我们诚挚地允许彼此访问另一个站点。 过了几天,我看到一些关于成就的描述出现在他们的成就站点上。原本与他谈话以后,我是要送他们一个很好的措辞电子邮件并说明我的计划我的成就系统,并调用它退出。一旦看到他们的成就描述出现在他们的网站上,我就不能放手。我决定反击。 我已经开源了该项目,只是为了公平地竞争环境,这使我从处理竞争中解放了出来,因为我只是在做兼职工作。 这不是我每次都可以采取的行动,我想知道如果将来我自己处于这个位置,我有什么选择?诉讼?严厉的电子邮件? 刚起步时,我正在寻求有关如何在没有律师的情况下解决此问题的建议;还是这是现实世界中事物发展的方式?

8
我创建了一个基于LGPL项目的程序,并且不允许发布源代码
我认为LGPL是许可许可证,就像MIT,BSD或Apache一样。但是今天我读到,仅允许从封闭源代码链接到LGPL(库等)-除此之外,它是copyleft-因此我必须发布基于LGPL程序的代码。 我为雇主创建了一个基于LGPL程序的程序,但对该程序进行了相当大的修改。当然,不允许将修改后的源代码放在那里。同时,我必须分发(对吗?)。 因此,我想知道是否有解决方法,因此我可以保留此封闭源代码(希望我可以发布源代码)-有什么建议吗? 我的想法:我可以将原始LGPL应用程序的大多数功能放到外部库中,从头开始编写核心可执行文件,但可以参考该库中所有未修改的功能吗? 当前,所有内容都在.jar文件中(它是Java / Swing)。如果您认为我的想法在法律上/技术上是可行的-分开我写的内容和原著是多少?我不是最精通Java的人。

6
从一个废弃的开源项目继承一个新的开源项目的正确/礼貌的方法是什么?
我的团队只是试图与code.google.com上一个旧的开源项目中的一些人联系。我们告诉他们,我们希望加入他们的项目并致力于该项目(至少是该项目的某个分支),但是没人响应我们。我们尝试了所有人,所有者和提交者;没有人以任何方式活跃,也没有人回答。 但是我们有一些代码要提交,我们真的很想继续该项目的工作。因此,我们需要创建一个新项目。我们为它想出了一个名称,该名称与我们要继承的项目的名称接近但不重复。我们应该如何进行第一次提交,提交消息应该是什么?我们是否应该仅将其代码复制到我们的存储库中,并加上诸如“我们继承了此代码,我们在某类许可下就在这里找到了它……现在我们将其升级为此严格程度更高的许可...”?还是我们应该只使用他们的代码作为第一次提交,并进行更新,说“我们继承自……我们进行了如此多的更改……”?

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.