Bionic (perangkat lunak)
Bionic | |||||
---|---|---|---|---|---|
Tipe | C POSIX library (en) | ||||
Versi pertama | 23 September 2008[1] | ||||
Versi stabil | |||||
Genre | C standard library | ||||
Lisensi | Three-clause BSD license | ||||
| |||||
Sumber kode | |||||
| |||||
Bionic adalah implementasi dari standard C library, yang dikembangkan oleh Google untuk Sistem Operasi Android .[2] Ini berbeda dari GNU C Library (glibc) karena dirancang untuk perangkat dengan memori dan daya prosesor yang lebih sedikit daripada sistem Linux biasa. Ini adalah kombinasi kode dan kode baru dari FreeBSD, NetBSD, dan OpenBSD dirilis di bawah BSD license, bukan glibc, yang menggunakan GNU Lesser General Lisensi Publik.[3] Perbedaan ini penting pada masa-masa awal Android, ketika penautan statis umum terjadi, dan masih membantu dalam memperkenalkan Android ke perusahaan perangkat lunak yang terbiasa dengan sistem operasi proprietary, yang dapat mewaspadai LGPL, dan tidak jelas tentang perbedaan antara itu dan GNU General Public License (GPL) penuh.
Bionic adalah library C untuk digunakan dengan Linux kernel, dan menyediakan libc, libdl, dan libm (libpthread fungsionalitas adalah bagian dari libc, bukan perpustakaan terpisah seperti pada beberapa sistem lain). Ini berbeda dari pustaka C BSD yang berbagi kode dengan bionic, karena mereka memerlukan kernel BSD.
Tujuan Asli
[sunting | sunting sumber]Tujuan asli yang dinyatakan secara publik untuk Bionic adalah sebagai berikut:
- Berlisensi BSD: Google ingin mengisolasi aplikasi Android dari efek lisensi copyleft untuk menciptakan ruang pengguna dan ekosistem aplikasi, tetapi:
- Android didasarkan pada kernel Linux, yang tunduk pada copyleft GNU General Public License (GPL) versi 2.
- Pustaka C standar yang paling luas untuk kernel Linux adalah GNU C Library (glibc), yang tunduk pada GNU Lesser General Public License (LGPL), juga lisensi copyleft. Berbeda dengan GPL, LGPL secara eksplisit mengizinkan penautan dinamis tetapi tidak mengizinkan penautan statis perangkat lunak berpemilik tanpa memberikan kode sumber atau file objek yang dapat ditautkan.
- Lisensi BSD permisif adalah lisensi non-copyleft yang kompatibel di kedua arah. Pengganti glibc berlisensi BSD dapat bertindak sebagai lapisan isolasi antara inti copyleft (kernel) dan aplikasi non-copyleft, dan oleh karena itu dipilih oleh Google untuk Bionic-nya sebagai pengganti glibc.
- Ukuran kecil: Bionic jauh lebih kecil dari GNU C Library; lebih penting lagi, kebutuhan memorinya (dan tetap) jauh lebih rendah.
- Kecepatan: Bionic dirancang untuk CPU pada frekuensi clock yang relatif rendah.
Referensi
[sunting | sunting sumber]- ^ "Announcing the Android 1.0 SDK, release 1". September 9, 2008. Diarsipkan dari versi asli tanggal September 19, 2015. Diakses tanggal September 21, 2012.
- ^ a b "Android Anatomy and Physiology" (PDF). Google I/O. 2008-05-28. Diarsipkan dari versi asli (PDF) tanggal 2016-04-08. Diakses tanggal 2014-05-23.
- ^ "Pustaka C Android Memiliki 173 File Kode OpenBSD yang Tidak Berubah". Diakses tanggal 8 Oktober 2018.
Pranala luar
[sunting | sunting sumber]- Developer home page for Android
- Android Native Development Kit (NDK) home page
- Bionic sources (Github mirror of the official repository)
- Bionic notes on eLinux.org