Software engineering and FOSS

Jim Ready said this in an interview:

Developers are integrating more and more open source code from multiple sources, and all these pieces are both interdependent and independent. That’s breaking all the rules of software engineering. All these components are developed independently of one another and they change all the time, and then there are always some other subsystems that were not built by the same group, so it ends up breaking. The open source process is vibrant and instrumental, but it has these bad properties in some sense. The larger good of open source is worth it, but you can’t underestimate what you’re getting into. If you’re drawing on sixty million lines of constantly changing code, it’s not going to be easy to deal with. So some of these realities are behind MontaVista Linux 6 — we’re helping developers integrate all these pieces.

Distributions such as Debian can solve this issue, but what shall we do when it comes to the embedded world? MontaVista might not be an option because it’s way too expensive. Embedded distributions such as Ångström based on OpenEmbedded could provide a tested suite of applications, while poky is a light and well maintained choice as well. However, none of the above has as large a user base as Debian, so the amount of testing they received is fairly limited. To ship a consumer ready product based on these will not be an easy task. One must choose a stable release, work with the community to solve bugs and constraint the moving parts to the scope of core development. This requires different mindset and skills of project management with proprietary software development, and this will become more and more important with the increasing adaption of FOSS technology in the industry.