BioLawCom.De » Blog » กฏหมาย » คุณภาพซอพท์แวร์

คุณภาพซอพท์แวร์

imageเมื่อหลายวันก่อน มีคนเข้ามาถามเรื่อง การฟ้องร้องเรียกค่าเสียหายจากผู้ผลิตซอพท์แวร์ ในฟอรั่มของ blognone ซึ่งเป็นกรณีที่น่าสนใจมาก เพราะผู้โพสต์เป็นเจ้าของธุรกิจ ที่ต้องใช้ซอพท์แวร์ในการบริหารงาน จึงได้ซื้อซอพท์แวร์ราคาแปดแสนบาทมาใช้ ปรากฏว่าใช้ไปใช้มา มีปัญหาหลาย ๆ อย่าง ทั้งเรื่องความปลอดภัย และการทำงานของโปรแกรม การซัพพอร์ทจากทางบริษัท ก็ไม่ได้ช่วยอะไรให้ดีขึ้นเท่าใดนัก (ผมเดาว่าที่แก้ยาก เพราะซอพท์แวร์มีปัญหาตั้งแต่ระดับโครงสร้าง) ผู้โพสต์เลยต้องการถามว่าจะฟ้องร้องได้หรือไม่ ที่น่าสนใจก็เพราะว่า เป็นเรื่องที่ใหม่ และผมเข้าใจว่า ไม่มีใครเคยฟ้องกันบนชั้นศาลมาก่อน จึงยังไม่มีเกณฑ์ในการพิจรณาคดีที่ชัดเจน

เนื่องจากผมมีนักกฏหมายใกล้ ๆ ตัว (คุณเช ฯ) เลยหันหน้าไปถาม คำตอบที่ได้คือ ฟ้องได้ หากพิสูจน์ได้ว่าซอพท์แวร์ชำรุดเสียหายจริง ด้วยกฏหมายที่ว่าด้วยเรื่องสินค้าชำรุดบกพร่อง ในกฏหมายแพ่งและพานิชย์ ซึ่งตรงนี้คนไอทีหลาย ๆ คนยังเข้าใจผิดอยู่ ว่าหากไม่มีในข้อตกลงซื้อขาย ซึ่งกำหนดคุณสมบัติต่าง ๆ ของซอพท์แวร์เอาไว้ (requirement) ก็ไม่สามารถฟ้องได้ คุณเช ฯ และ ผมเห็นตรงกันว่า ไม่น่าจะเกี่ยว เพราะต้องแยกกันระหว่าง "คุณสมบัติของสินค้า" กับ "คุณภาพของสินค้า" ซึ่ง requirement ควรอยู่ในหมวดของคุณสมบัติของสินค้า หากผู้ผลิตทำผิดตรงนี้ ก็ต้องฟ้องกันในเรื่องของผิดสัญญาซื้อขาย ส่วนเรื่องสินค้าบกพร่อง ควรต้องอยู่ในหมวดของคุณภาพสินค้า ซึ่งต้องมาพิจรณากันอีกที ว่าเมื่อไรถึงจะเข้าข่าย

การพิจรณาว่าเข้าข่ายเรื่องสินค้าบกพร่องนี่แหละ เป็นอะไรที่ค่อนข้างยาก ตามคำเล่าอ้างของคุณเช ฯ เราสามารถใช้หลักในการพิจรณาได้สองหลักคือ ...

กฏหมาย กฏหมาย

bow_der_kleine bow_der_kleine

  1. หลักวิญญูชน หรือหลักสามัญสำนึก กับ
  2. การใช้ความคิดเห็นของผู้เชี่ยวชาญ
ในกรณีที่เห็น ๆ กันอยู่ว่าสินค้านั้นบกพร่องเสียหาย ให้เด็กอมมือที่ไหนบอก ก็บอกได้ว่าบกพร่องเสียหาย ในกรณีนี้สามารถใช้หลักวิญญูชนมาตัดสินได้เลย ยกตัวอย่างเช่น ซื้อรถมาแล้ว สตาร์ทไม่ติด, ซื้อโทรทัศน์มาแล้วเปลี่ยนช่องไม่ได้ ฯลฯ

แต่ไม่บางกรณีไม่เป็นเช่นนั้น เพราะต้องใช้ความรู้ ความชำนาญบางอย่างของผู้เชี่ยวชาญ ถึงจะบอกได้ว่าสินค้าตัวนั้นบกพร่องหรือไม่ เช่น ซื้อ Standard Single Mode Fiber มาแล้ว ปรากฏว่า Dispersion Factor เป็น 32ps/nm/km แทนที่จะเป็น 17ps/nm/km เป็นต้น

ในตอนแรกที่ผมได้อ่านกระทู้ ผมก็ฟันธงเลยว่า ใช้หลักวิญญูชนได้ เพราะผมคิดว่า ปกติแล้วเวลาซื้อซอพท์แวร์มาใช้งาน คนทั่วไปที่มีความคิดปกติ ก็ต้องคิดว่าซอพท์แวร์ตัวนั้นต้องทำงานถูกต้อง และมีระบบรักษาความปลอดภัย ในระดับที่ยอมรับได้ แต่ปรากฏว่า เถียงกันไปเถียงกันมา หาเป็นเช่นนั้นไม่ เพราะสามัญสำนึกของหลายคน กลับบอกว่า เฮ้ย ! ความปลอดภัยไม่เห็นจะจำเป็นเลย หรือโครงสร้างของโปรแกรมเพี้ยน ๆ ไปบ้างก็ไม่เป็นไรหรอก ให้โปรแกรมมันทำงานได้ก็พอแล้ว ผมเลยต้องมานั่งคิดใหม่ ว่ากรณีนี้ อาจต้องใช้ความคิดเห็นของผู้เชี่ยวชาญ ผมก็เลยต้องปลอมตัวเป็นผู้เชี่ยวชาญ แล้วไปหาข้อมูลเพิ่มเติม

ข้อมูลแรกที่ผมหาได้คือ Software Quality จาก Wikipedia และเปเปอร์หนึ่งจาก IEEE : Software quality from a behavioral perspective และ เปเปอร์อื่น ๆ อีกมากมาย ประเด็นที่เข้าข่ายในกรณีนี้คือ security (ความปลอดภัย) และ reliability (ความน่าเชื่อถือ หรือ ความถูกต้องในการทำงานของซอพท์แวร์)

เรื่องที่พิจรณาง่ายกว่า คือ เรื่องของความปลอดภัย ตามที่ผมเรียนมาในวิชา cryptography อาจารย์ได้ฟันธงไว้เลยว่า ไม่มีระบบใดในโลกนี้ที่ปลอดภัย และไม่สามารถเจาะได้ หากมีเวลา และทรัพยากรมากพอ ดังนั้น การตัดสินว่าระบบใดปลอดภัยหรือไม่ จึงต้องมาดูว่า คนที่ต้องการเจาะเข้าไปในระบบ ต้องใช้เวลา และทรัพยากรมากน้องเพียงใด ยิ่งต้องใช้เวลาหรือทรัพยากรมากเท่าไร แสดงว่าระบบยิ่งปลอดภัย แต่ในกรณีนี้ ฐานข้อมูลไม่มีพาสต์เวิร์ท ... จบข่าว ความปลอดภัยเป็นศูนย์ เพราะไม่ต้องทำอะไรเลย ใครอยากเข้าไปทำอะไรในระบบ เชิญตามสบาย

ในเรื่องของความถูกต้องในการทำงานของซอพท์แวร์นี่ยากหน่อย เพราะ ซอพท์แวร์ทุกตัวทำงานผิดพลาดอยู่แล้ว โดยมาก หากเป็นการซื้อขายซอพท์แวร์กันในราคาที่สูงมาก ๆ ก็จะมีข้อตกลงกัน ว่าซอพท์แวร์ควรทำงานถูกต้องในอัตราส่วนเท่าใด เช่น ส่งข้อมูลไปล้านครั้งในหนึ่งวัน ถึงจะมีสักครั้ง ที่ซอพท์แวร์ทำงานพลาด แต่ในกรณีนี้ ผมเข้าใจว่าไม่ได้มีการตกลงกันอย่างชัดเจน ก็ต้องมาพิจณาว่า ซอพท์แวร์ราคาเท่านี้ สเกลงานเท่านั้น อัตราความถูกต้องในการทำงานของซอพท์แวร์ควรจะเป็นเท่าไร แต่จากที่อ่าน ซอพท์แวร์ตัวดังกล่าว ใช้การแชร์ไฟล์ฐานข้อมูลระหว่างเครื่อง ด้วยวิธีนี้ ผมเดาเอาว่า หากส่งข้อมูลไปยังฐานข้อมูลหลาย ๆ ชุดพร้อม ๆ กัน ก็น่าจะมีการทำงานที่ผิดพลาดแล้ว

ประเด็นที่ผมคิดว่า น่าสนใจไม่แพ้ประเด็นทางกฏหมายคือ ความคิดเห็นของคนที่เข้ามาตอบกระทู้ เพราะมีความคิดเห็นหนึ่งเขียนไว้ว่า

ผมว่า security หรือ technique ภายในต่างๆ ดูแล้วไม่เห็นจะเกี่ยวกับที่ซื้อขายกันในที่นี้เลยนะครับ ถ้าในสภาวะปกติ ไม่มีใครทำอะไรแผลงๆ มันทำงานได้ตามที่ตกลง มันก็จบ ไม่เช่นนั้นก็น่าจะต้องตกลงกันแต่แรก (อ้างอิง )

อ่านแล้น้ำตาคลอเบ้า แล้วผมก็คิดออกมาดัง ๆ ว่า "ไม่น่าเล่า ถึงได้มีกรณีแบบนี้ขึ้น ก็เล่นคิดกันอย่างนี้ ซอพท์แวร์ถึงได้ออกมาเป็นอย่างนี้ไง" แต่ไม่กล้าเขียนในกระทู้ เลยมาเขียนในเวบตัวเองแทน อ่านแล้วทำให้นึกถึงที่ อ. รวิทัตน์ เขียนไว้ สรุปแล้ว เทคนิคและวิธีการต่าง ๆ ที่คิดกันมา มันไม่ได้มีประโยชน์อะไรเลยหรอกรึ เพราะ ขอให้โปรแกรมมันทำงานได้ก็เป็นพอ

08 Apr 09 | by | tags กฏหมาย เขียนโปรแกรม ไอที

read 995

<<ไฟเบอร์ออพติคจะไม่พอใช้ในปี 2025 || โปรแกรมช่วยเขียนบทความทางการเมือง>>

bossa lover

โถ ผมไม่ได้บอกว่า โปรแกรมที่ไม่ได้ทำเรื่อง security หรือไม่ได้ผ่าน stress test เป็นโปรแกรมที่ดีนะครับ

เราคุยกันคนละประเด็นครับ

ผมคิดเหมือนคุณ bow der kleine ว่า โปรแกรมนั้น คุณภาพค่อนข้างแย่ ไม่ควรทำสุกเอาเผากินแบบนั้น

บริษัทที่ทำเขาอาจจะไม่ได้มีความเชี่ยวชาญมากพอ

เพียงแต่ใน case นั้น มันไม่ได้อยู่ในขอบเขตข้อตกลงการซื้อขาย ก็เลยว่าเขาไม่ได้ ก็แค่นั้น

ครับ "มันไม่ได้ตกลงกันในการซื้อขาย" ใน case นั้น

ซึ่งมันคนละเรื่องกับที่ว่า โปรแกรมมันคุณภาพดีหรือแย่ ควรทำหรือไม่ควรทำ

หวังว่าคงเข้าใจนะครับ

11 Apr 09

bow_der_kleine

ครับ อาจเข้าใจกันคนละประเด็นจริง ๆ เพราะผมเห็นว่า คุณภาพซอพท์แวร์ไม่จำเป็นต้องอยู่ในสัญญาซื้อขาย (ตามที่เขียนไป) สิ่งที่อยู่ในสัญญาซื้อขาย น่าจะเป็นเรื่องของคุณสมบัติ มากกว่าจะเป็นคุณภาพ

16 Apr 09

ความคิดเห็น (click here to comment)

Search

Navigation

ความเคลื่อนไหว

รวมลิงก์น่าสนใจ

Login

name password

ลืมรหัสผ่าน