【问题标题】:Should the base case be Open Source? [closed]基本案例应该是开源的吗? [关闭]
【发布时间】:2008-09-26 01:58:44
【问题描述】:

我在一个由拥有封闭源软件的大公司主导的专有世界中作为一名软件开发人员孵化——这没有受到质疑。随着我事业的发展,互联网变得越来越重要,我接触到的开源软件也越来越多。

回顾大多数库,我不是在谈论应用程序级代码,以及我们为我的雇主编写的实用程序,其中很少有直接具有竞争优势的内容,更不用说本质上代表您会考虑的内容知识产权。越来越多的这些库、框架和实用程序具有开源等价物。现在对于我自己和与我一起工作的开发人员来说,在开始实现此类代码之前首先查找现有库是很常见的。

这已经发生了很大变化。这些库中的许多可能由于缺乏维护而作为开源而枯萎,如果他们这样做了,我的雇主也不会受到影响。如果他们蓬勃发展或至少吸引了投稿,那么这些雇主就会受益——这发生在我现在的雇主身上。

现在,看看我们面前的情况,我开始认为,对于我们将编写的大部分库和框架,我们应该在假设它们将成为开源的前提下创建它们。对于库、实用程序和框架来说,这应该是基本情况,而不是假设它们将被关闭,然后你必须努力使它们打开——事实证明,这往往是事后要做的更多工作(获得批准、执行审查和清理)。

如果基础案例是开源的,我认为会有好处:

  • 开发人员知道代码将被同行看到,未来的潜在雇主可能会在文档、测试和设计方面更加自律,从而使代码本身变得更好。只要知道世界将能够看到您的代码,就可能会改变您愿意削减的角落。这应该有利于赞助开发的组织。
  • 个人开发者将拥有更大的库和可重用代码,以便在他们的所有项目中利用,尽管这对个人开发者来说比赞助组织更有利
  • 组织将更有效地分摊开发成本,这是开源的核心前提,但如果以开放为基本案例,它将更加广泛
  • 目前该组织吸引了某种类型的开发人员
  • 它不能保证,但它为潜在开发人员提供了进入面试过程的能力,他们已经熟悉公司实际使用的工具和源代码

感觉这是一种趋势,至少在库和框架级别 - 在我看来不是在应用程序级别。这是一个多元化的社区,您有什么看法?

【问题讨论】:

    标签: open-source


    【解决方案1】:

    我认为开源代码总是一件好事(只要它不妨碍利润,如果它是可以/将要进行暴利的代码)。我见过的开源的最大好处之一是,如果用户想要实现某个功能,他们可以自己实现。它也让客户为此感到自豪 - 如果您帮助制作了某些东西,为什么还要使用其他东西?

    从商业角度来看,这里有一些技巧可以在获得开源收益的同时获得收益:

    • 如果您担心竞争对手使用您的代码,请编写一个自定义许可证,允许您但不允许其他人在专有应用程序中重用代码。例如,您可以在 GPLv3 下获得许可,但附加条款允许您像根据 LGPL 条款一样使用它,并允许代码与其他 GPL 产品集成(以便它们可以混合,一个重要的OSS的一部分)。这可以让您获利但不会让您的竞争对手获利,同时社区也会受益。
    • 双重许可与第1点类似,但它使您难以使用用户提交的代码(因为它将受OSS许可和单独的约束)。您也可以混合该方法,如果您打算将图书馆用于商业销售,这将很有用。
    • 不只是出售代码,而是出售其他财产。我知道有一款游戏通过开源代码但出售图形和关卡而获得了成功(无论如何,作为一款小众独立游戏)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-23
      • 2014-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多