加藤@ODNです.以下は4/2に投稿した,行方不明になってしまった記事
です,旬を外してますがご容赦 (_ _).

加藤@ODNです.一部だけ.

In article <6500ebba.0403310351.f764bf9@posting.google.com>, miho wrote:

>ソフトウェアは工業製品ではない? そうかもしれません.
>だとしたら議論はここで終り.
>私はソフトウェアも工業製品だと思いたい(*** 自己矛盾してしまった...).
>そして, 現代に生きる我々は, エンジニアもユーザも,
>ソフトウェアについて, ある一定の不具合までならそれを受け入れるべきです.
>そうした時に初めて, 
>「不具合がある. そのため, 正しくはないけれども, 悪さはしないソフトウェア」
>という考え方が意味を持ってくるのではないでしょうか.

ソフトウェアが工業製品か否かという議論は散々されてきましたが,これは
問題の設定自体が間違ってます.例えば,時計には職人さんが手作りで作っ
た芸術品と呼んでも良いようなものから,数百円で買えるものまでありま
す.あるいは手作りのカスタムカーと量産車はどちらも車には違いありませ
ん.この区別は製品のジャンルではなく,作られた個々の物,作り方,ある
いは作り手の意図や使われ方でなされるものなのです.

ソフトで言えば,

自家消費型のソフト
 大学や研究所に良く見られる
 自分の仕事のために作成(ソフトの作成そのものが目的ではない)
 自分自身あるいは小さなグループ内で使われる

商品としてのソフト
 ソフトウェア制作会社(営利法人)が作成
 目的は作成して売ること(決して自分が使うためではない)
 広く外販する(作成者と使用者はあかの他人)

に大別されましょうか(例外もありますがここでは略します).
工業製品なのは後者ですね.前者は...手頃な名前がありませんが,非
営利ソフト (NPS) とでも呼ぶんでしょうか.

ソフトの品質に関して両者で大きく異なる点は,前者は自分の仕事のために
作りますから,バグが有ったら自分が困るわけで,バグを無くすことに対す
るモチベーションが非常に高いわけです.なんせバグを無くさないことには
自分の仕事が進みませんから.

後者はそんなことはなく,出荷までのスケジュールも決められてますし,完
成してしまえばそれは作成した人間の手を離れ,その人達は次の製品を作り
始めますから,出荷後にバグを取ろうとしてもそのための時間は予定に入っ
ていないのが普通です.

この両者を同様に扱うのは無理がありましょう.やはり重要なのは後者のソ
フトのバグを(出荷前に)どうやって減らすかであり,そういう目で見れ
ば,strcpy より strlcpy を使うべきであるという提言(正確に言えば,
strcpy の危険性が広く認識された現時点ではこの提言そのものにはそれほ
どの意味は無いかも知れませんが,この考え方の背後にある考え方)には十
分意味があると思います.

というのは,strcpy が destination の後ろのエリアを破壊する可能性に関
して認識していた人は昔からかなり大勢いたと思われますが,それを悪用し
てインターネットに大きな混乱を与える事ができることまで想像した(でき
た)人はほとんどいなかったわけで,言い換えれば,人間の想像力にはやは
り限界があることが明らかになってしまったわけで,それを補うものが必要
なことは明らかなんですから.
-- 
Hideki Kato <mailto:katoh@pop12.odn.ne.jp>


----== Posted via Newsfeed.Com - Unlimited-Uncensored-Secure Usenet News==----
http://www.newsfeed.com The #1 Newsgroup Service in the World! >100,000 Newsgroups
---= 19 East/West-Coast Specialized Servers - Total Privacy via Encryption =---