libreplanet-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [libreplanet-discuss] 7 Reasons to Avoid Open Source?


From: Chad Larson
Subject: Re: [libreplanet-discuss] 7 Reasons to Avoid Open Source?
Date: Sun, 3 Dec 2017 21:12:55 -0500
User-agent: NeoMutt/20170113 (1.7.2)

On Sun, Dec 03, 2017 at 02:22:08PM -0500, Michael Pagan wrote:
> On 2 Dec 2017 at 23:45, Mary-Anne Wolf <mgwmgw@comcast.net> wrote:
> > This
> > https://www.designnews.com/content/7-reasons-open-source-software-should-be-avoided/100858102757881
> > says, "As much potential as open source software can provide, there
> > are several reasons why embedded software developers should avoid it
> > like the plague."
[...]
> _Let us dissect his arguments, point-by-point, shall we?_
> 
> * Reason #1 – Lacks a traceable software development life cycle
> 
> Incorrect – free software can actually /provide/ a traceable software
> development life cycle.  Anyone who uses a [version control system][0]
> (VCS) knows this to be extremely common among free software projects.
[...]
> The root word of *traceable* is trace, which is a synonym of the word
> *track*, hence VCS allows editors to trace/track each other's edits.
> Yes, free software does not *have* to be version controlled; however, it
> is the norm, and it is wrong to assume that ALL free programs are
> developed without any form of version control.  _Reason #1_ is a lie!

In embedded project context, "traceability" refers to a matrix
of requirements on the integrated product (e.g. "must implement
fire suppression mechanism", "must avoid catching fire"), the
VCS entries in the software that implements them (e.g. "function
thermostat_control_loop() implements an algorithm to avoid excessive
heating"), and the test results that prove the software was implemented
correctly (e.g. "this is the callgrind output from a functional test case
in which the thermostat has failed, showing that the software detected
the condition successfully and actuated relays to disconnect power to
the heating elements").

Merely using a VCS is not sufficient.  Traceability requires identifying
individual persons responsible for determining requirements for the
code, establishing their competence to design and implement the code, and
demonstrating that the code implements the requirements correctly for each
product that uses the code.  Industrial regulations require traceability
to determine which individual personally made which implementation
decisions and which individual tested and verified the results.

Traceability is very expensive, in terms of both development cost and
liberty for the developers.  If you think of it as a map to know who to
sue when things go badly wrong, you're not entirely wrong.

Practically, if an embedded project requires traceability, it can
only import software that was developed with traceability, free or not;
otherwise, the project typically has to assume liability for the imported
software.

> * Reason #7 – Integration is never as easy as it seems

This is usually true in software projects, free or not.
Underestimation of integration costs is an endemic phenomenon.

Many of the other points are equally true for all software.  Only the
association of those points specifically and exclusively with free
software is incorrect.

> 
> Truthfully
> -- 
> Michael Pagan (pegzmasta)
> GPG Key ID: B942 AD12 82B1 6D14 27A0  86AE 119E 451E 71B4 6D72



> _______________________________________________
> libreplanet-discuss mailing list
> libreplanet-discuss@libreplanet.org
> https://lists.libreplanet.org/mailman/listinfo/libreplanet-discuss




reply via email to

[Prev in Thread] Current Thread [Next in Thread]