如果你既不是科学家,也不活跃于开源社区,那么可能很难理解人们为什么要编写开源软件。人们为什么要免费赠送如此辛勤工作的成果呢?
我完全理解为什么人们会对没有明显盈利模式的免费产品保持警惕。毕竟,收到木马时检查一下是否藏有特洛伊木马是很正常的谨慎做法。
开源软件的诀窍在于用不同的角度来思考它。传统上,如果你需要一个软件、文档或其他可以复制或影印的产品,你有两种选择
- 你可以找到满足你需求的东西,然后为其他人编写的版本支付每个座位或每个站点的许可费用。
- 你可以聘请某人从头开始创建你自己的版本。
如果你需要大量副本,为现有解决方案付费可能会很昂贵,但从头开始编写自己的版本通常成本更高。
使用别人的解决方案会让你依赖他们来修复错误和编写新功能,但编写和维护你自己的版本会从你在任何市场竞争中转移资源。
开源提供了第三种选择,支付结构略有不同。开源供应商不希望你用金钱支付他们的软件,而是希望你用外部性来支付,如果他们幸运的话,也许你会贡献一个错误修复或一个新功能,让每个人都受益。
一种流行的方式是成立一家公司,向在关键任务场所使用该软件的企业销售支持合同……价格通常低于那些知道自己掌握了你命脉的大公司。
以下是一些其他外部性的例子,这些外部性通常会激励人们免费赠送他们的代码。
- 如果你编写一个软件来解决你自己的问题,那么在其生命周期内,你花费在它上面的时间和金钱高达 90% 可能都花在维护上。如果它不是使你的业务具有竞争力的“秘诀”,那么它只是一项费用,与世界分享代码是对良好宣传和在潜在员工眼中具有进步气息的免税支付。如果其他人修复了一个错误并将修复程序提交给你,它也可能减少花费的资金。
- 在更个人的层面上,我们都喜欢被认可。为一个已建立的开源项目做出贡献或创立一个流行的项目,是在同行中建立良好声誉、扩展你的简历并获得不受限制性版权条款限制的作品集的最快和最简单的方法之一。
- 为什么要承担为你的软件收费、收取销售税,然后向广告公司支付费用以设置“病毒式营销”活动的额外开销呢?免费赠送它可以消除中间商,直接带你走向“如果人们使用你的软件并喜欢它,那么他们会告诉他们的朋友和同事。”“(真正的口碑广告也更真诚,因此,更持久)
- 如果你运行一个成功的开源项目,没有什么比让潜在客户免费使用和定制你的软件用于低风险应用程序更能为你的支持服务打造更好的名片了。即使是大公司也经常使用这种技术的变体,当他们允许一定数量的非法复制,以便让个人迷上并熟悉他们的产品。开源只是为这种技术引入了诚实和更好的道德和道德框架。
- 如果你免费赠送你的软件,就像许多公司对其工具的“非专业版”所做的那样,人们在他们需要的任何更改方面都依赖于你。修复错误、添加功能等等。这是一个沉重的负担,如果你落后了,这对你的声誉不利。如果你发布源代码,你就是在授予熟练的用户和公司修复他们遇到的问题的能力,然后将修复程序提供给所有人,而不会给你带来更多压力。
仅仅因为开源开发者和供应商没有因其软件而获得金钱报酬,并不意味着他们没有获得报酬。对于开源开发者而言,他们的软件是他们的名片,是一件值得骄傲的艺术品,他们想与世界分享,是他们精心制作的工具,用于解决他们自己的问题,是相关产品和服务的敲门砖,也是一群志同道合的人合作的种子。
此外,虽然它不一定影响利润,但程序员通常对复制软件有多容易有深刻的理解,这使得一个人的工作更有成就感,如果他们知道他们为自己的时间(这是一种稀缺商品)而不是为他们的软件副本(制作成本极低)获得报酬。
作为最后的致谢,如果你正在考虑分享你自己编写的软件,那么在形成社区方面有一些隐藏的陷阱,它们都归结为潜在参与者是否感到被赋能。以下是基本规则
- 使用人们知道和理解的流行许可证的未修改版本,例如 Apache 许可证 或 GNU GPL 或 LGPL 许可证。法律术语很可怕,程序员不是律师。
- 编写关于如何从你的代码编译一个可工作程序的清晰说明。确保它们在全新安装的机器上实际有效。(我为此使用 VirtualBox。)
- 提供一个易于使用的系统,用于提交错误报告和功能请求,并提供贡献。有许多工具可以做到这一点,也有网站可以免费托管你的项目。(我建议使用 GitHub 或 BitBucket。)
- 努力让参与者感到他们的担忧正在被倾听。
简而言之,需要有一个平滑的学习曲线,可以将人们从“刚刚进来”一直带到“受人尊敬的参与者”。
本文最初发布在 Stephan Sokolow 的博客 上,根据 Creative Commons 许可发布。
6 条评论