为什么使用免费软件(封闭源)而不是开放源代码?


19

我想知道为什么有些人将软件发布为免费软件,却没有发布源代码。这是为什么?我可以想到一些原因,但是其中大多数并没有多大意义。您为什么要保持源代码关闭,但可以免费使用该程序(免费,而不是像自由那样免费)?


8
也许他们只是不喜欢它?
FrustratedWithFormsDesigner

Answers:


52

嗯,我想到的是

  • 因为您想保留某种对产品的控制权
  • 因为您想保留将来对产品充电的可能性/权利
  • 因为您为源代码感到羞耻
  • 因为您要确保自己对产品有信誉,并且不会被盗用或在其他项目中重复使用(在发布代码时始终存在风险)

11
也许我很愤世嫉俗,但是我必须相信羞耻是绝大多数情况下的罪魁祸首。
亚当·克罗斯兰

7
羞耻是暂时的。一旦社区从最初的签到中清除了所有的麻烦,其他人仍然会将该工具称为“ Jane Doe所写的东西”(希望如此)。
Job

大部分可以通过许可条款解决。至少它将是开源的(不是免费软件)。
Arnaud Le Blanc

3
我要补充一点:因为您为自己的源代码感到骄傲,以至于您不希望其他人将他们的混乱摆在其中。
mouviciel 2011年

1
@ user11715:阻止任何人获取代码,对其进行少量重构并发布商业产品都不会因任何类型的许可条款而停止。
JBR威尔金森

23

我最喜欢的生产力工具之一是免费软件。我曾问过作者一次有关该来源的信息,他说他无法发布该信息,因为其中包含许多属于其雇主的专有代码。因此,我想他的雇主不介意在免费工具中使用它,而是在他们的商业产品中也使用它,并且他们不想将代码泄露给它。


您能说一下免费软件工具是什么吗?只是好奇。
Joe Internet,

@Joe:Sampling Profiler,它是Delphi应用程序的非侵入式探查器,也是我发现的解决瓶颈的最有用工具。
梅森惠勒

1
嗯,您刚刚承认使用Delphi吗?:-)这是我的免费软件选择... softintegration.com/products/chstandard
Joe Internet,

8
@乔:承认吗?您让它听起来像是要丢脸的事情。如果您真的相信,请确保与我的竞争对手分享您的观点;如果他们听,它将进一步增加我的竞争优势。;)
Mason Wheeler

@梅森·惠勒-不,我同意你的看法,除了价格以外,对德尔福一无所有。不过,许多“摇滚明星开发人员”不同意您的看法。所以...我只是有些轻松愉快的幽默。
Joe Internet,

8

我在这里还没有看到-因为源代码本身具有价值,与整个应用程序分开。

如果您已经编写了有用的库,即使您打算放弃的项目中也很可能会使用它们。这并不意味着您愿意放弃该库的源代码。如果没有这些库,其余的源代码可能一文不值。

如果您放弃了几年来开发的库源代码,那么您就在放弃竞争优势-很有可能给竞争对手。

不过,我认为通常很重要的一件事-该代码可能包括在过去的几年中投入了大量时间,精力甚至情感的图书馆。就像邀请数千人阅读我们的日记一样。


6

Pekka 很好的回答,我要补充一点,公开源代码还可能增加暴露安全漏洞的风险,取决于谁注意到了这些漏洞,这可能是优点还是缺点:)


3
..这是开源的一个很好的理由,这样您就可以从OSS社区的安全专家中受益
JBRWilkinson 2011年

6

到目前为止,有2个不错的答案,但这是我能看到的原因:

  1. 麻烦多于其价值。
  2. 他们使用免费增值模式
  3. 不要觉得他们应该

对于#1,如果产品是免费的,并且用户没有从中获得任何收益,则他们可能不希望托管源代码并确保在进行更改时确保对其进行更新。现在,我知道这并没有那么大的麻烦,但谁知道呢,它可能足够大,可以阻止一些人

对于#2,如果他们使用免费增值模式,则发布源基本上将使人们能够添加他们收费的功能并花费开发人员金钱。

对于#3,我认为Windows程序不开源是(各种)传统(没有事实支持我,所以我可能是错的)。Windows是一个封闭源代码平台,因此不应期望它发布免费的源代码。最初的问题没有特别提到Windows,但是在那儿我可以看到大多数的免费但不是开源软件。


无论如何,免费软件和共享软件在Mac上也很常见。
David Thornley

3
#1绝对是重要的一点。适当地使开源成为一件
大事

1
@Pekka:如果自从我上次戳后Sourceforge以来没有改变,那么许多F / OSS开发人员将完全忽略。
David Thornley

@大卫哈哈哈!真正。
Pekka支持GoFundMonica

2

我有几个免费软件应用程序,我将不提供源代码。主要原因是因为它们与商业应用程序共享大量代码。考虑一下像文档查看器之类的东西……仍然需要其商业堂兄(即文档创建者)的渲染系统。另一个原因是某些应用程序还使用非开源的第三方组件。


2

我提供开放源代码是一种社区服务理念,也是一种组合理念。

如果我是直接销售软件-我不知道,我在该公司销售的产品的位置我使用的,不是我-我会乐意为我的软件销售为封闭源代码。通常,让竞争者查看我的代码并降低我的竞争优势并不符合我的最大利益。

换句话说,我不认为将软件作为开放源代码发布在道德上势在必行。


1

尽管在恶意软件清除领域人们普遍认为“通过隐匿性进行安全性保护”在编写分析/删除工具的人与编写聪明又聪明的恶意软件的人之间是一场持续的猫捉老鼠的游戏。有时我们会免费发布一个工具供用户使用,但会尝试混淆该工具的操作,以使恶意软件作者更难击败失败工具:)

对于大多数软件来说,这显然是非典型的,但这是我一直都在看到的东西。

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.