CONTRIBUTE

जो पैच हम स्वीकार करते हैं। जो पैच हम अस्वीकार करते हैं।

खुली योगदानकर्ता प्रक्रिया — अनुशासन के बारे में थोड़ी स्पष्ट राय वाली, कभी इस बारे में नहीं कि आप कौन हैं।

01

काम करने के लिए कुछ चुनें

रिपॉज़िटरी first-touch इश्यू को इस रूप में लेबल करती है good-first-issue। मेंटेनर इन्हें triage करते हैं ताकि पुष्टि हो सके कि स्कोप उचित है और चरण स्पष्ट हैं। अगर आप एक पूरा करते हैं, तो उसे लेबल किया हुआ छोड़ दें — यह अगले व्यक्ति की मदद करता है।

बड़े काम के लिए, पहले एक चर्चा खोलें। हम कहेंगे हाँ, नहीं, या अभी नहीं, इसका कारण यह है। नहीं कहना आपके समय का सम्मान करने का हिस्सा है।

02

अपने commit पर हस्ताक्षर करें

shell# in your local clone
git config user.signingkey YOUR_KEY_FINGERPRINT
git config commit.gpgsign true
git config tag.gpgsign true

हम GPG-signed commit की मांग करते हैं। यह गेटकीपिंग के बारे में नहीं है — यह प्रोजेक्ट की सप्लाई चेन को ईमानदार रखने के बारे में है। अगर आपके पास अभी तक कोई key नहीं है, तो रिपॉज़िटरी विकी आपको एक बनाने की प्रक्रिया में ले जाती है।

Sign-off लाइन
हर commit संदेश एक Developer Certificate of Origin sign-off (Signed-off-by: Name <email>) के साथ समाप्त होना चाहिए। उपयोग करें git commit -s इसे स्वतः जोड़ने के लिए।
03

एक conventional commit संदेश लिखें

commit messagefeat(lsia): emit telemetry on safe-mode entry

Adds a single counter when the immune-system engine enters safe mode.
The counter is hashed-pattern only and respects the privacy gate.

Refs: #842
Signed-off-by: A. Researcher <a@example.org>

हम पहली लाइन के लिए Conventional Commits स्पेक का पालन करते हैं। बॉडी समझाती है क्यों। फ़ुटर इश्यू या संबंधित बदलावों का संदर्भ देता है।

04

पुल रिक्वेस्ट खोलें

पुल रिक्वेस्ट तीन स्वचालित गेट और एक मानवीय समीक्षा से गुज़रती हैं:

  • reproducible-build जाँच सत्यापित करती है कि आपका पैच determinism को नहीं तोड़ता।
  • प्राइवेसी गेट सत्यापित करता है कि कोई रॉ डेटा पथ नहीं जोड़ा गया।
  • यूनिट और इंटीग्रेशन टेस्ट सूट का उत्तीर्ण होना ज़रूरी है।
  • मर्ज से पहले दो समीक्षक अनुमोदन देते हैं। सुरक्षा-संवेदनशील क्षेत्रों में एक सुरक्षा समीक्षक की आवश्यकता होती है।
अगर प्राइवेसी गेट विफल होता है
रुकें। diff को ध्यान से फिर से पढ़ें — टेस्ट तब विफल होता है जब कोई कोड पथ रॉ पहचानकर्ताओं (IP, email, IMEI, GPS) को लीक कर सकता है। समाधान लगभग कभी भी टेस्ट को अक्षम करना नहीं है।
05

मान्यता

हर स्वीकृत योगदान अगली रिलीज़ नोट्स में दिखाई देता है — श्रेय के साथ, जब तक आप गुमनामी न माँगें। AUTHORS फ़ाइल पहली बार जब आप कोई बदलाव मर्ज करते हैं तब स्वतः अपडेट होती है।

बड़े काम के लिए — एक प्रमुख फ़ीचर, एक ऑडिट, एक अनुवाद — चेंजलॉग एंट्री आपको नाम से उल्लेख करती है। गुमनाम श्रेय एक सामान्य अनुरोध है, कोई विशेष नहीं।

06

आचार संहिता

हम Contributor Covenant 2.1 का पालन करते हैं। व्यक्तिगत हमले, धमकियाँ, doxxing, और उत्पीड़न तत्काल-निष्कासन उल्लंघन हैं, बिना किसी शिकायत-श्रृंखला के। पूरा पाठ रिपॉज़िटरी CODE_OF_CONDUCT.md में है।