2008-09-19 12 views
13

मैंने फोटोग्राफरों के लिए उपयोगिता लिखी है कि मैं ऑनलाइन बहुत सस्ते ($ 10) बेचने की योजना बना रहा हूं। मैं लाइसेंस मांगने से पहले उपयोगकर्ता को एक सप्ताह या उससे भी ज्यादा समय तक सॉफ़्टवेयर का प्रयास करने की अनुमति देना चाहता हूं। चूंकि यह एक निजी परियोजना है और सॉफ्टवेयर बहुत महंगा नहीं है, मुझे नहीं लगता कि पेशेवर लाइसेंसिंग प्रदाताओं की सेवाओं को खरीदना इसके लायक होगा और मैं अपना खुद का रोलिंग कर रहा हूं।ट्रायलवेयर/लाइसेंसिंग रणनीतियों

वर्तमान में, एप्लिकेशन एक रजिस्ट्री कुंजी के लिए जांच करता है जिसमें एक एन्क्रिप्टेड स्ट्रिंग होती है जो या तो निर्दिष्ट करती है कि परीक्षण कब समाप्त हो जाता है या उनके पास वैध लाइसेंस है। यदि कुंजी मौजूद नहीं है, तो परीक्षण अवधि कुंजी बनाई जाती है।

तो आपको रजिस्ट्री कुंजी को मुक्त करने के लिए एक और सप्ताह मुफ्त में करने की आवश्यकता होगी। मुझे नहीं लगता कि कई उपयोगकर्ता ऐसा करेंगे, खासकर जब ऐप केवल $ 10 है, लेकिन अगर मैं वैध उपयोगकर्ता के लिए कठिन नहीं हूं तो ऐसा करने का एक बेहतर तरीका है। मैं सामान्य रूप से वेब ऐप्स लिखता हूं और इससे पहले इस सामान से निपट नहीं पाया है।

ऐप .NET 2.0 में है, यदि यह मायने रखता है।

उत्तर

15

संपादित करें: आप स्थानीय सुरक्षा प्राधिकरण (एलएसए) में रजिस्ट्री जानकारी संग्रहीत करके अपनी वर्तमान लाइसेंसिंग योजना को और अधिक कठिन बना सकते हैं। अधिकतर उपयोगकर्ता वहां से आपकी मुख्य जानकारी को हटाने में सक्षम नहीं होंगे। एमएसडीएन पर एलएसए की तलाश आपको आपको आवश्यक जानकारी देनी चाहिए।

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

यह इस विषय पर मेरी व्यक्तिगत राय है। ऐसे मुखर व्यक्ति होंगे जो असहमत हैं।

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

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

यदि आप एप्लिकेशन के उपयोग के बारे में बहुत अनिश्चित हैं, तो आपको बहुत ही कम परीक्षण अवधि चुननी चाहिए। यदि आप इस मामले में परीक्षण अवधि में हैं, तो आप मेरे अनुभव में, बेहतर परिणाम प्राप्त करेंगे यदि आवेदन इस तथ्य के बारे में चुप है।

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

बहुत छोटे, या यहां तक ​​कि सरल, उपयोगिता अनुप्रयोगों के लिए, मैं तर्क देता हूं कि परीक्षण अवधि के बिना अग्रिम भुगतान सबसे प्रभावी है।

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

1

इस तरह की परिस्थितियों में, मुझे सच में नहीं लगता कि यह आपके लिए महत्वपूर्ण है। अगर आपके पास कुछ प्रकार की सुरक्षा है तो यह आपके 90% उपयोगकर्ताओं को रोक देगा। अन्य 10% - यदि वे आपके सॉफ़्टवेयर के लिए भुगतान नहीं करना चाहते हैं तो वे सुरक्षा के आसपास एक रास्ता खोज लेंगे चाहे आप क्या करें।

यदि आप कुछ कम स्पष्ट चाहते हैं तो आप System32 में एक फ़ाइल डाल सकते हैं जो सिस्टम फ़ाइल की तरह लगता है कि एप्लिकेशन लॉन्च के अस्तित्व की जांच करता है। यह ट्रैक करने के लिए थोड़ा मुश्किल हो सकता है।

+1

याद रखें कि गैर-व्यवस्थापक उपयोगकर्ताओं को इसे इंस्टॉल करने से रोक देगा। – finnw

+1

यह हैकर्स क्या करता है .... – anon2009

11

जटिल सुरक्षा योजनाओं को करने के लिए बहुत कुछ नहीं है। असल में दो चीजों में से एक होगा:

  1. आपका ऐप पर्याप्त लोकप्रिय नहीं है, और कोई भी इसे क्रैक नहीं करता है।

  2. आपका ऐप लोकप्रिय हो जाता है, कोई इसे क्रैक करता है और इसे रिलीज़ करता है, तो शून्य ज्ञान वाला कोई भी व्यक्ति उस धोखे को डाउनलोड कर सकता है अगर वे आपको धोखा देना चाहते हैं।

# 1 के मामले में, इस योजना में बहुत प्रयास करने लायक नहीं है, क्योंकि आप एक या दो अतिरिक्त लोगों को अपना ऐप खरीद सकते हैं। # 2 के मामले में, यह बहुत प्रयास करने लायक नहीं है क्योंकि कोई भी इसे क्रैक करेगा, और प्रयास बर्बाद हो जाएगा।

असल में मेरा सुझाव कुछ सरल है, जैसा कि आप पहले से ही हैं, और यह उतना ही प्रभावी है। जो लोग आपसे धोखा देना/चुरा नहीं चाहते हैं, वे भुगतान करेंगे, जो लोग आपको धोखा देना चाहते हैं, वे इस पर ध्यान दिए बिना करेंगे।

4

यदि आप अपने होमपेज को उस सर्वर पर होस्ट कर रहे हैं जिसे आप नियंत्रित करते हैं, तो आप अपने सॉफ़्टवेयर के डाउनलोड करने योग्य परीक्षण-संस्करण को स्वचालित रूप से हर रात एक नई बाइनरी में संकलित कर सकते हैं। सॉफ़्टवेयर की समयसीमा समाप्त होने के लिए यह संकलन आपके प्रोग्राम में हार्डकोडेड डेटाटाइम-वैल्यू को प्रतिस्थापित करेगा। इस तरह "धोखा" का एकमात्र तरीका आपके कंप्यूटर पर तारीख को बदलना है, और ज्यादातर लोग ऐसा नहीं करेंगे जो समस्याएं पैदा करेंगे।

http://en.wikipedia.org/wiki/Street_Performer_Protocol

अनिवार्य रूप से, आप सॉफ्टवेयर के लिए सुधार का विकास, और फिर आप से पहले दान की एक निश्चित राशि के लिए पूछना:

+3

यह बहुत रचनात्मक है! हालांकि अगर इंस्टॉलर को किसी मित्र को भेजा गया था, सीडी में जला दिया गया था, तो आप पहले से ही समाप्त हो चुके इंस्टॉलेशन, एक खराब उपयोगकर्ता अनुभव के साथ समाप्त हो सकते हैं। – palmsey

+0

हां, मुझे लगता है कि यदि आप इस दृष्टिकोण का उपयोग कर रहे हैं तो आपको उपयोगकर्ताओं को लंबी अवधि की अवधि देना होगा। फिर आप परीक्षण-सामान "MyApp-September.exe" भी नाम दे सकते हैं जो 1 अक्टूबर की समाप्ति तिथि इंगित करेगा। – Espo

2

आप अपने सॉफ़्टवेयर के विकास जारी रखने के लिए योजना बना रहे हैं, तो आप फिरौती मॉडल पर विचार हो सकता उन्हें छोड़ दें (बिना किसी डीआरएम के)।

2

एक तरह से यह करने के लिए है कि उपयोगकर्ता के लिए आसान है, लेकिन नहीं करने के लिए आप समाप्ति की तारीख हार्ड-कोड करने के लिए है और हर अब और फिर संस्थापक के नए संस्करण बनाने ... :)

अगर मैं तुम्हें थे हालांकि, मैं इसे पहले से ही कर रहा हूं उससे कहीं अधिक उन्नत नहीं बनाऊंगा। जैसा कि आप कहते हैं कि यह केवल $ 10 है, और यदि कोई वास्तव में आपके सिस्टम को क्रैक करना चाहता है तो वे इससे कोई फर्क नहीं पड़ता कि आप इसे कितना जटिल बनाते हैं।

नेट कनेक्शन की आवश्यकता और सर्वर को परीक्षण कुंजी उत्पन्न करने के द्वारा आप अपनी योजना का थोड़ा और उन्नत संस्करण कर सकते हैं। यदि आप साइन (हैश (unique_computer_id + when_to_expire) के साथ कुछ करते हैं) और ऐप को सार्वजनिक कुंजी से जांचने दें कि आपके सर्वर ने समाप्ति तिथि पर हस्ताक्षर किए हैं, इसे बाईपास करने के लिए "असली" हैक की आवश्यकता होनी चाहिए।

इस तरह आप अद्वितीय आईडी के सर्वरसाइड को स्टोर कर सकते हैं और एक या दो बार से अधिक की समाप्ति तिथि उत्पन्न करने से इंकार कर सकते हैं। सुनिश्चित नहीं है कि अद्वितीय आईडी के रूप में क्या उपयोग करना है, लेकिन विंडोज से कुछ उपयोगी पाने के लिए कुछ तरीका होना चाहिए।

3

शेयरवेयर स्टार्टर किट आज़माएं। यह मेरे माइक्रोसॉफ्ट को विकसित किया गया था और आपके पास कुछ अन्य विशेषताएं हो सकती हैं।

http://msdn.microsoft.com/en-us/vs2005/aa718342.aspx

2

मैं एक आवेदन मैं एक बहुत ही कम कीमत के लिए बेच रहा हूँ और साथ ही साथ बहुत ही समस्या का सामना करना पड़ रहा है।

ऐप को खराब करने के अलावा, मैं एक ऐसी प्रणाली के साथ आया जो रजिस्ट्री में दो कुंजियों का उपयोग करता है, जिसमें से एक का उपयोग स्थापना के समय को निर्धारित करने के लिए किया जाता है, दूसरा वास्तविक लाइसेंस कुंजी। चाबियाँ अस्पष्ट रूप से नामित की जाती हैं और एक लापता कुंजी इंस्टॉलेशन के साथ छेड़छाड़ करने का संकेत देती है।

बेशक दोनों चाबियाँ हटाने और एप्लिकेशन को पुनर्स्थापित करने से मूल्यांकन का समय फिर से शुरू हो जाएगा।

मुझे लगा कि इससे कोई फर्क नहीं पड़ता है, क्योंकि कोई भी जो ऐप को क्रैक करना चाहता है, ऐसा करने में सफल होगा, या ऐसा करने में सफल होने वाले किसी व्यक्ति द्वारा क्रैक ढूंढें।

तो अंत में मैं केवल लक्ष्य को प्राप्त करने के लक्ष्य को प्राप्त करने का लक्ष्य प्राप्त कर रहा हूं, और मुझे लगता है कि, 80-90% ग्राहकों को ऐसा करने से रोक देगा। और बाद में: चूंकि आवेदन बहुत कम कीमत के लिए बेचा जाता है, मेरे पास इस मुद्दे में पहले से कहीं ज्यादा निवेश करने का कोई औचित्य नहीं है।

2

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

2

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

इससे भी बेहतर, सुविधाओं को सीमित करना समय से बेहतर काम करता है। उदाहरण के लिए, शायद आपका फोटोग्राफी ऐप उपयोगकर्ता को 1 मेगापिक्सेल छवियों तक सीमित कर सकता है, लेकिन जब तक वे चाहें तब तक इसका उपयोग करने दें।

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

संबंधित मुद्दे