代码之家  ›  专栏  ›  技术社区  ›  Ryan Thames

说服一家大公司使用自由软件?[关闭]

  •  5
  • Ryan Thames  · 技术社区  · 17 年前

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

    我想我的问题是: 一个有经验的开发人员会如何处理使用更多自由软件的管理问题?

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


    编辑: 请澄清一下。我不一定想改变公司的程序,我在寻求如何就这个问题与管理层接触的建议。

    18 回复  |  直到 9 年前
        1
  •  13
  •   Arcane    17 年前
    1. 开始在小型公用事业和不需要管理层认可的一次性物品中使用它。这可以证明开源解决方案的价值,并为其注入新的活力 用于其他用途的门 项目。
    2. 展示行业杂志上的文章,表明其他人正在使用开源解决方案。
    3. 选择具有商业支持选项的产品,如MySQL,企业似乎更容易接受。
        2
  •  12
  •   Andru Luvisi    17 年前

    小心选择你的战斗。等到他们受苦了。如果他们对自己所拥有的感到满意,他们就不会改变,无论替代品有多便宜或多优越。你需要在他们试图想省钱的时候,或者在他们对现行制度的问题感到厌恶的时候抓住他们。

        3
  •  7
  •   EBGreen    17 年前

    小心你所说的免费。有一个非常大的产品库,学生可以完全有效地使用,而无需支付企业必须支付的费用。永远不要忘记总拥有成本(TCO)。很多相对昂贵的软件都很昂贵,因为你可以得到配置和帮助支持等东西,而自由软件可能不是这样。

        4
  •  5
  •   Sylvain Rodrigue    17 年前

    我认为你问的问题不对。对我来说,挑战在于让我的大公司为我购买最好的软件,无论是免费软件还是非免费软件。

    为Windows或Linux付费并不重要(对于一家大公司来说,100美元是多少?)。

    但把事情做得更好真的很重要。

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

    当XYZ看起来还可以的时候,为什么你的老板会冒险尝试你告诉的产品?

    最好问:“嘿,这是我用XYZ做不到的事情:(你的清单)。用我的产品,我可以做到这一点,而且比我有很多空闲时间测试我们自己的软件要快得多!”。

    小额资金通常不会成为表演的阻碍。能够更快地工作 为了进行更多的测试 (或任何其他可以帮助你的老板树立更好形象的东西)绝对是一个很好的论点!

    最美好的祝福, 西尔万。

        5
  •  5
  •   bethlakshmi    17 年前

    我在一家大公司工作,该公司最近对开源解决方案更加热情。存在一些重大障碍:

    • 客户不支持 -我们是国防承包商。没有客户的同意,我们几乎什么都不做。随着客户意见的改变,我们能够改变我们的架构和工具使用。也就是说,仍然有一些情况是开源是不可接受的,我们不使用它。
    • 没有技术支持=可怕 -在某些情况下,开源可能没有单一的公司技术支持,但它确实有庞大的社区免费支持questios,并且有顾问可以根据需要提供真正困难的东西。此外,还有许多新版本的bug修复版本。而且,一些竞争激烈的昂贵产品无法满足技术支持需求。能够指出具体的内部例子。记录良好的支持问题历史是关键。
    • 担心安全问题 -我们必须开发一个流程来审查和控制每一个引入的开源项目。我们已经设法找到了我们认为有风险的标准,而不是根据信息安全政策认为相对无害的标准。
    • 对诉讼的恐惧 -由于规模庞大且盈利,我们害怕诉讼,我们是很好的目标。我们现在有一个法律团队审查每个开源许可证的流程。事实证明,这是一场胜利——因为法律团队现在对典型的开源许可证的每个主要版本都有简报,他们可以快速审查大多数内容。
    • 版本控制 -担心如果那些古怪的开发者可以下载他们喜欢的任何东西,世界就会自毁。好吧,实际上,“我们如何知道给定产品中的内容”的概念——能够展示内部管理的自由和开源软件版本控制过程——一直很重要。

    这绝对是一个缓慢的过程——小项目被证明是有利可图的,客户开始在提案中鼓励它。这使得它对高级管理层很有用。支持它的人一直愿意投入一些额外的时间,在效率/成本节约方面进行商业论证,并愿意与公司基础设施的各个部分反复谈判,这对它有所帮助。

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

    还有一些政治智慧——对于第一个项目,不要侵犯任何神圣的奶牛——即那些可能不成功的项目,但这些项目是高调的,由拥有大量政治权力的人拥有。相反,选择一些目前不可用的古怪新事物,并以一种不太可能引发防御性反应的方式证明成本节约。

        6
  •  4
  •   MattK    17 年前

    当你试图向一家大公司(在许多情况下甚至是一家小公司)介绍开源软件时,你会听到的最大的反驳是“没有技术支持”。公司往往对使用社区支持的软件持谨慎态度,因为不能保证(或在某些情况下,服务协议)有关软件的问题会在合理的时间框架内得到回答,或者根本不会得到回答。在许多情况下,你可以找到一家公司为你想要使用的开源软件包提供支持(例如,红帽为其Linux发行版提供支持,尽管该发行版的内容主要是开源的)。向管理层展示一个能够支持软件的商业实体通常会有很大的帮助。

    我经常听到的另一个反对使用开源软件的论点是“开源软件有缺陷”;这种观点在一些企业文化中根深蒂固。两种可能的回应是“开源社区可以快速修复bug”和“既然我们有源代码,我们的工程师就可以修复bug”,但这通常不是管理者想要听到的。

    因此,从本质上讲,这取决于公司、他们的态度以及他们对你提出关键业务建议的信任程度。我把上面所有的论点都用在了不同公司不同程度的成功上。

    当然,在这个经济时代,“免费”部分可能会有很长的路要走。 :-)

        7
  •  3
  •   Scott Evernden    17 年前

    “自由软件”并不一定意味着你的公司会免费获得软件。许多成功的开源项目还提供了成本高昂的许可证和服务,面向希望或需要得到良好支持的组织。MySQL就是一个例子

        8
  •  2
  •   SQLMenace    17 年前

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

        9
  •  2
  •   Jeff Martin    17 年前

    改变一家大公司的习惯往往就像让一艘油轮掉头。..这需要很长时间并且消耗大量能量。

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

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

    如果软件已经到位,能够完成工作(即使我不喜欢它的工作方式),我会尽可能多地了解它,给它尽可能多的工作机会,或者至少让我的生活更轻松。如果它仍然很糟糕,我可能不会试图改变它,直到公司支付升级费用的时候。

    如果软件工作正常,但只是烦人。..我会如上所述,学习所有关于它的知识,只是为了让我的生活更轻松,然后处理它。

        10
  •  2
  •   nerdabilly    17 年前

    你可能是对的,你推荐的系统比目前使用的系统更好。但正如其他一些海报所说,选择你的战斗,尤其是当这是你在现实世界中的第一份工作时。你可能很快就会被消耗掉。

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

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

        11
  •  2
  •   CodeAndCats    17 年前

    我明白你的意思。我们花了数年时间才说服我们的经理,如果我们不再使用Interbase(一种商业关系数据库),而是使用开源的Firebird,一切都会好起来的。主要是担心没有支持阻碍了这一行动。我认为改变他们想法的因素是:

    • 测试显示性能更好
    • 有公司提供并收取支持操作系统替代方案的费用
    • 充满激情的开发人员不断推动争论

    我认为,如果我们公司为网站许可证付费,成本节约将发挥作用,但事实上我们的客户是。

        12
  •  2
  •   BBetances    17 年前

    我这样看待这个问题。我和他一起工作。NET框架。我可以要求我的雇主迁移到PHP。这对我和我的公司来说都是一个不利因素,原因有很多。让我们从显而易见的开始。

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

    基本上,大企业,甚至小企业,都想花钱,只要有充分的理由。你最好的选择是说,‘嘿,如果你想部署ASP。NET(或其他),派我去参加一些培训。然后,我将能够尽我所能开发我们的应用程序”。

        13
  •  2
  •   Steven A. Lowe    17 年前

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

    • 一个有经验的开发人员可能不会就这样的事情与管理层接触,除非他/她已经是开源软件包的专家。当事情不起作用时,公司喜欢有一个电话号码可以打,有人可以责怪。免费的开源软件包不提供这种“问责制”(是的,我们知道这是一个笑话,但管理层没有)
    • 管理层不太可能听取大学刚毕业的人关于任何重大采购或技术决策的意见。你必须先学会做生意,赢得大家的尊重。[对不起!]
        14
  •  1
  •   duffymo    17 年前

    到处都是同样的问题。一旦一个组织超过了一定的规模(例如邓巴数),它就会开始表现出某种头脑迟钝的品质,这会让你感到困惑。很多你不知道的历史、人物和议程。让每个人都同意你的解决方案是困难的。

    最好从当地开始。看看你是否能说服你的经理或项目经理在本地为项目使用SVN、CVS或GIT,然后让它传播开来。

    但我工作的地方也是如此。我在本地为自己使用SVN,但这是一种用于与他人集成的商业产品。

        15
  •  1
  •   Wayne Koorts    17 年前

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

        16
  •  1
  •   Cheese Daneish    17 年前

    大公司需要为这类事情雇佣支持人员。当他们从一家公司购买软件时,他们会得到合同的保证支持。开源项目可能更容易消亡,而大型软件供应商可能要负责更长的时间。

        17
  •  1
  •   Max Lybbert    17 年前

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

    1. 你可能会更幸运地获得BSD和类BSD项目的批准(MIT许可证、Apache、Boost等);如果大多数反对GPL和LGPL的论点主要是FUD,那也没关系
    2. 你应该把这些项目称为“免版税”
    3. 你应该确保事情得到能够批准的人(你的直接经理)的批准,因为让公司陷入困境——尤其是当你是新来的时候——(即使“困境”只存在于他们的头脑中)不利于长期雇佣
    4. 简单地问一下选择库或工具的过程是什么,你可能会走很长的路
        18
  •  0
  •   GeoffreyF67    17 年前

    从配置管理的角度来看,让开发人员在他们觉得需要管理的时候随意添加自由软件是一个严重的PITA。

    我曾在一些公司工作过,在这些公司里,你可以随心所欲地做这件事,而在另一些公司,你永远无法做到这一点。

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

    推荐文章