Thursday, October 25, 2007

ITK กับโครงสร้างการพัฒนาซอฟต์แวร์เสรี

(Oct 25, 2007)

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

จากการสังเกตพบว่าทางองค์กรที่จัดตั้งขึ้นมาเพื่อดูแลเรื่องนี้ มีจุดมุ่งหมายที่ผูกไว้กับโครงการที่ค่อนข้างใหญ่คือ The Visible Human Project ทำให้เป้าหมายในการพัฒนาค่อนข้างชัดเจน พร้อมๆกับสามารถเอื้อประโยชน์ให้กับโครงการอื่นที่ต้องการทำอะไรคล้ายๆกันด้วย นอกจากนี้ทางฝ่ายพัฒนาก็ยังได้เลือกใช้เครื่องมือต่างๆ รวมถึงวิธีการเขียนโปรแกรมที่เปิดโอกาสให้มันสามารถใช้งานได้แทบจะในทุกแพล็ตฟอร์ม นับตั้งแต่เรื่องของ multi-threading ที่เลือกใช้ POSIX การพยายามใช้ generic programming ให้มากที่สุดทำให้เป็นไลบรารีที่ยืดหยุ่นมาก การใช้ Doxygen เพื่อสร้างเอกสารของนักพัฒนา การใช้ CMAKE เพื่อให้คนอื่นเอาไปคอมไพล์เองบนแพลตฟอร์มที่ต้องการได้ไม่ยากนัก การใช้ Dart เพื่อทดสอบและรักษาคุณภาพของซอฟต์แวร์ ตลอดจนการใช้ Mantis เป็นตัวตัดตามข้อผิดพลาดและปัญหาต่างๆ ในซอฟต์แวร์ (หลายตัวมีกล่าวถึงไว้ในหน้า Related Software)

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