Arduino के नए नियम ‘ओपन सोर्स के साथ असंगत’
(thenewstack.io)- Arduino की नई Terms of Service सार्वजनिक होने के बाद, open source hardware कम्युनिटी में Adafruit के साथ टकराव शुरू हो गया
- Adafruit ने आलोचना की कि नई शर्तें reverse engineering पर रोक, उपयोगकर्ता द्वारा अपलोड की गई सामग्री पर स्थायी लाइसेंस, और AI फीचर्स के लिए व्यापक मॉनिटरिंग शामिल करती हैं, जो open source सिद्धांतों को नुकसान पहुँचाती हैं
- Arduino ने जवाब दिया कि ये सीमाएँ सिर्फ SaaS cloud applications पर लागू होती हैं, और hardware की open source भावना बरकरार है
- EFF ने इशारा किया कि कुछ धाराएँ “पहले की तुलना में उपयोगकर्ता सुरक्षा को कम करती हैं,” और license वापस लेने के अधिकार को हटाए जाने को समस्या बताया
- यह विवाद open source hardware की परिभाषा और cloud-केंद्रित बदलाव की सीमाओं को उजागर करता है, और कम्युनिटी भरोसे व पारदर्शिता के महत्व को रेखांकित करता है
Arduino की शर्तों में बदलाव और विवाद की पृष्ठभूमि
- Arduino ने Qualcomm द्वारा अधिग्रहण के बाद नई Terms of Service जारी कीं, जिसके बाद open source कम्युनिटी में बहस शुरू हो गई
- Adafruit का कहना है कि इन शर्तों में reverse engineering पर रोक जैसी बातें शामिल हैं, जो open source भावना के खिलाफ हैं
- Arduino ने समझाया कि “सीमाएँ सिर्फ cloud-आधारित SaaS applications पर लागू होती हैं, और मौजूदा open source hardware पहले जैसा ही रहेगा”
- Adafruit के Phillip Torrone ने LinkedIn पर चेतावनी दी कि “अब Arduino उपयोगकर्ताओं को प्लेटफ़ॉर्म कैसे काम करता है, इसे समझने या विश्लेषण करने से भी रोका जाता है”
- इस पोस्ट को 1,500 से अधिक reactions मिले, और कम्युनिटी में इसने बड़ा असर डाला
cloud-केंद्रित development environment और गोपनीयता के मुद्दे
- Adafruit की संस्थापक Limor “Ladyada” Fried ने Arduino की सफाई की आलोचना करते हुए कहा कि वह वास्तविक स्थिति को छोटा करके दिखाती है
- उन्होंने कहा कि Arduino की आधिकारिक साइट cloud editor और web IDE के उपयोग को ज़ोरदार तरीके से बढ़ावा देती है, और खासकर ChromeOS माहौल में यह लगभग इकलौता विकल्प बन जाता है
- उन्होंने यह भी कहा कि cloud उपयोग करने पर account बनाना और marketing व profiling के लिए सहमति प्रक्रिया अनिवार्य रूप से शामिल है
- Fried के अनुसार, “पहले जहाँ लोग local IDE डाउनलोड करके hardware के साथ hack कर सकते थे, अब ढाँचा बदलकर personal data और subscription-आधारित services पर निर्भर हो गया है”
उपयोगकर्ता सामग्री और लाइसेंस धाराएँ
- Adafruit ने आलोचना की कि नई शर्तें उपयोगकर्ता द्वारा अपलोड की गई सामग्री पर स्थायी और वापस न ली जा सकने वाली license देती हैं
- Arduino ने इसका जवाब देते हुए कहा कि यह सिर्फ वह functional authorization है जिसकी जरूरत तब होती है जब उपयोगकर्ता cloud फीचर्स का अनुरोध करता है, और ownership उपयोगकर्ता के पास ही रहती है
- उदाहरण: cloud में sketch compile करना या forum पर पोस्ट प्रकाशित करना, जिनके लिए तकनीकी अनुमति जरूरी होती है
- EFF के Mitch Stoltz ने कहा कि “पुरानी शर्तों में उपयोगकर्ता कभी भी license वापस ले सकता था, लेकिन नई शर्तों में यह हटा दिया गया है,” और इसे उपयोगकर्ता सुरक्षा में कमी बताया
account deletion और data retention policy
- Arduino ने कहा कि “उपयोगकर्ता कभी भी account और content हटाने का अनुरोध कर सकते हैं, और हटाने पर पोस्ट को anonymous कर दिया जाता है”
- हालांकि, 2 साल से अधिक समय से निष्क्रिय accounts के मामले में कम्युनिटी अनुरोधों के आधार पर contributor का नाम 5 साल तक रखा जाता है
- इसके बाद 5 साल पूरे होने पर username हटा दिया जाता है और पोस्ट de-identified हो जाती है
- Fried ने इस policy की आलोचना करते हुए कहा कि यह कम्युनिटी की पहचान और data को उपयोगकर्ता नियंत्रण के बजाय प्रबंधित संपत्ति की तरह देखती है
AI फीचर्स और उपयोगकर्ता मॉनिटरिंग पर विवाद
- नई शर्तें AI के निषिद्ध उपयोग मामलों (अपराध, गलत सूचना, सैन्य उपयोग आदि) को स्पष्ट करती हैं, और उपयोगकर्ता गतिविधि की मॉनिटरिंग का अधिकार भी शामिल करती हैं
- Arduino ने कहा कि यह “कानूनी अनुपालन और service stability सुनिश्चित करने के लिए” है
- Fried ने कहा कि “सभी उपयोगकर्ताओं पर लागू व्यापक निगरानी भरोसे को नुकसान पहुँचाती है,” और पारदर्शी तथा सीमित मॉनिटरिंग डिज़ाइन की माँग की
- उन्होंने ज़ोर देकर कहा कि “open source license उपयोग के उद्देश्य पर पाबंदी की अनुमति नहीं देता,” इसलिए सैन्य उपयोग पर रोक ‘open source’ की परिभाषा के साथ असंगत है
- Adafruit ने आलोचना की कि Arduino की शर्तें “असल में license की स्वतंत्रता को निष्प्रभावी कर देती हैं”
आगे की दिशा और कम्युनिटी की प्रतिक्रिया
- Arduino ने कहा कि “हम कम्युनिटी की चिंताओं को समझते हैं, और पारदर्शिता और संवाद जारी रखेंगे”
- Adafruit ने कहा कि वह “वास्तविक open source hardware” को डिज़ाइन और प्रकाशित करना जारी रखेगा, और Zephyr, BLE, IoT जैसे विविध ecosystems के समर्थन को आगे बढ़ाएगा
- Fried ने ज़ोर देकर कहा कि “सहयोग का हमेशा स्वागत है, लेकिन पूर्ण open source licensing और documentation पहले से मौजूद होने चाहिए”
1 टिप्पणियां
Hacker News की राय
Espressif के ESP32/ESP8266 चिप्स इस्तेमाल करना शुरू करने के बाद से मैं लगभग Arduino को भूल ही गया हूँ
अगर VSCode extension ठीक से सेट हो जाए तो IDE की भी ज़रूरत नहीं पड़ती, और उसकी जगह PlatformIO को ज़रूर आज़माने का मन है
उसके बाद ESP8266/ESP32 आने पर Arduino को पूरी तरह छोड़ दिया
शिक्षा या इंडस्ट्रियल उपयोग के लिए इसका मतलब हो सकता है, लेकिन व्यक्तिगत तौर पर अब इसे इस्तेमाल करने की कोई वजह नहीं दिखती
VSCode में लंबे समय से PlatformIO इस्तेमाल कर रहा हूँ, और आजकल ESPHome से ज़्यादा तेज़ी से काम करना पसंद करता हूँ
--verboseoption से execution process देखा जा सकता हैPlatformIO के बारे में बहुत अच्छा सुना है, लेकिन VSCode integration के अलावा इसके क्या फायदे हैं, यह जानना चाहता हूँ (मैं emacs user हूँ)
commands को CLI history में save करके
Ctrl+Rसे बुला लो तो बहुत सुविधाजनक होता हैयह तेज़ build, repeatable environment, कई devices पर image flash करना, build-time parameters जैसी ऐसी सुविधाएँ देता है जो IDE में संभव नहीं हैं
Raspberry Pi Pico Arduino के विकल्प के रूप में कहीं ज़्यादा आसान है
इसमें dual-core और IO coprocessor है, और Pico2 तो RISC-V mode भी support करता है
binary upload बस file drag करके हो जाता है, और Linux में picotool से इसे script भी किया जा सकता है
ऐसे documents हों तो मैं कुछ cents ज़्यादा देकर भी खरीदना चाहूँगा
hobby projects के लिए बेहतरीन है, लेकिन complex projects में STM32 के मुकाबले कम पड़ता है
STM32L011 तो कुछ महीनों, यहाँ तक कि कुछ सालों तक चला था
नया Arduino system कैसे काम करता है, इस बारे में जानकारी कम है, इसलिए नई license के असर का आकलन करना मुश्किल है
पहले USB से flashing होती थी, लेकिन अब web editor से wireless programming की बात हो रही है
जानना है कि WiFi ज़रूरी है या नहीं, कौन-सा network protocol इस्तेमाल होता है, और pairing कैसे होती है
Qualcomm का SaaS platform बस एक सामान्य service है, और Arduino पहले जैसा ही है
EFF और Arduino दोनों की open source के प्रति दोस्ताना स्थिति है, इसलिए Adafruit की marketing वाली controversy पर ध्यान नहीं देता
Qualcomm के लिए बाज़ार पर नियंत्रण करना मुश्किल लगता है
न CPU, न bootloader, न compiler उनके मालिकाना हैं, और चीनी निर्माता नियमों का पालन नहीं करेंगे
Arduino IDE के बारे में अब debugging features की कमी के कारण असुविधाजनक होने की राय काफ़ी है
Qualcomm का Arduino का अधिग्रहण शायद AI की ग़लत समझ का नतीजा हो सकता है
लेकिन advanced features तक जाने का क्रमिक रास्ता नहीं है
project structure एक single file में बंधा रहता है, और build system भी असुविधाजनक है
CI में Makefile इस्तेमाल करता हूँ, लेकिन configuration झंझट भरी है
फिर भी auto-reload की वजह से editor की दिक्कतें कम हो जाती हैं
Arduino सफल होता है या नहीं, इससे उन्हें ज़्यादा फ़र्क नहीं पड़ेगा
“Anything that was open, stays open” ऐसा कहा जाता है, लेकिन Android और Google Play Services को देखें तो राय बदल जाती है
दूसरी कंपनियों की मदद भी थी, लेकिन YouTube client restrictions जैसी नीतियाँ खटकती हैं
Adafruit इस समय education और hobby market का अग्रणी खिलाड़ी है
Arduino या SparkFun पहले जैसे नहीं रहे
लेकिन MicroPython-केंद्रित दिशा सीखने के बाद के चरण में बाधा बन सकती है
फिर भी C++ library support बना हुआ है
यह MicroPython से सरल है, और मैं C++ से ज़्यादा Python पसंद करता हूँ
Arduino IDE की जगह अपने पसंदीदा editor में Python इस्तेमाल करना कहीं ज़्यादा सुविधाजनक है
हर किसी का C++ expert होना ज़रूरी नहीं है
ज़्यादातर लेख प्रतिद्वंद्वी Adafruit के दावों को जैसे का तैसा दोहरा रहे हैं
EFF का मानना है कि नई terms कुल मिलाकर उचित हैं, लेकिन Adafruit अनावश्यक विवाद बना रहा है
open hardware को अब maintain करना भी मुश्किल नहीं रहा, और ecosystem में काफ़ी स्व-निर्भरता आ सकती है
“Chief microcontroller rival Adafruit” यह अभिव्यक्ति सटीक नहीं है
Adafruit और Arduino तो बस PCB brands हैं, चिप्स ST या Renesas जैसे निर्माता बनाते हैं
मैं Arduino IDE लगभग इस्तेमाल नहीं करता
धीमा है और cloud-dependent है, इसलिए पसंद नहीं
उसकी जगह Pico + VSCode combination इस्तेमाल करता हूँ