ความเห็นส่วนตัวกับ ลิขสิทธิ์ (copyright) ของ API

พักเรื่องฟอนท์ไว้ก่อนนะครับ วันนี้ขอกล่าวถึงเรื่องของ “ลิขสิทธิ์” เสียหน่อย ประเด็นร้อนในช่วงนี้ก็คือการที่เทพยากรณ์อย่าง Oracle พยายามที่จะเล่นประเด็นของ ลิขสิทธิ์ บนชุด API ของ Java ซึ่ง ทาง Oracle เองนั้นรู้สึกว่าตัวเองเสียประโยชน์จากการที่ Google ใช้ API บางส่วนของ Java (และภาษา Java) บน Platform ของตัวเองอย่าง Android

อันที่จริงในชั้นต้นศาลได้ตัดสินไปแล้วว่า API นั้นไม่มีลิขสิทธิ์ แต่เผอิญตอนนี้ Oracle ได้ยื่นอุทธรณ์ไปแล้วน่ะสิ

ก่อนจะพูดถึงว่าความเห็นของผมมีต่อเรื่องนี้อย่างไร ขออนุญาตพูดเรื่องคำว่า “API” เสียก่อน API หรือ Application Programming Interface ก็คือ ชุดของ Interface ที่เอาไว้ใช้เขียนโปรแกรม ก็คือบรรดาชื่อคำสั่งทั้งหลายที่โปรแกรมเมอร์นำไปใช้เขียนโปรแกรม ทั้งคลาส และฟังก์ชั่น (รวมถึงองค์ประกอบอื่น ๆ ด้วย) ตัว API เองนั้นจะมีแค่ชื่อของคลาสและฟังก์ชั่น โดยไม่รวมถึงส่วนของ Implementation นั่นก็คือ ตราบใดที่ชุดคำสั่งนั้นมีชื่อเหมือนกัน มีวิธีใช้เหมือนกัน (เช่นรับพารามิเตอร์เหมือนกัน คืนค่าแบบเดียวกัน) ถึงการทำงานภายในจะแตกต่างกันก็ถือว่าโอเค ใช้ร่วมกันได้

ยกตัวอย่างเช่น ตัว Microsoft .Net นั้น ก็มีผู้ที่สร้างชุด API ที่มีคำสั่งเหมือนกันขึ้นมา ก็คือ Mono ทั้งสองตัวนี้มีชื่อคลาสและฟังก์ชั่นเหมือนกัน แต่วิธีการทำงานภายในนั้นไม่เหมือนกัน เช่น System.Windows.Forms.Form บน .Net นั้นเรียกใช้งาน Windows API ในขณะที่บน Mono นั้นใช้วิธีการวาดทุกอย่างเองด้วยตัวเอง ใช้เฉพาะ API ระดับล่างของ X Windows เป็นต้น

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

ผมมองว่า ตัว Implementation ของ API ก็เหมือนกับเป็นพจนานุกรมเล่มหนึ่ง ที่ระบุไว้ว่า ฟังก์ชั่น/คลาสนี้ชื่ออะไร มีความหมายว่าอย่างไร ใช้อย่างไร เหมือนกับที่พจนานุกรมกำหนดเอาไว้ว่า คำศัพท์คำหนึ่ง มีความหมายว่าอย่างไร เป็นคำประเภทไหน เป็นคำนาม กิริยา หรือคุณศัพท์ อะไรก็ว่าไป ซึ่งการที่พจนานุกรมนั้นมีลิขสิทธิ์ไม่ใช่เรื่องแปลก ไม่เช่นนั้นเราคงทำสำเนาขายกันเป็นล่ำเป็นสัน แต่ถ้าเอามองว่าชุดคำศัพท์ที่มีในพจนานุกรมเล่มนั้นมีลิขสิทธิ์ ผมว่ามันเกินไป

ที่สำคัญ ผมคิดว่า ถ้าเกิด API มีลิขสิทธิ์จริง โลกเราได้โกลาหลกับปัญหาลิขสิทธิ์แน่ ๆ Oracle เองก็คงจะถูกโปรแกรมเมอร์ที่สร้างคลาส String และฟังก์ชั่น toString() ก่อนหน้าที่จะมีภาษา Java ฟ้อง เพราะว่าละเมิดลิขสิทธิ์ ทั้ง ๆ ที่คลาสและฟัง์ชั่นนี้เองก็เป็นของพื้น ๆ ที่ใคร ๆ เขาก็ทำกัน

ดังนั้นผมคนหนึ่งละที่คงจะคัดค้านเรื่องลิขสิทธิ์บนตัว API

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

This site uses Akismet to reduce spam. Learn how your comment data is processed.