จริง ๆ ผมก็คิดจะเขียนมาตั้งนานแล้วหล่ะ แต่ติดที่เวลาในการรวบรวมความคิดมันสั้นเกินกว่าที่ผมจะเอามาเขียนได้อย่างมีเนื้อหาที่ไม่ซับซ้อน เพราะเขียนมาแล้วเต็มไปด้วยคำพูดที่ยากแก่การเข้าใจ แต่จนแล้วจนรอดก็ไม่อาจหลีกหนีมันได้ อีกอย่างคือเนื้อหาส่วนนี้มากจากประสบการณ์ตรง และสรุปออกมาเองให้เข้าใจง่าย มันเลยไม่ตรงตามหลักวิชาการ เลยเอาไปอ้างอิงไม่ได้ แต่ก็เอาหล่ะเขียนไปทั้ง ๆ แบบนี้ดีกว่า
การ update patch หรือ upgrade ซอฟต์แวร์ (ต่อไปผมจะขอพูดสั้น ๆ ว่า update นะครับ) ให้มีความสามารถสูงขึ้น หรือลบข้อผิดพลาดต่าง ๆ ที่เกิดจากกระบวนการผลิต และจัดทำซอฟต์แวร์ขึ้นมา โดยหลุดรอดจากขั้นตอนการทดสอบของฝ่าย Tester (ฝ่ายทดสอบ หรือตรวจสอบซอฟต์แวร์) ของบริษัทจัดจำหน่าย นั้น ๆ จริงอยู่หลายคนคงไม่ชอบที่จะมานั่ง update ตัวซอฟต์แวร์ บ่อย ๆ แต่เราต้องเข้าใจความเป็นจริงที่ว่า “ไม่มีใดที่สมบูรณ์แบบในการผลิต” โดยเฉพาะอย่างยิ่งสิ่งที่มีความละเอียดอ่อนอย่างซอฟต์แวร์ ที่ทุก ๆ การจัดทำนั้น ต้องมีการวางแผนและจัดโครงสร้างของซอฟต์แวร์ ตามระบบให้ดีที่สุด และการที่มีการ update ซอฟต์แวร์โดยตัว update/patch ที่ถูกส่งมาเพื่อ update ซอฟต์แวร์นั้นถือเป็นความรับผิดชอบต่อความผิดพลาด (ในความเป็นจริงเราจะเรียกมันว่า ‘bug’) ของตนเองในการผลิตซอฟต์แวร์ออกมาแล้วมีข้อผิดพลาด ต่าง ๆ จริงอยู่ผู้ใช้ก็ไม่ชอบ และบางครั้งยุ่งยากและกินเวลานานในการทำตามขั้นตอน update แต่นั้นหมายความถึงซอฟต์แวร์ ที่เราใช้มีความผิดพลาดน้อยลงในการใช้งานด้วย และเป็นความจริงอีกเช่นกันที่เราใช้ซอฟต์แวร์ แล้วมักจะมองว่าซอฟต์แวร์ที่จัดจำหน่ายนั้นต้องไร้ที่ติ และไม่มีข้อผิดพลาด ซึ่งความผิดพลาดนี้อาจจะมีทั้งการใช้งานตามปกติแล้วเกิดปัญหา และความปลอดภัยในการใช้งานต่อซอฟต์แวร์ระบบปฏิบัติการเอง ซึ่งในที่นี้ผมขอแบ่งออกเป็น 2 ส่วนคือ
- ปัญหาจากความผิดพลาดของซอฟต์แวร์ จากการใช้งานปกติ
- ปัญหาจากความปลอดถัยของระบบซอฟต์แวร์ทั้งหมด (รวมถึง “ซอฟต์แวร์ระบบปฏิบัติการ” )
ปัญหาจากความผิดพลาดของซอฟต์แวร์ จากการใช้งานปกติ นั้นถือเป็นความรับผิดชอบในส่วนของข้อผิดพลาดจากความไม่สมบูรณ์ต่าง ๆ เช่น ใช้งานในบางฟังค์ชันแล้วค้าง, ใช้งานแล้วตัวซอฟต์แวร์ให้ผลออกมาไม่ตรงถามผู้ใช้ต้องการรวมถึงบางส่วนทำงานผิดพลาดจากที่ควรจะเป็น, ใช้งานไปสักพักแล้วแคช หรือเปิดตัวซอฟต์แวร์ไม่ได้หลังจากการติดตั้งซอฟต์แวรตามแบบแผนของ Requestment ของคู่มือที่ให้มา เป็นต้น ซึ่งด้วยเหตุผลปัจจัยต่าง ๆ เหล่านี้ถือเป็นสิ่งที่ต้องแก้ไข ซึ่งมักจะได้รับการ update ของตัวซอฟต์แวร์ได้ภายหลักจากการผลิตหรือออกสู่ตลาดไปสัก 2 – 3 เดือนขึ้นอยู่กับข้อผิดพลาดนั้น ๆ ว่ามีปัญหาต่อการใช้งานโดยรวมมากน้อยเพียงใดด้วย ซึ่งในส่วนนี้ถ้าท่านไม่ได้ใช้ฟังค์ชัน หรือไม่มีเหตุการณ์ที่เกิดอาการแคชใด ๆ เลย ก็แทบจะไม่รู้สึกว่าท่านจะต้องไปทำอะไรกับมัน เพราะในเมื่อท่านสามารถใช้งานได้ดี ก็แทบจะสบายใจว่าได้ มันตอบสนองต่อการใช้งานได้ดี ซึ่งส่วนใหญ่ก็เป็นไปตามนี้อยู่แล้วด้วย ซึ่งในส่วนนี้แนะนำว่าถ้าไม่มีเหตุการณ์ที่ทำให้งานของผู้ใช้งานต้องชะงัก ก็ไม่มีเหตุจำเป็นต้องไป update แต่ประการใดเลย
ปัญหาจากความผิดพลาดด้านความปลอดถัยของระบบซอฟต์แวร์ (รวมถึง “ซอฟต์แวร์ระบบปฏิบัติการ” ) ทั้งหมด ในส่วนนี้ถือเป็นสิ่งที่จำเป็นอย่างมากในการ update ซึ่งในปัจจุบันความปลอดภัยถือเป็นความรับผิดชอบสูงสุดของผู้ผลิตซอฟต์แวร์เลยทีเดียว ดังจะเห็นได้จากการ update นั้นทำด้วยความรวดเร็วมากทีเดียว เพราะไม่ว่าซอฟต์แวร์จะทำงานได้ดีเพียงใด และไม่มีข้อผิดพลาดใด ๆ เลย ในการทำงาน และไม่ก่อให้เกิดการชะงักต่อการทำงาน แต่ความปลอดภัยของการใช้งานหมายถึงข้อมูลของผู้ใช้ที่ได้นำมาใช้งานต่าง ๆ อยู่ในความเสี่ยงที่จะถูกโจรกรรม ,ดัดแปลง ,แก้ไข และเสียหาย จากการที่ถูกเจาะระบบผ่านทางข้อผิดพลาดต่าง ๆ เหล่านี้ไม่ว่าจะด้วยกลยุทธในการเจาะ และโจรกรรมแบบใดก็ตาม ย่อมก่อให้เกิดความสูญเสียในการทำงาน ไม่ว่าจะเป็นความลับทางการค้า หรือข้อมูลอันมีค่าต่าง ๆ ที่เก็บไว้ด้วย ซึ่งไม่ว่าจะด้วยเหตุผลกลใดก็ตามที ปัญหานี้ถ้าผู้ใช้ไม่แก้ไข ก็ทำให้การทำงานต่าง ๆ ชะงัก หรือต้องแก้ไขกับอย่างขนานใหญ่เลยทีเดียว และมักจะรุนแรงกว่าความผิดพลาดของการใช้งานปกติหลายเท่าตัวทีเดียว ดังจะเห็นได้จากการถูกโจมตีจากความผิดพลาดของโปรแกรมอย่าง Worm ที่ชื่อว่า Blaster และ Sasser ที่ใช้ช่องโหวด้านความปลอดภัยของ Service ในตัวระบบปฎิบัติการ Windows เอง ซึ่งสร้างความเสียหายอย่างมากต่อผู้ใช้ทั้ง ผู้ใช้ตามบ้าน และบริษัทต่าง ๆ มากมาย
ซึ่งส่วนมากแล้วคนส่วนใหญ่จะไม่ใส่ใจต่อการ update ซอฟต์แวร์ ไม่ว่าความผิดพลาดต่าง ๆ จะอยู่ในตัวปัญหาในข้อใดข้อหนึ่งหรือไม่ก็ตาม เพราะผู้ใช้จะให้เหตุผลว่า “มันใช้งานได้ดีอยู่” ซึ่งคำกล่าวนี้จะออกจากปากผู้ใช้ซอฟต์แวร์ที่มีปัญหาจากความผิดพลาดด้านความปลอดภัยในการใช้งานมากกว่า เพราะว่าไม่เห็นผลกระทบต่อสิ่งเหล่านี้ได้ชัดเจนเท่ากับซอฟต์แวร์ทำงานผิดพลาดปกติ
บิลเกต ได้เคยกล่าวไว้ว่า “การเปิดตัวสินค้าออกสู่ตลาดก่อนผู้อื่นด้วยสินค้าที่ดี และใช้งานได้ มักจะดีกว่าการเปิดตัวทีหลัง ด้วยสินค้าที่สมบูรณ์” ถ้ามองในเชิงธุรกิจถือว่าเป็นการกล่าวที่ปัดความรับผิดชอบลงไปยังผู้ใช้ แต่ในอีกนัยสำคัญคือ สินค้าที่ดี และใช้งานได้ นั้นหมายถึงการเปิดตัวสินค้าที่ตรงความต้องการและสนองงานที่ผู้ใช้ต้องการก่อน ความสมบูรณ์ของตัวซอฟต์แวร์เอง ดังจะเห็นได้จากเมื่อสินค้าของไมโครซอฟต์ออกมามักจะมีตัว update/patch ออกตามมาในเวลาไม่นานนักอย่างช่วย Windows XP ออกมาใหม่ ๆ นั้นยังไม่พร้อมต่อการเชื่อมต่อกับอุปกรณ์ชนิด USB 2.0 เพราะยังไม่ลงตัวเรื่องมาตรฐานต่างๆ ทางไมโครซอฟต์เลยตัดสินใจเปิดตัว Windows XP ก่อนความพร้อมของ USB 2.0 แต่ต่อมาก็ได้รับการ update ในการใช้งานใน Service Pack 1 นั้นเอง นั้นคงจะบอกได้ถึงความกล่าวข้างต้นของบิลเกตได้เป็นอย่างดี
อยากจะทิ้งท้ายไว้นิดว่า “ไม่มีซอฟต์แวรไหนในโลกนี้จะสมบูรณ์แบบ ไม่ว่าจะมาจากฝั่ง OpenSource หรือ CloseSource ก็ตามที ถ้าสิ่งไหนจำเป็นต้อง update เพื่อให้งานที่เราทำ และระบบซอฟต์แวร์ทั้งหมดทำงานได้อย่างไม่มีความผิดพลาด และปลอดภัย เราก็ควรจะ update มันซะ …..”