BioLawCom.De » Blog » กฏหมาย » คุณภาพซอพท์แวร์
คุณภาพซอพท์แวร์
เนื่องจากผมมีนักกฏหมายใกล้ ๆ ตัว (คุณเช ฯ) เลยหันหน้าไปถาม คำตอบที่ได้คือ ฟ้องได้ หากพิสูจน์ได้ว่าซอพท์แวร์ชำรุดเสียหายจริง ด้วยกฏหมายที่ว่าด้วยเรื่องสินค้าชำรุดบกพร่อง ในกฏหมายแพ่งและพานิชย์ ซึ่งตรงนี้คนไอทีหลาย ๆ คนยังเข้าใจผิดอยู่ ว่าหากไม่มีในข้อตกลงซื้อขาย ซึ่งกำหนดคุณสมบัติต่าง ๆ ของซอพท์แวร์เอาไว้ (requirement) ก็ไม่สามารถฟ้องได้ คุณเช ฯ และ ผมเห็นตรงกันว่า ไม่น่าจะเกี่ยว เพราะต้องแยกกันระหว่าง "คุณสมบัติของสินค้า" กับ "คุณภาพของสินค้า" ซึ่ง requirement ควรอยู่ในหมวดของคุณสมบัติของสินค้า หากผู้ผลิตทำผิดตรงนี้ ก็ต้องฟ้องกันในเรื่องของผิดสัญญาซื้อขาย ส่วนเรื่องสินค้าบกพร่อง ควรต้องอยู่ในหมวดของคุณภาพสินค้า ซึ่งต้องมาพิจรณากันอีกที ว่าเมื่อไรถึงจะเข้าข่าย การพิจรณาว่าเข้าข่ายเรื่องสินค้าบกพร่องนี่แหละ เป็นอะไรที่ค่อนข้างยาก ตามคำเล่าอ้างของคุณเช ฯ เราสามารถใช้หลักในการพิจรณาได้สองหลักคือ ... |
|
แต่ไม่บางกรณีไม่เป็นเช่นนั้น เพราะต้องใช้ความรู้ ความชำนาญบางอย่างของผู้เชี่ยวชาญ ถึงจะบอกได้ว่าสินค้าตัวนั้นบกพร่องหรือไม่ เช่น ซื้อ 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 กฏหมาย เขียนโปรแกรม ไอที
<<ไฟเบอร์ออพติคจะไม่พอใช้ในปี 2025 || โปรแกรมช่วยเขียนบทความทางการเมือง>>
bow_der_kleine
ครับ อาจเข้าใจกันคนละประเด็นจริง ๆ เพราะผมเห็นว่า คุณภาพซอพท์แวร์ไม่จำเป็นต้องอยู่ในสัญญาซื้อขาย (ตามที่เขียนไป) สิ่งที่อยู่ในสัญญาซื้อขาย น่าจะเป็นเรื่องของคุณสมบัติ มากกว่าจะเป็นคุณภาพ |
เมื่อหลายวันก่อน มีคนเข้ามาถามเรื่อง 
bossa lover
โถ ผมไม่ได้บอกว่า โปรแกรมที่ไม่ได้ทำเรื่อง security หรือไม่ได้ผ่าน stress test เป็นโปรแกรมที่ดีนะครับ
เราคุยกันคนละประเด็นครับ
ผมคิดเหมือนคุณ bow der kleine ว่า โปรแกรมนั้น คุณภาพค่อนข้างแย่ ไม่ควรทำสุกเอาเผากินแบบนั้น
บริษัทที่ทำเขาอาจจะไม่ได้มีความเชี่ยวชาญมากพอ
เพียงแต่ใน case นั้น มันไม่ได้อยู่ในขอบเขตข้อตกลงการซื้อขาย ก็เลยว่าเขาไม่ได้ ก็แค่นั้น
ครับ "มันไม่ได้ตกลงกันในการซื้อขาย" ใน case นั้น
ซึ่งมันคนละเรื่องกับที่ว่า โปรแกรมมันคุณภาพดีหรือแย่ ควรทำหรือไม่ควรทำ
หวังว่าคงเข้าใจนะครับ
11 Apr 09