Code प्रोजेक्ट के बारे में जानकारी

इस पेज पर, तकनीकी लेखन वाले उस प्रोजेक्ट की जानकारी दी गई है जिसे Google Season of Docs के लिए स्वीकार किया गया है.

प्रोजेक्ट की खास जानकारी

ओपन सोर्स संगठन:
AboutCode
टेक्निकल राइटर:
ayansinha
प्रोजेक्ट का नाम:
scancode-toolkit में कमांड-लाइन के विकल्पों के लिए रेफ़रंस और aboutcode.readthedocs.io पर AboutCode दस्तावेज़ के स्ट्रक्चर को फिर से व्यवस्थित करना
प्रोजेक्ट की अवधि:
स्टैंडर्ड अवधि (तीन महीने)

प्रोजेक्ट का विवरण

[ 1. Scancode-Toolkit Command Line Options ]

Scancode-Toolkit में कमांड-लाइन के कई विकल्प होते हैं. इनकी मदद से, स्कैन करने के तरीके, आउटपुट फ़ॉर्मैट, और स्कैन के बाद काम करने वाले प्लग इन जैसे कई अन्य विकल्पों को पसंद के मुताबिक बनाया जा सकता है. फ़िलहाल, इन विकल्पों के बारे में पूरी जानकारी देने के लिए सही दस्तावेज़ नहीं हैं. इन्हें सिर्फ़ “--help” या “-h” फ़्लैग के ज़रिए इस्तेमाल किया जा सकता है. इस प्रोजेक्ट का मकसद, पूरा दस्तावेज़ बनाना है, जिसमें ये बातें बताई गई हों:

[ 1. कमांड-लाइन के ज़रिए उपलब्ध सभी विकल्प ]

  • लक्ष्य: कमांड लाइन के ज़रिए दिखाए जा सकने वाले सभी विकल्पों की पूरी सूची.
  • बुनियादी जानकारी: सबसे पहले, स्कैन करने के डिफ़ॉल्ट विकल्पों के बारे में बताया गया है. साथ ही, आउटपुट का एक उदाहरण भी दिया गया है. स्कैन करने के तरीके के बारे में कम शब्दों में जानकारी देने वाला ग्राफ़िक/ब्यौरा.
    इसके बाद, यह डिफ़ॉल्ट तरीका इस बात का रेफ़रंस होता है कि दूसरे विकल्प, स्कैन और आउटपुट को कैसे बदलते हैं.
    इनके बारे में ज़्यादा जानकारी दी जानी चाहिए. साथ ही, इनमें अगले सेक्शन में बताई गई जानकारी शामिल होनी चाहिए.

[ 2. वर्शनिंग स्ट्रक्चर शुरू करना ]

  • लक्ष्य: अलग-अलग रिलीज़ के विकल्पों/एपीआई और दस्तावेज़ में किए गए बदलावों को सही तरीके से मैनेज करने के लिए, वर्शनिंग सिस्टम शुरू करना.
  • समस्या: फ़िलहाल, विकी और ReadTheDocs के पेजों पर मौजूद दस्तावेज़, पुरानी रिलीज़ के लिए हैं. इनमें काफ़ी बदलाव करने की ज़रूरत है.
  • बुनियादी जानकारी: स्कैनकोड-टूलकिट के वे हिस्से जिन्हें अपडेट किया गया है/जिन्हें इस वर्शन में अपडेट किया जा सकता है
  • कमांड-लाइन के विकल्प
  • API
  • दस्तावेज़ (शुरू किया जाना है) कमांड-लाइन के विकल्पों और एपीआई को वर्शन और रिलीज़ में बदल दिया जाता है. साथ ही, दस्तावेज़ में भी इन बदलावों को शामिल करना ज़रूरी है. ऐसा न करने पर, उपयोगकर्ताओं को बहुत भ्रम हो सकता है. कमांड-लाइन की सुविधा [ --help ] पहले से ही विकल्पों में हुए किसी भी बदलाव के लिए अपडेट की गई है. इसका इस्तेमाल, दस्तावेज़ में वर्शनिंग को दोहराने के लिए किया जा सकता है.

[ 3. अलग-अलग मामलों में इन विकल्पों का इस्तेमाल कैसे किया जा सकता है ]

  • लक्ष्य: यह सेक्शन इस बारे में खास जानकारी देगा कि स्कैनकोड- टूलकिट के स्कैन नतीजों का अलग-अलग वजहों में कैसे इस्तेमाल किया जा सकता है. साथ ही, इस तरह की सुविधा देने वाले स्कैनकोड-टूलकिट विकल्पों का भी इस्तेमाल किया जा सकता है.
  • बुनियादी खास जानकारी: इस सेक्शन में, इस्तेमाल के उदाहरणों के अलग-अलग मामले दिए गए हैं. साथ ही, उन मामलों में कौनसे विकल्प इस्तेमाल करने का सुझाव दिया गया है.
  • ध्यान दें: इस चरण में, Scancode-Toolkit के इस्तेमाल के अलग-अलग उदाहरणों के बारे में इनपुट और पॉइंटर पाने के लिए, मेंटर की ज़रूरत होती है.

[ 4. स्कैन और आउटपुट में ये विकल्प क्या-क्या बदलते हैं ]

  • मकसद: इस सेक्शन में, इस बारे में बुनियादी जानकारी दी जाएगी कि scancode-toolkit के स्कैन के नतीजों का इस्तेमाल अलग-अलग कामों के लिए कैसे किया जा सकता है. साथ ही, इस बारे में भी जानकारी दी जाएगी कि Aboutcode टूल, यह सुविधा कैसे देते हैं.
  • बुनियादी खास जानकारी: ये विकल्प, स्कैन करने के तरीके को बदलते हैं. शुरुआती सेक्शन में, बेसिक डिफ़ॉल्ट केस बताया जाएगा [ 1. कमांड लाइन ] के ज़रिए उपलब्ध सभी विकल्प और यह सेक्शन उन बदलावों की तुलना करेगा जो सभी विकल्प इस डिफ़ॉल्ट स्थिति में लाते हैं.

[ 5. आउटपुट फ़ॉर्मैट और उनके उदाहरण ]

  • मकसद: इस सेक्शन में, इस बारे में बुनियादी जानकारी दी जाएगी कि scancode-toolkit के स्कैन के नतीजों का इस्तेमाल अलग-अलग कामों के लिए कैसे किया जा सकता है. साथ ही, इस बारे में भी जानकारी दी जाएगी कि Aboutcode टूल, यह सुविधा कैसे देते हैं.
  • बुनियादी जानकारी: Scancode-Tool में ऐसे फ़्लैग होते हैं जिनसे अलग-अलग आउटपुट फ़ॉर्मैट तय किए जा सकते हैं. इनमें स्कैन के नतीजे जनरेट किए जाएंगे. ये हैं -
    यह हिस्सा
  • आउटपुट फ़ॉर्मैट के बारे में पूरी जानकारी दें
  • आउटपुट फ़ॉर्मैट के उदाहरण दें
  • आउटपुट फ़ॉर्मैट और उसके इस्तेमाल से जुड़े अन्य लिंक दें
  • स्कैन के नतीजों को आउटपुट फ़ाइलों में कैसे सेव किया जाता है. यह इन अलग-अलग फ़ॉर्मैट के जनरेट होने के तरीके से भी जुड़ा है. इस बारे में [ 2 में बताया गया है. कोड स्कैनिंग के बारे में बताने वाली चर्चाएं ].

[ 6. स्कैनकोड के आउटपुट फ़ॉर्मैट का कारोबारी इस्तेमाल ]

  • लक्ष्य: स्कैनकोड आउटपुट फ़ॉर्मैट के कारोबार में इस्तेमाल के उदाहरणों के बारे में बताएं GSoD के आइडिया की सूची में, स्कैनकोड आउटपुट फ़ॉर्मैट को रेफ़रंस आइडिया के तौर पर बताया गया है. इस सेक्शन में भी यही लागू होता है.
  • ध्यान दें: इस चरण में, Scancode-Toolkit के कारोबार के अलग-अलग इस्तेमाल के उदाहरणों के बारे में इनपुट और पॉइंटर पाने के लिए, मेंटर की ज़रूरत होती है.

[ 7. ज़्यादा विश्लेषण के लिए, AboutCode के दूसरे प्रोजेक्ट इन आउटपुट का इस्तेमाल कैसे करते हैं ]

  • मकसद: इस सेक्शन में, इस बारे में बुनियादी जानकारी दी जाएगी कि scancode-toolkit के स्कैन के नतीजों का इस्तेमाल अलग-अलग कामों के लिए कैसे किया जा सकता है. साथ ही, Aboutcode टूल के बारे में भी बताया जाएगा, जो इस तरह की सुविधाएं देते हैं.
  • खास जानकारी:
  • Scancode-Workbench इस सेक्शन में, डेस्कटॉप ऐप्लिकेशन की मदद से नतीजों को विज़ुअलाइज़ करने के बारे में बताया गया है. साथ ही, Scancode-Workbench के दस्तावेज़ के पॉइंटर भी दिए गए हैं, ताकि इस बारे में ज़्यादा मदद मिल सके. अगर ज़रूरी हो, तो scancode-workbench में ज़रूरी दस्तावेज़ जोड़ देगा.
  • Deltacode Deltacode, दो कोडबेस के बीच फ़ाइल लेवल के अंतर का पता लगाने के लिए, स्कैनकोड के नतीजों को कैसे लेता है.

[ 2. AboutCode दस्तावेज़ के स्ट्रक्चर को फिर से व्यवस्थित करना ]

इस हिस्से में, 'इसके बारे में जानकारी' वाले दस्तावेज़ में कई बदलाव शामिल हैं

[ 1. वर्शनिंग सिस्टम ]

[ 1. Scancode-Toolkit कमांड-लाइन के विकल्प -> 2. वर्शनिंग स्ट्रक्चर की शुरुआत करें] कमांड लाइन के विकल्पों के वर्शनिंग में आने वाली समस्या के बारे में बताया गया है. दस्तावेज़ के उन अन्य हिस्सों के लिए भी ऐसा करना ज़रूरी है जिनमें वर्शन के हिसाब से निर्देश/जानकारी शामिल होती है. ऐसा न करने पर, भ्रम की स्थिति पैदा हो सकती है.

[ 2. दस्तावेज़ से जुड़े मानक और टेस्ट सेट करना ]

दस्तावेज़ में पहले से ही, Travis-CI के ज़रिए लगातार इंटिग्रेशन के साथ spinx-build (सभी पेजों को बनाता है और पूरे Sphinx सिंटैक्स की गड़बड़ियों की जांच करता है) और लिंक की जांच (दस्तावेज़ से दूसरे वेबपेजों के सभी लिंक की जांच करता है) के लिए टेस्ट मौजूद हैं. (मैंने इस Pull Request #17 में जोड़ा है ) अब इसे reStructured Text और अन्य स्टैंडर्ड में, खास तरह के लिंटिंग के लिए ज़्यादा जांच की ज़रूरत है. इसे restructuredtext-lint की मदद से किया जा सकता है, लेकिन इसके लिए ज़्यादा रिसर्च की ज़रूरत है. इसे मेरे GSoD प्रोजेक्ट के तहत किया जाएगा.

[ 3. “शुरू करने के लिए” सेक्शन जोड़ना ]

यह नए लोगों के लिए शुरुआती सेक्शन के तौर पर काम करेगा. इसमें, Aboutcode प्रोजेक्ट शुरू करने के लिए सबसे बुनियादी और ज़रूरी दस्तावेज़ों का कलेक्शन शामिल होगा. Aboutcode के हर प्रोजेक्ट में यह सेक्शन होगा. इसमें Scancode-टूलकिट, Scancode-वर्कबेंच, Deltacode वगैरह शामिल हैं.

[ 4. दस्तावेज़ के चार फ़ंक्शन के हिसाब से स्ट्रक्चर में बदलाव करना ]

मौजूदा दस्तावेज़ों को साफ़ तौर पर इन चार फ़ंक्शन में नहीं बनाया गया है - ट्यूटोरियल, कैसे करें, रेफ़रंस, और एक्सप्लेनेशंस. मेरा सुझाव है कि इनका क्रम बदला जाए और ज़रूरत के हिसाब से ज़्यादा जानकारी/एक्सप्लेनेशंस/पॉइंटर जोड़े जाएं. यह शर्त, AboutCode के सभी प्रोजेक्ट और उनके दस्तावेज़ों पर लागू होती है. यहां Scancode-Toolkit के दस्तावेज़ों को फिर से व्यवस्थित करने के दो उदाहरण दिए गए हैं. मुझे लगता है कि इस प्रोजेक्ट में इनका इस्तेमाल किया जाना चाहिए. बाकी दस्तावेज़ों में भी इसी तरह के बदलाव किए जाएंगे.

[ 5. डेवलपमेंट पेज का स्ट्रक्चर बदलना (Scancode-Toolkit) ]

कोड/एपीआई के बारे में ज़्यादा जानकारी जोड़ी जा सकती है, ताकि इसे डेवलपर के लिए ज़्यादा आसान बनाया जा सके. [ 2 के लिंक हो सकते हैं. ऊपर दिए गए कोड स्कैनिंग ] सेक्शन के बारे में बताने वाली चर्चाएं. इससे, स्कैन के काम करने के तरीके की जानकारी को उस कोड से जोड़ा जाता है जिसका इस्तेमाल स्कैन करने के लिए किया जाता है. जैसे इन फ़ोल्डर में स्कैनकोड-टूलकिट के अलग-अलग हिस्से होते हैं, वैसे ही स्कैनकोड के काम करने के तरीके पर चर्चा के साथ, इन फ़ोल्डर के अलग-अलग इस्तेमाल के बारे में एपीआई की मदद से विस्तार से बताया जा सकता है.

  • [ क्लूकोड : लाइसेंस, कॉपीराइट, यूआरएल, ईमेल स्कैन करने के लिए प्लगिन ]
  • [ commoncode : हेल्पर क्लास और फ़ंक्शन]
  • [ extractcode : extracts different archive formats ]
  • [ formattedcode : output formatting for different output file formats ]
  • [ licensedcode : licence detection code ]
  • [ packagedcode : parsing various package formats ]
  • [ plugincode : classes for the plugins architecture ]
  • [ summarycode : summarizes scan on detected licenses ]
  • [ textcode : handles text parsing ]
  • [ typecode : handles file type determinations ]
  • [ स्कैनकोड : सीएलआई और स्कैन कोड के लिए एपीआई, मुख्य हिस्सा ]

इस सबसेक्शन में, स्कैनकोड-टूलकिट के इन हिस्सों के बारे में पूरी जानकारी/एपीआई होंगे. डेवलपमेंट से जुड़े दिशा-निर्देश, किसी दूसरे पेज या सेक्शन में मौजूद होंगे. इसमें छोटे सेक्शन भी होंगे.

[ 6. अक्सर पूछे जाने वाले सवालों के पेज का स्ट्रक्चर बदलना (Scancode-Toolkit) ]

फ़िलहाल, अक्सर पूछे जाने वाले सवालों के पेज पर ऐसे सवाल हैं जिनके जवाब बेहतर तरीके से दिए जा सकते हैं. साथ ही, उन्हें 'कैसे करें', ट्यूटोरियल, और रेफ़रंस दस्तावेज़ों के तौर पर अलग-अलग स्ट्रक्चर में बांटा जाना चाहिए.

  • स्कैनर कैसे काम करता है? इस समस्या के बारे में [ 2 में बताया गया है. कोड स्कैनिंग के बारे में जानकारी देने वाली चर्चाएं ] और यह पूरी तरह से अलग सेक्शन होगा, जिसमें ज़्यादा जानकारी दी जाएगी.
  • बेहतर तरीके से कॉन्टेंट की पहचान करने के लिए, लाइसेंस के नए नियम कैसे जोड़ें? इस समस्या के बारे में, 'कैसे करें' सेक्शन को बेहतर बनाने के बारे में पहले ही चर्चा की जा चुकी है. दस्तावेज़ को वहां ले जाया जाएगा.
  • लाइसेंस का पता लगाने का नया नियम कैसे जोड़ें? इस बारे में, “ऐसा कैसे करें” सेक्शन में अलग से पोस्ट बनाई जा सकती है और इस पर ज़्यादा जानकारी दी जा सकती है.
  • डेवलपमेंट का इस्तेमाल कैसे शुरू करें? डेवलपमेंट के लिए पहले से ही एक अलग पेज मौजूद है और उसमें बहुत ज़्यादा जानकारी ओवरलैप होती है. डेवलपमेंट पेज को फिर से व्यवस्थित करने के बारे में ऊपर बताया गया है.
  • नई रिलीज़ को काटने का तरीका इस लेख को “नई रिलीज़ को काटने का तरीका” के तौर पर अलग से बनाया जा सकता है.
  • अक्सर पूछे जाने वाले सवाल से जुड़े और सवाल देखें. इनमें प्रोजेक्ट के बारे में सामान्य सवालों के जवाब दिए जाते हैं. ये सवाल “कैसे करें”/”ट्यूटोरियल” कैटगरी में नहीं आते.