商业软件是不能开源的,开源代表用户可以对软件源代码进行修改和再分发,它保护的不是开发公司的版权,而是用户随便使用的权利。
开源并非全然适合商业软件,有些商业软件也给客户提供源代码,好处是给客户更大的自定义个性化能力,版权仍然在开发者手里,这不算开源。
一些开源软件在开放源代码的同时,会增加一些收费服务,以确保作者或公司能够正常的运营下去,也有一些企业通过新增的收费服务赚到不少钱,比如Red Hat。
简单说下企业可通过以下几种方式来赚钱:
1)双重许可
2)技术支持
3)附加服务
4)部分组件收费
5)捐款
6)版权收费
有些商业软件适合开源,有些商业软件并不适合开源。
业务类的软件就是不那么适合开源的一种,业务类软件开源,主要是为了扩大一些知名度,尤其是在红海S场,S场上有很多同类产品,通过开源,快速部署,快速的吸收一些用户,并逐步的将这部分用户引导到自己的SaaS系统上或提供更多的业务定制和支持工具。
另一类是技术软件,这类软件一方面是吸引用户,另一方面是吸引一些开发者为它提供补丁,降低总的研发成本,最终卖的是服务和技术支持。
源代码是大多数计算机用户从未见过的软件的一部分,软件开发人员可以通过修改源代码来改变一个应用程序的工作方式。
开源软件(Open-Source Software,缩写OSS)是一种在开源协议下源代码可以被任意获取和修改的计算机软件,这种软件的作者在软件开源协议的规定下保留一部分权利并允许任何使用者修改和重新发布软件(重新发布的软件也要遵守开源协议),同时任何组织和个人都可以****开源软件。
与开源相对应的闭源软件仅可获取编译后的二进制可执行文件,只有拥有软件著作权的自然人拥有程序的源代码,部分开源软件代码被发布到公共互联网上,被世界各地的开源拥护者合作开发,诞生了很多伟大的软件产品,Linux、Android、TensorFlow等,不是只有软件开发人员才能从中受益,普通用户也可以将开源软件用于任何他们想要的目的。
开源动机
现在开源软件的开发已经受到了如此多的关注,但是为什么软件开发者要免费向社区提供他们的服务呢?显然,利他主义并不是唯一的答案,只有当一个软件开发者能够从软件项目中获得一些净收益时,才会参加到这个软件项目中,这个收益可以是直接的回报(当前的利益减去当前的成本)或者是延迟的回报(延迟的利益减去当前的成本)。
延迟的回报比如有,与开发者未来的职业发展有关,当你开发的软件非常优秀,则更容易被大公司注意到,从而有更好的职业发展平台;或者来源于自我满足,软件开发者所完成的有价值的工作,可以得到同行的肯定等等。
除此之外,营造良好的开源环境,大大有助于开发人员避免重复“造车轮”的低效开发行为。
成功开源案例
Linux
Linux是一个自由和开放源代码的操作系统,是目前运用领域最广泛、使用人数最多的操作系统,只要遵循GNU协议,任何个人和机构都可以使用Linux的所有源代码,也可以修改和再发布,Linux被看作开源软件发展中最著名的例子,现在其S场占有率也是位居首位,这得益于它的开源。
Android
Android是一个基于Linux内核的开源移动终端操作系统,谷歌以Apache License开放源代码许可证的方式授权,发布了Android的源代码,由此,各大手机制造商和运营商纷纷加入到Android阵营中,并通过与运营商、设备制造商、软件开发商结成深层的合作,建立了标准化、开放式的移动终端硬件与软件平台,在移动产业链形成了一个开放式的生态系统。
TensorFlow
TensorFlow是一个用于深度学习的开源软件,其提供了Python和Java的接口,用于建立各种机器学习的模型,比如卷积神经网络、循环神经网络等,目前已被超过五十个团队用于研究和开发,许多谷歌商业产品,如语音识别、Gmail、谷歌相册和谷歌搜索都应用到了TensorFlow。
由上述开源软件案例可知,软件开源对行业的发展有着积极的推动作用,开源是信息技术发展引发技术革命所带来的面向未来的方法创新,是以人为本的创新模式在软件行业的具体体现,也并非应该将所有的软件都开源,在软件行业的发展过程中,开源和闭源各有优势,它们将长期共存,共同促进软件行业持续、健康、稳健的发展。
观点仅供参考,欢迎大家关注交流!
观点仅供参考,欢迎大家关注交流!