如何勇敢地从商业转向开源

目前还没有读者喜欢这篇文章。
neon sign with head outline and open source why spelled out

Opensource.com

我在一家专注于为金融机构交付软件产品的私有 ISV 和咨询公司工作。三年前,我们公司决定通过发布我们的金融交易处理应用程序 FinTP,以开源许可证的形式分享我们的成就和知识。

在这里,我将探讨一家公司在从传统商业模式过渡到支持开源的商业模式时必须进行的变革。这基于我们使用一个曾经是商业解决方案的九年经验。这种转型的动力来自于我们公司希望在这个不断变化和充满挑战的行业中处于领导地位的雄心。

开源的共享文化是我们前进的方向,因为我们相信,通过与整个专业人士社区的智力合作,他们与我们拥有相同的价值观,我们可以交付最佳结果。最近关于金融行业的研究表明,通过使用开源,公司能够协同开发用于处理交易或监管合规的非差异化软件,这是所有金融机构都需要的基础设施和框架。

首先,我们选择了指导团队的原则,并选择了开源许可证。然后,我们围绕项目建立了合适的环境,为当前的客户群以及潜在的社区和用户群鼓励积极的条件。这帮助我们开始吸引贡献者和采用者加入该项目。

以开放平台的形式发布我们的应用程序已经影响了公司的核心业务和运营工作流程,因此必须进行 drastic 的更改。FinTP 项目和围绕它建立的社区必须比商业产品获得更多的关注,因为需要投资于开发和维护项目,以及积极地将新成员整合到社区中。

以下是我们是如何做的。

调整专有解决方案

开源应用程序必须满足的要求是明确的,但实现这些要求是发人深省的。需要处理的最重要的更改之一与对第三方嵌入式产品的支持有关。以前,只支持企业版本的先决条件,因此必须进行返工。开源版本支持企业数据库、面向消息的中间件和应用服务器的最佳开源替代方案。应用程序中包含的所有代码都必须符合许可要求才能发布。此外,内部开发人员工具、工作项跟踪和源代码控制系统的开源替代方案也必须集成。

关于产品文档和工作程序,在商业版本中实施的命名约定、编码指南和最佳实践必须进行调整,以满足在开放社区中工作的特定需求。我们发现有必要在发布开源产品准备阶段增加一个步骤:我们在 fintp.org 上共享了 FinTP,这是一个受控访问的平台,允许我们在将其发布到开源存储库之前微调社区规则、流程和产品。

构建开源社区

当将闭源产品过渡到开源产品时,构建一个强大而充满活力的社区是最重要的部分。首先,让我们看看封闭社区和开放社区之间的区别。开放社区由 任何人、所有社区成员做出奖励性贡献组成。代码是开放检查的,因此任何人都可以修复问题、开发新功能并以审核形式贡献代码。对于任何给定的问题,都有可能有很多双眼睛在查看它。封闭社区由 提供商和客户群组成,并且 查看任何给定问题的最大人数始终受到雇用开发人员总数的限制。

在我们从封闭社区过渡到开放社区的早期阶段,我们运行着一艘严密的船:我们是唯一负责跟上金融行业不断发展的标准、开发主要新功能和审查贡献代码的人。随着时间的推移,基于贡献的价值,新的层级出现。每个成员在我们的开源社区中都具有以下优势:影响项目的能力、吸引和留住开发人才、降低开发和维护成本。

 改变商业模式

传统的商业模式是基于通过销售软件许可证、维护费和专业服务来获得收入。当决定将主要产品作为免费和开源发布时,这种模式就会被颠覆。我们有机会从 FinTP 的一项为期一年的咨询计划中受益,该计划由一家著名的国际金融机构共同资助。

对于企业而言,目标是建立新的商业模式和工作流程,调整内部流程,调整组织结构。对于社区而言,目标是提出治理结构,包括法律方面、工作流程和营销材料。

FinTP 项目现在已设置为为银行、企业、公共管理部门和小额信贷机构处理金融交易提供这些构建块

  1. 帮助巩固业务工作流程
  2. 为各种市场基础设施创建灵活的接口
  3. 处理各种资金转移(如信用转账、直接借记、借记工具、国库资金流),同时提供安全操作和重复检测
  4. 获得多项运营功能(如流动性报告、会计对账、AML 交易过滤、汇款管理和竞争报告)

 

标签
User profile image.
我拥有深厚的技术背景,擅长为金融机构的后台环境架构、实施和管理关键软件解决方案,并精通与 Swift、金融消息传递标准和各种技术的集成。

7 条评论

伟大的文章 Mihai。关于你的第一点,你能否详细说明你在将专有代码与开源代码集成时面临的挑战?既然你现在已经转向开源模式,在你看来,公司在进行这种转变时面临的最大障碍/担忧是什么?

嗨 Aseem,

感谢您的反馈 & 很抱歉延迟回复,但我只是偶然看到您的评论,因为我没有收到任何提醒。我计划撰写一系列文章,详细介绍此过程的每个主要步骤 – 下一篇将在 2014 年发布。为了快速回答您的问题,最具挑战性的部分是确保在 FinTP 项目下发布的代码与第三方软件(无论是开源软件还是商业软件)的许可限制之间保持合规性。每个许可证在软件再分发方面都有自己的规定,在某些情况下可能相当严格,而且大多数时候开发人员都不注意这些法律问题。

嗨 Mihai,

感谢您的回复。我同意许可很复杂,需要在再分发之前进行细致的研究。我还发起了一篇文章,讨论我对专利为何扼杀软件世界创新的看法。我期待您关于步骤描述的文章。

嗨 Mihai,文章写得不错!
我计划将我的业务转移到开源。
这与计算机相去甚远:我是一名心理学家,所以我想让我的业务适应开源商业模式。
您能给我一些建议吗?
我在哪里可以找到更多信息?
谢谢!

  嗨 Ivan,
感谢您的评论。我认为,开源理念可以而且应该应用于任何领域,因为它不仅仅是公开共享计算机应用程序的源代码。它关乎创建一种共享知识和协作开发和改进某些领域的文化,以实现开源的所有优势,例如易于访问信息。想想看,几百年前只有少数人可以接触到书籍,而现在,大多数人都可以接触到书籍,并且知道如何使用它们。
我无法给出从传统业务转型到开放业务模式的秘诀,但肯定可以从我们的经验中进行类比。知识作为资产可以公开共享(考虑到
保密性),但需要一定的技能才能使用它。因此,按需定制需求的服务可能是您新业务模式的立足点。

嗨 Ivan
感谢分享这篇文章。我真的很喜欢每个人都协作的“双赢”理念。
当您的公司转向开源模式时,您是否发现开发了新的/不同的角色?我的感觉是,重点从开发软件转向开发一个开发软件的社区。
这在人力资源层面意味着什么?

嗨 Walbuc,
您提出了一个很好的观点!在计划启动 FinTP 项目和 FINkers United 时,我们假设沟通和整合社区新成员的新角色会给团队增加一些额外的工作量。然而,在实践中,我们经历了来自相关方的更直接的方法 - 而不是通过现有的沟通渠道(论坛、github 等)公开互动。我们得出了两个结论:我们需要通过增加各种资源来扩展团队 - 从业务分析师到开发人员、测试人员、支持人员等等 - 专门与项目中和社区中的相关方互动。第二个结论是我们需要改进提供的文档,包括所有技术层面(架构、为特定案例定制可执行代码、数据映射、应用程序中的操作流程、需求)。
最重要的是,我们确实确定了对人力资源增长的需求,并且我们正在积极寻求融资资源,以确保我们跟上项目交付的时间表。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 3.0 Unported License 获得许可。
© . All rights reserved.