避免使用开源软件的7个理由

亵渎!开源软件是该行业发生过的最伟大的事情!免费!为什么我们到底要避免使用开源软件?这可能会使一些读者感到惊讶,但是尽管我们热爱“开源”和“免费软件”,但开发人员应出于多种原因考虑避免使用开源软件。

原因1 –意外泄露机密知识产权

开发人员经常认为所有开源软件都是免费的,并且没有附带任何挂钩。问题是事实并非如此。开源软件开发人员使用几种不同的许可方案。有些确实确实放弃了农场。但是,也有一些许可证需要进行任何修改,甚至需要将相关软件作为开源发布。如果没有引起足够的关注,那么开发人员可能会发现自己不得不向世界发布机密代码和算法。免费软件只是让公司泄露了代码,或者如果他们想受到保护,他们现在就需要花律师费,以确保他们不会通过使用“免费”软件来全部放弃。

如果要使用开源软件,请确保计算律师费以确认您是无罪的。

原因2 –设计用于功能而非健壮性

开源软件通常是按功能编写的。访问并写入SD卡。通过USB进行通信。这里的问题是,尽管代码可以正常运行,但代码通常并不可靠,并且期望扳手永远不会扔到齿轮上。这种情况很少见,尽管该软件是免费的,但开发人员很快就会发现他们的开源软件只是功能正常,无法承受现实世界的压力。

原因#3 –缺乏可追踪的软件开发生命周期

开源软件通常是从一个聪明的开发人员开始他们的车库或地下室开始,他们创造出非常实用和有用的东西。最终,多个拥有空闲时间的开发人员参与其中。该软件不断发展,但实际上并没有遵循可追溯的设计周期,甚至没有遵循最佳实践。这些不同的开发人员实现了他们想要的东西,或者向满足他们需求的方向推送了代码。结果是该软件可以在有限的情况下使用,并且用户需要双手合十并祈祷他们的需求和条件与他们相匹配。

原因4 –缺乏自动或手动测试

是的,因为我知道有这么多的工程师和客户不使用自动化测试,所以这可能会很棘手。正式的测试过程,尤其是自动化测试,对于确保代码库的健壮性和足够的质量以满足其需求至关重要。我见过包含自动化测试的开放源代码Python项目,这令人鼓舞,但是对于低级固件和嵌入式系统,我们似乎仍然落后于其他软件行业。如果没有自动化测试,我们将无法知道集成该开源组件是否会破坏其中的某些东西,直到我们投入生产为止。

原因#5 –文档不足或完全缺乏

在已经存在了很长时间或具有强大商业支持的开源项目中,文档已经变得越来越好。尽管是由个人推动的较小项目,但几乎没有甚至没有文档。如果开放源代码没有文档,将其投入实践或调试,将是一场噩梦,并且比仅仅获得商业或工业级软件还要昂贵。

原因6 –缺乏实时支持

没有什么比做任何事情都能使工作或调试更令人沮丧的了,而您只是碰壁。发生这种情况时,解决问题的最佳方法是获得支持。开源的问题在于,不能保证您会及时获得所需的支持以解决任何问题。当然,有一些论坛和社交媒体可以请求帮助,但是这些论坛都是由人们放弃空闲时间来帮助解决问题的人员组成的。如果他们没有时间去研究问题,或者对问题不感兴趣或过于复杂,则开发人员可以自己解决。

原因7 –集成从未像看起来那样容易

找到该网站,演示视频很棒。这是要使用的组件。看看这有多容易!已下载源,然后开始集成。几个月后,集成仍在进行。由于未使用相同的平台或工具链,因此看起来容易的事情很快变得复杂。必须进行“较小”修改。兔子洞只会不断加深,但是经过这么长的时间投入整合之后,这不可能一n而就。

结论

我决不反对开源软件。在某些情况下,它是非常有用和有益的。尽管不仅仅使用软件是很重要的,因为它是免费和开源的。开发人员需要认识到他们对产品的需求,需求和健壮性水平,并适当开发或采购满足这些需求的软件。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.