为什么不是所有政府资助的软件都是开源的?

时间:2008-11-04 16:07:55

标签: open-source

shs's question更进一步......为什么并非所有政府资助的软件都是开源的? 我可以看到为了安全目的排除了一些,但其余的?我们不是因为纳税人已经支付了费用吗?政府没有权利,只有人民,所以政府如何获得许可呢?谁是被许可人?由于政府是人民,这将是公众。


对于那些认为政府有权利的人,我建议你阅读The United States Constitution

19 个答案:

答案 0 :(得分:13)

我的一厢情愿是,如果软件是由政府雇员创建的,或者是由承包商为政府创建的定制软件,那么它应该自动处于公共领域(就像所有政府公布的文件一样)。如果政府从公司购买软件,即使它包含一些定制,它应该保持封闭源。你遇到了一个灰色区域,它是由政府的承包商开发的,但随后可以作为商业产品出售(如果有人愚蠢到购买为政府创建的软件......请参阅The Daily WTF以获取参考资料)... ...我不知道如何解决这个问题,但尽管我对FOSS的渴望,我认为在这种情况下我最好在业务方面犯错。

我还认为政府应该被要求使用现有的开源软件,如果它是闭源解决方案的可行竞争者。它可以节省一些税收,并促进政府的开放性(不是软件意义上的,虽然这也很好)。

我们如何实现目标? :d

答案 1 :(得分:10)

我为政府的一部分工作。

首先,让我告诉你,你不想看到管理政府的垃圾。

代码中有很多“漏洞”我终于支持了。无需向那些会对他们造成严重破坏的人宣传他们,也没有足够的时间或资源来解决这些问题。

政府机构关注金钱。 IT部门通常不会得到足够的资金。政府机构很难与私营公司竞争优质人才。摆脱糟糕的程序员也更难。如果有一个完整的工作人员,有些人是负重,没有办法雇用更多或更好的人。

要求由政治家思考,并且从不清晰,简明或正确 截止日期甚至更糟,因为现在您需要遵守或支持影响数千或数百万人的法律。因此,糟糕的代码,更糟糕的标准,大量的创可贴。

抱歉,没有开源。

是的,我通常会从外部支持这项倡议,但这只会乞求来自外部个人/团体/政府的恶意!

答案 2 :(得分:5)

现在有很多政府资助的开源,尤其是来自Sandia等政府实验室的东西。这不难发现。

政府反对开源软件的论点是,编写商业软件的人的税收资金被用来制作竞争产品。这与人们在自己的时间或自己的钱上做到这一点完全不同。想象一下,如果你有一家酒店,那么这个城市买了一块邻近的房产,把酒店放在上面,然后开始以较低的价格出售房间(哦,实际上那种事情happen)。

答案 3 :(得分:5)

听起来不错。我 - 作为非美国公民 - 然后获得美国纳税人支付的开源软件:)

答案 4 :(得分:4)

这里有很多好主意,但最好的答案是最简单明了的。

选民对政府的开源软件的需求不足。

我认为一个良好的开端是强制使用开放文档格式。 开放标准使开放软件更加可行。

那么也许有一天我们可以拥有我可以信任的电子投票机来计算我的投票。

答案 5 :(得分:3)

答案 6 :(得分:2)

你真的想要一个地狱火导弹的目标和跟踪软件出网吗?保密是你知道的等式的一部分......

答案 7 :(得分:2)

这取决于你是在谈论联邦政府还是地方政府,但答案是一样的。

  • 政府不是靠利润驱动,而是靠创建公共服务来推动,因此使用开源来降低软件许可成本的理由并不像私营部门那么重要。 / p>

  • 政府在适应新趋势方面进展缓慢。这是设计,你希望政府稳定。保持购买专有软件的现状是政府更安全的选择。

  • 开源软件已经存在了很长时间,但广义上需要支持它的临界质量(即,我所在地区是否有足够的人才库来雇用人员来支持这项新技术)是相当新的。

  • 政府受到了解如何使用该系统的人的影响最大。专有软件公司对获得政府合同非常感兴趣,并利用其影响力相应地游说政府。

关于后续问题:

  • 政府的工作是为人民提供服务。如果专有软件提供比开源替代品更好的服务,政府就不应该被要求选择劣质解决方案。

  • 政府确实拥有权利。它是一个法律实体,签订具有法律约束力的合同。这对于政府与私营部门合作是必要的。政府将持有许可证(例如)。

答案 8 :(得分:2)

这里似乎有一些非常天真的观点,关于有多少商业软件没有/没有依赖政府项目的资金。很少有软件产品不会在某处包含政府资助的代码,无论是增强功能,修补程序,还是错误修复,或者在许多情况下从第一版开发版到第一版发行版。

在大多数情况下它都深深扎根 - 你永远无法切出政府的作品。

如果这项提案获得通过,那么剩下的产品就很少了。至少来自美国公司。

答案 9 :(得分:2)

该问题简要提到了安全问题,但这可能是政府制作或政府赞助的软件无法开源的主要原因。作为一个整体,军方运行了许多为特定目的定制和编写的软件,并且源代码的暴露将暴露机密信息。您可以提出并论证相关信息可以被编辑,但这并不总是可能的,就好像您知道软件的用途,您可以在不必知道确切名称的情况下获得有关信息的信息(即机身的实际操作包络) 。

答案 10 :(得分:1)

美国政府开发的软件不是开源的主要原因是商业软件公司必须与使用公共资金开发的免费软件竞争。美国政府生产的少量开源产品不会与同等商业产品竞争。

答案 11 :(得分:0)

对于广泛适用的美国政府赞助的项目,我通常会看到这样的许可证:

特此授予任何获得本软件及相关文档文件(“软件”)副本的人免费许可,以无限制地交易本软件,包括但不限于使用权,复制权,修改,合并,出版,分发和/或出售本软件的副本,并允许向其提供本软件的人员这样做。

(这是CLIPS的许可证。)

对于其他东西,我认为这是一个专业化,安全性等问题。例如,在航天飞机计划上工作,没有很好的理由“开源”飞梭的软件。该软件是高度专业化的(谁将建立他们自己的班车?),他们可能不希望因飞行安全问题而进行匿名社区更改。

答案 12 :(得分:0)

嗯,首先,政府做的很多事情都不是由私营部门的人做的。政府将税收征管系统发布给开源有什么用呢?

答案 13 :(得分:0)

首先,并非所有软件都可以像“在某个人的空闲时间内完成”那样开源。例如,纳税软件每年都会发生相当大的变化,需要很多补丁,可能还需要责任,受控版本/补丁跟踪等等。你不想因为他们使用不稳定而不得不与付错税的人打交道。 SVN分支。除了纳税外,很无聊,你找不到很多志愿者。当然,你可以带一家公司来执行它并强制执行它以释放资源,但该公司可能会要求更多资金。

对于现成的软件(例如,MySQL,PostgreSQL而不是SQL Server,Oracle),您仍需要做很多考虑:

1)对于有限的安装,许可证成本没有实际意义(假设您有50台服务器,其上有5000美元的数据库许可证 - 这是25万美元,对于政府来说可能甚至不值得花时间谈论它)。 / p>

2)信任+文化。政府人员已经广泛证明不会在很多方面理解互联网,电脑等。他们理解OSS的概率低于0.他们甚至可能真诚地相信。

3)支持,TCO。只有你的时间是免费的,OSS才是免费的。当你投入顾问,专家,雇主的时间等成本增加。是否超越专有软件是另一回事,但成本应视为变量。例如,Windows的呼叫中心成本更低。

4)恐惧(是否合理)。在某处我读到“没有人因为选择Windows而被解雇”。无论这句话是对还是错,如果你想推动OSS,你最终可能会独自一人(就像你的上司不理解,不信任等)。许多有意识的人仍然没有做出选择的球。如果出现问题,当你们每个人都说Windows时,你就是那个推着Linux的人......

5)公司压力。它存在,没有什么可补充的。

6)环境缓慢。在一些政府机构中,仍有Windows 95 PC。不完全是你正在考虑的“明天我们将改变一切”的环境。

7)已安装的基座/供应商锁定(取决于您如何看待玻璃:))。

8)法律。每个政府都有关于如何选择产品的法律。法律甚至可能不允许免费的法律,特别是如果他们没有法律代表(大多数主要的OSS都有法律代表,但不是全部)。

9)大多数人都不在乎。真的,对于我们来说,这个OSS专有的战争有其意义..大多数人都关心它,就像他们关心苍蝇的分类学分类一样。

10)您所在的公司是否在100%OSS上运行?为什么不 ?

答案 14 :(得分:0)

基于平台(.net,java等)构建的系统是解决方案。 政府支付(自愿)解决方案,但ROI远高于其他方法以获得相同的结果。

政府购买了许多不具备智力的东西,因为它需要产品/解决方案。数以百万计的例子。

答案 15 :(得分:0)

公众利益不一定按照你的建议去做。我唯一感兴趣的是那些支持开源宣传的人。当然,这样的提案会产生额外的费用,而这些费用我并不认为真正为公众增加了很多价值。

答案 16 :(得分:0)

根据法律规定,政府不能对其制作的任何作品进行版权保护。 (即公共领域)如果没有版权,您不能强制执行GPL甚至BSDL等软件许可。

但是,政府可以从私人实体制作的作品中获得版权所有权。而且,如果他们为其编写新代码,他们必须遵守许可限制。从技术上讲,他们编写的代码是公共域名,但如果没有受版权保护和许可的代码,它通常是无用的。

这就是为什么SELinux是GPL的原因。因为他们需要Linux内核授权给GPL他们的工作。

现在看到任何完全独立的开源项目变得非常罕见。通常他们链接到其他一些开源库。

答案 17 :(得分:0)

我认为这是一个政治问题,不符合SO的典型范围。

政府是否为人民服务,或者它是否只是最强大的欺负者,为统治阶级和公司服务,这是值得商榷的。当然,这种情况在不同的国家之间发生变化,斯堪的纳维亚半岛的政府几乎都认为对他们的人民有利,并且几乎同意朝鲜(例如)是一个压迫性的欺凌者。

如果你想保留一些有争议的话题,我建议你把它描述为:一个仁慈的政府应该让它的赞助软件开源吗?

答案 18 :(得分:-2)

信任 - 简单明了。政府不能向修改其代码的任何人开放。

例如: 编码器可以故意在linux内核中引入缓冲区溢出。他们知道它的位置,所需的有效载荷和即时妥协。这也提供了可否认性,因为它似乎是“另一个”溢出错误。

修改 - 我对评论的反驳: http://www.debian.org/News/2006/20060713

debian kernal因主机遭到入侵而受到损害。是的,代码可能会被审查,但即使在知道缓冲区溢出是一个问题20年后,我们仍然会发现新的错误。

评论不是一个完美的选择。