软件是邪恶的
2009-07-18 14:21 Ivony... 阅读(4139) 评论(42) 编辑 收藏 举报今天在园子里看到了一篇有意思的文章,大意是反对开源软件,认为这会损害程序员的利益,破坏整个行业。并表示,自己的一个软件成品,就不开源了,不做损人不利己的事情。
先不去谈开源会对软件行业带来什么影响。软件本身就是个邪恶的东西,绝大多数商业软件都是为了提高工作效率的,提高工作效率即意味着会有很多人因此而丢掉饭碗。在行业软件、企业软件领域最为突出。一套系统的部署就意味着N多人员的闲置,继而被精简,这也是这类软件在中国不好推行的原因之一,因为中国人力成本低,裁员有处罚,扩招有奖励。
既然软件是邪恶的,我们为什么还要做软件呢?开发软件岂不也是损人利己的事情?
因为这是社会发展的趋势。更多的事情由机器完成,短期内看,会造成很多人的失业。但从大方向来看,这能提高生产效率,增加国民生产总值,最终是每个人都能受益。同样的,开源和免费的软件短期内看,会造成一部分人利益的损失,但从长远来看,这能推动软件行业的发展,使得软件的开发效率提高,带来更多的产值,从而使得整个行业都受益。
实际上我们已经是这个故事中的受益者。正是由于软件行业有着众多的免费、共享的发明和技术,我们才能坐在这里,写写代码,赚点钱糊口。试想想,如果没有编译器,没有程序设计语言,没有便宜的计算机,没有功能全面的操作系统,没有统一的网络通信协议,我们能开发什么?开发出来的东西能做什么?而软件行业又是否能容纳这么多糊口的人呢?恐怕所谓的软件行业仅存在于少数几个贝尔实验室吧。
事实上要达到那篇文章作者所述的破坏软件行业的目的,根本就用不着开源,因为一个免费的东西足以砸掉很多人的饭碗。开源的目的不在于免费。中国的知识产权保护和法律精神并不完善,事实上很多开源软件都有禁止用于商业用途的条款,即意味着如果你要用这套代码牟取商业利益,是违法的。
开源的目的在于知识共享,开源不过是把全世界当作一个开发团队,让所有认识的,不认识的人都能参与到同一个项目的开发中来。显然,在公司内部开发团队中,是没有封闭源代码一说吧。如果将源代码封闭起来,又怎么共同开发呢?
开放源代码同样是降低重复劳动最好的一种方式,无论我们有多少种方法对已经编译好的东西进行修改和扩展,都不如直接查阅和修改源代码来的简单。
不可否认,在中国有着很多的拿来主义,将开源的东西视为免费的,随意使用他人的劳动成果而完全忽视许可协议。对待开源的项目,完全没有任何参与的计划,只是打算拿来改改,糊弄老板,骗点小钱。这一部分人也造成了中国软件行业整体的低迷,降低了行业收入水平。但这并不是开源的问题,大浪淘沙,随着软件行业的发展,这类型的“软件人才”终究会被淘汰,将来软件的要求会越来越高,所谓的权限管理、数据访问、工作流引擎等等通用模块,不是开源就会免费。但开源不等于免费,免费也不等于无利可图。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!