Cara Menulis Informasi OSS

Cara Menulis Informasi OSS

Halo. Saya zm soft, yang mendaftar sebagai developer tahun lalu (akhir 2023) dan mulai merilis aplikasi. Kami juga berencana merilis aplikasi rekrutmen tester untuk developer untuk melewati closed test di Play Store, jadi silakan cek jika tertarik.

Tentang Informasi OSS yang Sering Terlewatkan

Apakah kalian menulis informasi OSS saat membuat aplikasi? Saat mengembangkan aplikasi, banyak developer memperhatikan penulisan kebijakan privasi, tetapi sering mengabaikan informasi tentang perangkat lunak open source (OSS). Namun, tergantung pada OSS yang digunakan, menampilkan informasi lisensinya bisa menjadi kewajiban hukum.

Khususnya, karena kebijakan privasi sering ditunjukkan dalam tinjauan Google Play, sebagian besar developer memperhatikan bagian ini. Di sisi lain, informasi lisensi OSS jarang ditunjukkan dalam tinjauan serupa, sehingga tidak sedikit developer yang tidak mematuhinya. Faktanya, ketika saya menggunakan aplikasi sebagai tester, saya sering menemukan aplikasi tanpa informasi OSS.

Kesulitan dalam Implementasi Tampilan OSS

Ketika mengimplementasikan dukungan OSS di aplikasi saya sendiri, saya membuat tampilan untuk menampilkan teks di dalam aplikasi dan menampilkan informasi OSS di sana bersama dengan kebijakan privasi. Saya menggunakan metode yang menempatkan file teks untuk setiap OSS di folder tertentu, memungkinkan informasi tersebut ditampilkan secara otomatis dalam tampilan. Implementasi aktualnya seperti ini: tempatkan teks di folder _assets/oss_, baca saja, lalu tampilkan di View yang sesuai untuk menyelesaikan implementasi.

        fun readLicenseTexts(): Map<String,String>{
            var map : MutableMap <String,String> = mutableMapOf()
            val fileList = assetManager.list("oss")
            if (fileList != null) {
                for (file in fileList) {
                    map.put(file.replace(".txt",""), readTextAssets("oss/$file"))
                }
            }
            return map
        }

Namun, seiring perkembangan pengembangan, pemeliharaan metode ini semakin sulit. Penambahan OSS cenderung ditunda, dan saat mengembangkan beberapa aplikasi sekaligus, ada kemungkinan lupa memperbarui informasi OSS.

Penyelamat Dukungan OSS

Saya ingin menyerahkan pekerjaan yang merepotkan kepada orang lain. Oleh karena itu, saya memutuskan untuk menggunakan library untuk menampilkannya. Sejauh ini tampaknya tidak ada masalah dan segalanya menjadi jauh lebih mudah. Jujurnya, saya berharap bisa menggunakannya lebih awal. Library yang saya coba adalah AboutLibraries.

Cara penggunaannya sangat mudah. Bagian implementasinya hampir hanya sebatas berikut:

        val fragment = LibsBuilder()
            .supportFragment()
        val transaction = activity.supportFragmentManager.beginTransaction()
        transaction.add(R.id.libsFragment, fragment)
        transaction.commit()

Karena selesai dalam sebuah Fragment, cukup sediakan tempat yang sesuai dan tampilkan untuk menyelesaikan dukungan OSS.

Desain yang Bagus Meski Mudah Diimplementasikan

Berikut tampilan layar saat ditampilkan secara aktual.

アプリ内に表示された OSS ライブラリ情報画面

Meski dibuat dengan cepat, tampilannya sangat bagus. Kontennya pun tidak bermasalah. Sangat bagus.

Sedikit Lebih Detail tentang Cara Penggunaan Aktual

Tentu saja, dalam praktiknya ada beberapa hal lagi yang harus dilakukan, jadi saya akan mencatatnya. Tapi tidak lebih dari mengimpor library. Modifikasi build.gradle dengan menambahkan spesifikasi aboutlibraries di plugins dan dependencies. Tentukan versi sesuai kebutuhan.

plugins {
    id ("com.mikepenz.aboutlibraries.plugin")
}

dependencies {
    implementation ("com.mikepenz:aboutlibraries:10.10.0")
}

Library Lainnya

Saya belum menggunakannya secara pribadi, tetapi tampaknya ada banyak library lain untuk menampilkan lisensi OSS. Berikut beberapa yang tampaknya cukup terkenal:

  1. OSS Licenses Plugin - Plugin Gradle yang disediakan oleh Google, yang secara otomatis mengumpulkan informasi lisensi library open source yang digunakan selama proses build aplikasi dan menghasilkan activity untuk menampilkannya.
  2. LicenseAdapter - Adapter sederhana untuk menampilkan informasi lisensi library open source dalam bentuk daftar.
  3. LicensesDialog - Library yang memudahkan pembuatan dialog untuk menampilkan informasi lisensi library open source di dalam aplikasi.

Semuanya tampaknya memiliki reputasi yang baik dan mudah digunakan. Gunakan yang sesuai dengan kebutuhan Anda dan lanjutkan pengembangan aplikasi dengan percaya diri.