Jeffrey Cross
Jeffrey Cross

Espruino: एक ओपन सोर्स हार्डवेयर और सॉफ्टवेयर कंपनी चलाने की चुनौतियाँ

पत्रिका के लेख यहीं पर पढ़ें बनाना:। अभी तक सदस्यता नहीं है? आज एक हो जाओ।

मैंने एक सॉफ्टवेयर इंजीनियर के रूप में पिछले 13 साल बिताए हैं, मुख्य रूप से 3 डी ग्राफिक्स और कंपाइलर पर काम कर रहा है। माइक्रोकंट्रोलर के लिए विकास करना हमेशा से एक शौक रहा है, लेकिन मैंने पाया कि मौजूदा एआरएम माइक्रोकंट्रोलर डेवलपमेंट टूल्स को इंस्टॉल करना और उपयोग करना बहुत मुश्किल है, खासकर लिनक्स पर। कंप्यूटर के सामने एक पूरा दिन बिताने के बाद भी शाम को सॉफ्टवेयर टूल्स के साथ घंटों की कुश्ती में खर्च करना बेहद निराशाजनक था, इसलिए मैं कुछ ऐसा बनाने के लिए तैयार हुआ जिसका उपयोग करना मुझे सुखद लगे, दर्दनाक नहीं।

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

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

हेप स्वजा द्वारा तस्वीरें

फ्रीमियम सॉफ्टवेयर

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

मेरा पहला प्रयास एस्प्रिनो को "फ्रीमियम" बनाने में शामिल था। मैंने वर्तमान में चल रही कोड की एक छवि को फ्लैश मेमोरी में सहेजने की क्षमता जोड़ी और इसके लिए $ 4 का शुल्क लिया - दुर्भाग्य से, एक पूरे वर्ष में, मैंने केवल 40 डॉलर खर्च किए और उपयोगकर्ताओं को मदद करने में हफ्तों बिताए। मेरे पास महत्वपूर्ण डाउनलोड थे, लेकिन बहुत कम लोग फर्मवेयर को स्थापित करने में सक्षम थे और दूर से ही पलक झपकते "हैलो वर्ल्ड" को पाने में सक्षम हो गए थे, यहां तक ​​कि वे जो भी कर रहे थे उसे बचाने के लिए।

मैंने एसटीएम 32 बोर्ड के सभी निर्माताओं से संपर्क करने की कोशिश की, जिन्हें मैं एस्प्रुइनो को प्रीइंस्टॉल्ड करने के बारे में पता लगा सकता था, लेकिन उस समय कोई भी जोखिम लेने को तैयार नहीं था, उस समय, सॉफ्टवेयर का एक अपेक्षाकृत अज्ञात बिट। इसलिए मैंने खुद कुछ करने की ठानी।

एक बोर्ड को किकस्टार्ट करना

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

शीर्ष बाएं से दक्षिणावर्त: मूल एस्प्रुइनो; Puck.js; एस्प्रुइनो वाईफाई; एस्पप्रिनो पिको (पिंस के साथ और बिना)।

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

एस्पप्रिनो के पहले किकस्टार्टर अभियान के लिए पैकिंग पुरस्कार।

सईद ने मेरे लिए व्यक्तिगत एस्प्रिनो बोर्डों को मेल किया; हालाँकि, मैंने कई अलग-अलग इलेक्ट्रॉनिक घटकों वाले ग्राहकों को कुछ स्टार्टर किट की पेशकश की थी, इसलिए हमें उन्हें खुद को इकट्ठा करना पड़ा। वह एक आंख वाला था। जब मैं सॉफ्टवेयर बनाता हूं, तो 500 डाउनलोड बिल्कुल नहीं लगते हैं - लेकिन यह बहुत अलग दिखता है जब आपको किट को पैक करना होगा, उन्हें लेबल करना होगा, और सुनिश्चित करना होगा कि वे वितरित किए गए हैं!

प्रोग्रामिंग और परीक्षण के लिए तैयार, Seeed में Espruino बोर्डों इकट्ठे हुए।

अब, कोड की अपनी पहली पंक्तियाँ लिखने के लगभग पाँच साल बाद, मैंने एक तीसरे किकस्टार्टर अभियान: Puck.js, एक प्रोग्राम योग्य ब्लूटूथ बटन के लिए सभी पुरस्कारों की शिपिंग पूरी कर ली है। Espruino के आसपास उपयोगकर्ताओं के एक महान समुदाय और 20,000 से अधिक पदों के साथ एक मंच है - मुख्य रूप से मेरे किकस्टार्टर बैकर्स के उत्साह से ईंधन। सब कुछ खुला स्रोत (हार्डवेयर और सॉफ्टवेयर) है, और फिर भी मैं अंत में उस स्तर पर हूं, जहां एस्पप्रिनो बोर्डों की मासिक बिक्री मुझे वेतन देने के लिए पर्याप्त है - बिना मुझे चलाने के लिए किकस्टार्टर अभियानों की आवश्यकता के बिना।

पोर्टिंग समस्याएं उत्पन्न करता है

क्योंकि फर्मवेयर और उपकरण खुले स्रोत हैं, Espruino का उपयोग अधिक से अधिक उपकरणों पर किया जा रहा है। Espruino समुदाय ने Espruino को ESP8266 में पोर्ट किया, और 2016 के अंत तक, जितने भी बोर्ड मैंने बेचे, उन सभी की तुलना में अधिक लोग ESP8266 का उपयोग कर रहे थे। वास्तव में, एस्प्रिनो के केवल एक-तिहाई उपयोगकर्ता वास्तव में एक बोर्ड का उपयोग कर रहे थे जिसे मैंने बनाया था।

यह शानदार है, लेकिन यह कुछ समस्याओं को जन्म देता है। मैं हमेशा एस्प्रिनो मंचों पर उपयोगकर्ताओं को वास्तव में अच्छा समर्थन देने के लिए खुद को प्रार्थना करता हूं - अक्सर हर दिन दो घंटे या उससे अधिक की मदद कर रहा हूं। जैसे-जैसे मेरे बोर्ड का उपयोग करने वाले लोगों का अंश गिरा है, मैंने खुद को अपने समय के बढ़ते अनुपात को प्रभावी ढंग से मुफ्त में काम करते हुए पाया है।

Espruino पहली बार वास्तविक हार्डवेयर, 2012 (STM32VLDISCOVERY बोर्ड) पर चल रहा था।

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

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

एस्पप्रिनो में, उद्देश्य हमेशा सॉफ़्टवेयर जटिलता के साथ हार्डवेयर जटिलता को प्रतिस्थापित करना रहा है। हार्डवेयर बहुत सरल है, लेकिन सॉफ्टवेयर बेहद जटिल है और विकास के समय (कम से कम 10 गुना अधिक) के विशाल बहुमत लेता है। सॉफ्टवेयर को विकसित करने में लगने वाले समय का भुगतान करने के लिए मुझे अपने हार्डवेयर की लागत को चिह्नित करना होगा। यह मेरे बोर्ड को $ 2 ESP8266 बोर्ड की तुलना में बहुत असुविधाजनक बनाता है जो Espruino मुक्त करने के लिए उस पर भड़क गया था, या यहां तक ​​कि Espruino के साथ एक बोर्ड बेचने वाली दूसरी कंपनी प्रीइंस्टॉल्ड थी।

उत्पादन लाइन से 30 Espruino पिको बोर्डों का पहला पैनल।

यह बिक्री को थोड़ा नुकसान पहुंचाता है, लेकिन सबसे बड़ी समस्या वास्तव में समर्थन की है। यदि आपको सामान्य ओपन सोर्स हार्डवेयर बोर्ड में कोई समस्या है, तो आप निर्माता से बात करेंगे।हालाँकि, अगर आपको एक Arduino क्लोन की समस्या है, जिसे आपने eBay से खरीदा है, तो आप Arduino फ़ोरम में जाएंगे। Espruino के बारे में भी यही बात है, और इन अन्य बोर्डों के उपयोगकर्ताओं को आमतौर पर खराब दस्तावेज और आउट-ऑफ-डेट / छोटी गाड़ी फर्मवेयर के कारण अधिक समस्याएं होती हैं। ग्राहक सहायता का एक उचित स्तर प्रदान करना बहुत निराशाजनक हो सकता है और बाकी सब पर बहुत ज्यादा समय नहीं बल्कि खुद पर खर्च करना। यह विशेष रूप से मुश्किल है जब मैं यह भी निर्धारित नहीं कर सकता कि कौन बोर्ड का उपयोग कर रहा है!

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

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

एक टचस्क्रीन STM32 देव बोर्ड पर Espruino का उपयोग करके Servomotor नियंत्रण।

हालाँकि, मैं अपने आप को वेतन देने में सक्षम हूं, यह विशुद्ध रूप से समुदाय से उदारता से बाहर है, इसलिए नहीं कि मेरे पास एक महान व्यवसाय मॉडल है। मैं मदद नहीं कर सकता, लेकिन यह महसूस कर सकता हूं कि खुले स्रोत हार्डवेयर के साथ खुले सॉफ्टवेयर टूल के उपयोग के लिए एक स्पष्ट व्यावसायिक मामले की कमी क्षेत्र में नवाचार को नुकसान पहुंचा रही है। मुझे लगता है कि यह कहना है कि अब सैकड़ों उद्यम पूंजी-वित्त पोषित इंटरनेट ऑफ थिंग्स वेबसाइट हैं। इसी समय, लाखों उपयोगकर्ताओं के बावजूद, 10 साल पहले पहले अल्फा रिलीज के बाद से Arduino IDE काफ़ी परिवर्तन नहीं हुआ है, जबकि कोडबेंडर ऑनलाइन IDE को बंद करना पड़ा है।

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

शेयर

एक टिप्पणी छोड़