2011-04-15 23 views
5

निष्पादन योग्य फ़ाइलों (exe, dll, ocx, आदि) पर हमेशा हस्ताक्षर करना एक अच्छा अभ्यास है। दूसरी तरफ, एक ओपन सोर्स प्रोजेक्ट के साथ यह अन्य सभी डेवलपर्स से परियोजना में योगदान को अनदेखा कर सकता है।क्या ओपन-सोर्स लाइब्रेरी को डिजिटली हस्ताक्षर किया जाना चाहिए

यह मेरे लिए काफी नैतिक दुविधा है और मैं उन लोगों से अधिक राय सुनना चाहता हूं जो समान स्थिति में हैं या जो लोग ओपन सोर्स प्रोजेक्ट में योगदान देते हैं।

मुझे यह नोट करना होगा कि यह प्रश्न एक ओपन-सोर्स प्रोजेक्ट के लिए है जो .NET 4 का उपयोग कर सी # में लिखा गया था, इसलिए जब उपयोगकर्ता निष्पादन योग्य क्लिक करता है, तो उसे चेतावनी दी जाएगी कि फ़ाइल एक से है अविश्वसनीय प्रकाशक अगर यह डिजिटल हस्ताक्षरित नहीं है।

वैसे, असेंबली के पास पहले से ही मजबूत नामकरण (हस्ताक्षर) है, लेकिन वे अभी तक डिजिटल हस्ताक्षरित नहीं हैं (यानी वेरिज़िन कोड हस्ताक्षर प्रमाणपत्र का उपयोग कर रहे हैं)।

+1

हू? जब आप उन्हें चलाते हैं तो .NET ऐप्स "अविश्वसनीय प्रकाशक" चेतावनी नहीं दिखाते हैं। मैं हर समय .NET ऐप्स बना और चलाता हूं, और आपने उनमें से किसी एक से चेतावनी प्राप्त नहीं की है। –

+2

हां उनके पास है, अगर आप इसे वेब से डाउनलोड करते हैं, न कि जिन्हें आप स्थानीय रूप से संकलित करते हैं। –

+2

@ जो व्हाइट: यदि आप किसी इंस्टॉलर के साथ या एमएसआई के रूप में कुछ वितरित कर रहे हैं, तो उसे कोड पर हस्ताक्षर करना होगा या आपको आईई * और * गंदा यूएसी चेतावनियों से चेतावनियां मिलेंगी। [यहां एक उदाहरण दिया गया है) (http://www.autoitscript.com/autoit3/docs/intro/autoit_on_vista.htm) जो आप देखते हैं - अंतिम स्क्रीन वह है जिसे आप एक हस्ताक्षरित निष्पादन योग्य से प्राप्त करते हैं। – josh3736

उत्तर

4

नेट एक भिन्न जानवर है क्योंकि कई विशेषताओं की आवश्यकता होती है (विशेष रूप से पुस्तकालयों) को फ़ाइल को मजबूत नाम कुंजी के साथ हस्ताक्षरित करने की आवश्यकता होती है, लेकिन अंतिम उत्पाद से कोई शिकायत नहीं होने पर स्वयं हस्ताक्षरित हो सकते हैं (यह प्रोग्राम प्रमाण पत्र का उपयोग नहीं करता है पुस्तकालयों को उस संदेश बॉक्स को पॉप अप करने के लिए आप अपने मूल प्रश्न में संदर्भित करते हैं)।

हालांकि सामान्य मामले में मुझे एक निजी कुंजी के साथ आधिकारिक डिस्ट्रो पर हस्ताक्षर करने वाले समूह के साथ कुछ भी गलत नहीं लगता है। यदि आप स्रोत के लिए कुछ करते हैं और तकनीकी रूप से पुन: संकलित करते हैं "एक अविश्वसनीय प्रकाशक से फ़ाइल है" क्योंकि मैं कैनोनिक पर भरोसा कर सकता हूं लेकिन मुझे विश्वास नहीं है। जब तक निष्पादन योग्य किसी विशिष्ट प्रकाशक से हस्ताक्षरित नहीं किया जा रहा है, तब तक इसे इस्तेमाल करने से रोकने से नहीं रोकता है (जीपीएल में टिवोइज़ेशन क्लॉज) मुझे आपके निष्पादन योग्यों पर हस्ताक्षर नहीं करने का कोई कारण नहीं दिखता है।

+0

समस्या यह है कि समूह प्रमाण पत्र प्राप्त करना संभव नहीं है (इसे शामिल करने की आवश्यकता है) ताकि हस्ताक्षर व्यक्तिगत हो। –

+0

@Teoman Soygul कोई प्रोजेक्ट मैनेजर है, किसी को फाइनल कहता है कि संकलित रूप में वेबसाइट पर क्या पोस्ट किया गया है और क्या नहीं है। यही वह है जो आवेदन पर हस्ताक्षर करना चाहिए (यदि आप ऑटोेंटिकोड कर रहे हैं)। यदि आप केवल पीजीपी हस्ताक्षर प्राप्त कर रहे हैं तो समूह की अपनी निजी कुंजी हो सकती है, लेकिन संभवतः आप अभी भी एक व्यक्ति का प्रबंधन कर रहे हैं। –

+0

याप को निष्पादन योग्य और प्रबंधक द्वारा हस्ताक्षरित इंस्टॉलर पैकेज प्राप्त करने का तरीका लगता है क्योंकि हम कॉर्पोरेट प्रमाण पत्र प्राप्त नहीं कर सकते हैं, लेकिन फिर भी .. दिल टूट जाएंगे .. –

2

यह कहकर कि यह "काफी नैतिक दुविधा" है, शायद इसे अनुपात से बाहर कर रहा है। आप निश्चित रूप से अपने निष्पादन योग्य code sign करना चाहते हैं, और मुझे वास्तव में साइन इन करने में समस्या दिखाई नहीं दे रही है। उदाहरण के लिए, "स्टीफन कुएंग, ओपन सोर्स डेवलपर" द्वारा टोर्टोइज एसवीएन पर हस्ताक्षर किए गए हैं।

यह कहा गया है कि, संभवतः आपके प्रोजेक्ट की किसी भी प्रकार की कानूनी इकाई बनाने का एक अच्छा विचार है, और उसके बाद कोड प्रसंस्करण प्रमाणपत्र अपने प्रोजेक्ट की इकाई के नाम पर प्राप्त करें। इस तरह, आप व्यक्तिगत रूप से निष्पादन योग्य (और इस प्रकार "सभी क्रेडिट लेना") पर हस्ताक्षर करने के बजाय, आपके प्रोजेक्ट का नाम प्रकाशक के रूप में दिखाई देता है।

यदि आप अमेरिका में थे, तो मैं या तो LLC या संभवतः 501(c)(3) organization बनाने का सुझाव दूंगा, जो आयकर से मुक्त है और व्यक्तियों को परियोजना में कर-कटौती योग्य दान करने की अनुमति देता है। (Many ओपन सोर्स प्रोजेक्ट्स 501 (सी) (3) इकाइयों के रूप में व्यवस्थित हैं, जिनमें WordPress और jQuery शामिल हैं।) मुझे लगता है कि आप तुर्की में हैं, इसलिए आपको किसी प्रकार की कानूनी इकाई बनाने के लिए अपनी स्थानीय आवश्यकताओं का शोध करना होगा; एक बार गठित होने के बाद, आप अपने प्रोजेक्ट की इकाई के नाम पर सीए से प्रमाण पत्र प्राप्त कर पाएंगे।

+0

josh3736, आपने मुझे हराया: वी आप हैं निष्पादन योग्य पर हस्ताक्षर करके क्रेडिट नहीं लेना, केवल यह प्रमाणित करना कि यह "सत्य" है। लेकिन यह केवल तभी किया जा सकता है जहां परियोजना के पीछे कुछ प्रकार की इकाई (जैसे नींव, निर्देश बोर्ड, आदि) हो, न केवल डेवलपर्स का एक समूह। – Albireo

+2

@Albiero: डेवलपर्स के समूह के रूप में भी, यह अभी भी आपकी परियोजना का प्रतिनिधित्व करने के लिए एक इकाई बनाने के लिए बहुत आसान है (कम से कम जंगल की मेरी गर्दन में; और यदि आपको टैक्स-छूट होने से निपटने की आवश्यकता नहीं है)। ओहियो में, आपको उस इकाई के नाम के साथ 125 डॉलर से अधिक और एक [फॉर्म] (http://www.sos.state.oh.us/SOS/Upload/business/forms/533a.pdf) की आवश्यकता नहीं है बनाने और आपका नाम और डाक पता। आपको औपचारिक चार्टर या निगमन के लेख या उसके जैसी कुछ भी आवश्यकता नहीं है। – josh3736