当前位置:网站首页>Embedded development: seven reasons to avoid open source software
Embedded development: seven reasons to avoid open source software
2022-07-03 15:53:00 【Guangdong embedded Education】
Many people may think that open source software is the greatest thing in the history of this industry ! Free of charge ! Why on earth should we avoid open source software ? This may surprise some readers , But although we love “ Open source ” and “ The free software ”, Embedded developers should consider several reasons to justify avoiding open source software .
reason 1– Accidental exposure of confidential intellectual property
Developers often think that all open source software is free , There are no strings attached . The problem is that this is not the case . Open source software developers use several different licensing schemes . However , There are also licenses that require any modifications , Even related software should be released as open source software . If you don't pay close attention , Then developers may find that they have to release confidential code and algorithms to the outside world . Free software only makes companies pay the price of disclosing code , Or if they want to be protected , They now need to pay for lawyers , To ensure that they do not use “ free ” Software and give up everything .
Make sure if you want to use open source software , You have to calculate the lawyer's fees to prove your innocence .
reason 2—— Designed for functionality rather than robustness
Open source software is usually written by function . Access and write SD card . adopt USB signal communication . The problem here is , Although its functional code is usually not robust , And hope the wrench will never be thrown on the gear . This rarely happens , Although the software is free , But developers will soon find that their open source software is only functional , Unable to bear the pressure of the real world .
reason 3—— Lack of traceable software development lifecycle
Software is developing , But it doesn't really follow the traceable design cycle , Not even following best practices . These different embedded developers implement what they want , Or push the code to meet their needs . The result is that the software works in limited circumstances and environments , Users need to pray that their needs and conditions match them .

reason 4—— Lack of automated or manual testing
Yes , This may be a thorny problem , Because many engineers and customers do not use automated testing . A formal testing process , Especially automated testing , It is crucial to ensure that a code base is robust and of sufficient quality to meet its requirements . But for low-level firmware and embedded systems , We still seem to lag behind the rest of the software industry . Without automated testing , We cannot know whether integrating open source components destroys some of them , We won't notice until we enter production .
reason 5—— Poor quality or complete lack of documentation
Documents are getting better and better in open source projects that have existed for a long time or have strong commercial support . Although smaller projects driven by individuals tend to have little or no documentation . If open source code has no documentation , Putting it into practice or debugging will be a nightmare , And more expensive than just getting commercial or industrial software .
reason 6– Lack of real-time support
Few things frustrate embedded developers more than trying hard to make something work or debug but hitting a wall . When this happens , The best way to solve the problem is to seek support . The problem with open source is , There is no guarantee that you will get the support you need to solve any problems in time . Of course , There are forums and social media for help , But these are manipulated by people who give up their free time to help solve problems . If they don't have time to delve into a problem , Or the problem is not interesting or too complicated , Then developers can only rely on themselves .
reason 7—— Integration is never as simple as it seems
Download the source code and start the integration . After a few months , Integration is still going on . Things that seem simple quickly become complicated , Because the same platform or tool chain is not used , Must be carried out “ minute ” modify .
Conclusion
I have no objection to open source software , In some cases , This is very useful and beneficial . It's important not to just use software , Because it is free and open source . Embedded developers need to recognize their needs 、 And the level of robustness required by their products , And appropriately develop or purchase software that meets these needs .
边栏推荐
- Problems of CString in multithreading
- VC下Unicode和ANSI互转,CStringW和std::string互转
- String functions that you need to know
- "Remake Apple product UI with Android" (2) -- silky Appstore card transition animation
- 【OpenCV 例程200篇】217. 鼠标交互获取多边形区域(ROI)
- Redis高可用与持久化
- Visual upper system design and development (Halcon WinForm) -1 Process node design
- C language brush questions ~leetcode and simple questions of niuke.com
- Tensorflow realizes verification code recognition (II)
- 利用MySQL中的乐观锁和悲观锁实现分布式锁
猜你喜欢

C language brush questions ~leetcode and simple questions of niuke.com

Redis在Windows以及Linux系统下的安装

Microservice - Nacos registration center and configuration center

Jvm-08-garbage collector

Popular understanding of ovo and ovr

找映射关系

Tensorflow realizes verification code recognition (I)

App移动端测试【3】ADB命令

CString getbuffer and releasebuffer instructions

Detailed pointer advanced 1
随机推荐
Visual upper system design and development (Halcon WinForm) -1 Process node design
Calibre LVL
Redis installation under windows and Linux systems
函数栈帧的创建和销毁
Microservices Seata distributed transactions
2022年Q2加密市场投融资报告:GameFi成为投资关键词
坚持输出需要不断学习
需要知道的字符串函数
Tensorflow realizes verification code recognition (III)
Create gradle project
Approval process design
Second kill system 3 - list of items and item details
Redis high availability and persistence
Get the executable path through the process PID (queryfullprocessimagename)
MB10M-ASEMI整流桥MB10M
阿飞的期望
找映射关系
Introduction series of software reverse cracking (1) - common configurations and function windows of xdbg32/64
Detailed explanation of string function and string function with unlimited length
Tensorflow realizes verification code recognition (I)