Tuyển dụng
Viettel IDC

Giải ngố về Java - ngòi nổ cho cuộc chiến 9 tỷ USD giữa Google và Oracle

19/10/2019

Dù vô tình hay hữu ý thì Sun cũng đã giăng sẵn một cái bẫy khi tuyên bố Java là ngôn ngữ mở và miễn phí. Google bước chân vào cái bẫy đó và hưởng trọn trái ngọt từ Android. Đến khi Sun về tay Oracle thì cái bẫy tai quái này mới hiện hình.

 

Năm 2010, Oracle đã khởi động một cuộc chiến pháp lý khổng lồ nhắm vào Google. Trong diễn tiến mới nhất, vào tuần này Oracle yêu cầu Google phải bồi thường khoản tiền lên tới 9 tỷ USD.

Trọng tâm của vụ kiện này là những cáo buộc của Oracle rằng Google đã sử dụng trái phép nhiều phần của công nghệ Java trên hệ điều hành Android mà không trả phí bản quyền cho Oracle.

Về phần mình, Google khẳng định cách hãng này sử dụng Java nằm trong giới hạn “sử dụng công bằng” (“fair use”, khái niệm pháp lý cho phép sử dụng có giới hạn các nội dung trí tuệ có bản quyền mà không cần phải xin phép chủ sở hữu). Ngoài ra, Google cũng cho rằng Oracle không thể đăng ký quyền sở hữu các thành phần Java được hãng này sử dụng cho Android.

Nếu kết thúc với phần thắng nghiêng về Oracle, vụ kiện này chắc chắn sẽ làm chấn động thế giới phần mềm: xét về mặt pháp lý, quá trình xây dựng các phần mềm có khả năng tương thích với nhau sẽ trở nên khó khăn hơn rất nhiều.

 

Vậy, Java là gì? Tại sao Google lại sử dụng Java? Và Oracle dùng căn cứ nào để đòi Google phải trả những khoản phí khổng lồ?

Sơ lược về Java

Nói ngắn gọn, Java là một trong những ngôn ngữ lập trình phổ biến nhất thế giới. Amazon, Google, Netflix, PayPal và vô số các tập đoàn khác sử dụng Java để xây dựng hệ thống web và phần mềm máy chủ.

Java ra đời vào năm 1991 tại Sun Microsystems, một trong những gã khổng lồ đầu tiên của Thung lũng Silicon. Dự án Java được khởi động bởi huyền thoại công nghệ James Gosling với cơ sở là C++ (một ngôn ngữ vẫn còn rất phổ biến vào thời điểm đó), nhưng với tầm nhìn hướng về phía tương lai.

Điểm đặc biệt của Java là khả năng chạy trên bất cứ một nền tảng nào, từ Windows đến Mac, Linux và sau này là cả các thiết bị di động. Để có được thế mạnh này, Java phải chạy trên một lớp mã trung gian (bytecode) thay vì chạy trực tiếp trên hệ điều hành, kết quả là hiệu năng ứng dụng thường kém hơn so với các ngôn ngữ khác.

 

Cha đẻ của Java, James Gosling.

Cha đẻ của Java, James Gosling.

Giới lập trình viên trẻ tuổi tại Thung lũng Silicon thường chê bai Java là quá già cỗi và lỗi thời, đặc biệt là trong thời đại di động, nơi hiệu năng có ý nghĩa vô cùng quan trọng với người dùng. Nhưng ngôn ngữ này lại có nhiều đặc tính được các tập đoàn lớn đặc biệt ưa thích.

“Java. Không thú vị nhưng rất dễ dự đoán. Ngôn ngữ để các đội ngũ to lớn có thể xây dựng những thứ to lớn cho các tổ chức to lớn. Người ta chê bai, nhưng Java đơn giản là hoạt động tốt”, tác giả Paul Ford khẳng định trong bài viết “Mã nguồn là gì” đăng tải trên tạp chí Bloomberg Businessweek.

Chính nhờ độ ổn định và tính tương thích cao nên Java rất được lòng các doanh nghiệp lớn. Sự đảm bảo này khiến cho cộng đồng coder Java lúc nào cũng đông đảo về số lượng.

Đến năm 2009, Oracle mua lại Sun với giá 7,4 tỷ USD. Chỉ một năm sau đó, Oracle mang Google ra tòa.

Cuộc trỗi dậy mạnh mẽ của Android

Năm 2005, Google mua lại một startup có tên gọi Android với giá 50 triệu USD. Đội ngũ Android được Google trưng dựng để phát triển một hệ điều hành di động hoàn toàn mới.

Hiểu rõ rằng cuộc cách mạng smartphone sẽ sớm bùng nổ, đội ngũ Google/Android phải gấp rút hoàn thành hệ điều hành của mình. Để làm được điều này, họ buộc phải xây dựng Android trên nền tảng là các công nghệ đã phổ biến và được cung cấp miễn phí từ trước, ví dụ như lõi (kernel) Linux và ngôn ngữ lập trình Java của Sun.

 

Andy Rubin, cha đẻ Android.

Andy Rubin, cha đẻ Android.

Quyết định này của Google có 2 ý nghĩa quan trọng: Đầu tiên, rất nhiều lập trình viên đã thành tạo Java từ trước, do đó họ sẽ không phải học lại một ngôn ngữ mới nếu tham gia vào cuộc cách mạng di động của Google. Thứ 2, vì đã phổ biến từ trước nên Java đã có sẵn khả năng hỗ trợ rất nhiều công nghệ cốt lõi cần thiết để xây dựng một hệ điều hành mới. Google chẳng có lý do gì để làm lại những thứ đã có từ trước.

Trong phiên xử vừa diễn ra vài ngày trước, cựu CEO Google và cũng là chủ tịch Alphabet hiện tại, Eric Schmidt khẳng định rằng Google đã từng cố trả khoản phí 40 triệu USD để được sử dụng Java trên Android. Cuộc thương thuyết này thất bại, và kết quả là Google không sử dụng logo Java chính thức cho Android hay các công nghệ khác của hãng.

Song, Java là một ngôn ngữ mở. Do đó, Google vẫn tiếp tục dùng Java trên Android, sao chép lại bất cứ phần nào hãng này được phép sao chép. Ngay chính cả Sun Microsystems có lẽ cũng đã không quá khó chịu với hành vi này của Google. Xét cho cùng, hàng trăm nghìn (nếu không muốn nói là hàng triệu) coder trên thế giới vẫn sử dụng Java mà chẳng cần phải trả một đồng phí nào cho Sun trước đây hay Oracle bây giờ.

 

Nhà sáng lập Oracle, Larry Ellison là người rất hiếu chiến.

Nhà sáng lập Oracle, Larry Ellison là người rất hiếu chiến.

Nhưng Oracle về bản chất là một gã khổng lồ cực kỳ hung hãn. Khi đã nhìn thấy kẽ hở trong hành động của Google, Oracle đã nhanh chóng khởi kiện.

Nhập nhằng về mặt pháp lý

Oracle không hề khởi kiện Google vì sử dụng ngôn ngữ lập trình Java. Hãng này chỉ bất bình vì Google sử dụng trái phép một phần của công nghệ Java nói chung. Nói cách khác, dù vô tình hay hữu ý thì Sun cũng đã giăng sẵn một cái bẫy khi tuyên bố Java là ngôn ngữ mở và miễn phí. Google bước chân vào cái bẫy đó và hưởng trọn trái ngọt từ Android. Đến khi Sun về tay Oracle thì cái bẫy mới hiện hình.

Cụ thể hơn, Oracle cho rằng Google đã vi phạm quyền sở hữu trí tuệ của hãng này khi copy lại các API có bản quyền trên Java. Bạn có thể tìm hiểu sâu về API tại đây, nhưng nói nôm na thì API là các khớp nối để mỗi phần mềm có thể giao tiếp, tận dụng lại tính năng của một phần mềm khác. Oracle không khởi kiện vì Google đã copy lại nội dung mã nguồn của Oracle, mà bởi Google đã sao chép lại cấu trúc tương tác mà Oracle đã quy định cho các thư viện cốt lõi của Java.

 

Bao nhiêu kẹo ngọt nay sắp trở thành trái đắng.

Bao nhiêu kẹo ngọt nay sắp trở thành "trái đắng".

Phần lớn ngành công nghiệp phần mềm đều bất đồng sâu sắc với quan điểm của Oracle. Theo họ, API là sản phẩm trí tuệ không thể được đăng ký bản quyền. Nhưng Oracle không hẳn là vô lý, và một tòa phúc thẩm đã từng tuyên phần thắng về phía hãng này. Mới gần đây nhất, cha đẻ của Android là Andy Rubin đã bị lộ một email với nội dung rằng các API Java có thể được đăng ký bản quyền, và Google có thể đã cố tình vi phạm quyền sở hữu của Oracle khi sử dụng lại các API của Java.

Nếu Oracle thắng kiện, thế giới phần mềm nói riêng và toàn bộ ngành công nghệ cao nói chung sẽ trở nên hỗn loạn. API là khớp nối của tất cả các phần mềm, nên nếu API là cơ sở để khởi kiện thì chắc chắn chẳng có một công ty phần mềm nào không thể trở thành nguyên đơn hay bị đơn cả.

GenK

 

Bình luận ()

Đăng nhập | Đăng ký
để gửi bình luận
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Ý kiến của bạn sẽ được xét duyệt trước khi đăng.
Xem thêm bình luận

Tin liên quan

05/11/2026

Lỗi msvcr100.dll là gì? Hướng dẫn cách sửa lỗi msvcr100 dll nhanh chóng

Lỗi msvcr100.dll khiến phần mềm không khởi chạy trên Windows. Xem hướng dẫn khắc phục từng bước để bổ sung thư viện còn thiếu và sửa chữa chương trình bị lỗi.

05/11/2026

Top 20 các extension visual studio code hữu ích cho lập trình viên

Các extension Visual Studio Code hữu ích mở rộng khả năng của trình soạn thảo, giúp lập trình viên tối ưu môi trường làm việc và nâng cao hiệu quả viết mã.

05/11/2026

Bridge là gì? Cách hoạt động và ứng dụng trong mạng LAN

Bridge là gì? Cầu nối mạng hoạt động dựa trên địa chỉ MAC để kết nối các phân đoạn LAN, kiểm soát luồng dữ liệu và hỗ trợ triển khai mạng vật lý lẫn mạng ảo.

05/11/2026

Lỗi Blocked due to other 4xx issue là gì? Nguyên nhân và cách fix lỗi

Lỗi Blocked due to other 4xx issue khiến Google không lập chỉ mục URL, cần xác định đúng mã HTTP và nguyên nhân để khắc phục hiệu quả trong Search Console.

05/11/2026

Test case là gì? Cách viết test case và mẫu minh họa cho người mới

Test case là gì và làm sao để viết rõ ràng, đúng yêu cầu? Nắm vững cách xây dựng trường hợp kiểm thử qua ví dụ cụ thể để phát hiện sai lệch trong hoạt động phần mềm.

05/11/2026

AI Inference là gì? Cơ chế và vai trò trong vận hành AI

AI inference là gì? Cách mô hình AI tạo kết quả sau huấn luyện, phân biệt với AI training, các hình thức triển khai và ứng dụng thực tế trong doanh nghiệp.

05/11/2026

DBeaver là gì? Hướng dẫn cài đặt và kết nối cơ sở dữ liệu với DBeaver

DBeaver là gì? Khám phá tính năng quản lý cơ sở dữ liệu, các phiên bản miễn phí và trả phí cùng hướng dẫn cài đặt, kết nối, chạy truy vấn SQL cho người mới.

05/11/2026

Cách thay đổi mật khẩu máy tính trên Windows 10, 11 đơn giản

Cách thay đổi mật khẩu máy tính trên Windows 10, 11 qua Settings, Control Panel, CMD và các công cụ quản trị được hướng dẫn chi tiết theo từng bước dễ thực hiện.

05/11/2026

Microsoft Management Console là gì? Cách sử dụng MMC cho người mới

Microsoft Management Console là gì? Đây là nền tảng tập hợp các công cụ quản trị Windows, hỗ trợ quản lý hệ thống, thêm snap-in và lưu console theo nhu cầu sử dụng.

05/11/2026

Rủi ro khi sử dụng giả lập online và cách phòng tránh

Rủi ro khi sử dụng giả lập online có thể gây lộ dữ liệu, mất quyền kiểm soát tài khoản, lừa đảo trực tuyến, vi phạm chính sách game, gián đoạn thao tác và phát sinh chi phí.