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.
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.
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ư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”.
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ả.