`
yiding_he
  • 浏览: 449124 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

对开源的基本认识

阅读更多
一、源代码是软件的设计图。给你一套波音 747 设计图,你不可能做出波音 747;但是给你一套源代码,你可以马上就编译出一套软件。虽然只有专业人士才会编译,但想想,如果你有一个朋友是程序员,你给他一套下载来的源代码,第二天他就把能用的软件给你了。这对他来说不过举手之劳,而你也不用花一分钱。

二、要想靠卖开源软件赚大钱几乎不可能。因为开源软件必须无条件提供源代码。一旦你要价太高,别人就会拿源代码自己去编译。所以开源软件的光盘都只卖很低的价格(有的比盗版碟高一点,有的干脆免费赠送)。

三、并非每一个开源项目的目的都是善良无私的。开源只是一种手段(想想 IBM 是怎么用 Eclipse 把 Borland 割掉一大块肉的)。但是,不管你的目的是什么,你必须得遵守开源的规矩,作为开源力量的一份子,同其他开源项目相互得益。开源并非不逐利,而是追求比现买现卖更加长远的利益。

四、所谓的“源代码无用”说,是具有误导性的。打个比方,如果 MS Office 开源了,你当然不可能拿来编译,但一些组织马上就会修改源代码,去掉 CDKEY 验证,然后编译出来提供免费下载。这时候微软还敢 700 块钱一份的往外卖?所以不要认为开源对普通用户没一点好处,商业软件不这么做是有充分理由的。

五、开源促进了创新。IE 这两年虽然下了很大的功夫,但是 Firefox 发展更快,IE 还是一直落在后面。再看看 Firefox 琳琅满目的扩展,谁还能说开源阻碍了创新?靠一个专利养活一辈子,这样的机制才是阻碍了创新。

六、为什么有人如此痛恨开源?一方面因为开源极大的抬高了软件业赚钱的门槛。在开源界,只有写得很强大的软件才有资格提供收费服务,功能简单的开源项目只能靠捐助过活(虽然作者通常是用业余时间来做这个项目的)。换句话说,靠仅仅几千行稀烂的代码就能混饭吃的年代已经过去了。另一方面,开源的发展对商业软件构成了威胁,面对压力,它们只能把价格一降再降。不管是哪一方面,用户无疑都是最终的赢家。所以一些文章站在用户的角度去批评开源,不仅毫无道理,而且其用心是欲盖弥彰。
分享到:
评论

相关推荐

    常用开源软件说明手册

    ### 常用开源软件说明手册 #### 引言 随着信息技术的发展,开源软件因其免费、可定制化等优势,...希望读者能够通过本文档对开源软件有一个初步的认识,并鼓励大家积极参与到开源项目中去,共同推动技术的进步和发展。

    开源软件风险成熟度模型-BlackDuckSoftware.pdf

    第二个级别是手动发现,公司开始认识到开源软件风险的存在,并开始手动检查和追踪开源组件的使用情况。在这个级别上,公司可能会使用一些基本的工具来检查开源组件的使用情况,但这还不足以完全规避风险。 第三个...

    认识开源机器人第一课时教案.docx

    通过对开源机器人的实际拆解和组装,学生能够直观地了解机器人的基本结构,包括主板、传感器、马达等关键组件。教师在这一过程中强调操作的规范性,确保学生在学习过程中培养出严谨的实践技能。通过观察、分析和动手...

    认识开源机器人第一课时教案.pdf

    【课程主题】:认识开源机器人 本课时主要围绕开源机器人的基础知识展开,旨在引导学生了解和探索这一领域的知识。...通过一系列活动,学生不仅能掌握开源机器人的基本知识,还能提升对科技的理解和应用能力。

    开源软件知识产权风险防控研究报告(2019年).zip

    此外,它还可能强调培训的重要性,提高员工对开源知识产权风险的认识。 报告可能还涵盖了风险管理,包括在产品生命周期内持续监控开源组件的变化,以及制定应急计划以应对可能出现的知识产权问题。这可能涉及与法律...

    一个开源的会议管理系统

    对于初学者,通过学习和实践这个开源项目,可以深入理解JavaWeb开发,提高软件工程能力,特别是对MVC模式、数据库操作、Web安全等方面有更深入的认识。而对于企业,选择开源的会议管理系统不仅可以节省开发成本,还...

    仓库管理系统开源

    通过这些截图,开发者可以对系统的整体架构和用户交互有一个直观的认识。 "install.JPG"则可能是系统安装过程的截图,这通常包括环境检测、数据库配置、初始设置等步骤。对于初学者,这是一个了解如何部署和配置PHP...

    开源ESB实践

    在现代企业架构中,企业服务总线(Enterprise Service Bus,简称ESB)扮演着非常重要的角色。...通过阅读本书,读者可以更深入地认识到开源ESB在企业集成中的强大功能和灵活性,以及开源产品的成本效益优势。

    金山开源界面库 Demo 设计器

    通过这个示例,开发者可以直观地学习到KUI的基本用法,对库的功能有一个初步的认识。`TKui`则可能是界面设计器的源代码或者可执行文件,这个工具允许开发者通过图形化界面来设计和预览应用程序的布局,减少了手动...

    课程大纲:人工智能和STEM教育——开源硬件实践项目1

    在这个阶段,学生将对计算机及人工智能的相关概念、应用有一个初步的认识,并对课程涉及到的硬件进行基础性的介绍,为后续的实践操作做好准备。 紧接着第二章“人工智能初体验”,课程内容开始具体深入。通过讲授...

    中国开源软件法治建设状况分析.pptx

    ### 中国开源软件法治建设状况分析 #### 一、开源软件概述 开源软件是指软件的编写者将其源代码(通常是免费地)...随着国内企业和个人对开源理念的认识不断加深,中国的开源软件产业有望迎来更加广阔的发展空间。

    前端开源库-fireworks-canvas

    此外,还可以参考其他开源库,比如Three.js、Pixi.js等,扩展对Web图形编程的认识。 总之,Fireworks Canvas是一个优秀的前端开源库,它将HTML5 Canvas的潜力发挥得淋漓尽致,为网页带来了动态且生动的烟花效果。...

    前端开源库-vusion-cli

    Vusion是一个基于Vue.js的开源框架,它在Vue的基础上进行了扩展,增加了对组件的生命周期、状态管理和样式隔离等特性的支持。Vusion致力于提供一套完整的前端解决方案,包括组件库、开发工具和最佳实践,帮助开发者...

    我对Linux的认识

    "我对Linux的认识" linux是一种多用户多任务的免费操作系统,它不但功能强大,接近于工业强度,而且结构设计幽雅,具有良好的扩展性和移植性,接口定义规范,基本和 Unix 系统兼容。Linux 操作系统的系统结构可以...

    iotaCSS智能开源基于Sass的OOCSS框架

    在了解iotaCSS之前,我们首先需要对Sass和OOCSS有一定的认识。 Sass是一种预处理器,它扩展了CSS语法,增加了变量、嵌套规则、混合、函数等特性,使得CSS编写更加简洁和模块化。Sass文件(.scss)经过编译后会生成...

    开源世界旅行手册(Linux教程)

    然后,详细介绍了Linux系统的体系结构,包括内核、 Shell、文件系统等核心组件,帮助读者建立对Linux整体框架的认识。 在基础操作部分,教程涵盖了Linux的安装过程,包括各种发行版的选择,如Ubuntu、Fedora、...

    中国特色开源软硬件概要面向普通高中信息技术学科教学.pptx

    中信息技术学科教学》这本书,我对开源软硬件有了更全面的认识,同时也深感其在教育中的重要作用。开源软硬件,特别是那些具有中国特色的产品,为高中信息技术教育提供了丰富的资源和实践平台,有助于培养学生的动手...

    高中信息技术_体验开源软硬件教学设计学情分析教材分析课后反思.docx

    高一学生已经具备一定的抽象思维能力,对信息技术课程有浓厚兴趣,但他们对开源硬件可能还很陌生。教学应充分利用学生的基础知识,遵循认知规律,采用合适的教学策略,将新知识融入学生已有的知识框架中。 **教学...

    开源框架 Spring Gossip

    认识 Spring 来认识 Spring 的一些特性,并初步了解一下什么叫作 IoC?什么叫作 DI? 简介 Spring Inversion of Control Dependency Injection <br> 核心容器 Spring 核心容器实作...

    volley网络编程开源框架的demo

    Volley是Google推出的一款高效的...通过这个简单的Volley demo,你应该对如何在Android应用中使用Volley进行网络编程有了初步的认识。在实际项目中,可以根据需求进一步优化和扩展,以实现更高效、更稳定的数据交互。

Global site tag (gtag.js) - Google Analytics