หลายคนอาจจะงงๆ สับสนกับคำว่า Freeware ที่หมายถึงโปรแกรมโหลดมาใช้ได้ฟรี แต่นั่นก็อาจจะมีเงื่อนไขเพิ่มอีกนะ เช่น จำกัดความสามารถ หรือเอาไปใช้ในทางธุรกิจไม่ได้ เป็นต้น ดังน้้นบางเจ้าที่ทำโปรแกรมแบบฟรีแวร์ ก็จะหารายได้ด้วยแนวทางอื่น อย่างเช่นว่ามีจำหน่ายรุ่นดีกว่านั้น เรามักเรียกว่ารุ่นโปร หรือบางเจ้าอาจจะมีโฆษณาปรากฏบนโปรแกรมที่ใช้งานเพื่อทำรายได้แค่ผู้พัฒนา
ทีนี้มันก็จะมีโปรแกรมอีกประเภทที่เรารู้จักกันในชื่อ
open source….
มันคือพวกโปรแกรมที่เผยโค้ด นำไปใช้งานได้ฟรี แต่ก็มีเงื่อนไขอื่นอีกมากมายที่ต้องอ่านให้ละเอียด เช่น นำไปอ่านโค้ดได้ แก้ไขได้ แจกจ่ายได้ เผยแพร่ต่อได้ ใช้ในกรณีแบบไหนไม่ต้องจ่ายเงิน แบบไหนต้องจ่ายเงิน แบบไหนที่ต้องขออนุญาติต้นทางก่อน ซึ่งทั้งหมดนี้เรียกว่าไลเซ่น มีเยอะแยะไปหมดทั้ง MIT, GPL, …..
ดังนั้นควรอ่านให้ละเอียดที่สุด เพราะโดนฟ้องอะไรขึ้นมามันไม่คุ้มกันครับ
ทีนี้มาดูส่วนของ โอเพ่นโค้ด หรือเปิดเผยโค้ด สิ่งนี้อาจจะเป็นโปรแกรมทั้งระบบ หรือแค่เพียงโค้ดเพื่อทำงานบางอย่างก็ได้ เช่น มีคนเขียนโปรแกรมเพื่อหาค่าต่ำสุดของข้อมูลจำนวนหนึ่ง หรือแม้แต่เขียนโปรแกรมเพื่อแสดงข้อความออกทางจอภาพว่า Hello World ด้วยภาษา C/C++ ทีนี้มีการเปิดเผยโค้ดให้คนเห็น
แต่มันไม่ใช่แค่การเผยให้เห็นเท่านั้น แต่คนที่เห็นโค้ดสามารถนำโค้ดนั้นไปศึกษา แก้ไข นำไปดัดแปลง แจกจ่ายต่อได้เลยโดยที่ไม่ต้องไปบอกคนต้นทางที่คิดค้น ไม่ต้องจ่ายเงิน ไม่มีอะไรไปเกี่ยวข้องกันทั้งนั้น เช่นพวกโค้ดตามบอร์ด เว็บสแตกโอเว่อโฟล หรือแม้แต่โต้ดตามหนังสือที่เราซื้อมาอ่าน แม้จะเป็นตัวอย่างเทคนิคอัลกอลิทึมที่เราไปพบเจอก็ตาม
หลายคนก็เลยสงสัยกันมากว่า open code มันต่างยังไงกับ open source ???
ความต่างก็คือไอ้ open code คือเปิดเผยโค้ดจริงๆ และไม่มีลิขสิทธิ์อะไรใดๆ ทั้งนั้น คนที่ได้ไปเสมือนว่าเป็นเจ้าของทันทีเลย ไม่ต้องถามหาว่าจะเลือกไลเซ่นแบบ GPL, MIT หรืออะไรให้ปวดหัว
แต่ก็ต้องยอมรับนะว่าเราจะไม่มีสิทธิในโค้ดนั้นเลย หากจะมีใครใจดีให้เครดิตรบ้างก็เป็นเรื่องดีแต่ถ้าไม่ก็ไม่ว่ากัน
เอาล่ะสรุปนะ
นิยามนี้ผมคิดเองนะครับ ไม่ได้มีแหล่งอ้างอิงอะไร ดังนั้นหากไปหาคำตอบหรือข้อมูลต่อตามตำราในไทยและในต่างประเทศจะมีหรือไม่นั้นผมไม่ทราบ
หากบทความนี้มีส่วนผิดถูกประการใดกราบขออภัยไว้ด้วยนะครับ เพราะทั้งหมดผมเขียนขึ้นจากความเห็นส่วนตัวเท่านั้น