让shs的问题更进一步……为什么不是所有政府资助的软件都是开源的? 我可以看到出于安全目的排除了一些,但其余的呢? 作为纳税人的我们不是已经为此付出了代价吗?政府没有权利,只有人民,政府怎么能许可?谁是被许可人?既然政府就是人民,那就是公众。
对于那些认为政府有权利的人,我敦促你们阅读美国宪法。
我一厢情愿的想法是,如果软件是由政府雇员创建或由承包商为政府创建的定制软件,它应该自动在公共领域(就像所有政府发布的文件一样)。如果政府从一家公司购买软件,即使它包含一些定制,它也应该保持闭源。你遇到了一个灰色地带,它是由承包商为政府开发的,但可以作为商业产品出售(如果有人愚蠢到购买为政府创建的软件......请参阅 The Daily WTF 以获取参考资料)... 我不知道如何解决这个问题,但尽管我渴望 FOSS,但我认为在这种情况下最好还是站在企业一边。
我还认为,如果政府是封闭源代码解决方案的可行竞争对手,则应该要求政府使用现有的开源软件。它将节省一些税金并促进政府的开放(不是软件意义上的,尽管那也很好)。
我们如何实现它?:D
我为政府的一部分工作。
首先,让我告诉你,你不想看到管理你政府的垃圾。
我最终整天支持的代码中有很多“漏洞”。无需将它们宣传给那些会对它们造成严重破坏的人,也没有足够的时间或资源来修复它们。
政府机构担心钱。IT 部门通常不会得到足够的信息。政府机构很难与私营公司竞争优质人才。摆脱糟糕的程序员也更难。如果有一个完整的员工,有些人是沉重的,没有办法雇用更多或更好的人。
要求是政治家想出来的,从来都不是清晰、简洁或正确的。
截止日期更糟,因为现在您需要遵守或支持影响成千上万人的法律。因此,糟糕的代码,更差的标准,大量的创可贴。
对不起,没有开源。
是的,我通常会支持从外到内的倡议,但这只是乞求外部个人/团体/政府的恶意!
听起来不错。我 - 作为非美国公民 - 然后可以访问美国纳税人支付的开源软件 :)
这里有很多好主意,但最好的答案是最简单明了的。
选民对政府开源软件的需求不足。
我认为一个好的开始是强制使用开放文档格式。拥有开放标准使开放软件更加可行。
然后也许有一天我们可以拥有我可以信任的电子投票机来计算我的选票。
您真的希望地狱火导弹的定位和跟踪软件出现在网络上吗?保密是你知道的等式的一部分......
这取决于您是在谈论联邦政府还是地方政府,但答案是相同的。
政府不是由利润驱动的,而是由创建公共服务驱动的,因此使用开源来降低软件许可成本的理由并不像在私营部门那样重要。
政府在适应新趋势方面进展缓慢。这是设计使然,您希望政府稳定。保持购买专有软件的现状是政府更安全的选择。
开源软件已经存在了很长时间,但在广义上支持它所需的临界质量(即,我所在地区是否有足够大的人才库来雇用人员来支持这项新技术)是相当新的。
政府最受知道如何运作该系统的人的影响。专有软件公司对获得政府合同有着浓厚的兴趣,并利用他们的影响力相应地游说政府。
对于后续问题:
政府的工作是为民众提供服务。如果专有软件提供比开源替代方案更好的服务,则不应强制政府选择劣质的解决方案。
政府确实有权利。它是签订具有法律约束力的合同的法人实体。这是政府与私营部门合作所必需的。政府将持有许可证(例如)。
关于有多少商业软件不/不依赖政府项目的资金,这里似乎有一些非常幼稚的观点。很少有软件产品在某处不包含政府资助的代码,无论是增强功能、补丁还是错误修复,或者在许多情况下从第一个开发版本到第一个发布版本。
而且它在大多数情况下都根深蒂固——你永远无法分割政府部门。
如果这个提议被采纳,那么剩下的产品就很少了。至少来自美国公司。
问题简要提到了安全性,但这可能是政府生产或政府赞助的软件不能开源的主要原因。总体而言,军方运行许多为特定目的定制和编写的软件,源代码的公开将暴露机密信息。当然,您可以提出并争论相关信息可以被编辑,但这并不总是可能的,就像您知道软件的用途一样,您可以在无需知道确切名称的情况下获得相关信息(即机身的实际操作包络) .
美国政府开发的软件不开源的主要原因是商业软件公司必须与使用公共资金开发的免费软件竞争。美国政府生产的少量开源产品不与同等的商业产品竞争。
对于广泛适用的美国政府资助的项目,我通常会看到这样的许可证:
特此免费授予任何人获得本软件和相关文档文件(“软件”)的副本,以不受限制地处理本软件,包括但不限于使用、复制、修改、合并的权利、发布、分发和/或出售本软件的副本,并允许向其提供本软件的人这样做。
(这是CLIPS的许可证)。
对于其他东西,我认为这是一个专业化、安全性等问题。例如,从事航天飞机计划,没有充分的理由将航天飞机的软件“开源”。该软件高度专业化(谁将建造自己的航天飞机?),并且由于飞行安全问题,他们可能不想滚动匿名社区更改。
好吧,一方面,政府做的很多事情不是由私营部门的人做的。政府将税收征管系统开源有什么好处?
首先,并非所有软件都可以像“由某人在空闲时间完成”那样开源。例如,纳税软件每年都会发生相当大的变化,需要许多补丁,并且可能需要责任,受控版本/补丁跟踪等。您不想与那些因为使用了不稳定的纳税人而交错税的人打交道SVN 分支。除了纳税之外,你也找不到很多志愿者。当然你可以让一家公司做软件并强制它发布资源,但公司可能会为此要求更多的钱。
对于现成的软件(比如 MySQL、PostgreSQL 而不是 SQL Server、Oracle),您仍然需要考虑许多因素:
1)对于有限的安装,许可证成本是没有意义的(假设您有 50 台服务器,上面有 5000 美元的 db 许可证 - 那是 25 万美元,对于政府来说,这甚至可能不值得花时间谈论它)。
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 上运行?为什么不 ?
建立在平台(.net、java 等)上的系统是解决方案。政府(自愿)为解决方案付费,但获得相同结果的投资回报率远高于其他方法。
政府购买了许多它在智力上并不拥有的东西,因为它需要产品/解决方案。数以百万计的例子在那里。
按照您的建议,不一定符合公共利益。我看到的唯一兴趣是那些支持开源宣传的人。当然,这样的提议会产生额外的成本,而且我认为这些成本不会真正为公众增加太多价值。
根据法律,政府不能对其完全制作的任何作品进行版权保护。(即公共领域)如果没有版权,您就不能强制执行像 GPL 甚至 BSDL 这样的软件许可。
但是,政府可以从私人实体制作的作品中获得版权所有权。而且,如果他们为它编写新代码,他们必须遵守许可限制。从技术上讲,他们编写的代码是公共领域的,但如果没有受版权保护和许可的代码,它通常是无用的。
这就是为什么,例如,SELinux 是 GPL 的。因为他们需要通过 Linux 内核许可 GPL 他们的工作。
这些天来,看到任何完全独立的开源项目变得非常罕见。通常它们链接到其他一些开源库。
我认为这是一个政治问题,不适合 SO 的典型范围。
政府究竟是为人民服务,还是只是最强的恶霸,为统治阶级和企业服务,这是值得商榷的。当然,这种情况因国家而异,几乎一致认为斯堪的纳维亚半岛的政府对他们的人民很好,而且几乎一致认为朝鲜(例如)是一个压迫性的恶霸。
如果你想避免一些有争议的话题,我建议你把它框定为:一个仁慈的政府是否应该将其赞助的软件开源?
信任 - 简单明了。政府不能向任何修改其代码的人开放。
例如:编码人员可能故意将缓冲区溢出引入 linux 内核。他们知道它的位置,所需的有效载荷并立即妥协。这也提供了可否认性,因为它看起来“只是另一个”溢出错误。
编辑——我对评论的反驳: http://www.debian.org/News/2006/20060713
debian 内核通过被入侵的主机被入侵。是的,代码可能会被审查,但即使在知道缓冲区溢出是一个问题 20 年后,我们仍然会发现新的错误。
评论不是一个完美的包罗万象。