Khi kết quả của vụ kiện có trị giá gần bằng 1/2 tổng lợi nhuận từ Android còn chưa ngã ngũ, Google đã vội vàng đưa hệ điều hành con cưng của mình sang một hướng đi mới. Nhưng không có một bữa trưa nào là miễn phí, và Google đang bị "rán" bằng chính mỡ của Google.
Hiểu rõ về tính mở của ngôn ngữ làm nên ứng dụng Android |
Ai cũng biết rằng miếng ăn chính của Google là quảng cáo. Bởi vậy, để vừa dẫn đầu trong cuộc cách mạng smartphone, vừa thâu tóm được các nhà sản xuất, Google đã chọn cách cung cấp miễn phí Android và đưa dự án này ra mã nguồn mở hoàn toàn. Kết quả là dù một mặt vẫn có cớ để "cãi" lại các nhà chống độc quyền, Google đã nhanh chóng đưa Android lên ít nhất là 3/4 tổng số thiết bị di động có trên toàn cầu. Các nhà sản xuất bị trói buộc vào hệ sinh thái của Google trong khi các đối thủ phần mềm/dịch vụ (ví dụ như Facebook, Microsoft) gần như không có cách nào để tạo ra một trải nghiệm Android không có dấu chân của Google.
Nhưng đáng tiếc là miếng võ khôn ngoan của Google lại chính là nguyên nhân khiến cho gã khổng lồ tìm kiếm phải đối mặt với một vụ kiện đến từ Oracle, công ty đang kiểm soát ngôn ngữ lập trình tạo nên kho ứng dụng Android.
Hiểu rõ về tính mở của ngôn ngữ làm nên ứng dụng Android
Về bản chất, Java cũng thuộc về nhóm bản quyền "mã nguồn mở", tức là bất cứ ai cũng có thể tham gia phát triển phần mềm Java mà không mất một đồng phí bản quyền nào cho bất cứ ai cả.
Tuy vậy, cũng giống như Android, Java cũng có một ông chủ kiểm soát qua những sợi dây vô hình: Oracle. Trong khi ngôn ngữ Java là mã nguồn mở, các thư viện cốt lõi nhất (tạo ra các cấu trúc dữ liệu căn bản như bảng, chuỗi) thường nằm trong các bộ JDK - có bản quyền hoặc mã nguồn mở. Dĩ nhiên, Oracle là chủ sở hữu nắm bản quyền của bộ JDK được sử dụng rộng rãi nhất trên toàn cầu.
Về lý thuyết, các lập trình viên, các công ty phần mềm có thể tự tạo ra các JDK của riêng mình để khỏi phải phụ thuộc vào tác giả của JDK. Trên thực tế, điều này sẽ là rất khó khăn không chỉ bởi họ sẽ phải lục tìm một "ma trận" thỏa thuận sử dụng và luật sở hữu trí tuệ để xác định phần nào của ngôn ngữ lập trình là miễn phí, phần nào là có bản quyền mà còn bởi khối lượng công việc để tạo ra JDK sẽ là vô cùng khổng lồ. Khi sử dụng JDK của Oracle, các nhà phát triển chắc chắn sẽ phải chịu những rằng buộc nhất định với Oracle.
Về phần mình, Google thực chất cũng không sử dụng JDK của Oracle mà sử dụng lại các thư viện mã nguồn mở theo bản quyền Apache Harmony. Thế nhưng, ngay cả khi đã dành nhiều thời gian để tạo ra một bộ JDK giống với JDK của Oracle, Google vẫn không thể thoát khỏi những rắc rối tai hại.
Đơn kiện của Oracle khẳng định:
"Khoảng một phần ba các API của Android là sản phẩm sao chép từ các API Java do Oracle nắm bản quyền. Các thành phần vi phạm quyền sở hữu của Oracle America bao gồm tên class và method, định nghĩa, cách tổ chức và các param; cấu trúc, cách tổ chức, cấu tạo và nội dung của các thư viện Java class; và nội dung và cách tổ chức của documentation trên Java… ".
Oracle: Lấy mỡ Google rán Google
Những khái niệm được nhắc tới đơn kiện có thể làm cho bạn cảm thấy bối rối nếu không phải là lập trình viên, nhưng điều cuối cùng cần nhận thấy ở đây là ở chỗ, lý do chính khiến Oracle kiện Google không phải là mã nguồn, mà là vì các API Java bị copy từ bộ JDK thuộc quyền sở hữu của Oracle. Nói nôm na thì Google đã dành rất nhiều thời gian để tự xây dựng ra căn nhà Android cho các coder thoải mái chạy nhảy, nhưng trong khi sơn tường, gạch lát, chất liệu cửa... khác nhau thì Google vẫn mắc kiện vì tòa nhà có cấu trúc giống với những gì Oracle đã định nghĩa.
Larry Ellison, cựu CEO Oracle, và Scott McNealy, CEO của Sun, "cha đẻ" của Java. Oracle mua Sun vào năm 2009 |
Và Google cũng có copy code của Oracle, dù là rất ít. Điều đó cũng là hợp lý, bởi bộ SDK Java được Google cung cấp cho các nhà phát triển Android cần phải được tối ưu cho di động chứ không chung chung JDK chuẩn của Oracle. Nhưng, việc tái sử dụng lại API của Oracle cũng có nghĩa rằng Google sẽ ngay lập tức tận dụng được một lượng lớn lập trình viên đã quen với Java, một trong những ngôn ngữ lập trình hiện đại phổ biến nhất thế giới. Đó cũng là lý do vì sao Android ra đời sau nhưng nhanh chóng bắt kịp iOS về số lượng ứng dụng, dù 2 hệ điều hành này sử dụng 2 ngôn ngữ lập trình khác nhau.
Sợi dây buộc Google vào Oracle cũng có phần giống như sợi giây buộc các nhà sản xuất vào Google. Không nhiều nhà sản xuất smartphone phương Tây tự tạo ra phiên bản Android của riêng mình cho dù ngôn ngữ này vẫn được phát triển bởi cả Google và dự án mã nguồn mở AOSP cũng vì một lý do tương tự: so với việc đầu tư công sức để tự xây dựng Android thì sử dụng lại sản phẩm hoàn thiện của Google vẫn là hợp lý hơn cả. Dĩ nhiên, câu chuyện tại Trung Quốc mang một màu sắc hoàn toàn khác, bởi Google không được phép kinh doanh tại đây.
Hiểu rõ điều này, Oracle đã mang Google ra tòa từ tận năm 2010. Trong vụ kiện đầu tiên, tòa án Mỹ đã khẳng định rằng các công ty không được phép đăng ký bản quyền cho API. Google chưa kịp vui mừng thì Oracle kháng cáo lên tòa phúc thẩm, nơi đưa ra phán quyết hoàn toàn ngược lại: Google có vi phạm bản quyền của Oracle. Sau đó, Oracle lợi dụng thế thắng để mở rộng vụ kiện ra 40 phiên bản JDK Java khác. Đầu năm nay, các tài liệu được "ông trùm database" này hé lộ cho biết Google đã kiếm được 31 tỷ USD từ Android, trong đó lợi nhuận là 22 tỷ USD. Nếu Oracle thắng kiện, Google sẽ phải bồi thường 9,3 tỷ USD, tức là 42% tổng mức lợi nhuận từ Android.
Google phản đòn và… tự bắn vào chân
2 hãng có lẽ sẽ quyết đấu tới cùng tại Tòa Tối Cao tại Mỹ, nhưng khi vụ kiện còn chưa ngã ngũ thì Google cũng đã vội vã tìm lối ra: OpenJDK. Khác với phiên bản JDK do Oracle làm chủ, OpenJDK là một dự án mã nguồn mở hoàn toàn. Quá trình chuyển đổi sang OpenJDK có thể là lý do khiến Google vội vã tung ra bản dùng thử cho Android N ngay từ đầu năm, trước khi Android Marshmallow kịp đạt thị phần… 1 chữ số. Đây là điều Google bắt buộc phải làm để giảm thiểu thiệt hại trong trường hợp thua kiện trước Oracle.
Nhưng giải pháp này cũng có rất nhiều hệ lụy không mong muốn. Đầu tiên, cách thức hoạt động của OpenJDK khá khác biệt so với mã nguồn của Google, buộc gã khổng lồ tìm kiếm phải thực hiện một khối lượng lớn công việc để giúp cho các ứng dụng, dịch vụ Android hiện nay có thể tương thích với Android mới. Rất có thể đội ngũ Google đang khẩn trương phát triển Android N để kịp ngày ra mắt chính thức vào tháng 10 sắp tới, nhưng kể cả trong trường hợp kịp tiến độ, khả năng Android N gặp nhiều lỗi trầm trọng vẫn là khá cao. Cộng đồng phát triển app của Google chắc chắn sẽ bị ảnh hưởng, không chỉ bởi lỗi trên ứng dụng mà còn bởi phải dành công sức để kiểm thử lại các ứng dụng đã viết từ trước cho phiên bản Android mới.
Đáng lo ngại nhất, dù Google đã đánh đổi bộ khung nhà "copy" từ Oracle bằng một bộ khung OpenJDK miễn phí cho phép bất cứ ai copy và chỉnh sửa, Oracle lại vẫn là người định hình nên OpenJDK trong tương lai. Với các vũ khí như thỏa thuận tương thích, thương hiệu, các thỏa thuận bản quyền đã đi vào sử dụng, các đơn kiện đình đám và đặc biệt là quyền quyết định roadmap (lịch trình phát triển), Oracle thực chất vẫn kiểm soát OpenJDK.
Nói cách khác, nắm trong tay OpenJDK tức là nắm trong tay Android của tương lai. Khi Oracle ra mắt bất cứ một thư viện, một dịch vụ nào mới cho OpenJDK, công ty này có thể ép Google phải mang dịch vụ đó lên Android, bất kể là Google đã có một giải pháp tương tự hay chưa. Điều đó đảm bảo cho Oracle sẽ thâu tóm được một phần cộng đồng coder của Google chuyển sang giải pháp của mình.
Samsung, LG, Qualcomm, NVIDIA… giờ đã về tay Oracle
Tai hại hơn cả là vị thế của Google trước các nhà sản xuất (OEM) và các công ty thiết kế chip như Qualcomm, NVIDIA, MediaTek sẽ dần biến mất. Phiên bản Android cũ được Google tự xây dựng (trên API "copy" từ Oracle) cho phép các nhà sản xuất có thể tùy chỉnh Android theo cách riêng mà không cần phải công bố mã nguồn – nói cách khác là tạo lợi thế của riêng họ so với các đối thủ. Trước đây, để làm được điều này, họ cũng phải phụ thuộc vào Google.
Nhưng điều khoản OpenJDK không cho phép thực hiện chiến lược "phát triển kín" mà buộc bất cứ ai cũng phải công bố hết các tính năng riêng tự phát triển cho OpenJDK. Để được giữ các tính năng này lại cho riêng mình, các nhà sản xuất sẽ phải trả tiền để mua một bộ bản quyền khác từ Oracle.
"Thòng lọng" này của Oracle có ảnh hưởng đặc biệt mạnh mẽ lên các công ty chip, bởi họ sẽ buộc phải kết hợp rất chặt chẽ với nhà cung cấp hệ điều hành để các dòng vi xử lý có thể phát huy được tối đa sức mạnh trên nền tảng. Đây lại là một "trái đắng" khác cho Google, bởi càng ngày càng có nhiều OEM theo chân Samsung tự thiết kế chip: Huawei đã có Kirin, Sony và LG cũng đang rục rịch phát triển con chip của riêng mình.
Thực chất, Google vốn đã giỏi về chiến lược "tặng bữa trưa miễn phí", nhưng Oracle mới là bậc thầy trong lĩnh vực dẫn dắt "đối tác" vào cái bẫy miễn phí. Ví dụ, các tính năng được cung cấp miễn phí cho máy ảo Java dĩ nhiên sẽ luôn có hiệu năng kém cỏi hơn so với các tính năng tương tự do Oracle cung cấp (có phí). Điều gì đảm bảm Oracle sẽ không cung cấp cho OpenJDK những tính năng có thể gây hại cho Android rồi buộc các nhà sản xuất phải bỏ tiền ra để sở hữu tính năng tốt hơn?
Nói tóm lại, bất kể vụ kiện Oracle vs Google sẽ kết thúc ra sao, Google vẫn sẽ gặp rất nhiều khó khăn khi sử dụng một ngôn ngữ lập trình bị một đối thủ "chơi rắn" như Oracle kiểm soát. Mọi chuyện sẽ còn trở nên khó khăn hơn rất nhiều khi Microsoft tham chiến. Ở vị thế đồng minh thân cận của Oracle, Microsoft hoàn toàn có thể cướp Android khỏi tay Google.
(còn tiếp)