首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我不被开放源代码“污染”时学习和编写代码的策略?

当我不被开放源代码“污染”时学习和编写代码的策略?
EN

Stack Overflow用户
提问于 2009-01-07 20:39:07
回答 7查看 407关注 0票数 0

我在一家公司工作,规则基本上是(据我理解),你不能使用任何代码,除非(a)你自己写代码,或者(b)有一些明确的补偿条款来保护你使用任何其他代码(比如开源代码)。我发现这使我的编码很困难。

例如,书中的编码示例基本上是使用“原样”的。Microsoft代码示例使用"as-is“。关于编码的博客文章使用的是"as-is“。有几个站点有代码示例(包括SO),这些代码都是由您自己使用的。没有对知识产权诉讼、诸如此类的任何保证作出暗示或赔偿。

基本上,我被限制在使用Asp.Net和.Net框架,什么也不使用,并且禁止我的眼睛意外地捡起我没有创建的东西(ok...that可能是我对规则的肛门解释;-)。

我觉得这很困难,因为我认为学习代码的很大一部分是阅读其他代码。阅读有代码的博客,阅读有代码的书籍,查看编码样本,使用SDK示例中的代码等等。此外,我认为使用人们已经证明是一种很好的解决方案或模式,并免费提供给其他人使用的代码是安全的。我不会以为我能自己编码所有的东西。我一定要站在别人的编码肩膀上才能达到一定的高度。

这可能是我也不太理解许可。从公司的角度(我想),他们不想承担任何风险,被起诉的知识产权侵权。

我的想法是你必须权衡风险。从一本书中提取代码片段是低风险的。将开放源码库中的代码合并可能是高风险的。我说,根据你愿意承担的风险来做决定。

有没有人有在这种情况下或类似情况下工作的经验?这是一件罕见的事情,还是在某些行业中很常见?外面有其他人和我一样处于同样的位置吗?

任何洞察力或指导都将不胜感激!谢谢!

编辑:,谢谢你的回复!为了澄清一些事情:我不是在提倡窃取代码。我指的是具有某种公共许可证的代码,它允许以其定义的合法方式使用它。关键是在使用代码时公共许可证中没有indemnification。这意味着你使用它是出于你自己的法律风险(和其他风险)。如果有人起诉您使用代码的开源项目,您也可能被卷入诉讼,因为您正在使用该代码,即使它拥有公共许可证。

2005年,微软向其合作伙伴承诺,微软将保护他们免受知识产权诉讼,以此来与开源供应商竞争。http://www.microsoft.com/presspass/press/2005/jun05/06-22PartnerIndemnificationPR.mspx

因此,即使因侵犯知识产权而被起诉的风险极低,这也是一个非零的概率。因此,我不能使用其中任何一种。即使它有某种公共执照。:-(

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-01-07 22:08:31

所谓“赔偿”,我想他们的意思是保证这些代码没有版权或专利,或者是他们不知道的商业秘密负担,或者如果出现类似的情况,有人愿意赔偿他们。我从未在一家担心这件事的公司工作过,我以前也没听说过这样的公司。

现在还不清楚你到底想要什么,除了同情(我也很同情陷入企业愚昧之中的人)。如果您担心书中的示例代码,那么这一政策听起来是相当严格的。这是一个糟糕的政策,会阻碍你,但我不知道你能做些什么。不像乔尔的博客文章那样咕哝地把事情做完,听起来你不可能在没有明显违反公司政策的情况下聪明地开始做事。

不知道你的情况,我的建议是找另一份工作。这一次肯定会扼杀你的专业成长,而一家有这种政策的公司对此不太可能是合理的。

)如果你能向他们保证没有危险,那就太好了,但那不是真的。人们在版权问题上撒了谎,尽管开源项目往往不这样做,而且只有傻瓜才会明确地声称,在美国,一大块代码并不侵犯任何专利;即使它是在软件专利首次授予一年前编写的,但这只是法庭斗争的好理由,而不是避免法庭争斗。GPLed软件实际上比BSD软件更好,因为它需要下游的一些专利许可,但它不能处理第三方专利。当然,如果他们那么担心被起诉,写内部软件是不可能解决的。这可能侵犯专利。)

票数 1
EN

Stack Overflow用户

发布于 2009-01-07 21:06:26

“因侵犯知识产权而被起诉的风险”并不是真正正确的思考方法。这不是“冒险”的事。

任一

  • 您有许可证,可以使用源代码。没有风险。你有驾照。不可能有诉讼。--

  • ,你没有执照,你违反了。实际上,你会被起诉。这里也没有风险。你侵犯了某人的版权(甚至更糟)。--

由于各种奇怪的原因,公司不愿开放源码。诉讼风险不是其中之一。

我听说过的事。

如果它有病毒怎么办?如果它“崩溃”了,如果它不像advertised?

  • What一样工作怎么办?我们起诉谁?

这些都不是“风险”项目。它们是“尽职调查”项目。大多数情况下,它们很容易解决:选择用户足够多的产品,让其他人在您之前检查代码;QA开放源码,就像您自己的人输入了它一样。除了一个。

这让我们找到了真正的原因。提示:这不是“诉讼风险”。

当你没有在开源上进行尽职调查时,没有人可以起诉。

大多数商店没有真正可靠的配置管理或QA策略(在法庭上作为最佳实践的那种)。在完成这些工作之前,他们不敢考虑引入您真正需要可靠的QA和配置管理的开源。

票数 5
EN

Stack Overflow用户

发布于 2009-01-07 20:47:12

我认为您的公司真正担心的是,您直接复制可能存在许可问题的大量代码片段,如果他们被发现使用该代码,就会向该公司提出一个法律问题。但是,您可能会阅读博客或其他未经许可的代码,并发现针对您正在处理的特定问题的解决方案。在这种情况下,您最好重写代码(即查看解决方案并复制它),而不是仅仅复制代码并对其进行修改。在我的公司,这是他们通常推荐使用的非专有代码。

同样,对于少量代码(例如缓存的标准实现),每个人都以相同的方式实现,每次您的公司都不太可能害怕使用外部代码,只要您一定要仔细地测试它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/421975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档