4 điểm bởi GN⁺ 2025-02-05 | 1 bình luận | Chia sẻ qua WhatsApp
  • Deno cho rằng kiến nghị hủy nhãn hiệu “JavaScript” của Oracle không chỉ là một tranh chấp pháp lý đơn thuần, mà là vấn đề liệu một công ty có thể sở hữu tên của một tiêu chuẩn mở có nhiều triển khai độc lập hay không
  • Trọng tâm của kiến nghị là JavaScript không phải sản phẩm của Oracle mà là một ngôn ngữ lập trình được sử dụng rộng rãi, và Oracle đã không kiểm soát, duy trì hay thực thi nhãn hiệu này
  • Năm 2019, trong quá trình gia hạn nhãn hiệu, Oracle đã nộp ảnh chụp màn hình website Node.js do Ryan Dahl tạo ra làm bằng chứng sử dụng; Deno đặt vấn đề rằng Oracle không liên quan gì đến Node.js
  • Lần này Oracle chỉ phản hồi cáo buộc gian lận, lập luận rằng “chúng tôi cũng đã nộp các bằng chứng khác”, nhưng không giải thích vì sao lại cần tài liệu Node.js không liên quan
  • Đơn xin bác bỏ có tác dụng trì hoãn thời hạn trả lời kiến nghị, nên phần tranh luận chính về việc “JavaScript” có phải danh từ chung hay không có thể bị kéo chậm lại

Quá trình dẫn đến việc Deno yêu cầu hủy nhãn hiệu

  • Hai năm trước, Ryan Dahl đã yêu cầu Oracle công khai nhãn hiệu JavaScript như một cử chỉ thiện chí, nhưng không nhận được phản hồi
  • Tháng 9/2024, thư ngỏ do cha đẻ JavaScript Brendan Eich, các biên tập viên TC39 hiện tại và hơn 16.000 lập trình viên JavaScript cùng ký đã được công bố, nhưng Oracle vẫn im lặng
  • Tháng 11/2024, Deno đã nộp kiến nghị chính thức lên USPTO yêu cầu hủy nhãn hiệu “JavaScript” của Oracle
  • Trọng tâm của vấn đề nằm ở lần gia hạn nhãn hiệu năm 2019 của Oracle
    • Oracle đã nộp ảnh chụp màn hình website Node.js do Ryan Dahl tạo ra làm bằng chứng sử dụng
    • Deno chỉ ra rằng Oracle đã nộp nội dung này làm bằng chứng sử dụng nhãn hiệu dù không có bất kỳ liên quan nào đến Node.js
  • Kiến nghị đưa ra ba căn cứ
    • Tính chung chung: JavaScript không phải tên sản phẩm của Oracle mà là một ngôn ngữ lập trình được sử dụng rộng rãi
    • Từ bỏ: Oracle không kiểm soát, duy trì hay thực thi nhãn hiệu
    • Gian lận với USPTO: Oracle đã nộp bằng chứng có thể gây hiểu nhầm trong hồ sơ gia hạn

Đơn xin bác bỏ và lập luận tự vệ của Oracle

  • Oracle đã nộp đơn xin bác bỏ đối với kiến nghị của Deno, và trong đó chỉ phản hồi cáo buộc gian lận
  • Lập luận tự vệ gần với hướng: “đúng là đã nộp ảnh chụp màn hình Node.js, nhưng cũng đã nộp các bằng chứng khác cùng lúc nên không có vấn đề”
  • Oracle cho biết nhãn hiệu “JavaScript” bao trùm cả Class 9 cho sản phẩm phần mềm và Class 42 cho dịch vụ công nghệ
  • Theo giải thích của Oracle, ảnh chụp màn hình Node.js là tài liệu để hỗ trợ gia hạn Class 9, còn trang Oracle JET là bằng chứng chính cho Class 9 và là bằng chứng duy nhất cho Class 42
  • Tuy nhiên, Oracle không thừa nhận việc nộp tài liệu Node.js là không phù hợp, và cho rằng cũng không cần xử lý vấn đề đó trong đơn lần này

Những câu hỏi còn lại từ ảnh chụp màn hình Node.js

  • Deno đặt câu hỏi: nếu chỉ ảnh chụp màn hình Oracle JET đã đủ, vì sao còn nộp thêm ảnh chụp màn hình Node.js
  • Oracle JET là một bộ công cụ UI, không phải một runtime JavaScript độc lập
  • Deno cũng đặt vấn đề liệu Oracle JET có thực sự là một sản phẩm được sử dụng rộng rãi hay chỉ tồn tại để duy trì nhãn hiệu
  • Vấn đề cốt lõi là vì sao Oracle lại nộp ảnh chụp màn hình của một dự án không liên quan đến mình làm bằng chứng sử dụng nhãn hiệu
  • Ryan Dahl nói rằng ông phát hành Node.js theo giấy phép MIT để mang lại lợi ích cho lập trình viên, chứ không phải để nó trở thành công cụ pháp lý cho một công ty Fortune 500

Khi thủ tục kéo dài trước cả phần nội dung chính

  • Oracle đã chờ đến sát hạn rồi nộp đơn xin bác bỏ, khiến câu trả lời về việc “JavaScript” có phải danh từ chung hay không bị đẩy lùi
  • Oracle cho rằng đơn này tạm dừng thời hạn trả lời kiến nghị, và yêu cầu ấn định lại thời hạn trả lời ít nhất 30 ngày sau ngày ủy ban ra quyết định
  • Deno đứng trước hai lựa chọn
    • Rút lại cáo buộc gian lận, để Oracle bỏ qua vấn đề khai báo sai trong quá trình gia hạn nhãn hiệu
    • Tranh cãi về vấn đề thủ tục trong nhiều tháng trước khi bước vào phần nội dung chính
  • Deno cho rằng Oracle đang lợi dụng thủ tục để kéo dài tranh luận về cáo buộc gian lận, đồng thời trì hoãn thảo luận về tính chính đáng của chính nhãn hiệu này

Vấn đề quyền kiểm soát tên JavaScript

  • Lập trường của Deno là Oracle không tạo ra JavaScript, không kiểm soát JavaScript, và cũng không nên sở hữu nhãn hiệu JavaScript
  • JavaScript được định nghĩa bởi đặc tả mở ECMA-262
  • JavaScript được duy trì bởi TC39, một nhóm trong ngành có đại diện từ Google, Apple, Microsoft, Mozilla và các bên khác tham gia
  • Các triển khai JavaScript chính nằm trong các trình duyệt do Mozilla, Google, Apple và Microsoft tạo ra
  • Deno chỉ trích rằng Oracle không có vai trò trong quản trị, triển khai hay sự phát triển của JavaScript, nhưng vẫn dùng nhãn hiệu này như một công cụ gây sức ép pháp lý

Cách tham gia và theo dõi tiếp

  • Deno kêu gọi mọi người lan tỏa nhận thức về tuyên bố nhãn hiệu của Oracle
  • Có thể ký thư ngỏ tại javascript.tm
  • Các nhà báo có thể liên hệ Deno; Deno cho biết họ sẽ không bị các động thái pháp lý của Oracle làm chùn bước và sẽ tiếp tục theo đuổi vụ việc
  • Có thể theo dõi diễn biến trên tài khoản Bluesky của Deno

1 bình luận

 
GN⁺ 2025-02-05
Ý kiến trên Hacker News
  • Cảm ơn Ryan đã đứng ra lo việc này, và bản cập nhật cũng rất thú vị
    Tôi không phải người trả phí luật sư, nhưng việc Oracle cố trì hoãn vài tháng trông khá bình thường. Nếu chỉ là vài tháng thì vẫn đáng làm, miễn là cuối cùng đạt được một kết quả “tốt”, kể cả khi thủ tục kéo dài lê thê nhiều năm
    Thật đáng mừng vì giờ chuyện này không còn ở mức nhẹ nhàng thỉnh cầu Oracle nữa mà đã đi vào quy trình pháp lý thực sự. Điều đó cũng khiến người ta tự hỏi nếu luật sư đã can thiệp từ 2 năm trước thì giờ đã tiến xa đến đâu

    • Nói thực tế thì đây là lúc Microsoft nên ghi điểm về danh tiếng và trao JavaScript lại cho thế giới
      Cần phải giành nó khỏi tay Oracle
    • Tôi thích câu kiểu “đôi khi bạn просто phải làm những việc mất cả đời”
    • Thật chua chát khi kiểu tuyên bố miễn trừ trách nhiệm này lại cần thiết vào thời điểm hiện nay
      Tôi cũng đã nghe khá nhiều câu kiểu “nếu không giúp thì không có tư cách đưa ý kiến”
  • Phần tôi thích nhất trong bài là ảnh chụp màn hình của Oracle được chụp bằng IE
    Theo tiêu chuẩn hiện nay thì đúng là cũ, nhưng nó vẫn tạo cảm giác như quay ngược về quá khứ

    • Vào thời điểm chụp ảnh đó, tính theo mốc phiên bản Node thì IE11 đã ra mắt được 6 năm, và chỉ còn 3 tháng nữa là hết hỗ trợ trên các bản trước Windows 10
    • Tôi không nghĩ năm 2019 là xa xưa đến vậy
      Khi đó tôi còn không biết IE vẫn tồn tại, cứ tưởng nó đã bị Edge thay thế rồi
  • Nếu biết Oracle, họ sẽ lôi mọi chuyện ra tòa nếu có thể
    Mượn cách nói của Cantrill thì đây là một công ty hành xử như máy cắt cỏ

    • Nếu nhân cách hóa niềm tin sai lầm rằng “nếu công ty có thể kiếm tiền hợp pháp thì họ bắt buộc phải làm thế để tối đa hóa giá trị cổ đông”, thì đó chính là Oracle
      Mục tiêu của họ chỉ có một: những con số trông đẹp cho ngay kỳ báo cáo kế tiếp
      Tôi gần như không nghĩ ra được bước đi nào của Oracle mang lại lợi ích ròng dài hạn cho toàn bộ thị trường. Đã từng có con đường để làm thị trường lớn hơn, nhưng ZFS hẳn đã phổ biến hơn rất nhiều nếu Oracle không làm đục nước bằng chiến lược cấp phép ngắn hạn của mình
      Ngày trước người ta hay lấy IBM làm ví dụ cho kiểu thống trị thị trường và hành xử tệ nhưng vẫn trong khuôn khổ pháp luật ở nhiều công ty khác, nhưng giờ IBM chỉ còn là cái bóng mờ nhạt và có vẻ Oracle đã giành lấy chiếc vương miện đó
  • Hệ thống pháp lý về cơ bản đã hỏng trên phạm vi toàn cầu
    Tôi từng muốn kiện một công ty lớn để đòi bồi thường trong một vụ có dấu hiệu gian lận và lừa dối rõ ràng, bằng chứng đầy đủ và nhiều nhân chứng, nhưng không tìm được lấy một luật sư nào chịu nhận theo dạng ăn chia khi thắng kiện
    Bị đơn nắm trong tay hàng trăm triệu đô tiền mặt và tài sản có được theo những cách đáng ngờ. Với tôi, đó là bằng chứng cho thấy hệ thống pháp lý đã hỏng, vì điều đó có nghĩa các luật sư đánh giá khả năng thắng gần như bằng không bất kể chứng cứ là gì
    Số tiền liên quan rất lớn và tôi đã giải thích hoàn cảnh của mình, nhưng nhiều luật sư thậm chí còn không hỏi tôi có những bằng chứng nào. Người ngoài giới doanh nghiệp khó thắng kiện đến mức đó. Nếu nguyên đơn không có vị thế, độ nổi tiếng và mạng lưới quan hệ kinh doanh phù hợp, thì ngay cả trong vụ có hàng triệu đô và gian lận thật sự, cũng chẳng ai buồn nhấc một ngón tay
    Nếu ngay cả trường hợp có sự hậu thuẫn của người sáng lập Node.js và Brendan Eich, người tạo ra JavaScript, mà còn bị đối xử như vậy, thì đủ biết những người vô danh còn lại sẽ bị đối xử ra sao. Nếu hệ thống pháp lý chỉ hoạt động với một số người nhất định, tôi không hiểu giữ nó lại để làm gì

    • Câu trả lời là: để tạo ra vẻ bề ngoài của sự công bằng
      Cũng giống lý do Nga tổ chức bầu cử
  • Không biết có ai đọc bài này xong cũng tò mò Oracle JET là gì như tôi không

    • Gói Oracle JET trên npm có khoảng 1.000 lượt tải mỗi tuần, và chỉ có 4 gói phụ thuộc vào nó
      Nếu lần theo cây phụ thuộc thì gần như toàn là các gói của Oracle hoặc các gói demo / dùng một lần đã chết từ lâu
      Thậm chí 1.000 lượt tải mỗi tuần đó cũng có thể toàn bộ đến từ pipeline tích hợp liên tục của các dự án Oracle khác. Cuộc gọi đang đến từ bên trong ngôi nhà, Larry
    • Tôi cũng mới nghe tên lần đầu và khi tìm ngay trên Google thì chỉ thấy kết quả “Breville Oracle Jet Espresso Machine”
      Điều thú vị là có vẻ Breville lại đang nắm nhãn hiệu riêng với chính từ “Oracle” trong nhóm máy móc và dụng cụ
    • Nếu không biết thì có khi còn tốt hơn, để khỏi phải biện minh cho lập luận nực cười của Oracle rằng JavaScript chưa trở thành danh từ chung
      Nhưng vì tôi biết bạn sẽ không nhịn nổi mà vẫn tò mò, nên nói luôn: theo tôi nó gần giống một script bootstrap cho Preact với khoảng 500 lượt tải npm mỗi tuần
    • Đây là thư viện UI mà Oracle khuyến nghị các đối tác chính thức của họ sử dụng
      Tôi từng có cái “xui xẻo” phải làm tư vấn cho một công ty dùng nó; tính năng thì khá đầy đủ nhưng cấu trúc bên trong hoàn toàn hỗn loạn và cực kỳ lỗi thời
    • CLI bên đó có 510 lượt tải mỗi tuần trên npm, còn JET thì gần 1.000
      https://www.npmjs.com/package/@oracle/ojet-cli
      https://www.npmjs.com/package/@oracle/oraclejet
  • Tôi đồng cảm với luận điểm đang được nêu ra, nhưng khẳng định rằng Oracle không có runtime JavaScript riêng thì không đúng
    OracleDB từ khá lâu rồi đã có thể chạy trigger viết bằng JavaScript
    https://blogs.oracle.com/java/post/multilingual-engine-execu...

    • Bài viết không khẳng định dứt khoát rằng Oracle không có runtime JavaScript; có vẻ ý là Oracle JET không phải runtime, và điều đó là đúng
      Nếu đây là bằng chứng Oracle đưa ra để duy trì nhãn hiệu thì việc chỉ ra rằng nó vô lý là hoàn toàn chính đáng. Dù vậy, cũng đúng là nếu ra tòa thì Oracle có thể đưa GraalJS dùng trong OracleDB ra làm bằng chứng
    • Còn có cả engine JavaScript Nashorn và GraalJS nữa
  • Mừng vì có người theo đuổi vụ này. Oracle đúng kiểu ác quỷ
    Họ nói rằng “các triển khai chính của JavaScript nằm trong các trình duyệt do Mozilla, Google, Apple và Microsoft tạo ra”, nhưng trình duyệt của Microsoft chẳng phải chỉ là Chromium sao? Có vẻ họ đâu còn làm trình duyệt riêng nữa, nên đưa vào danh sách nghe khá lạ. Vậy thì chẳng phải cũng nên tính cả Brave sao?

    • Ít nhất trên Edge vẫn còn cài được uBlock Origin
      Chromium nguyên bản thì không được. Bản Chromium phía Google có Manifest V3 được bật mặc định
    • Trình duyệt của Microsoft không phải chính Chromium, mà là dựa trên Chromium
      Nó có khá nhiều tính năng mà Chrome hay Chromium không có
    • Có vẻ engine trình duyệt của Microsoft vẫn còn được hỗ trợ để dùng trong các ứng dụng Universal Windows Platform. Ít nhất Wikipedia nói vậy
      https://en.wikipedia.org/wiki/EdgeHTML
    • Nhắc đến Microsoft có lẽ là hợp lý
      Dù giờ gần như không còn được dùng, trước đây họ từng có triển khai JavaScript được dùng nhiều nhất
    • https://en.wikipedia.org/wiki/MSHTML
  • Netscape muốn gọi ngôn ngữ mới là JavaScript để ăn theo độ nổi tiếng của Java
    Sun Microsystems nắm giữ thương hiệu Java và cho Netscape phép dùng tên đó trong khi vẫn giữ quyền sở hữu nhãn hiệu. Sau đó Netscape bị AOL mua lại rồi bị khai tử, còn Oracle mua Sun cùng mọi thứ liên quan đến Java nên cũng nắm luôn thương hiệu JavaScript
    Sun và Oracle chưa từng làm điều gì có ý nghĩa trong thế giới JavaScript, nhưng vẫn giữ được thương hiệu nhờ cái tên Java
    Nếu không biết lịch sử cái tên này và lịch sử các thương vụ mua bán công ty, thì theo nghĩa đen chẳng ai liên hệ JavaScript với Oracle cả. Vì vậy nó không còn là một dấu hiệu hợp lệ để nhận diện nguồn gốc và nên bị hủy bỏ hoặc chuyển cho một tổ chức như EcmaScript International

  • Cứ gọi là ECMAScript và quên chữ “Java” đi
    “JavaScript” ngay từ đầu đã không phải cái tên hay, và bản thân JavaScript nguyên thủy cũng chẳng có nhiều điểm chung với Java

    • Brendan Eich từng nói “ECMAScript chỉ là một tên nhãn hiệu không mong muốn, nghe như bệnh ngoài da”
      Có vẻ khá nhiều người đồng cảm với cảm giác này
    • Cứ gọi là WebScript
      Dù cũng có dùng ngoài web, đây vẫn là cái tên gọi đúng bản chất
    • “LiveScript” cũng không tệ
      Thực ra từng có mục tiêu biến JS thành một hệ thống script cho Java thông qua LiveConnect Bridge. Vấn đề là LiveConnect đầy lỗi. Microsoft cũng có thứ tương tự và ít lỗi hơn, nhưng dĩ nhiên chỉ dành cho IE
      Nên chẳng ai nhớ LiveConnect làm gì. Cứ gọi bằng một cái tên như “WebScript” là được
    • Tôi nhớ đã có lúc người ta gọi nó là DHTML
      Chuyện từ rất lâu rồi
    • LiveScript khi đó cũng như bây giờ đều là cái tên tốt hơn nhiều
  • Để tránh “xâm phạm nhãn hiệu”, cứ để tất cả chủ sở hữu JS runtime chặn không cho nó chạy trên các ứng dụng hay domain của Oracle, rồi hiện một thông báo thật to và thật khó chịu về vụ này