ได้อ่านข่าวหนึ่งเกี่ยวกับความเห็นของคนในวงการ Open Source เมืองไทยซึ่งเขาบอกว่า กำลังมีปัญหา เนื่องจากที่ผ่านมา รัฐยังส่งเสริม Open Source อย่างไม่จริงจัง และไม่ถูกจุด คือไปเน้นแต่เพียงในด้านที่ว่า Open Source เป็นของฟรีที่จะมาใช้แทนโปรแกรมเสียเงิน ซึ่งเป็นเรื่องของผู้ใช้งานระดับสุดท้ายหรือ End User ซึ่งเปรียบเสมือน "ปลายน้ำ" แทนที่จะเน้นการพัฒนานักเขียนโปรแกรม หรือ โปรแกรมเมอร์ ในการพัฒนาโปรแกรมแบบต่อยอดออกไป ซึ่งเปรียบเสมือนเป็น "ต้นน้ำ"
ก็ต้องยอมรับว่าจากการทบทวนความเห็นส่วนตัวที่ผ่านมา เหมือนจะเข้าใจหรือเน้นความสำคัญของ Open Source ผิดจุดอย่างที่ว่าอยู่บ้างจริงๆ หากจะเน้นให้ผู้ใช้งานมีโปรแกรมใช้ฟรีโดยไม่ต้องเสียเงินหรือเสียเงินน้อยๆ ก็ต้องไปเน้นที่ ฟรีแวร์ (Freeware) ซึ่งเป็นโปรแกรมสำเร็จรูปที่ไม่ต้องเสียเงิน และเผยแพร่โดยไม่ต้องเปิดเผย Source Code แต่อย่างใด
ที่ระบบ Open Source เขาให้เปิดเผย Source Code นั้น จุดประสงค์หลักไม่ใช่เรื่องการแจกฟรี แต่เขาต้องการให้เอาไปพัฒนาปรับปรุงต่อยอด แล้วเอามาแลกเปลี่ยนความรู้ความคิดกัน ซึ่งกระบวนการอันนี้อาจมีค่าใช้จ่ายมากบ้างน้อยบ้างมาเป็นค่าตอบแทนให้กับผู้พัฒนา เมื่อไปเน้นแต่ว่าผู้ใช้งานจะได้ใช้ของฟรีก็เลยทำให้ผู้ใช้งานทั่วไปกลายเป็นขอทานรอการทำบุญทำทานจากพระเวสสันดร แต่โปรแกรมเมอร์ทั้งหลายเขาก็ต้องกินต้องใช้ ไม่มีค่าตอบแทนแล้วเรื่องอะไรจะต้องมาเป็นพระเวสสันดรเขียนโปรแกรมแจกทั้งตัวคอมไพล์ทั้งตัว Source Code
ในอีกด้านหนึ่ง จะไปโทษ End User หรือรัฐบาลอย่าเดียวก็ไม่ได้ ในเมื่อ Open Source ที่เผยแพร่กันนั้น หากไม่ใช่ระบบปฏิบัติการอย่าง Linux ก็มักเป็นโปรแกรมสำเร็จรูปพร้อมใช้งาน ผู้ใช้ทั่วไปเขาก็เอาแต่ตัวที่ทำเสร็จแล้วมาใช้เลยเหมือนฟรีแวร์ มีกี่คนที่จะสนใจเอา Source Code มานั่งศึกษา ว่ามันมี Bug อยู่ตรงไหน จะแก้ไขปรับปรุงต่อยอดอย่างไร
ในบรรดาผู้ที่(เคย)เป็นโปรแกรมเมอร์มือเก่าไม่ว่ามืออาชีพ หรือมือสมัครเล่นอย่างผม ก็อาจติดปัญหาว่า เราเคยแต่เขียนโปรแกรมด้วยภาษาหนึ่ง แต่โปรแกรม Open Source มันเขียนด้วยอีกภาษาหนึ่ง ยกตัวอย่างจากตัวเองอีกที ว่าเขียนโปรแกรมด้วยภาษาปาสคาลที่ต่อมาพัฒนามาเป็น Delphi แล้วมาเจอโปรแกรมที่เขาเขียนด้วย ภาษาC การลงทุนเรียน ภาษาC เพิ่มเติมอาจเป็นทางเลือกที่ดีหากไม่ติดปัญหาเรื่องความเคยชินกับงานประจำและงานอื่นๆ ที่แย่งเวลาไปไม่น้อย
และหากจะลงทุนเรียนภาษาโปรแกรมใหม่ๆ กันจริงๆ เพื่อการพัฒนาต่อยอด Open Source แล้ว ก็จะมาติดปัญหาเรื่องตัวโปรแกรม Compiler ที่จะแปลงตัว Source Code ที่พัฒนาแล้วให้เป็นโปรแกรมภาษาเครื่องสำเร็จรูปที่พร้อมต่อการใช้งานของ End User เพราะ Compiler ก็ล้วนเป็นโปรแกรม Commercial ที่ต้องซื้อหาในราคาที่แพงขึ้นทุกที
คำตอบบางส่วนของปัญหาที่เกริ่นมายืดยาวนี้ คือ Open Source สองตัวที่ผมกำลังจะแนะนำย่อๆ ดังต่อไปนี้
ตัวแรก เป็นโปรแกรม Compiler ที่พัฒนาขึ้นมาเพื่อการใช้ทดแทนโปรแกรม Delphi มีชื่อว่า Lazarus มีเว็บไซต์อยู่ที่ http://www.lazarus.freepascal.org/ ซึ่งในอนาคตคงพอจะเป็นคำตอบที่ดีสำหรับผู้ที่เคยชินกับการเขียนโปรแกรมด้วย Pascal/Delphi อย่างผมที่คงไม่สามารถซื้อโปรแกรม Delphi เวอร์ชันล่าสุดในราคาแพงลิบลิ่วได้แน่ แต่ปัญหาของ Lazarus ก็เช่นเดียวกับ Open Source ทั่วไป คือยังต้องการผู้ที่จะมาร่วมกันพัฒนาต่อยอด ในขณะที่ผมเขียนบทความนี้ Lazarus ยังเป็นเวอร์ชัน 0.16 ยังไม่ขึ้นเลขเวอร์ชันเป็น 1 เลยด้วยซ้ำ ซึ่งก็คือเวอร์ชันเบต้านั่นเอง เรื่องของ Lazarus นี้ ผมเคยเขียนแนะนำไว้ที่ http://www.rojn-info.com/mcontents/marticle.php?headtitle=mcontents&id=112700
อีกตัวหนึ่งที่ความจริงเป็นเพียงแค่ Module สำหรับนำไปเขียนโปรแกรมโหราศาสตร์/ดาราศาสตร์อีกที คือ Swiss Ephemeris ที่เผยแพร่ในรูปไฟล์ Dll คือ swedll32.dll ที่เผยแพร่พร้อมกับ Source Code ภาษาC แน่นอนว่า End User ทั้งหลายไม่สามารถนำไฟล์ Dll นี้ไปใช้ทำอะไรได้โดยตรง แต่ผู้พัฒนาต้องการให้นำไปต่อยอดเป็นโปรแกรมสำเร็จรูปทางโหราศาสตร์อีกที การเผยแพร่ในรูปไฟล์ Dll นี้นับว่าสร้างทางเลือกเพิ่มเติมให้กับผู้พัฒนาโปรแกรม คือ สามารถเขียนโปรแกรมด้วยภาษาใดๆ ก็ได้ที่ตนถนัด ขอเพีบงให้ภาษานั้นๆ สามารถเรียกฟังก์ชันที่มีอยู่ใน Dll มาใช้งานได้ หรือถ้ารู้ ภาษาC แล้วจะเอา Source Code ของ Dll มาพัฒนาปรับปรุงก็ได้ กติกาการนำ Swiss Ephemeris ไปใช้มีอยู่ว่า ถ้าคุณเอาไปพัฒนาเป็นโปรแกรมใช้เองคนเดียว หรือเผยแพร่โปรแกรมพร้อมด้วย Source Code แล้ว ไม่ต้องเสียตังค์ แต่ถ้าเอาไปใช้พัฒนาโปรแกรมเพื่อขายหรือแม้แต่จะแจกฟรีแต่ไม่ให้ Source Code ชาวบ้านเขาแล้ว คุณจะต้องจ่ายค่าลิขสิทธิ์ รายละเอียดมีอยู่ในเว็บไซต์ www.astro.com ครับ
จากลักษณะของ Lazarus ที่เป็น Compiler และ Swiss Ephemeris ที่เป็นทางเลือกในการเขียนโปรแกรมที่หลากหลายดังที่กล่าว ผมจึงเห็นว่าโปรแกรมทั้งสองเป็น Open Source ที่เป็น "ต้นน้ำของต้นน้ำ" คือเป็นตัวที่จะสนับสนุนผู้พัฒนาโปรแกรมในการนำ Source Code มาพัฒนาต่อยอดได้ตามปรัชญาหรือหลักการของ Open Souce ได้ตรงเป้ากว่า Open Source ทั่วไป แต่อาจจะยังเร็วเกินไปสำหรับการกล่าวอ้างว่านี่คือคำตอบสำเร็จรูปของวงการ Open Souce |