说服一家大公司使用免费软件?

时间:2009-01-14 20:50:51

标签: version-control open-source

我目前是大学毕业后第一份工作的开发人员。我为一家大公司工作,我注意到它的趋势是,他们倾向于使用更昂贵的闭源软件,大约99%的时间,而且有很好的开源替代品,大多数是远远优于他们的闭源同行。例如,我们使用这个绝对糟糕的源代码控制软件,花费了大量的金钱,而有很多开源和/或免费选项,根据我的经验,albiet有限,更好,并提供基本相同的功能。

我想我的问题是:有经验的开发人员如何使用更多免费软件来管理?

看来还有一个与此非常相似的问题,当我制作这个问题时没有出现:How can I convince IT that F/OSS software isn't evil?


编辑:来澄清一下。我不一定试图改变公司的程序,我正在寻找有关如何处理有关该主题的管理的建议。

18 个答案:

答案 0 :(得分:13)

  1. 开始在小型实用程序和一次性使用的东西中使用它,不需要管理层购买。这可以证明开源解决方案的价值并且可以解决问题 在其他地方使用它的大门 项目。
  2. 来自贸易杂志的文章显示其他人正在使用开源解决方案。
  3. 使用具有商业支持选项的产品,例如MySQL,企业似乎更容易吞咽。

答案 1 :(得分:12)

仔细挑选你的战斗。等到他们受苦。如果他们对自己所拥有的东西感到满意,那么他们就不会改变,无论替代品多么便宜或优越。你需要在他们想办法省钱的时候抓住他们,或者他们对现行制度的问题感到厌恶。

答案 2 :(得分:7)

要小心你所说的免费。有一个非常大的产品集合,对于学生来说是完全有效的,而无需支付企业必须支付的费用。也永远不会忘记总体拥有成本(TCO)。许多相对昂贵的软件都很昂贵,因为你可以获得配置和帮助支持它们,而自由软件则可能不是这样。

答案 3 :(得分:5)

我在一家最近开始对开源解决方案更加热衷的大公司工作。有一些很大的障碍:

  • 客户不会支持 - 我们是国防承包商。没有客户说,我们几乎什么都不做。随着客户意见的改变,我们已经能够改变我们的架构和工具使用。也就是说,仍有一些情况是开源是不可接受的,我们不使用它。
  • 没有技术支持=可怕 - 在某些情况下,有可能指出开源可能没有单点的公司技术支持,但它确实有庞大的社区支持免费的问题,并有真正的硬件需要的顾问。还有许多新版本的bug修复版本。而且,一些竞争的昂贵产品无法满足技术支持需求。能够长时间指向特定的内部示例。有充分证据证明,支持问题的历史是关键。
  • 担心安全问题 - 我们必须开发一个审查和控制所引入的每个开源源的过程。我们已经设法找到了我们认为存在风险的标准,而不是我们认为基于信息策略的相对温和的标准。
  • 害怕诉讼 - 我们害怕诉讼,规模庞大,利润丰厚,我们是很好的目标。我们现在有一个法律团队审查每个开源许可证的流程。事实证明这是一个胜利 - 因为法律团队现在已经对典型的开源许可证的每个主要版本进行了简报,他们可以快速查看大多数内容。
  • 版本控制 - 担心如果那些古怪的开发者只能下载任何他们喜欢的东西,那么这个世界就会自毁。好吧,实际上,“我们如何知道给定产品中的内容”这一概念 - 能够显示内部管理的FOSS版本控制流程非常重要。

这绝对是一个缓慢的过程 - 小项目证明有利可图,客户开始在提案中鼓励它。这使其对执行管理有用。有帮助的是那些支持它的人一直希望在效率/成本节约方面花费一些额外的时间来制定业务案例,并且愿意与公司基础设施的各个部分反复谈判。

开源工作已经花费了IT,信息安全人员,法律团队,采购团队和技术管理人员的努力。在与经理交谈之前了解这可能是成功的关键。

还有一些政治上的讽刺 - 对于第一个项目,不要侵犯任何神圣的奶牛 - 即那些可能不成功但是高调且由拥有大量政治权力的人拥有的项目。相反,选择一些现在无法获得的古怪新事物并以不太可能引发防御反应的方式证明节省成本。

答案 4 :(得分:5)

我认为你没有问正确的问题。对我来说,面临的挑战是让我的Big Corp为我购买最好的软件,无论是否是免费软件。

支付Windows或支付Linux并不重要(Big Corp的100美元是多少?)。

但让事情做得更好非常重要。

我认为你对老板的要求不应该是:“嘿,它是免费的,它和XYZ一样好,我们为什么要使用XYZ?”

为什么当老板看起来没问题时,老板会冒一些尝试你所说产品的风险?

更好的问一下:“嘿,这是我不能用XYZ做的事情:(你的清单)。用我的产品,我能够做到这一点,并且比我想要的要快得多很多业余时间来测试我们自己的软件!“。

小钱通常不是表演的好处。能够更快地工作以进行更多测试(或任何其他可以帮助你的老板获得更好形象的事情)绝对是一个很好的论点!

祝福, 西尔。

答案 5 :(得分:4)

当你试图向一家大公司(或者在很多情况下是一家小公司)推出开源软件时,你将会听到的最大反驳论点是“没有技术支持。”公司往往对使用社区支持的软件持谨慎态度,因为无法保证(或在某些情况下,服务协议)有关软件的问题将在合理的时间范围内得到解决,或者根本无法得到解决。在许多情况下,您可以找到一家公司,它将为您要使用的开源软件包提供支持(例如,Red Hat为其Linux发行版执行此操作,即使发行版的内容主要是开源的)。向管理层展示可以支持该软件的业务实体通常会有很长的路要走。

使用我最常听到的开源软件的另一个反驳是“开源软件是错误的”。这是困难的一个;这种观点在一些企业文化中根深蒂固。两个可能的回答是“开源社区快速修复错误”和“由于我们有源代码,我们的工程师可以修复错误” - 但这通常不是管理者想要听到的。

因此,从本质上讲,它取决于公司,他们的态度,以及他们对您提出关键业务建议的信任程度。我已经将上述所有论点用于不同公司的不同成功水平。

当然,在这些经济时代,“自由”部分可能会走很长的路。 : - )

答案 6 :(得分:3)

“自由软件”并不一定意味着您的公司将免费获得软件。许多成功的开源项目也提供许可证和服务,这些许可证和服务需要花费真金白光,并且适用于需要或需要得到良好支持的组织。 MySQL是一个例子

答案 7 :(得分:2)

改变一家大公司的习惯往往就像转动油轮......需要很长时间才能消耗大量能源。

如果公司正在评估为特定任务购买新软件的过程,那么我一定要写一份简明的意见备忘录,说明为什么我的选择更好。

如果软件是我个人使用的东西而不是多个开发者被迫使用的服务器产品,那么我只想让我的经理使用它。

如果软件到位,那么工作(即使我不喜欢它的方式),我会尽可能多地学习它,为我提供尽可能多的工作机会,或至少让我的生活更轻松。如果它仍然非常糟糕,我可能不会尝试改变它,直到该公司支付升级费用为止。

如果该软件有效,但只是令人烦恼......我会按照上面所做的那样,学习所有有关它的知识,只是为了让我的生活更轻松,然后处理它。

答案 8 :(得分:2)

不要听起来完全愤世嫉俗,但是:

  • 一位经验丰富的开发人员可能不会接近管理层这样的事情,除非他/她已经是开源软件包的专家。公司喜欢拨打电话号码,有人在事情不起作用时责怪。免费的开源软件包不提供这种“问责制”(是的,我们知道这是一个笑话,但管理层没有)
  • 管理层不太可能会听取大学新生关于任何重大采购或技术决策的意见。您必须先了解业务并赢得所有人的尊重。 [对不起!]

答案 9 :(得分:2)

我这样看这个问题。我使用.NET框架。我可以让我的雇主迁移到PHP。由于种种原因,这对我和我的公司都是一个不利因素。让我们从明显的开始。

1。)我知道PHP,但使用.NET可以做得更多,速度更快。 2.)支付服务费,通常可以确保更好的体验。在开发应用程序时,Visual Studio IDE仅次于NONE。 3.)我可以在VS中开发一个比硬编码PHP更快的应用程序。 4.)这是最重要的一个。如果我与一家大公司合作,我希望我的程序员能够更快地开发我的应用程序,并且我希望它能够更快地运行。 PHP(示例开源语言)快速,可靠,但如果我可以花钱,我将部署ASP.NET。

基本上,大企业,甚至小企业都想花钱,只要这是有充分理由的。最好的办法是说,'嘿,如果你想部署ASP.NET(或其他),请发送给我一些培训。然后,我将能够以我最好的能力开发我们的应用程序。

答案 10 :(得分:2)

您推荐的系统可能比目前使用的系统更好。但就像其他一些海报所说,选择你的战斗,特别是当这是你在现实世界中的第一份工作时。你很快就会变得消耗殆尽。

这并不是一个更好的问题,即使你的方式更好,这也是文化和事情的方式以及转换成本的问题。即使假设他们的系统可以神奇地传输到您的OSS系统,而不会丢失数据,日期,记录或任何内容,您仍然会有人说“我更喜欢旧的方式”。

请记住:当你没有得到你想要的东西时,你会得到经验。我知道成为“推荐一个每个人都喜欢的新版本系统的新人”可能听起来很迷人,但你也可以很容易地成为“坚持新版本系统的热门人物,每个人都讨厌。”这是一个更聪明的职业生涯,至少在一段时间内遵守规则,直到你有一些影响力并且可以提出一些建议。在此期间,您甚至可以了解为什么旧系统是首选系统,或者学习更喜欢它,您使用它越多。

答案 11 :(得分:2)

我知道你的意思。我们花了几年时间才说服我们的经理,如果我们从使用Interbase(一个商业关系数据库)转移到它的开源对手Firebird,一切都会好起来的。主要是担心没有任何支持阻止此举。我认为改变主意的因素是:

  • 测试表现出更好的表现
  • 有些公司提供并支持OS替代方案
  • 热情的开发者不断推动论证

我认为如果我们的公司为网站许可付费,但实际上我们的客户是支付费用,那么成本节约就会发挥作用。

答案 12 :(得分:2)

许多大公司使用封闭式软件的原因是他们可以致电支持,供应商会发布修补程序,修补程序或累积更新

答案 13 :(得分:1)

每家公司都有一种文化,与文化作斗争可能是一场艰苦的战斗。但如果你愿意尝试:

  1. 你可能会更幸运获得BSD和类似BSD的项目(麻省理工学院许可,Apache,Boost等);如果大多数针对GPL和LGPL的论据主要是FUD
  2. ,那也没关系
  3. 您应该将这些项目称为“免版税”
  4. 你应该确保事情得到批准他们的人(你的直接经理)的批准,因为让公司陷入困境 - 特别是当你是新的时候 - (即使“绑定”只在他们的头脑中) )不利于长期就业
  5. 你可以通过简单地询问选择图书馆或工具的程序来做很长的事情

答案 14 :(得分:1)

大公司需要雇佣支持人员来处理这类事情。当他们从公司购买软件时,他们会得到合同的支持。开源项目可以更容易地消失,而大型软件供应商可以在更长的时间内负责。

答案 15 :(得分:1)

公司将使用最终使他们赚钱最多的东西。这意味着无论什么软件都能让员工更高效。如果有一个特定的开源软件,你认为他们应该使用,那么在购买软件来做X工作的时候,只要你能证明它会提高员工的工作效率,他们就能获得可靠的支持只需拨打电话,就像商业软件一样,他们就会使用它。

答案 16 :(得分:1)

到处都是同样的问题。一旦组织超出一定的规模(例如,Dunbar号码),它就会开始显示某种木头质量,这会让你感到困惑。许多你不了解的历史,人物,议程。让每个人都同意你的解决方案很困难。

最好从本地开始。看看你是否可以说服你的经理或PM在本地使用SVN或CVS或GIT进行项目,然后让它扩散。

但在我工作的情况下,情况也是如此。我在本地使用SVN,但是用于与其他人集成的商业产品。

答案 17 :(得分:0)

从配置管理的角度来看,开发人员只要感觉像是一个需要管理的严肃PITA,就会毫无疑问地添加免费软件。

我曾经在那些你被允许的公司工作,而你可以在那些你永远不会做的事情。

肯定会找到一个平衡点,但是如果你在一个拥有多个项目的大公司中,你必须记住,每次添加一个新的“工具”时,它都会使构建过程复杂化。