广告

开源软件真的可靠吗?

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

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

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

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

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

6z9ednc

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

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

6z9ednc

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

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

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

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

责编:Demi
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 谷歌与美国政府合作开发开源芯片 谷歌和美国商务部的国家标准与技术研究院 (NIST) 周三 签署了一项联合研发协议 ,根据该协议,谷歌将资助开源芯片的生产,这些芯片可供学术和小型企业研究人员用于构建各种的新兴应用。
  • 用交通状况鸟瞰图来辅助提升自动驾驶安全性 慕尼黑工业大学 (TUM) 的研究人员与行业合作伙伴合作开发了一种技术,以基于车载传感器输入和交通状况鸟瞰图来补充车辆视角。这提高了道路安全,包括自动驾驶。
  • 芯片,举足轻重到底有多重? 近几年,芯片成为全球瞩目的焦点。新冠疫情导致的供应链危机,以及汽车智能化的快速发展,让芯片的价格持续暴涨。同时,由于众所周知的原因,中美两国在半导体芯片领域不断加大投资。而美国利用在半导体技术方面的优势,也在不断用政策手段限制中国芯片行业的发展。在这种大背景下,中国企业能否在半导体芯片领域有所突破,打破美国的技术垄断?各国在半导体领域的投资热潮,会不会导致产能过剩?
  • 台积电2nm将于2025年量产,ASML高NA EUV芯片制造机2024 今日,台积电负责研发和技术的高级副总裁Y.J. Mii博士透露,台湾半导体制造公司(TSMC)将在2024年收购ASML的高NA EUV芯片制造机,目标是在2025年量产其2纳米(nm)半导体制造工艺。
  • 苹果A16 Bionic架构优化,多核性能提高了14% 据EDN电子技术设计了解,苹果最新的A16 Bionic虽然使用与A15 Bionic相同数量的内核,但A16 Bionic在架构方面进行了优化。
  • 基于苹果A13仿生芯片,S8芯片配备与S6/S7相同CPU Apple Watch Series 6、Apple Watch Series 7、Apple Watch Series 8、Apple Watch Ultra和第二代Apple Watch SE都采用完全相同的CPU。
  • eSIM与SIM有什么区别?能否终结物理SIM卡? 嵌入式 SIM (eSIM) 是一种采用物理 SIM 卡中通常存在的电路并将其永久安装到移动设备中的技术。通过设置例程(通常涉及来自运营商的二维码),移动设备无需物理 SIM 卡即可加入运营商网络。
  • 英特尔演示世界最高速度WiFi 7,速度超5Gbps Intel基于酷睿笔记本电脑展示了Wi-Fi 7的演示,其Wi-Fi 7解决方案连接到了博通的Wi-Fi 7接入点。
  • 号称史上最硬智能手表,Apple Watch Ultra维修费用超售 苹果带来了全新的 Apple Watch Ultra 运动手表,被称为史上最坚固、最硬的Apple Watch。然而,每个硬件都有极限,如果你不小心损坏它,它可能会花费499 美元的维修费用,这几乎是这款智能手表60%的售价。
  • 日本研究人员用新材料传感器提升电动汽车续航 通常,电动汽车中的电池电流可以达到数百安培。然而,能够检测此类电流的商用传感器无法测量毫安级电流的微小变化。这导致电池充电估计的模糊性约为 10%。这意味着电动汽车的续驶里程可以延长 10%。反过来,这将减少低效的电池使用。
  • 柔宇科技名下3700万资产被法院查封、冻结 据EDN电子技术设计了解,柔宇科技名下3700万资产被法院查封、冻结。
  • 冠状病毒未来还有哪些变种?用AI工具预测看看 瑞士科学家研制出一种新型人工智能(AI)工具,可以预测包括新冠病毒在内的冠状病毒未来变种,有望促进下一代抗体疗法及疫苗的研发,为制定公共卫生政策提供重要参考。相关研究刊发于最新一期《细胞》杂志。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了