ソフト開発監査チェックリスト(19)OSS/フリーソフト使用技術

2021年2月19日ソフト開発監査

設計と実装のチェックリストの2つ目はOSS 3つ目はフリーソフトです

この前後の記事では、ソフト開発監査に使う監査チェックリストの個々の項目についての紹介をしています。監査チェックリストは①開発プロセス ②要件管理 ③テスト ④設計と実装 に分かれていて、この記事では④設計と実装の中の OSS とフリーソフト

個々の項目について紹介します。(チェックリストそのものは ソフト監査実務・チェックリストその17:開発技術・設計と実装(概要)の記事に載っていますので、そちらをご覧下さい)

OSS (オープンソースソフト)の品質は選定ルールと市場実績で確認する

他者に代金を支払って入手する購入ソフトと並んで、オープンソースソフトを製品に組み込む事も増えてきました。その最たるものが Linux OS  でしょう。インターネットとの接続性が必須となってきた現在では、そのためにオープンソースソフトを採用する場合もあります。このオープンソースソフトも購入ソフトと同じように、どうやって品質を担保しているのかを確認する事が重要です。それで番号が  OS-で始まる項目を順番に見ていきましょう。

【項目番号:OS-01】

購入ソフトと同じように、オープンソフトについても選定を行う部署や選定の方法や選定の基準が決まっているかが、まず重要な点です。明文化されたルールがあるか、明文化されていなくても慣例的なルールはあるか、ルールに従って確実に選定作業が行われているか、という点に注意して確認を進めていきます。

【項目番号:OS-02】

オープンソースソフトは、購入ソフトと違って販売元によるテストで品質を確保する事はできないので、市場での稼働実績を元に品質を確認する必要があります。そのようなオープンソースソフトの品質を確認する手順が明確になっているか、という点を確認します。

【項目番号:OS-03】

OS-02でオープンソースソフトの品質を確認する手順を確認したので、その手順に従って今回委託している開発で利用しているオープンソースソフトの品質状況を確認します。具体的には、そのオープンソースソフトの市場での実績を、どれだけ確認できているか、という点に注意して実際の確認結果の記録を見ていきます。

【項目番号:OS-04】

オープンソースソフトは様々なライセンス条件が在ります。ライセンス条件によっては、自社の製品に採用ができない場合もあります。オープンソースソフトの採用について、ライセンス条件の視点で整理した採用可否のルールがあるかどうかという点に注意して確認をしていきます。簡単に言えば、どんなライセンス条件のオープンソースソフトを使ってはいけないかが具体的に決まっているかどうか、とい確認になります。

【項目番号:OS-05】

OS-04ではオープンソースソフトのライセンスについて採用の可否についての判断の基準が明確になっているかを確認しました。ではその判断の基準を使って、誰がどんなタイミングでオープンソースソフトを使って良いかどうかを判断するのか、その判断の手順が明確になっているのかとう点に注意して確認をしていきます。

【項目番号:OS-06】

オープンソースソフトのライセンスによっては、取説や画面でのライセンスの表示が必要だったり、エンドユーザからの要請があればソースコードを提供する事が必要だったりします。このようなライセンス条件を含んだオープンソースソフトを利用しているのならば、製品そのものの設計/製造/出荷の活動とは別にこれのオープンソースソフトのライセンス条件を満たすための活動が必要になってきます。そのために、社内や社外にどんな仕組みを用意しているのか、という点に注意して確認をしていきます。

【項目番号:OS-07】

オープンソースソフトを使う時にはどれだけ品質が安定しているかにも注意が必要です。オープンソースソフトは基本的には多くの人が使う事で潜在バグが見つけられこれを修正していく事で品質が良くなっていきます。ですので、開発されて間もないオープンソースソフトはまだまだ潜在バグが多いので、頻繁にバグ修正のリリースが繰り返されます。使おうとしているオープンソースソフトが、どの程度の頻度でバグ修正を行っているのか、直近の1年~2年の状態を見るだけでも品質の安定の状況を推測する事はできます。そのようなオープンソースソフトの安定度を確認する手段があるかどうかとう点に注意して確認していきます。

フリーソフトの品質はベンダは保証してくれなので注意して確認する

フリーソフトというとオープンソースソフトも含んだ大きな括りになります。ただしグータラ親父はもう少し狭い領域のソフトをフリーソフトと定義していました。具体的には、チップベンダの提供するドライバやSDK(Software Development Kit)と呼ばれるソフト等で、無償提供だけどもベンダは品質責任を負わないようなソフトを総称して、フリーソフトと呼んでいます。

場合によっては、サンプルコードと呼ばれる事のあるこれらのソフトは、ソースコードで提供されチップを購入した側の会社が必要に応じて改変して製品に使う事を想定して無償・無保証でチップベンダから提供されます。ですので、これを製品に組み込んで品質を保証するのは、組み込む側の責任です。

そのようなフリーソフトを採用している場合には、その品質を確認し保証する活動が必要になります。購入ソフトやオープンソースソフトとよく似た確認項目もありますが、フリーソフトの特徴に沿った確認が必要な場合のあります、そのような点をチェックリストの項目で順次確認していきます。 

【項目番号:FS-01】

まずはフリーソフトウエアの選定や採用の可否判断の手順が明確になっているかどうかを確認します。誰が、どんな項目を確認して、このフリーソフトウエアを採用しても良いかどうかを判断するのか? チップベンダの提供するサンプルコードをそのまま使うのか作り変えて使うのか? 採用にあたって検討が必要な項目が色々あるので、選定や採用可否の判断は決められた手順で進めないと検討の漏れや抜けが起こります。 フリーソフトウエアについてそのような手順や基準が決められているか、とう点に注意して確認をしていきます。

【項目番号:FS-02】

フリーソフトウエアはチップベンダがそのチップ専用に提供しているソフトウエアなので、利用者はそのチップを採用しているメーカのみです。そのため、オープンソースソフトウエアのように多くの人が様々な場面で使用する事で潜在不具合を発見しこれを修正して品質を改善するという手法が使えません。フリーソフトウエアの品質は、チップベンダがどれだけ潜在バグを修正してくれているかに掛かってきます。ですので、どの程度の利用実績があるのかとか最近のバージョンアップの状況はどうか、など限られた情報を元に品質を確認する事になります。どんな手順や方法でフリーソフトウエアの品質を確認しているのか、とう点に注意して確認をしていきます。

【項目番号:FS-03】

FS-02で確認したフリーソフトウエアの品質確認の方法の具体例として、一番判り易そうな市場での稼働実績について、どの程度の情報を入手できているのかを実例を元に確認します。 この確認項目は、手順や基準がどうなっているのかという確認ではなく、その手順に従って実際に入手している情報の量と質を見る事で品質についての有効な判断ができているかどうか、とうい点に注意して確認していきます。

【項目番号:FS-04】

フリーソフトウエアもベンダで開発されたばかりの頃は潜在バグも多いので頻繁にバグ修正のリリースがされていると思われます。まれに、バグがあってもあまり修正版がリリースされない場合もありますが、、、そんなフリーソフトウエアは使わないほうが良いですね。まあ、いろいろな場合があるのですが、フリーソフトウエアもやはり安定性を確認するにはリリースの頻度やリリースの内容を確認するのが一番確実です。そのような手順が決められていて実際に活動ができているか、という点に注意して確認していきます。

設計と実装のチェックリストの最後は内作ソフトの確認です

OSSとフリーソフトについての確認の次はいよいよ内作ソフトについての確認項目です。

(次の記事)ソフト開発監査チェックリスト(20)内作ソフト設計/実装技術(前半 に続く