基本案例应该是开放源代码吗?

时间:2008-09-26 01:58:45

标签: open-source

我作为软件开发人员出现在一个由拥有封闭源软件的大公司主导的专有世界中 - 它没有受到质疑。随着我职业生涯的发展,互联网变得越来越多,我接触到越来越多的开源软件。

回顾大多数图书馆,我不是在谈论应用程序级代码,而是我们为雇主编写的实用程序,很少有直接的竞争优势,甚至更少内在代表你会考虑的内容知识产权。越来越多的库,框架和实用程序具有开源等价物。现在,我和我一起工作的开发人员在开始实现这样的代码之前首先寻找现有的库是很常见的。

这已经发生了很大变化。许多图书馆可能因缺乏维护而枯萎作为开放源代码,如果他们这样做,我的雇主也不会受到影响。如果他们兴旺或至少吸引了提交,那么这些雇主就会受益 - 这是我现在的雇主所发生的。

现在,看看我们面前的情况,我开始认为对于我们将要编写的大部分库和框架,我们应该假设它们将成为开源来创建它们。那对于图书馆,公用事业和框架而言,这应该是基本情况,而不是假设它们将被关闭,然后你必须努力使它们开放 - 事实证明,事实上它往往是更多的工作(获得批准,进行评审和清理)。

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

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

感觉这是一种趋势,至少在图书馆和框架层面 - 在我看来不是在应用程序层面。这是一个多元化的社区,你有什么看法?

1 个答案:

答案 0 :(得分:1)

我认为开源代码总是一件好事(只要它不会妨碍利润,如果它是可以/将要进行暴利的代码)。我见过的开源的最大好处之一是,如果用户想要实现一个功能,他们可以自己完成。它也为顾客提供了一种自豪感 - 如果你帮忙做了什么,为什么要用其他东西?

从商业角度来看,这里有一些技术可以获得资金,同时仍然可以获得开源的好处:

  • 如果您担心竞争对手使用您的代码,请编写一个自定义许可证,允许您,但没有其他人可以在专有应用程序中重复使用该代码。例如,你可以根据GPLv3许可,但有额外的条款允许你使用它,好像根据LGPL的条款,并允许代码与其他GPL产品集成(这样它们可以混合,一个重要的OSS的一部分)。这可以让你获利而不是你的竞争对手,而社区也会受益。
  • 双重许可类似于第1点,但它使您难以使用用户提交的代码(因为它将受OSS许可证的限制,仅此一项)。您也可以混合使用该方法,如果您打算在商业上出售该库,这将非常有用。
  • 而不是只卖代码,卖掉其他财产。我知道有一款游戏是成功的(至少是一个利基独立游戏,无论如何),通过开源代码,但销售图形和水平集。