Bài viết này sẽ giúp bạn gỡ rối một chút về việc tại sao có một số phần mềm được gọi là “Linux”. Sau đó, chúng ta sẽ đi sâu hơn về việc tranh luận “Android có phải là Linux” hay không nhé.
Khi ai đó nhắc đến “Linux” thì có thể họ đang muốn nói đến các trường hợp sau:
Tới đây chắc bạn thấy vẫn chưa có gì liên quan đến câu hỏi ban đầu đúng không. Chúng ta còn phải tìm hiểu thêm một chút nữa trước khi đi vào thảo luận. Đó là việc bản thân khái niệm “Android” cũng mang hai ý nghĩa.
Đầu tiên, Android ám chỉ Android Open Source Project (AOSP). Đây là một dự án nguồn mở mà ở đó Google đã viết nên mã nguồn của Android. Về cơ bản, bạn có thể dùng mã nguồn này để xây dựng một hệ điều hành chạy trên điện thoại, máy tính bảng. Tuy nhiên hệ điều hành này sẽ thiếu rất nhiều chức năng cần thiết. Đặc biệt là Google Mobile Services (GMS).
GMS này là một bộ các app và APIs thiết yếu đối với người dùng. Giống như việc iTune và App Store là không thể thiếu với người dùng macOS vậy. AOSP là mã nguồn mở, nhưng thật sự đó chỉ là phần khung trống trơ mà thôi. Cái người dùng mong đợi là một hệ điều hành đầy đủ chức năng và phải thật tiện dụng cơ.
Thứ hai Andoid dùng để chỉ hệ điều hành mà bạn thường thấy trong các điện thoại thông minh, máy tính bảng. Android này về bản chất chính là AOSP, ngoài ra có thể có thêm vài thay đổi từ nhà sản xuất. Không chỉ có thế, nó còn được tích hợp thêm rất nhiều các đoạn mã độc quyền của nhà sản xuất. Cho nên đừng nghĩ cứ điện thoại Android là giống nhau nhé. Khác nhau rất nhiều đấy.
Đa số các tranh luận về việc Android có phải là Linux hay không đều cố gắng áp dụng cho cả hai cách hiểu vể Android. Tuy nhiên có một vài trường hợp câu trả lời sẽ rất khác, tùy xem bạn định nghĩa như thế nào nữa. Bạn coi Android là AOSP hay cái mà bạn vẫn thấy trong các thiết bị chạy Android? Hãy cùng nghe qua các quan điểm sau.
Chỉ có một lý luận duy nhất để chứng minh rằng Android là Linux. Tuy nhiên lý luận này vô cùng có lý. Đó là vì mỗi thiết bị chạy Android đều có chứa một nhân Linux. Cho nên, Android là Linux chứ sao. Bạn có thể xem phiên bản linux kernel mà mình đang sử dụng bằng cách vào Setting sau đó tìm đến About Device > Software info.
Tuy nhiên, Android không chỉ là mỗi phần nhân Linux. Nó là một hệ điều hành đầy đủ chức năng với rất nhiều các thư viện được thêm vào, có cả GUI, app và vô số thứ nữa. Nghe có vẻ giống một Linux distro thì phải? Có phải Android là một Linux distro không?
Trong thực tế, có rất nhiều Linux distro, cho nên việc gom hết lại cho vào một định nghĩa: Thế nào là một Linux distro là rất khó.
Ngoài việc phải có một Linux kernel ra, định nghĩa Linux distro khá là mở và khó xác định. Cho nên cũng khó thể nói rằng Android là một Linux distro.
Để có thể tạo ra một hệ điều hành phù hợp với một chiếc điện thoại, đội ngũ phát triển Android đã phải thay đổi Linux kernel khá nhiều. Họ đã phải thêm vào các thư viện mới, các APIs và các công cụ được thiết kế riêng biệt, tối ưu hóa cho Android
Trở lại luận điểm đầu tiên cho rằng Android là một Linux distro. Lý do chính để luận điểm này có lý là bởi vì Android có dùng Linux kernel. Nhưng cái đó đâu phải kernel chuẩn đâu? Bị thay đổi rất nhiều luôn rồi mà?
Thật ra, cũng không hiếm khi bạn gặp một Linux distro sử dụng phần kernel đã bị thay đổi.
Linux kernel được phân phối dưới hiệu lực của giấy phép GNU (General Public License). Cho nên ai cũng có thể sửa mã nguồn của nó. Và thực tế thì cũng rất nhiều Linux distro đã làm việc này. Vậy thì vấn đề sẽ là đội ngũ phát triển Android đã sửa phần nhân này “mạnh tay” đến mức nào. Theo một nguồn từ Linux wiki thì đội phát triển đã thay đổi một lượng “không quá nhiều, để thay đổi vài cái thông thường ở phần nhân”.
Có một điều phải thừa nhận rằng chính GNU software là linh hồn của một Linux distro. Như đã nói ở trên, một Linux distro thậm chí nên được gọi là GNU/Linux. Do vậy nên chẳng thể nào Android lại là Linux được. Nó có quá ít thành phần của một GNU software. Rât dễ nhận thấy nhất là đội ngũ phát triển Android đã tạo ra 1 thư viện mới gọi là Bionic để thay thế cho GNU C Library.
Cho dù bạn có thể nói rằng Linux distro đâu nhất thiết cần GNU, thì vẫn phải thừa nhận rằng thiếu vắng GNU làm Android khác hẳn các Linux distro khác. Khác biệt một cách rất rõ rệt luôn.
Nếu bạn chọn ngẫu nhiên vài Linux distro thì bạn sẽ thấy nhiều khi nó chỉ có mỗi phần kernel là giống nhau. Tuy nhiên các ứng dụng vẫn có thể dùng được chung giữa các Linux distro. Trong thực tế, Android có rất ít điểm chung, về mặt phần mềm, với một Linux distro. Thế nên chẳng thể nào chạy các app cho Linux trên Android được.
Điều ngược lại cũng như vậy. Các ứng dụng cho Android cần rất nhiều thư viện riêng, môi trường riêng chỉ có trên Android. Thế nên các ứng dụng cho Android chả thể chạy được ở môi trường nào khác ngoài Android đâu.
Google dù đã tung ra phần cơ bản của Android thông qua AOSP. Tuy nhiên, họ lại phát triển phiên bản tiếp theo của AOSP cho riêng mình. Thực tế là tại website của AOSP đã chỉ ra rằng “Google chịu trách nhiệm chính cho việc định hướng chiến lược của Android như một nền tảng và như một sản phẩm”
Thêm vào đó, mặc dù bất kỳ ai cũng có thể thêm thắt, sửa dổi AOSP theo nhiều cách. Tuy nhiên website AOSP chỉ ra rất rõ ràng rằng người lãnh đạo các dự án thường sẽ là nhân viên của Google. Google cũng sở hữu thương hiệu và logo Android. Bởi vậy nên dù bạn có tự xây dựng một hệ điều hành dựa trên AOSP. Bạn sẽ vẫn phải liên lạc với Google để có thể sử dụng cái tên Android đấy nhé.
Mặc dù thường thì một Linux distro phải có mối liên hệ với một công ty nào đó. Như Ubuntu và Canonical chẳng hạn. Nhưng việc một Linux distro được phát triển bí mật, toàn bộ bởi một công ty là điều chả thấy bao giờ.
Mặc dù tổ chức Free Software Foundation khuyến cáo các nhà phát triển không nên thêm các phần mềm độc quyền vào Linux distro của họ, nhưng vẫn không có quy định nào cụ thể về vấn đề này. Thực tế thì rất nhiều distro trước khi tung ra đã được thêm vào kha khá các đoạn mã độc quyền như thế. Thế nên câu hỏi thực tế phải là: Android có thật sự mở như các distro thông thường khác?
Dù rằng AOSP còn rất xa mới đạt đến chuẩn của một dự án mã nguồn mở, nhưng code của nó cũng được công bố rộng rãi. Ai cũng có thể xem và sửa đổi.
Tuy nhiên, từ cái AOSP sơ khai đó cho tới khi nó đến tay bạn là cả một quá trình. Trong quá trình đó, rất nhiều đoạn code độc quyền đã được thêm vào. Cho dù bạn có lựa chọn một cái máy chạy Android thuần như Nexus hay Pixel, hay chọn của nhà sản xuất nào thì cũng vẫn vậy cả. Tất cả đều đã được sửa đổi rất nhiều.
Bạn có thể nói rằng như thế vẫn là chưa đủ để phủ nhận Android là một Linux distro. Tuy nhiên, những phần quan trọng mà người dùng nhìn thấy thì lại là độc quyền bởi các nhà sản xuất. Ví dụ điển hình là Google Mobile Services hay như TouchWiz của Samsung chẳng hạn. Điều này khiến Android tạo ra cảm giác “đóng” nhiều hơn là cảm giác “mở” cần có của một distro.
Đối với một Linux distro mà nói thì bạn rất dễ dàng để chỉnh sửa. Thậm chí bạn có thể can thiệp rất sâu nữa. Android thì không thế. Mặc định nó không cho bạn quyền can thiệp sâu vào hệ thống. Các phần được cho là nhạy cảm của hệ thống cũng bị khóa chặt luôn. Thế nên các bạn mới nghe đến thuật ngữ ‘root máy‘. Đây chính là thao tác để vượt qua các rào cản này. Bạn chỉ có thể can thiệp sâu hơn vào hệ thống sau khi đã root máy.
Ta cùng quay lại câu hỏi ban đầu: Android có phải là một Linux distro? Câu trả lời lại phụ thuộc rất nhiều vào việc bạn định nghĩa thế nào là một Linux distro. Nếu bạn cho rằng Linux distro phải như kiểu GNU/Linux ấy, thì câu trả lời đương nhiên là không rồi.
Bạn coi Linux distro là một hệ điều hành có nhân Linux cộng với vài tiêu chí nữa? Câu trả lời trong trường hợp này có vẻ như vẫn là không. Dù Android vẫn có nhân Linux nhưng ngoài ra nó trông chả giống các Linux distro khác tí nào. Nó ‘đóng’ tịt, nó không chạy Linux app. Chả giống tí nào.
Tuy nhiên nếu bạn chỉ định nghĩa Linux distro là một hệ điều hành dựa trên nhân Linux thôi thì đúng. Bạn có thể gọi Android là một Linux distro. Có thể trông nó hơi lạc loài, hơi đặc thù một chút, nhưng nó vẫn dựa trên nhân Linux. Cũng giống như việc Ubuntu, Fedora, Debian… vẫn dựa trên nhân Linux vậy.
Đọc đến đây rồi thì quan điểm của bạn như thế nào? Android là Linux hay không là Linux? Hãy cho mình biết ở phần comment nhé.
Tác giả: Nguồn AndroidAuthority
Nguồn tin: www.techsignin.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn