Pertanyaan umum (FAQ) terkait AOSP

Dokumen ini berisi jawaban atas pertanyaan umum tentang Platform Open Source Android (AOSP).

Pertanyaan tentang {i>open source<i}

Mengapa Google membuka kode sumber Android?

Google memulai AOSP sebagai respons terhadap pengalaman kami sendiri dalam meluncurkan aplikasi seluler. Kami ingin memastikan bahwa akan selalu ada platform terbuka yang dapat digunakan oleh operator, OEM, dan developer untuk mewujudkan ide-ide inovatif mereka. Kami juga ingin menghindari titik kegagalan pusat, sehingga tidak ada pemain industri yang dapat membatasi atau mengontrol inovasi dari pemain lain. Satu-satunya tujuan terpenting kami dengan AOSP adalah memastikan bahwa software Android open source diimplementasikan secara luas dan sekompatibilitas mungkin, demi manfaat semua orang.

Apa jenis project open source Android?

Google mengawasi pengembangan AOSP inti dan berupaya menciptakan komunitas developer dan pengguna yang andal. Sebagian besar, kode sumber Android dilisensikan berdasarkan Lisensi Apache 2.0 yang permisif, bukan lisensi copyleft. Kami memilih lisensi Apache 2.0 karena kami yakin lisensi tersebut mendorong penggunaan software Android secara luas. Untuk mengetahui detailnya, lihat Lisensi.

Mengapa Google yang bertanggung jawab atas Android?

Meluncurkan platform perangkat lunak itu rumit. Keterbukaan sangat penting untuk kesuksesan jangka panjang suatu platform, karena keterbukaan akan menarik investasi dari developer dan memastikan platform yang setara. Platform juga harus menjadi produk yang menarik bagi pengguna.

Google telah memberikan resource engineering profesional yang diperlukan untuk memastikan bahwa Android adalah platform software yang kompetitif. Google memperlakukan project Android sebagai operasi pengembangan produk berskala penuh dan memenuhi transaksi bisnis yang diperlukan untuk memastikan perangkat bagus yang menjalankan Android dapat dipasarkan.

Dengan memastikan Android berhasil di kalangan pengguna, kami membantu memastikan vitalitas Android sebagai platform dan sebagai project open source. Lagi pula, siapa yang ingin kode sumber menjadi produk yang gagal?

Tujuan kami adalah memastikan ekosistem Android yang sukses. Kami membuka kode sumber Android sehingga siapa pun dapat memodifikasi dan mendistribusikan software untuk memenuhi kebutuhan mereka sendiri.

Apa strategi keseluruhan Google untuk pengembangan produk Android?

Kami merilis perangkat yang bagus ke pasar yang kompetitif. Kemudian, kami menggabungkan inovasi dan peningkatan yang kami buat ke dalam platform inti sebagai versi berikutnya.

Dalam praktiknya, ini berarti bahwa tim engineer Android berfokus pada sejumlah kecil perangkat "unggulan" dan mengembangkan software Android versi berikutnya untuk mendukung peluncuran produk tersebut. Perangkat unggulan ini menyerap sebagian besar risiko produk dan membuka jalan bagi komunitas OEM yang luas, yang akan mengikutinya dengan lebih banyak perangkat yang memanfaatkan fitur baru. Dengan cara ini, kami memastikan platform Android akan berkembang sesuai dengan kebutuhan perangkat di dunia nyata.

Bagaimana software Android dikembangkan?

Setiap versi platform Android (seperti 1.5 atau 8.1) memiliki cabang yang sesuai dalam hierarki open source. Cabang terbaru dianggap sebagai versi cabang stabil saat ini. Ini adalah cabang yang di-port oleh produsen ke perangkat mereka. Cabang ini tetap sesuai untuk rilis setiap saat.

Secara bersamaan, ada cabang eksperimental saat ini, yang merupakan tempat kontribusi spekulatif, seperti fitur besar generasi berikutnya, dikembangkan. Perbaikan bug dan kontribusi lainnya dapat disertakan dalam cabang stabil saat ini dari cabang eksperimental yang sesuai.

Terakhir, Google mengerjakan platform Android versi berikutnya secara bersamaan dengan mengembangkan perangkat unggulan. Cabang ini mengambil perubahan dari cabang eksperimental dan stabil sebagaimana mestinya.

Untuk mengetahui detail tentang cabang dan rilis, lihat Siklus proses rilis.

Mengapa bagian Android dikembangkan secara pribadi?

Biasanya perlu waktu lebih dari satu tahun untuk meluncurkan perangkat ke pasar. Dan, tentunya, produsen perangkat ingin mengirimkan software terbaru yang mereka miliki. Sementara itu, developer tidak ingin terus melacak versi baru platform saat menulis aplikasi. Kedua grup mengalami ketegangan antara pengiriman produk dan tidak ingin tertinggal.

Untuk mengatasi hal ini, beberapa bagian dari versi Android berikutnya, termasuk API platform inti, dikembangkan di cabang pribadi. API ini merupakan versi Android berikutnya. Tujuan kami adalah memfokuskan perhatian pada versi stabil kode sumber Android saat ini saat kami membuat versi platform berikutnya. Hal ini memungkinkan developer dan OEM menggunakan satu versi tanpa melacak pekerjaan mendatang yang belum selesai hanya untuk mengikuti perkembangan. Bagian lain dari sistem Android yang tidak terkait dengan kompatibilitas aplikasi dikembangkan secara terbuka. Seiring waktu, kami ingin memindahkan lebih banyak bagian ini ke pengembangan terbuka.

Kapan rilis kode sumber dilakukan?

Jika sudah siap. Melepaskan kode sumber adalah proses yang cukup kompleks. Beberapa bagian Android dikembangkan secara terbuka, dan kode sumber tersebut selalu tersedia. Bagian lain dikembangkan terlebih dahulu di hierarki pribadi, dan kode sumber tersebut dirilis saat versi platform berikutnya siap.

Dalam beberapa rilis, API platform inti sudah siap jauh-jauh hari sehingga kami dapat mendorong kode sumber untuk tampilan awal sebelum rilis perangkat. Dalam rilis lain, hal ini tidak mungkin. Dalam semua kasus, kami merilis sumber platform saat kami merasa bahwa versinya stabil, dan jika proses pengembangan memungkinkan.

Apa saja yang terlibat dalam perilisan kode sumber untuk versi Android baru?

Merilis kode sumber untuk versi baru platform Android merupakan proses yang signifikan. Pertama, software ini di-build ke dalam image sistem untuk perangkat dan mendapatkan berbagai bentuk sertifikasi, termasuk sertifikasi peraturan pemerintah untuk wilayah tempat ponsel akan di-deploy. Kode ini juga akan melalui pengujian operator. Ini adalah fase penting dalam proses, karena membantu mendeteksi bug software.

Saat rilis disetujui oleh regulator dan operator, produsen akan mulai memproduksi perangkat secara massal, dan kami akan mulai merilis kode sumber.

Bersamaan dengan produksi massal, tim Google memulai beberapa upaya untuk menyiapkan rilis open source. Upaya ini termasuk membuat perubahan API final, memperbarui dokumentasi (misalnya untuk mencerminkan modifikasi yang dilakukan selama pengujian kualifikasi), menyiapkan SDK untuk versi baru, dan meluncurkan informasi kompatibilitas platform.

Tim hukum kami melakukan persetujuan akhir untuk merilis kode ke dalam sumber terbuka. Sama seperti kontributor open-source yang diwajibkan untuk menandatangani Perjanjian Lisensi Kontributor yang membuktikan kepemilikan kekayaan intelektual mereka atas kontribusi mereka, Google harus memverifikasi bahwa sumber telah dihapus untuk memberikan kontribusi.

Sejak produksi massal dimulai, proses rilis software biasanya memerlukan waktu sekitar satu bulan, sehingga rilis kode sumber sering terjadi pada waktu yang hampir bersamaan dengan saat perangkat sampai ke pengguna.

Bagaimana hubungan AOSP dengan Program Kompatibilitas Android?

AOSP mempertahankan software Android, dan mengembangkan versi baru. Karena bersifat open source, software ini dapat digunakan untuk tujuan apa pun, termasuk mengembangkan perangkat yang tidak kompatibel dengan perangkat lain berdasarkan sumber yang sama.

Fungsi Program Kompatibilitas Android adalah menentukan implementasi dasar pengukuran Android yang kompatibel dengan aplikasi pihak ketiga yang ditulis oleh developer. Perangkat yang kompatibel dengan Android memenuhi syarat untuk berpartisipasi dalam ekosistem Android, termasuk Google Play; perangkat yang tidak memenuhi persyaratan kompatibilitas berada di luar ekosistem tersebut.

Dengan kata lain, Program Kompatibilitas Android adalah cara kami memisahkan perangkat yang kompatibel dengan Android dari perangkat yang hanya menjalankan turunan kode sumber. Kami menyambut semua penggunaan kode sumber Android, tetapi untuk berpartisipasi dalam ekosistem Android, perangkat harus diidentifikasi sebagai kompatibel dengan Android oleh program.

Bagaimana cara berkontribusi untuk Android?

Anda dapat melaporkan bug, menulis aplikasi untuk Android, atau mengontribusikan kode sumber ke AOSP.

Ada batasan jenis kontribusi kode yang kami terima. Misalnya, seseorang mungkin ingin berkontribusi pada API aplikasi alternatif, seperti lingkungan berbasis C++ lengkap. Kami akan menolak kontribusi tersebut, karena Android mendorong aplikasi untuk dijalankan di runtime ART. Demikian pula, kami tidak akan menerima kontribusi seperti library GPL atau LGPL yang tidak kompatibel dengan sasaran pemberian lisensi kami.

Sebaiknya mereka yang tertarik untuk menyumbangkan kode sumber untuk menghubungi kami melalui saluran yang tercantum di Komunitas Android sebelum memulai pekerjaan apa pun. Untuk mengetahui detailnya, lihat Berkontribusi.

Bagaimana cara menjadi committer Android?

AOSP tidak benar-benar memiliki konsep committer. Semua kontribusi (termasuk yang ditulis oleh karyawan Google) akan melalui sistem berbasis web yang dikenal sebagai Gerrit yang merupakan bagian dari proses engineering Android. Sistem ini bekerja bersama-sama dengan sistem pengelolaan kode sumber Git untuk mengelola kontribusi kode sumber dengan rapi.

Pemberi persetujuan yang ditunjuk harus menyetujui semua perubahan yang dikirimkan. Pemberi persetujuan biasanya adalah karyawan Google, tetapi pemberi persetujuan yang sama bertanggung jawab atas semua kiriman, terlepas dari asalnya.

Untuk mengetahui detailnya, lihat Mengirim patch.