0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

评估开源的注意事项

星星科技指导员 来源:嵌入式计算设计 作者:Ashish Kuthiala 2022-08-12 10:20 次阅读

对于嵌入式应用程序开发人员来说,开源软件似乎是一个绝妙的选择,无论是用作应用程序的基础,还是使用开源工具来加速开发过程和加快上市时间。开源软件就其本质而言是免费的——这意味着无需成本或付款。在管理人员不断尝试限制开发成本的环境中,开源听起来是个好主意,并且根据每个开发人员的独特情况,它可能只是解决预算限制所需的解决方案。

考虑一些专业人士。首先,开源很容易获得。使用开源,开发人员只需下载和使用该软件。开源代码质量也可以是积极的。如果代码已经不错,它只会随着社区的改进而改进。利用开源社区获得帮助、支持和功能开发是开源的最大资产之一。“我们都在一起”的感觉有助于所有船只升起。

总而言之,这些好处可以让开发人员怀疑开源是否存在不利因素。事实证明,开源确实有隐藏的成本,只有在组织处于开发过程中时才会显现出来。虽然开源产品可能适合某些开发人员,但其他使用开源产品的人在考虑替代方案为时已晚后可能会遇到各种陷阱。

让我们回顾一下开源对开发过程的四个关键部分的影响——使用开源代码作为开发嵌入式应用程序的基础、定制开源平台以加速构建、开源蔓延和可见性以及对时间敏感问题的支持。

为嵌入式环境定制开源

在考虑将开源作为网络基础设施平台、机顶盒平台、医疗设备或任何其他嵌入式应用程序的基础时,请考虑满足特定行业需求所需的定制量。

在实施一个新的开源项目时,一个团队要么需要使用他们自己团队的宝贵资源来定制软件以满足其环境的需求,要么使用资金聘请顾问来做同样的事情。顾问路线可以节省定制软件的时间,但它仍然需要开发人员花时间管理流程。

维护开源软件是另一个时间槽。十分之九,脚本和修复是可行的,但代价是开发人员可以更明智地花费在开发产品上的时间,而不仅仅是修复开源软件。由于开发人员的高成本,这可能占分配给“免费”解决方案的开发资源的很大一部分。

优化开源以加速构建

开发人员需要以最大化工程组织生产力的方式优化他们的构建。这意味着开发人员不会坐在那里等待他们的个人构建完成——这个过程通常最多需要几分钟或几小时,最坏的情况是几天。当今市场上的构建加速器工具主要通过分布在大型构建云中的称为依赖感知并行性的过程以及巧妙的缓存和避免技术来加速构建,从而实现快速可靠的增量构建和完整构建。一些大型开发组织已经使用这些加速器优化了数据中心,以加快分布式全球团队的构建速度。

开源选项可用于管理和加速软件构建,但它们有明确的限制和警告。例如,在使用通用软件构建工具(如 GNU Make 和 SCons)时,构建必要的可扩展性和可靠性以支持和加速适当级别的软件构建通常成本很高。随着组织扩大到更多的开发人员、更多的项目以及在整个开发生命周期中对更快的反馈循环的更大需求,这个问题会成倍增加。

开源构建工具的另一个常见问题是缺乏对软件构建结构内部细节的可见性和“可调试性”,这导致希望变得更加高效和敏捷的组织需要进行昂贵的手动维护和较长的交付周期。一旦构建失败,返回并确定出现问题的可见性根本不存在。随着多个团队共同努力将产品推向市场,团队之间缺乏可见性会减慢故障排除速度,从而加快产品上市速度。在一个需要上市时间就是一切的行业,并且越来越需要嵌入式应用程序的多个版本和修复程序,这种级别的支持根本是不可接受的。

在考虑开源工具的替代方案时,团队应确保加速工具不会导致构建中断,可以利用现有的硬件资源进行并行化,并且可以使用现有的工具集和流程。

一个这样的替代方案是 Electric Cloud 的 ElectricAccelerator(图 1),它在单台机器上或跨标准服务器集群执行并行构建,将完整或增量构建时间减少多达 20 倍。这种加速的关键在于获得专利的依赖管理技术,该技术在文件级别检测和管理依赖关系,以确保准确的构建。ElectricAccelerator 可插入现有的构建和发布架构,无需修改现有的构建脚本和工具。作为构建工具的附加组件,ElectricInsight 提供了一个直观的图形表示,描述了构建的结构和运行方式,使构建管理人员能够查明所有构建中的性能问题或冲突。而不是手动倾倒数千行构建输出文件,

图 1: ElectricAccelerator 并行构建管理底层复杂依赖项。插图报告显示了如何优化硬件利用率以减少构建时间。

poYBAGL1uRiAKhy0AAToX9VGUcw764.png

开源蔓延和可见性

因为开源平台很容易获得,所以大多数部门最终都会实施自己的个人版本,通常是为了满足他们的特定需求而定制的。对于较大的组织,这可能意味着在同一个开发组织中实施了数十个持续集成工具实例,从而创建了一个不受管理的、孤立的环境,或者换句话说,一个开源的蔓延。

这种蔓延所产生的成本可能是巨大的。首先,这不是一个容易扩展的模型。其次,管理层对开发工作的进展几乎没有可见性。由于缺乏标准化,无法真正评估进度或解决相互依赖的项目之间的问题。从管理的角度来看,这是令人沮丧的,因为工作不协调,对昂贵资源的要求来自四面八方。

开源和支持

在使用开源时,开发人员总是面临支持的问题。当必须解决时间紧迫的问题时,这些问题可能需要直接提交给社区,因为没有官方支持系统。影响组织收入的关键任务应用程序必须与可追究责任的专业人员合作,以对时间敏感的方式解决。有人随叫随到来解决问题而不是依赖社区,这是有话要说的。

总而言之,所有这些问题很容易复合,从而在任何嵌入式开发过程中引入重大问题。这并不是说开源不能成为嵌入式开发人员的有价值的工具——它肯定可以。但是,使用开源进行开发工作的成本具有局限性,并且需要组织必须预算的时间和精力。因此,当开发人员决定依赖开源技术时,他们应该确保了解“免费”的真实价格。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4975

    文章

    18235

    浏览量

    287842
  • 机器
    +关注

    关注

    0

    文章

    756

    浏览量

    40479
  • 开源
    +关注

    关注

    3

    文章

    2981

    浏览量

    41691
收藏 人收藏

    评论

    相关推荐

    浪涌抑制器的应用及注意事项

    浪涌抑制器的应用及注意事项?|深圳比创达电子
    的头像 发表于 01-19 09:55 128次阅读
    浪涌抑制器的应用及<b class='flag-5'>注意事项</b>?

    芯片金线包封胶的使用注意事项是什么?

    芯片金线包封胶的使用注意事项是什么?金线包封胶是一种高性能、高粘度的密封胶,广泛应用于电子、电器、汽车等领域。它具有良好的防水、防潮、防震等性能,能够保护产品内部零件不受环境影响,提高产品的使用寿命
    的头像 发表于 01-05 11:29 427次阅读
    芯片金线包封胶的使用<b class='flag-5'>注意事项</b>是什么?

    DC电源模块有哪些注意事项和使用技巧?

    DC电源模块有哪些注意事项和使用技巧?
    的头像 发表于 12-25 13:59 227次阅读
    DC电源模块有哪些<b class='flag-5'>注意事项</b>和使用技巧?

    霍尔元件使用的注意事项

    霍尔元件使用的注意事项  霍尔元件是一种常见的电子元件,主要用于测量和检测磁场的变化。它具有灵敏度高、响应速度快、耐磁场干扰等优点,在各种应用中得到广泛使用。然而,为了确保霍尔元件的正常工作和延长
    的头像 发表于 12-18 14:56 466次阅读

    电流互感器的使用注意事项

    当谈到电流互感器的使用时,有一些重要的注意事项需要我们牢记。在本文中,我们将探讨这些注意事项,为您提供详细和全面的信息。
    的头像 发表于 12-15 10:34 550次阅读
    电流互感器的使用<b class='flag-5'>注意事项</b>

    pcb板线路腐蚀清洗注意事项

    pcb板线路腐蚀清洗注意事项
    的头像 发表于 11-24 17:21 500次阅读

    VGA OUT 的PCB设计注意事项

    VGA OUT 的PCB设计注意事项
    的头像 发表于 11-23 09:04 330次阅读

    中8位MCU EEPROM使用注意事项

    中颖8位MCU EEPROM使用注意事项
    的头像 发表于 09-27 15:34 484次阅读
    中8位MCU EEPROM使用<b class='flag-5'>注意事项</b>

    直线模组的运行注意事项

    直线模组的运行注意事项
    的头像 发表于 08-21 17:36 884次阅读
    直线模组的运行<b class='flag-5'>注意事项</b>

    电主轴使用时有什么注意事项

    电主轴使用时有什么注意事项?|深圳恒兴隆机电
    的头像 发表于 08-16 11:16 636次阅读
    电主轴使用时有什么<b class='flag-5'>注意事项</b>?

    安全光栅选择注意事项

    安全光栅选择注意事项
    的头像 发表于 07-14 10:24 538次阅读
    安全光栅选择<b class='flag-5'>注意事项</b>

    使用注意事项

    使用注意事项
    发表于 07-07 19:04 0次下载
    使用<b class='flag-5'>注意事项</b>

    安全光幕选型方法以及注意事项

    安全光幕选型方法以及注意事项
    的头像 发表于 07-06 13:59 456次阅读
    安全光幕选型方法以及<b class='flag-5'>注意事项</b>

    安全光幕选型方法以及注意事项

    安全光幕选型方法以及注意事项
    的头像 发表于 06-28 14:35 449次阅读
    安全光幕选型方法以及<b class='flag-5'>注意事项</b>

    QB-MINI2操作注意事项

    QB-MINI2操作注意事项
    发表于 04-27 18:58 0次下载
    QB-MINI2操作<b class='flag-5'>注意事项</b>