当前位置: 首页 > news >正文

嵌入式系统开发笔记92:感受开源之美

文章目录

  • 前言
  • 一、开源软件
  • 二、开源软件的特点
    • 1、可扩展性
    • 2、激发你的潜能
    • 3、完全的控制权
    • 4、永在一起,从不孤单
    • 5、价格永远是不可回避的问题
    • 6、乐于分享
    • 7、定期更新
    • 8、值得信任
    • 9、高度可用性
    • 10、广泛的用户群体
    • 11、安全可靠
    • 12、广泛的公司支持
    • 13、协同工作,各取所需
    • 14、专业应用,决不逊色


前言

  本文介绍开源软件的优缺点。

一、开源软件

在这里插入图片描述
  开源软件(英语:open source software,缩写:OSS)又称开放源代码软件,是一种源代码可以任意获取的计算机软件,这种软件的著作权持有人在软件协议的规定之下保留一部分权利并允许用户学习、修改以及以任何目的向任何人分发该软件。

  我们可以把“开源”想像成一个软件商店(例如苹果软件商店或者安卓软件商店),那里所有的资源都是自由开放且可扩展的。你可以为你自己的智能设备下载一个新软件或者硬件驱动。任何人都能开发新的应用或者去改进一个现有的应用。每个人都能受益。这就是自由软件和开源软件存在的意义。

二、开源软件的特点

1、可扩展性

在这里插入图片描述
  使用开源的软件可以对已有的智能设备进行没有任何限制的特性扩展,甚至可以给智能设备赋予全新的功能,彻底改变它现有的功能。

2、激发你的潜能

在这里插入图片描述
  吸引客户,震撼他们,就需要设计者拿出前从未见过的创意理念,前所未闻的独特视角,不可思议的设计构造。硬件和软件设计的本质是不再限制自己,不断去探索新的可能。

3、完全的控制权

在这里插入图片描述
  对于采用闭源技术所设计的产品来说,生产它的公司是拥有其所有权的唯一实体。如果出现问题,只能依靠生产它的公司进行修复。而对于采用开源技术的产品来说,则这种所有权将转交给用户,让用户对于产品具有完全的控制权,永久且不可改变。

4、永在一起,从不孤单

在这里插入图片描述
  设想一下,你一直在使用的产品,突然有一天它的生产它的公司破产了,此后就再也没有人可以负责产品的修理、更换以及提供技术支持了。如果是开源产品,则任何一个公司都可以继续为原来的产品提供支持,甚至可以重新生产。除此之外,开源产品都会伴随着一个社区,大家可以相互帮助,改进产品。

5、价格永远是不可回避的问题

在这里插入图片描述
  一款使用开源技术的产品是很难在价格上欺诈消费者的。如果你想把价格定的高出产品本身价值很多,就立刻会有人去生产并出售一款同样的产品,但价格更低。开源产品的价格是非常透明的,这种透明保证消费者得到一个公正的价格。

6、乐于分享

在这里插入图片描述
  有一种精神叫“分享”,你有一个苹果,我有一个香蕉。没有分享,则你永远拥有的是苹果,我永远拥有的是香蕉。只有分享,才能使你我同时拥有苹果和香蕉。“分享”是一种精神,也是当今社会人与人之间合作的基础和理念。

7、定期更新

在这里插入图片描述
  开源软件通常会在自己的论坛中对软件进行beta测试和预发行,在软件未完成之前,我们就可以快速方便的进行测试和验证,而闭源软件就不同了,只有在经历了长时间的内部迭代,并最终由制造商正式公开发布之后,大家才能一睹它的芳容。

8、值得信任

在这里插入图片描述
  相信你不仅熟知google公司(极力倡导开源软件),也同样熟知NASA吧!NASA的太空和地球任务控制都是基于开源系统开发的。价值百万美元的轨道卫星控制工具也是用开源软件完成的。

9、高度可用性

在这里插入图片描述
  开源技术已经被广泛使用,从网络服务器和科学研究应用等高度专业性的领域到日常使用的网络浏览器和媒体播放器,开源技术还在不断改进以适应广大群众的需求。

10、广泛的用户群体

在这里插入图片描述

  开源技术拥有广泛的用户,苹果公司这个大家都认为非常具有创意性的公司,其产品也使用开源技术。它的Mac OSX就是用开源技术写的。如果你在用苹果系统,你现在就在使用开源系统。

11、安全可靠

在这里插入图片描述
  开源技术软件的安全补丁的发布周期显著优于闭源系统,Android系统修复安全问题的速度比微软快3倍。这一切都要归功于开源技术,因为在开源系统中没有任何“隐藏性”可言。

12、广泛的公司支持

在这里插入图片描述
  事实上,很多人在闲暇时间开发开源软件,因为他们热爱这份工作,渴望开发出好的软件,还有很多人也会出资开发开源软件。例如Red Hat、Intel、Novell、 IBM、Texas Instrument、Broadcom、Nokia、Samsung、Oracle、Google。

13、协同工作,各取所需

在这里插入图片描述
  开源让开发个体和公司可以利用现有的技术,无需关心已经解决的问题,把精力集中在新问题上。当开源让每个人更加多产时,它就成为了竞争优势的有效来源。很多时候,在已有基础上建立和改进别人的产品比自己闭门造车或者从头开发一款产品要简单的多,这就是为什么要开源。

14、专业应用,决不逊色

在这里插入图片描述
  谷歌的基础架构,IBM,NASA的飞行器,世界上70%以上网络服务器(阿帕奇和nginx),美国22%的新网站(WordPress),75%的智能手机用户(Android)都是建构于开源软件之上的。著名电影“钢铁之泪”也基于开源软件制作。

相关文章:

  • VLC 编译安装 [for android, linux, windows]
  • 字节内部私藏的数据结构与算法刷题笔记,太顶了熬夜刷上头
  • 前端性能优化方法与实战开篇词 开启刻意练习之路,进阶前端性能技术专家
  • 实战java高并发程序设计(第2版)学习(1-3)
  • TiCDC 重要监控指标详解
  • T1063 最大跨度值(信息学一本通C++)
  • JavaSE 一些技巧 03——Stream流常用API
  • VMware安装Android-x86示例
  • [HUBUCTF 2022 新生赛]
  • 【Machine Learning】13.逻辑回归小结and练习
  • Cadence Allegro 过孔通孔盲孔埋孔详细说明及设计举例图文教程
  • Spring boot再来一遍
  • Mathorcup数学建模竞赛第三届-【妈妈杯】B题:关于三维健康评分模型的研究(附带赛题解析获奖论文)(一)
  • 最新版本vscode 真正解决用vscode + unity搭配开发没有代码智能提示 OmniSharp服务启动 vscode调试unity准备
  • T1064 奥运奖牌计数(信息学一本通C++)
  • 自己简单写的 事件订阅机制
  • [case10]使用RSQL实现端到端的动态查询
  • 《深入 React 技术栈》
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • Bytom交易说明(账户管理模式)
  • canvas 绘制双线技巧
  • CSS盒模型深入
  • eclipse(luna)创建web工程
  • FastReport在线报表设计器工作原理
  • HTTP中GET与POST的区别 99%的错误认识
  • Java,console输出实时的转向GUI textbox
  • JavaScript 一些 DOM 的知识点
  • JavaScript异步流程控制的前世今生
  • Js基础知识(四) - js运行原理与机制
  • LintCode 31. partitionArray 数组划分
  • Python利用正则抓取网页内容保存到本地
  • Yeoman_Bower_Grunt
  • 力扣(LeetCode)22
  • 两列自适应布局方案整理
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 学习笔记:对象,原型和继承(1)
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 应用生命周期终极 DevOps 工具包
  • Linux权限管理(week1_day5)--技术流ken
  • 阿里云ACE认证学习知识点梳理
  • # Maven错误Error executing Maven
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #define、const、typedef的差别
  • #WEB前端(HTML属性)
  • #宝哥教你#查看jquery绑定的事件函数
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (function(){})()的分步解析
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (八十八)VFL语言初步 - 实现布局
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (四)鸿鹄云架构一服务注册中心