नमस्ते। मैं zm soft हूँ, जिसने पिछले साल (2023 के अंत में) डेवलपर के रूप में पंजीकरण किया और ऐप रिलीज़ करना शुरू किया। हम Play Store के क्लोज्ड टेस्ट को पास करने के लिए डेवलपर्स के लिए टेस्टर भर्ती ऐप लॉन्च करने की योजना भी बना रहे हैं, इसलिए चाहें तो ज़रूर देखें।
अक्सर नज़रअंदाज़ की जाने वाली OSS जानकारी के बारे में
क्या आप ऐप बनाते समय OSS जानकारी लिखते हैं? ऐप विकसित करते समय, कई डेवलपर्स प्राइवेसी पॉलिसी लिखने पर ध्यान देते हैं, लेकिन ओपन सोर्स सॉफ्टवेयर (OSS) की जानकारी अक्सर नज़रअंदाज़ कर देते हैं। हालांकि, उपयोग किए गए OSS के आधार पर, इसकी लाइसेंस जानकारी प्रदर्शित करना कानूनी रूप से आवश्यक हो सकता है।
विशेष रूप से, चूँकि Google Play की समीक्षाओं में प्राइवेसी पॉलिसी के बारे में अक्सर बताया जाता है, इसलिए अधिकांश डेवलपर्स इस पहलू पर ध्यान देते हैं। दूसरी ओर, OSS लाइसेंस जानकारी के बारे में इसी तरह की समीक्षाओं में शायद ही कभी बताया जाता है, इसलिए काफी डेवलपर्स इसका पालन नहीं करते। वास्तव में, जब मैंने टेस्टर के रूप में ऐप का उपयोग किया, तो मैंने कई ऐप में OSS जानकारी नहीं देखी।
OSS प्रदर्शन को लागू करने की कठिनाई
जब मैंने अपने ऐप में OSS समर्थन लागू किया, तो मैंने ऐप के अंदर टेक्स्ट प्रदर्शित करने के लिए एक व्यू बनाया और उसमें प्राइवेसी पॉलिसी के साथ OSS जानकारी प्रदर्शित की। मैंने एक ऐसा तरीका अपनाया जिसमें प्रत्येक OSS के लिए टेक्स्ट फ़ाइलें एक विशिष्ट फ़ोल्डर में रखी जाती थीं, जिससे वे व्यू में स्वचालित रूप से दिखाई देती थीं। वास्तविक कार्यान्वयन कुछ ऐसा था: _assets/oss_ फ़ोल्डर में टेक्स्ट रखें, उन्हें पढ़ें, और फिर किसी उपयुक्त View में प्रदर्शित करें।
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
}
हालांकि, जैसे-जैसे विकास आगे बढ़ा, इस तरीके का रखरखाव मुश्किल होता गया। OSS जोड़ना टालते रहने की प्रवृत्ति बन गई, और कई ऐप विकसित करते समय OSS जानकारी अपडेट करना भूल जाना भी संभव था।
OSS समर्थन का उद्धारकर्ता
मैं चाहता हूँ कि कोई और थकाऊ काम संभाले। इसलिए मैंने इसे प्रदर्शित करने के लिए एक लाइब्रेरी का उपयोग करने का फैसला किया। अब तक कोई समस्या नहीं लगती और चीजें बहुत आसान हो गई हैं। सच कहूँ तो, काश मैं इसे पहले इस्तेमाल कर लेता। जो लाइब्रेरी मैंने आज़माई वह है AboutLibraries।
उपयोग बहुत सरल है। कार्यान्वयन भाग लगभग निम्नलिखित तक ही सीमित है:
val fragment = LibsBuilder()
.supportFragment()
val transaction = activity.supportFragmentManager.beginTransaction()
transaction.add(R.id.libsFragment, fragment)
transaction.commit()
चूँकि यह Fragment में पूरा हो जाता है, बस एक उपयुक्त जगह ढूंढें और इसे प्रदर्शित करें, और OSS समर्थन लगभग पूरा हो जाता है।
आसान कार्यान्वयन के बावजूद आकर्षक डिज़ाइन
वास्तव में प्रदर्शित होने पर स्क्रीन कुछ ऐसी दिखती है।

इतनी जल्दी बनाए जाने के बावजूद यह काफी अच्छा दिखता है। सामग्री में भी कोई समस्या नहीं थी। बहुत अच्छा है।
वास्तविक उपयोग के बारे में थोड़ा और विस्तार से
बेशक, व्यवहार में कुछ और करने की ज़रूरत होती है, इसलिए मैं उसका उल्लेख करता हूँ। लेकिन यह लाइब्रेरी को शामिल करने से ज़्यादा कुछ नहीं है। build.gradle में plugins और dependencies में aboutlibraries की specifications जोड़कर संशोधन करें। version को उचित रूप से निर्दिष्ट करें।
plugins {
id ("com.mikepenz.aboutlibraries.plugin")
}
dependencies {
implementation ("com.mikepenz:aboutlibraries:10.10.0")
}
अन्य लाइब्रेरीज़
मैंने इन्हें व्यक्तिगत रूप से उपयोग नहीं किया है, लेकिन ऐसा लगता है कि OSS लाइसेंस प्रदर्शन के लिए कई अन्य लाइब्रेरीज़ भी हैं। यहाँ कुछ प्रसिद्ध लाइब्रेरीज़ का उल्लेख है:
- OSS Licenses Plugin - Google द्वारा प्रदान किया गया Gradle प्लगइन, जो ऐप बिल्ड प्रक्रिया के दौरान उपयोग की जा रही ओपन सोर्स लाइब्रेरीज़ की लाइसेंस जानकारी स्वचालित रूप से एकत्र करता है और उन्हें प्रदर्शित करने के लिए एक एक्टिविटी बनाता है।
- LicenseAdapter - ओपन सोर्स लाइब्रेरीज़ की लाइसेंस जानकारी को सूची में प्रदर्शित करने के लिए एक सरल Adapter।
- LicensesDialog - ऐप के अंदर ओपन सोर्स लाइब्रेरी लाइसेंस जानकारी प्रदर्शित करने के लिए आसानी से डायलॉग बनाने की सुविधा देने वाली लाइब्रेरी।
सभी की प्रतिष्ठा अच्छी लगती है और उपयोग भी आसान है। अपनी ज़रूरत के अनुसार उपयुक्त लाइब्रेरी का उपयोग करें और आत्मविश्वास के साथ ऐप विकास आगे बढ़ाएं।