Oracle เคยใช้ Node.js เป็นเหตุผลรองรับเครื่องหมายการค้า JavaScript แต่ตอนนี้กลับพยายามเมินเฉย
(deno.com)- Deno มองว่าคำร้องขอเพิกถอนเครื่องหมายการค้า “JavaScript” ของ Oracle ไม่ใช่แค่ข้อพิพาททางกฎหมายธรรมดา แต่เป็นประเด็นว่าบริษัทเดียวสามารถเป็นเจ้าของ ชื่อของมาตรฐานเปิด ที่มีการใช้งานจริงหลาย implementation อิสระได้หรือไม่
- ใจความสำคัญของคำร้องคือ JavaScript เป็น ภาษาโปรแกรมที่ใช้กันอย่างแพร่หลาย ไม่ใช่ผลิตภัณฑ์ของ Oracle และ Oracle ไม่ได้ควบคุม รักษา หรือบังคับใช้เครื่องหมายการค้านี้
- ในปี 2019 ระหว่างกระบวนการต่ออายุเครื่องหมายการค้า Oracle ได้ยื่น ภาพหน้าจอเว็บไซต์ Node.js ที่ Ryan Dahl สร้างขึ้นเป็นหลักฐานการใช้งาน และ Deno ตั้งประเด็นว่า Oracle ไม่มีความเกี่ยวข้องกับ Node.js
- ครั้งนี้ Oracle ตอบโต้เฉพาะข้อกล่าวหาเรื่องการฉ้อฉล โดยอ้างว่า “ได้ยื่นหลักฐานอื่นด้วย” แต่ไม่ได้อธิบายว่าเหตุใดจึงต้องใช้เอกสารเกี่ยวกับ Node.js ที่ไม่เกี่ยวข้อง
- คำร้องขอให้ยกคำร้องมีผลทำให้กำหนดเวลาตอบคำร้องล่าช้าออกไป จึงอาจทำให้การพิจารณาเนื้อหาหลักว่า “JavaScript” เป็น คำสามัญ หรือไม่ ต้องล่าช้าออกไปด้วย
เส้นทางที่ทำให้ Deno เรียกร้องให้เพิกถอนเครื่องหมายการค้า
- เมื่อ 2 ปีก่อน Ryan Dahl ขอให้ Oracle ปล่อยเครื่องหมายการค้า JavaScript ให้เป็นสาธารณะเพื่อแสดงเจตนาดี แต่ไม่ได้รับคำตอบ
- ในเดือนกันยายน 2024 มี จดหมายเปิดผนึก ที่ร่วมลงนามโดย Brendan Eich ผู้สร้าง JavaScript, บรรณาธิการ TC39 ในปัจจุบัน และนักพัฒนา JavaScript มากกว่า 16,000 คน แต่ Oracle ยังคงนิ่งเงียบ
- ในเดือนพฤศจิกายน 2024 Deno ได้ยื่น คำร้องอย่างเป็นทางการ ต่อ USPTO เพื่อขอให้เพิกถอนเครื่องหมายการค้า “JavaScript” ของ Oracle
- ประเด็นหลักอยู่ที่การต่ออายุเครื่องหมายการค้าของ Oracle ในปี 2019
- Oracle ยื่นภาพหน้าจอเว็บไซต์ Node.js ที่ Ryan Dahl สร้างขึ้นเป็นหลักฐานการใช้งาน
- Deno ชี้ว่า Oracle ยื่นสิ่งนี้เป็นหลักฐานการใช้เครื่องหมายการค้า ทั้งที่ Oracle ไม่มีความเกี่ยวข้องใด ๆ กับ Node.js
- คำร้องยกเหตุผล 3 ข้อ
- Genericness: JavaScript ไม่ใช่ชื่อผลิตภัณฑ์ของ Oracle แต่เป็นภาษาโปรแกรมที่ใช้กันอย่างแพร่หลาย
- Abandonment: Oracle ไม่ได้ควบคุม รักษา หรือบังคับใช้เครื่องหมายการค้า
- Fraud on the USPTO: Oracle ยื่นหลักฐานที่อาจทำให้เข้าใจผิดในคำขอต่ออายุ
คำร้องขอให้ยกคำร้องของ Oracle และตรรกะในการป้องกันตัว
- Oracle ได้ยื่น คำร้องขอให้ยกคำร้อง ต่อคำร้องของ Deno และตอบโต้เฉพาะข้อกล่าวหาเรื่องการฉ้อฉลเท่านั้น
- แนวทางการป้องกันตัวใกล้เคียงกับการบอกว่า “จริงที่ได้ยื่นภาพหน้าจอ Node.js แต่ก็ยื่นหลักฐานอื่นไปด้วย จึงไม่เป็นปัญหา”
- Oracle ระบุว่าเครื่องหมายการค้า “JavaScript” ครอบคลุมทั้ง Class 9 ซึ่งเป็นผลิตภัณฑ์ซอฟต์แวร์ และ Class 42 ซึ่งเป็นบริการด้านเทคโนโลยี
- ตามคำอธิบายของ Oracle ภาพหน้าจอ Node.js เป็นเอกสารเพื่อสนับสนุนการต่ออายุ Class 9 ส่วนหน้า Oracle JET เป็นหลักฐานหลักของ Class 9 และเป็นหลักฐานเพียงอย่างเดียวของ Class 42
- อย่างไรก็ตาม Oracle ไม่ยอมรับว่าการยื่นเอกสาร Node.js นั้นไม่เหมาะสม และมองว่าไม่จำเป็นต้องพูดถึงประเด็นนี้ในคำร้องครั้งนี้
คำถามที่ภาพหน้าจอ Node.js ทิ้งไว้
- Deno ตั้งคำถามว่า หากภาพหน้าจอ Oracle JET เพียงอย่างเดียวเพียงพอแล้ว เหตุใดจึงต้องยื่น ภาพหน้าจอ Node.js เพิ่มด้วย
- Oracle JET เป็น UI toolkit ไม่ใช่ JavaScript runtime แบบสแตนด์อโลน
- Deno ยังตั้งคำถามว่า Oracle JET เป็นผลิตภัณฑ์ที่มีการใช้งานอย่างแพร่หลายจริงหรือไม่ หรือเป็นเพียงสิ่งที่มีไว้เพื่อรักษาเครื่องหมายการค้า
- ประเด็นสำคัญคือ เหตุใด Oracle จึงนำภาพหน้าจอของโปรเจกต์ที่ไม่เกี่ยวข้องกับตนเองมายื่นเป็นหลักฐานการใช้เครื่องหมายการค้า
- Ryan Dahl ระบุว่าเขาเผยแพร่ Node.js ภายใต้ MIT license เพื่อให้เป็นประโยชน์ต่อนักพัฒนา ไม่ใช่เพื่อให้กลายเป็นเครื่องมือทางกฎหมายของบริษัท Fortune 500
สถานการณ์ที่ขั้นตอนทางกระบวนการยืดเยื้อก่อนเนื้อหาหลัก
- Oracle รอจนถึงกำหนดเส้นตายแล้วจึงยื่นคำร้องขอให้ยกคำร้อง ทำให้คำตอบต่อประเด็นว่า “JavaScript” เป็นคำสามัญหรือไม่ ถูกเลื่อนออกไป
- Oracle ระบุว่าคำร้องนี้ทำให้กำหนดเวลาตอบคำร้องหยุดลง และขอให้กำหนดเส้นตายตอบคำร้องใหม่เป็นอย่างน้อย 30 วันหลังวันที่คณะกรรมการมีคำตัดสิน
- Deno มีทางเลือก 2 ทางอยู่ตรงหน้า
- ถอน ข้อกล่าวหาเรื่องการฉ้อฉล และปล่อยให้ Oracle ข้ามประเด็นการแสดงข้อความอันเป็นเท็จในกระบวนการต่ออายุเครื่องหมายการค้า
- ต่อสู้เรื่องขั้นตอนเป็นเวลาหลายเดือน ก่อนจะเข้าสู่การพิจารณาเนื้อหาหลัก
- Deno มองว่า Oracle ใช้กระบวนการเพื่อยืดการโต้แย้งเรื่องข้อกล่าวหาฉ้อฉล และทำให้การถกเถียงเรื่องความชอบธรรมของเครื่องหมายการค้าเองล่าช้าออกไป
ประเด็นสิทธิในการควบคุมชื่อ JavaScript
- จุดยืนของ Deno คือ Oracle ไม่ได้สร้าง JavaScript ไม่ได้ควบคุม JavaScript และไม่ควรเป็นเจ้าของเครื่องหมายการค้า JavaScript
- JavaScript ถูกกำหนดโดย ECMA-262 ซึ่งเป็นข้อกำหนดแบบเปิด
- JavaScript ได้รับการดูแลโดย TC39 กลุ่มอุตสาหกรรมที่มีตัวแทนจาก Google, Apple, Microsoft, Mozilla และอื่น ๆ เข้าร่วม
- implementation หลักของ JavaScript อยู่ในเบราว์เซอร์ที่สร้างโดย Mozilla, Google, Apple และ Microsoft
- Deno วิจารณ์ว่า Oracle ไม่มีบทบาทในการกำกับดูแล implementation หรือการพัฒนาของ JavaScript แต่กลับใช้เครื่องหมายการค้านี้เป็นเครื่องมือกดดันทางกฎหมาย
วิธีมีส่วนร่วมและติดตามความคืบหน้า
- Deno ขอให้ช่วยเผยแพร่การรับรู้เกี่ยวกับคำกล่าวอ้างด้านเครื่องหมายการค้าของ Oracle
- สามารถลงนามในจดหมายเปิดผนึกได้ที่ javascript.tm
- สื่อมวลชนสามารถติดต่อ Deno ได้ และ Deno ระบุว่าจะไม่ยอมถอยเพราะความเคลื่อนไหวทางกฎหมายของ Oracle และจะเดินหน้าต่อสู้คดีต่อไป
- สามารถติดตามความคืบหน้าได้ที่ บัญชี Bluesky ของ Deno
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ขอบคุณ Ryan ที่รับเรื่องนี้ไปทำ และอัปเดตก็น่าสนใจด้วย
ผมไม่ได้เป็นคนจ่ายค่าทนาย แต่ก็ดูค่อนข้างปกติที่ Oracle จะพยายามถ่วงเวลาไปสักหลายเดือน ถ้าแค่ไม่กี่เดือน และต่อให้กระบวนการลากยาวเป็นปี ๆ แต่สุดท้ายได้ข้อสรุปที่ “ดี” ก็คุ้มที่จะทำ
ดีที่ตอนนี้ไม่ใช่แค่ระดับลองยื่นคำร้องอย่างสุภาพกับ Oracle แล้ว แต่กำลังไปสู่ กระบวนการทางกฎหมายจริง ๆ ทำให้อดคิดไม่ได้ว่าถ้ามีทนายเข้ามาเกี่ยวข้องตั้งแต่ 2 ปีก่อน ตอนนี้จะคืบหน้าไปได้ไกลกว่านี้แค่ไหน
ต้องเอาสิ่งนี้คืนมาจาก Oracle
ผมเองก็เคยได้ยินคำพูดแนว “ถ้าไม่ได้ช่วย ก็ไม่มีสิทธิ์ออกความเห็น” มาค่อนข้างบ่อยเหมือนกัน
ส่วนที่ผมชอบที่สุดในบทความนี้คือ สกรีนช็อตของ Oracle ถูกถ่ายจาก IE
ตามมาตรฐานตอนนี้มันเก่าจริง แต่ก็ยังให้ความรู้สึกเหมือนย้อนเวลากลับไปอดีต
ตอนนั้นผมยังไม่รู้ด้วยซ้ำว่า IE ยังมีอยู่ และคิดว่ามันถูกแทนที่ด้วย Edge ไปแล้ว
ถ้ารู้จัก Oracle ก็คงเดาได้ว่าถ้าทำได้ พวกเขาจะลากเรื่องขึ้นศาลแน่
ขอหยิบคำของ Cantrill มาใช้ บริษัทนี้ ทำตัวเหมือนเครื่องตัดหญ้า
เป้าหมายมีอย่างเดียว คือ ตัวเลขที่ดูดีในรอบรายงานถัดไปทันที
แทบคิดไม่ออกเลยว่ามีการเคลื่อนไหวของ Oracle ไหนที่สร้างผลได้สุทธิระยะยาวให้ตลาดโดยรวม Oracle เคยมีทางเลือกที่จะทำให้ตลาดใหญ่ขึ้นได้ด้วยซ้ำ แต่ถ้า Oracle ไม่ทำให้เรื่องมัวหมองด้วยกลยุทธ์ไลเซนส์ระยะสั้น ZFS ก็คงแพร่หลายไปได้มากกว่านี้มาก
เมื่อก่อนเราเคยเอาพฤติกรรมครองตลาดและการทำเรื่องแย่ ๆ ภายในกรอบกฎหมายไปเปรียบกับบริษัทอย่าง IBM แต่ตอนนี้ IBM เหลือเป็นเพียงเงาจาง ๆ และดูเหมือน Oracle จะรับมงกุฎนั้นไปแล้ว
ระบบกฎหมาย ทั่วโลกพังในระดับรากฐาน
ผมเคยพยายามฟ้องเรียกค่าเสียหายจากบริษัทใหญ่ในคดีที่มีการฉ้อโกงและหลอกลวงชัดเจน มีหลักฐานเพียงพอและพยานหลายคน แต่หาทนายสักคนที่ยอมรับทำคดีแบบคิดค่าจ้างตามผลสำเร็จไม่ได้เลย
ฝ่ายจำเลยถือเงินสดและสินทรัพย์มูลค่าหลายร้อยล้านดอลลาร์ที่ได้มาในแบบน่าสงสัย สำหรับผม นี่เป็นหลักฐานว่าระบบกฎหมายพัง เพราะแปลว่าทนายมองว่าโอกาสชนะต่ำมาก ไม่ว่าหลักฐานจะเป็นอย่างไร
เงินเดิมพันสูง และผมก็อธิบายสถานการณ์ของตัวเองแล้ว แต่ทนายจำนวนมากไม่แม้แต่จะถามว่ามีหลักฐานอะไรบ้างด้วยซ้ำ การที่ฝ่ายที่ไม่ใช่องค์กรธุรกิจจะชนะคดีนั้นยากถึงขนาดนี้ ถ้าผู้ฟ้องไม่มีสถานะ ความเป็นที่รู้จัก หรือเครือข่ายธุรกิจที่เหมาะสม ต่อให้เป็นคดีที่มีเงินหลายล้านดอลลาร์และการฉ้อโกงจริง ก็ไม่มีใครขยับนิ้วช่วย
ถ้ากรณีที่มีผู้ก่อตั้ง Node.js และ Brendan Eich ผู้สร้าง JavaScript สนับสนุนยังถูกปฏิบัติแบบนี้ ก็พอเดาได้ว่าคนอื่นที่ไม่ดังจะถูกปฏิบัติอย่างไร ถ้าระบบกฎหมายทำงานให้เฉพาะบางคน ผมก็ไม่รู้ว่าจะมีระบบกฎหมายไว้ทำไม
เหตุผลเดียวกับที่รัสเซียจัดการเลือกตั้งนั่นแหละ
ไม่รู้ว่ามีใครอ่านบทความแล้วสงสัยเหมือนกันไหมว่า Oracle JET คืออะไร
ถ้าไล่ดู dependency tree แทบทั้งหมดก็เป็นแพ็กเกจของ Oracle เอง หรือไม่ก็เป็นเดโม/แพ็กเกจใช้ครั้งเดียวที่ตายไปนานแล้ว
ยอดดาวน์โหลด 1,000 ครั้งต่อสัปดาห์นั้นก็อาจมาจาก pipeline สำหรับ continuous integration ของโปรเจกต์ Oracle อื่นทั้งหมดก็ได้ สายโทรศัพท์มาจากในบ้านนะ Larry
น่าสนใจว่า Breville ดูเหมือนจะมีเครื่องหมายการค้าคำว่า “Oracle” เองในหมวดเครื่องจักรและเครื่องมือ
แต่ยังไงคุณก็คงอดสงสัยไม่ได้อยู่ดี งั้นจะบอกว่า ในสายตาผมมันใกล้เคียงกับ สคริปต์บูตสแตรป Preact ที่มียอดดาวน์โหลดบน npm 500 ครั้งต่อสัปดาห์
ผมเคยโชคร้ายไปเป็นที่ปรึกษาให้บริษัทที่ใช้มัน ฟีเจอร์ค่อนข้างครบ แต่โครงสร้างภายในยุ่งเหยิงสุด ๆ และล้าสมัยมาก
https://www.npmjs.com/package/@oracle/ojet-cli
https://www.npmjs.com/package/@oracle/oraclejet
ผมเห็นด้วยกับประเด็นที่ยกมา แต่ข้ออ้างที่ว่า Oracle ไม่มี JavaScript runtime ของตัวเองนั้นไม่ถูกต้อง
OracleDB รัน trigger ที่เขียนด้วย JavaScript ได้มานานพอสมควรแล้ว
https://blogs.oracle.com/java/post/multilingual-engine-execu...
ถ้านี่คือหลักฐานที่ Oracle นำมาอ้างเพื่อรักษาเครื่องหมายการค้า การชี้ว่ามันไม่สมเหตุสมผลก็ชอบธรรมแล้ว แต่ก็จริงเช่นกันว่าถ้าไปถึงศาล Oracle อาจยก GraalJS ที่ใช้ใน OracleDB มาเป็นหลักฐานได้
ดีใจที่มีคนลุกขึ้นมาสู้เรื่องนี้ Oracle นี่เหมือนปีศาจจริง ๆ
เขาบอกว่า “การใช้งาน JavaScript หลัก ๆ อยู่ในเบราว์เซอร์ที่สร้างโดย Mozilla, Google, Apple และ Microsoft” แต่เบราว์เซอร์ของ Microsoft มันก็แค่ Chromium ไม่ใช่เหรอ? ดูเหมือนเป็นบริษัทที่ไม่ได้ทำเบราว์เซอร์เองแล้ว การใส่ไว้ในรายชื่อเลยดูแปลก ถ้าอย่างนั้นไม่ควรใส่ Brave อะไรแบบนั้นด้วยหรือ?
ใน Chromium แบบดั้งเดิมทำไม่ได้ ฝั่ง Chromium ของ Google เปิดใช้ Manifest V3 นั่นเป็นค่าเริ่มต้นอยู่แล้ว
มีฟีเจอร์อยู่พอสมควรที่ไม่มีใน Chrome หรือ Chromium
https://en.wikipedia.org/wiki/EdgeHTML
เพราะแม้ตอนนี้แทบไม่มีคนใช้แล้ว แต่ในอดีตเคยมีการใช้งาน JavaScript ที่มีผู้ใช้มากที่สุด
Netscape อยากเรียกภาษาใหม่ว่า JavaScript เพื่ออาศัยกระแสความนิยมของ Java
Sun Microsystems ถือเครื่องหมายการค้า Java และอนุญาตให้ Netscape ใช้ชื่อนี้โดยที่ยังรักษาสิทธิ์เครื่องหมายการค้าไว้ ต่อมา Netscape ถูก AOL ซื้อกิจการแล้วก็ปิดตัวลง ส่วน Oracle ซื้อ Sun และทุกอย่างที่เกี่ยวกับ Java ไป จึงได้เครื่องหมายการค้า JavaScript ไปด้วย
Sun และ Oracle ไม่เคยทำอะไรที่มีความหมายในโลก JavaScript เลย แต่ยังรักษาเครื่องหมายการค้านี้ไว้ได้เพราะชื่อ Java
เว้นแต่จะรู้ประวัติของชื่อและประวัติการซื้อกิจการของบริษัท แทบไม่มีใครเชื่อมโยง JavaScript กับ Oracle เลย ดังนั้น “JavaScript” จึงไม่ใช่เครื่องหมายที่มีผลในการระบุแหล่งที่มา และควรถูกเพิกถอนหรือโอนไปให้องค์กรอย่าง EcmaScript International
เรียกมันว่า ECMAScript ไปเลย แล้วลืมคำว่า “Java” ซะ
“JavaScript” ไม่ใช่ชื่อที่ดีมาตั้งแต่แรก และ JavaScript เดิมก็แทบไม่มีอะไรเหมือนกับ Java อยู่แล้ว
ความรู้สึกนี้ดูเหมือนจะแชร์กันค่อนข้างกว้างขวาง
แม้จะมีการใช้งานที่ไม่ใช่บนเว็บอยู่บ้าง แต่เป็นชื่อที่เรียกแก่นแท้ของมัน
จริง ๆ แล้วมีเป้าหมายที่จะทำให้ JS เป็นระบบสคริปต์สำหรับ Java ผ่าน LiveConnect Bridge ปัญหาคือ LiveConnect เต็มไปด้วยบั๊ก Microsoft ก็มีของคล้าย ๆ กันและบั๊กน้อยกว่า แต่แน่นอนว่าใช้ได้เฉพาะ IE
เพราะงั้นไม่ได้คิดถึง LiveConnect หรอก เรียกด้วยชื่ออย่าง “WebScript” ก็พอ
เป็นเรื่องนานมากแล้ว
ถ้าจะหลีกเลี่ยง “การละเมิดเครื่องหมายการค้า” เจ้าของ JS runtime ทุกเจ้าก็ควรทำให้มันไม่ทำงานบนแอปหรือโดเมนของ Oracle แล้วแสดงข้อความใหญ่ ๆ น่ารำคาญเกี่ยวกับคดีนี้