嵌入式学习:开源与闭源

这篇具有很好参考价值的文章主要介绍了嵌入式学习:开源与闭源。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

开源指的是那些源代码或源设计可以被大众使用、修改发行的软件或设计体,闭源就是不开放源代码。

Linux 无疑是开源软件里最最成功的一个,不管是从它目前的生态建设角度,还是从业界评价来看,包括今天云计算的基础也都倚赖Linux的贡献和基石。当然,像OpenStack、Hadoop 、Spark等也非常成功,这些开源项目都属于底层技术,在支撑今天整个大数据、云计算的发展。

开源并不意味着免费,开源只是说我们做了一个好东西,把它开放给大家使用,目的是希望大家更多地使用它,并反馈使用过程中的问题或者改进方式,使得整个开源项目进步得更快,能够更好地共享给更多有需要的人,目前像 Linux、Hadoop、Spark等等,都是这么做的。但很多时候开源背后还是带有很浓厚的商业背景。

做得比较大的开源项目背后都有商业公司在支撑,如果一个成功的开源项目背后没有商业公司,这是不健康的,我们需要开源和商业之间的互补对称来促进整个社区和技术的不断前进答,这是一方面。

另一方面,从开源用户的角度来看,“开源是不是免费的”其实也是一个伪命题(这里的用户指的是所有使用开源产品的企业或者个人)。开源看上去是不需要花版权的钱,但其实企业用户招聘合适的开发人员、运维人员把这个事情做完,成本可能比买商业版本更高。

从商业价值的角度来说,开源毋庸置疑已经是基础技术领域的必然趋势,没有开源的基础技术是没有生命力的,因为它很难被广泛使用。在商业上,一个开源项目被大范围使用后,可以使得整个技术升级换代成熟起来变得非常迅速,过去可能要经过三年、五年、甚至十年的时间去进化,因为开源的力量,在短短几个月内可能就完成了。从另外一个角度来说,开源的壮大又会反哺支撑商业,毕竟还有很多客户都是希望获得商业的支持和价值。

对于开发者来说,开源与不开源很大的一个区别在于,你是一个孤军奋战的人,还是一个可以跟全世界最优秀的开发者在一起的人。因为如果你做一个闭门的项目,你所能够沟通的、接触的资源受应用场景的限制,会非常有限。但如果你是做开源项目,不管你是自己领导开源还是参与开源,你都可以和全世界最优秀的开发人员一起来玩技术,一起在社区探讨交流,这样对于自己的成长是飞速的

我们想象一下一项任务的开发如果没有开源的话,想要让这个系统的所有的功能得以实现这整个过程都是要由等着它的开发厂商自己来解决的。而系统中自己产生的一些BUG,也只能等着开发厂商来修复,如果开发厂商本身没有发现,这些BUG就会永远的存在。

所以由此看来开源和不开源的区别还是非常大的,它的作用也是很大的,开源最大的魅力就在于不依赖于某个厂商,大众都可以修改代码以满足自己的需要,千万个“自己的需要”就汇聚成了伟大的产品,任何违背这个理念的开源都是“伪开源”。

开源不是简单的公布源代码,如果有个人将自己开发的一款源代码公布到网上之后,并没有通过git、svn等把源码管理起来,而且之后的修改汇总管理也是无人问津的,只能是提供对这个软件感兴趣的人进行下载,然后自己在做进一步的修改,让自己用,这样没有做出贡献的开源,就失去了开源背身的价值。

对嵌入式物联网感兴趣的小伙伴,可以多了解一下相关信息。(看过来)文章来源地址https://www.toymoban.com/news/detail-473700.html

到了这里,关于嵌入式学习:开源与闭源的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式相关开源项目、库、资料------持续更新中

    学习初期最难找的就是找学习资料了,本贴精心汇总了一些嵌入式相关资源,包括但不限于编程语言、单片机、开源项目、物联网、操作系统、Linux、计算机等资源,并且在不断地更新中,致力于打造全网最全的嵌入式资料库。有好的嵌入式相关资源的朋友欢迎做贡献,利人

    2024年02月02日
    浏览(47)
  • 带你了解LVGL:一个开源的嵌入式图形库

    嵌入式系统是一种将计算机硬件和软件集成在一个特定的应用中的系统,例如智能手机、智能手表、汽车仪表盘等。嵌入式系统通常需要与用户进行交互,因此需要一个友好和易用的图形用户界面(GUI)。然而,开发一个高质量的GUI并不容易,因为嵌入式系统通常有限的资源

    2024年02月09日
    浏览(64)
  • 分享一款嵌入式开源按键框架代码工程MultiButton

    MultiButton 是一个小巧简单易用的事件驱动型按键驱动模块。 Github地址:https://github.com/0x1abin/MultiButton 这个项目非常精简,只有两个文件: (1)可无限扩展按键; (2)按键事件的回调异步处理方式可以简化程序结构,去除冗余的按键处理硬编码,让按键业务逻辑更清晰。 通

    2024年04月15日
    浏览(68)
  • 嵌入式操作系统(嵌入式学习)

    嵌入式操作系统是一种专门设计和优化用于嵌入式系统的操作系统。它是在资源受限的嵌入式设备上运行的操作系统,如微控制器、嵌入式处理器和系统芯片等。 嵌入式操作系统的主要目标是提供对硬件资源的有效管理和对应用程序的调度,以实现系统的可靠性、实时性和效

    2024年02月10日
    浏览(60)
  • 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(12)- 从SD/eMMC启动

    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是 恩智浦i.MXRT1xxx系列MCU的SD/eMMC卡启动 。 最近在恩智浦官方社区上支持了一个关于 i.MXRT 从 SD 卡启动的案例,这让痞子衡想起了一年前写过的一篇《i.MXRT600从SD/eMMC启动》,那一篇重点介绍了基于 eMMC 设备

    2024年02月02日
    浏览(46)
  • 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(10)- 从Serial NAND启动

    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是 恩智浦i.MXRT1xxx系列MCU的Serial NAND启动 。 最近越来越多的客户在咨询 i.MXRT1xxx 从 Serial NAND 启动的事情,让这个本来比较冷门的启动设备突然火热起来。据痞子衡的了解,其实客户主要目的是在应用里基于

    2024年02月17日
    浏览(47)
  • 【嵌入式】使用MultiButton开源库驱动按键并控制多级界面切换

    目录 一 背景说明 二 参考资料 三 MultiButton开源库移植 四 设计实现--驱动按键 五 设计实现--界面处理         需要做一个 通过不同按键控制多级界面切换以及界面动作 的程序。         查阅相关资料,发现网上大多数的应用都比较繁琐,且对于多级界面的切换逻辑可读

    2024年02月07日
    浏览(61)
  • 嵌入式系统(embedded systems)-配置文件解析-开源库minIni

    minIni开源库的介绍 minIni是一个用于在嵌入式系统中读写“INI”文件的程序库。minIni占用很少的资源,具有确定的内存占用,并且可以为各种类型的文件I/O库配置。 gitee 链接:link https://gitee.com/resetlove/minIni github 链接:link https://github.com/compuphase/minIni.git minlni是一个可移植和可配置

    2024年02月03日
    浏览(49)
  • 适合嵌入式开发的GUI(嵌入式学习)

    嵌入式开发中的GUI(图形用户界面)是指在嵌入式系统中实现图形化的用户界面,以便用户可以通过触摸屏、按钮、鼠标或其他输入设备与系统进行交互。 以下是一些常见的嵌入式GUI开发方法: 轻量级GUI库:一些轻量级的GUI库适用于嵌入式系统,例如uGFX、LittlevGL、Nanogui等。

    2024年02月09日
    浏览(69)
  • 【嵌入式学习笔记】嵌入式入门2——中断(外部中断)

    打断CPU执行正常的程序,转而处理紧急程序,然后返回原暂停的程序继续运行,就叫中断 作用1: 实时控制在确定时间内对相应事件作出响应 ——定时器中断 作用2: 故障处理检测到故障,需要第一时间处理 ——外部中断 作用3: 数据传输不确定数据何时会来 ——串口中断

    2024年02月08日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包