广告

开源软件真的可靠吗?

2022-07-28 13:51:26 Jacob Beningo,嵌入式软件顾问 阅读:
乍看之下,采用开源软件似乎是个不错的办法,但归根究底,开源软件有几个特性可能会使其变得“邪恶”...

开发软件——尤其是嵌入式软件,是人类最复杂且最耗成本的活动之一。因此,许多团队希望尽量藉由重复使用软件(包括免费的开源软件)来降低复杂度和成本。根据《2019年嵌入式市场调查》(2019 Embedded Market Survey)发现,24%的受访者重复使用了开放来源(open-source)程序代码。乍看之下,采用开源软件似乎是个不错的办法,但归根究底,开源软件有几个特性可能会使其变得“邪恶”。nFKednc

首先,每个开源程序代码库都附带一项软件授权。软件授权要求开发人员们如何使用以及什么情况下不能使用该软件。如今,许多开源项目都使用MIT授权,让该软件几乎已能免费用于任何项目,而且完全不附带任何条件。遗憾的是,并不是所有的程序代码库都能如此。尽管有些软件授权可以不受限制地用于个人项目。然而,如果将该程序代码作为商业用途,任何更改或有时甚至是新的相关程序代码也必须开源。如果开发人员或经理人员等稍微不留意,很可能就必须合法地开放其IP。是不是很邪恶?nFKednc

其次,“免费”的软件难道不违背资本主义存在的核心吗?我们都推崇发明家、企业家以及成长为业界领导厂商和巨擘的公司。但如果说有想为软件付费的想法可能会让工程师笑掉大牙。为什么我们拒绝为商业软件付费,反而依赖于开源软件?我在许多公司中看到的情形是,推广使用免费的开源软件并不是因为它的质量更好、上市时间更短或客户体验更佳。据我所见,最大的推动力量似乎是企业对利润最大化的贪婪。当公司不愿意支付、捐赠或作出贡献时,为什么却指望每个人都为其软件付出高昂的代价?这不是很邪恶吗?nFKednc

最后,开源软件通常功能强大,但不一定十分稳健可靠或经过全面测试,甚至不一定适合每一位开发人员想要的使用方式。例如,业界最喜欢的开源工具库是FatFS。FatFS提供了一个由许多微控制器(MCU)供货商整合的易用文件系统,因而可说是让开发人员拥有一个开箱即用的文件系统。然而,选择FatFS却让我觉得痛苦,因为它虽然在功能上非常完善也很有用。但是,如果您开始深入了解,就会发现许多潜在的质量问题。nFKednc

nFKednc

图 1:基本 FatFS程序代码分布函数的McCabe循环复杂度范围计数。nFKednc

例如,如果您分析FatFS的函数复杂度(Cyclomatic Complexity),您会发现函数的复杂度分布如图1所示。整体而言,大多数函数都比较简单,如果进行任何更改后出现bug 或注入bug的可能性较低。但是,它有17个函数的复杂度大于10,其中有5个函数的复杂度甚至大于20!你认为那些是什么功能?开发人员最常使用的那些如表1所示。是不是很邪恶?nFKednc

nFKednc

表1:循环复杂度为20或更高的FatFS函数。nFKednc

那么,开源软件真的邪恶吗?我可能会争辩说不;但是,我想提醒想要冲往GitHub以及尽量利用每一个已知开源软件的团队,请先暂停脚步想一想再小心谨慎地继续前进。因为你永远不知道最终会得到什么,你或你的客户最终也可能会变得更糟。至少请预先安排时间来分析您的开源软件并对其进行测试,以确保它能满足您的需求。只是因为有人免费提供给您并不表示它能够满足您的要求。nFKednc

您认为呢?开源软件邪恶吗?nFKednc

(参考原文:Is open-source software evil?,by Jacob Beningo;编译:Susan Hong)nFKednc

责编:Demi
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 用水泥和炭黑制造储能超级电容器 一项新的研究表明,人类最普遍的两种历史材料,水泥和炭黑(类似于非常细的木炭),可能会成为新型低成本储能系统的基础。该技术可以在可再生能源供应出现波动的情况下使能源网络保持稳定,从而促进太阳能、风能和潮汐能等可再生能源的使用。
  • 一种用于电路板回收的新基材:遇水能溶 英国的Jiva Materials公司开发了一种新型的PCB基材Soluboard,这种基材是由天然纤维包裹在一种无卤的聚合物中制成的,与行业内经常使用的FR-4基材不同,这种材料只要在90摄氏度左右的热水中浸泡30分钟,就可以分层溶解···
  • 美国公司声称发现室温超导材料,被授予了高于室温的第二 位于美国佛罗伦萨州的Taj Quantum的公司在社交媒体宣布,被授予了高于室温的第二类超导体专利。据称,这种独特的 II 型超导体(专利号:17249094)可在较宽的温度范围内工作,包括远高于室温的温度,从约 -100° F (-73° C) 到约 302° F (150° C) - 这是一种特性这在超导体世界中并不常见。
  • 机器人版的ChatGPT,谷歌新模型泛化能力大幅提高 7月28日,Google DeepMind宣布以训练AI聊天机器人的方式训练了一款全新的机器人模型Robotic Transformer 2(RT-2),这是一种新颖的视觉-语言-动作(VLA)模型,可以从网络和机器人数据中学习,并将这些知识转化为机器人控制的通用指令。
  • 俄罗斯“贝加尔湖”基准测试对比英特尔和华为芯片,惨败 俄罗斯服务器处理器 Baikal-S 的开发人员将其性能与美国和中国的同类芯片进行了比较。涉及六个流行指标。
  • 英伟达惨遭背刺,这个SDK让AMD平台也能运行CUDA 近日,AMD正式推出了HIP SDK,这是ROCm生态系统的一部分,基于开源ROCm解决方案,HIP SDK使消费者可以在各类GPU上运行CUDA应用,为专业和消费级GPU提供CUDA支持。
  • 麻省理工发现新型量子磁铁释放电子潜力 研究人员发现了如何控制异常霍尔效应和贝里曲率来制造用于计算机、机器人和传感器的柔性量子磁体。
  • 电池能用三十年?美国Ener Venue称推出革命性电池技术 三元锂离子电池的理论寿命约为800次循环,磷酸铁锂约为2000次,而钛酸锂据说可以达到1万次循环,也就是说常规普通人使用的锂离子电池每天完全充放电三次,最多也就能用上几年的时间。虽然相较于铅酸电池200-300次的循环寿命来说,这已经是很大幅度的提升了,但现在有一家公司宣称他们的电池可以充放电30000次,每天充放电三次,能用30年。
  • 测试中比友商温度低14度,一加天工散热系统怎么做到的? 7月27日,一加在2023年ChinaJoy上发布了全球首创的散热技术,即航天级三维立体散热系统“天工散热系统”,这是一加的又一次新的尝试,让我们一起来了解一下。
  • 万物电气化:探索绿色未来之路 在本文中,我们将重点介绍美国年度脱碳展望(ADP)2022报告中的一些重要发现。本报告着眼于实现净零经济的各种情景。我们在本文中重点关注的方法称为“中心情景”,它遵循到2050年实现净零排放的时间表。
  • 后来居上,美光宣布已出样业界首款HBM3 Gen2内存 7月26日,美光宣布推出业界首款8层24GB HBM3 Gen2内存芯片,是HBM3的下一代产品,采用1β工艺节点,目前该款美光内存芯片正在向客户提供样品。
  • 韩国造世界首个室温超导体,闹剧还是新的未来? 7月22日,韩国的一个科研团队在预印本网站arXiv平台上上传了两篇论文,声称发现了世界上首个常压室温超导体,这种材料是一种改性铅磷灰石名为LK-99,超导临界温度在127摄氏度,即400K以上,而且在常压下就具备超导性。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了