Logo vi.androidermagazine.com
Logo vi.androidermagazine.com

Mã nguồn mở là gì?

Anonim

mã nguồn mở là gì? Phần mềm nguồn mở là phần mềm giúp mã nguồn có sẵn miễn phí, cho mọi người xem và sử dụng. Các công ty, cá nhân, trường đại học và rất nhiều thực thể khác xây dựng toàn bộ dự án và sử dụng giấy phép nguồn mở, sau đó họ cung cấp mã cho bất kỳ ai muốn sử dụng nó. Giấy phép được sử dụng xác định cách những người khác sử dụng mã này chia sẻ các sửa đổi của họ.

Có các giấy phép nguồn mở khác nhau có các điều kiện sử dụng khác nhau, từ GPL (Giấy phép Công cộng GNU) - cho phép "phân phối miễn phí trong điều kiện các phát triển và ứng dụng tiếp theo được đặt trong cùng một giấy phép" - cho đến các giấy phép tự do hơn như Giấy phép Apache, không yêu cầu sửa đổi phải được mở và có sẵn mã nguồn. Android sử dụng cả hai giấy phép này và chúng ta sẽ lần lượt xem xét chúng.

Nhân Linux được sử dụng trong Android được bảo vệ theo GPL. Điều này có nghĩa là bất kỳ thay đổi nào được thực hiện đối với mã nguồn phải được cung cấp khi một phần mềm nhị phân (geek-speak cho một phần mềm được thực thi, được biên dịch) được phát hành ra công chúng. Điều này có nghĩa là các nhà sản xuất như HTC, Samsung, Motorola và phần còn lại phải phát hành mã nguồn kernel cho bất kỳ thiết bị nào họ bán cùng lúc họ bắt đầu bán chúng. Tất nhiên, điều này hiếm khi xảy ra và cuối cùng chúng tôi chờ đợi một nhóm xóa ghi chú, nhận xét nguồn và những điều hữu ích khác trước khi nó đến với chúng tôi. Đây là các bản phát hành mã mà bạn sẽ thấy được đề cập trên internet và bao gồm nguồn kernel và các "bit" nguồn mở khác được trình bày theo GPL.

Bản thân mã nguồn cho Android được phát hành chủ yếu theo Giấy phép Apache. Bất kỳ ai cũng được phép tải xuống mã nguồn và thay đổi mã theo cách họ muốn, nhưng họ không bắt buộc phải cung cấp các thay đổi của mình ở dạng mã nguồn cho công chúng. Đây là lý do tại sao chúng tôi không thể dễ dàng sửa đổi Touchwiz của Samsung (ví dụ) - những thay đổi họ đã thực hiện đối với mã nguồn Android cơ bản không có sẵn cho chúng tôi. Mặc dù nhiều người (bao gồm cả tôi) không thích tình huống này lắm, nhưng nó có ý nghĩa từ quan điểm kinh doanh. Nếu các nhà sản xuất phải chia sẻ tất cả các bí mật của họ, sẽ không có nhiều động lực tiền tệ để đổi mới, vì vậy nguồn này được cung cấp với một giấy phép tự do hơn nhiều. Nó chắc chắn hoạt động, khi chúng ta thấy các thiết bị từ nhiều người chơi lớn trong thế giới điện tử.

Sản phẩm tiêu dùng chính khác của Google - Chrome OS - được viết từ nguồn Chromium. Các phần được viết bằng Google của Chromium là nguồn mở, theo giấy phép BSD. Những người đóng góp khác sử dụng các giấy phép nguồn mở khác nhau như giấy phép MIT hoặc GPL.

Một điều quan trọng cần nhớ ở đây là Android và Chromium là nguồn mở, nhưng các hệ điều hành được sử dụng cho các thiết bị Nexus và Chromebook thì không. Chúng được xây dựng từ các dự án nguồn mở, nhưng có thể chứa các bộ phận độc quyền để cải thiện phần mềm cho từng thiết bị cụ thể. Đối với điện thoại Nexus, các bit độc quyền này được phát hành trên trang web Nhà phát triển Android và sẵn sàng thả vào bất cứ thứ gì bạn có thể xây dựng từ AOSP để có được trải nghiệm tương tự. Chromebook sẽ chạy trên bản dựng Chromium hoàn toàn mở, nhưng sẽ không có một số API Google đã đóng hoặc bộ giải mã video và âm thanh đầy đủ.

Google cũng phát hành các ứng dụng không được cấp phép nguồn mở. Gmail, Bản đồ và nhiều ứng dụng Google khác có trên điện thoại của chúng tôi không phải là một phần của AOSP và được phát triển độc lập cho Android, Chrome, iOS và web. Khi bạn nghe thấy những cuộc tranh luận trên mạng về việc Android không được "mở", đây là những gì họ đang nói. Android và mọi thứ cần thiết để cài đặt và chạy ứng dụng Android hoàn toàn là nguồn mở, nhưng các ứng dụng phổ biến giúp nó tốt hơn thì không. Điều này không có khả năng thay đổi.