1 पॉइंट द्वारा GN⁺ 2023-10-23 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Ruffle Rust में लिखा गया एक open-source Flash Player एम्युलेटर है, जो अब native रूप से supported नहीं रहे Flash content को आधुनिक operating systems और browsers में फिर से चलाने देता है
  • यह desktop और web दोनों को support करता है, और web environment में WebAssembly का इस्तेमाल करता है
  • Rust और WASM की guarantees का लाभ उठाकर Flash में समस्या के तौर पर जाने जाने वाले security risks से बचना इसका लक्ष्य है
  • इसे इस तरह बनाया गया है कि आम users और website owners दोनों जल्दी से install करके चला सकें
  • MIT/Apache 2.0 license के तहत उपलब्ध, यह freely usable मुफ्त open-source project है

आधुनिक environment में Flash content चलाना

  • Ruffle Flash content को आधुनिक environment में चलाने के लिए एक Flash Player एम्युलेटर है
  • इसे आधुनिक operating systems और browsers में native रूप से काम करने के लिए बनाया गया है, और बिना अतिरिक्त झंझट के Flash content को फिर से जीवित करने पर focus करता है
  • implementation language Rust है, और यह desktop और web दोनों को target करता है
  • web execution target के लिए WebAssembly का इस्तेमाल किया जाता है

Security approach और distribution terms

  • यह Rust और WASM की guarantees का लाभ उठाकर Flash में मौजूद security pitfalls से बचने की कोशिश करता है
  • इसे users और website owners दोनों के लिए जल्दी install और run करने लायक design किया गया है
  • यह MIT/Apache 2.0 license के तहत distributed मुफ्त open-source project है

1 टिप्पणियां

 
GN⁺ 2023-10-23
Hacker News की राय
  • मैं इस प्रोजेक्ट को लगभग साल में एक बार देखता हूँ, और AS3 support को लगभग पूरा होने के करीब देखना खुशी की बात है
    स्कूल के दिनों में बहुत से लोगों की तरह मैंने भी Flash गेम्स पर बहुत ज़्यादा समय बिताया था, और गेम इतिहास का एक हिस्सा गायब हो जाना अफसोस की बात लगती थी
    फिर भी Ruffle कम से कम उसका कुछ हिस्सा वापस ज़िंदा कर सकता है। हाँ, इससे यह भी याद आता है कि iOS पर Wolfenstein RPG खेलने का अब भी कोई तरीका नहीं है। मेरे पास एक iPod है जो मैंने 2010 में लगभग सिर्फ वही गेम खेलने के लिए खरीदा था, लेकिन उसकी बैटरी हमेशा तो नहीं चलेगी। फिलहाल शायद Adrenaline Challenge खेलने ही जाना पड़ेगा
    • करीब 18 महीने पहले तक Ruffle में AS3 support लगभग था ही नहीं, और मेरे लिए यह एक निर्णायक बाधा थी
      मुझे लगा था कि इसमें अभी कई साल लगेंगे, इसलिए तब तक मैं time bomb के बिना Flash का आख़िरी version install करके इस्तेमाल कर रहा था, और अच्छा है कि मैं गलत साबित हुआ :)
    • पिछली बार जब देखा था तब AS3 बस शुरू ही हुआ था, इसलिए इसका इतनी जल्दी यहाँ तक पहुँच जाना चौंकाने वाला है
    • iOS पर Wolfenstein RPG न खेल पाने की बात शायद जल्द बदल सकती है :)
      https://github.com/hikari-no-yume/touchHLE/pull/139
    • मैं भी अब तक Inishie Dungeon फिर से खेलने का कोई तरीका नहीं ढूँढ पाया हूँ
    • अच्छा होगा अगर Ruffle के पुराने PR सच में merge हो जाएँ
  • Flash emulation की बात हमेशा Flash गेम्स तक पहुँच जाती है, लेकिन इसके अलावा भी एक बड़ा फ़ायदा है: अब भी Flash पर निर्भर सूचनात्मक websites को सुरक्षित रखा जा सकता है
    New York Historical Society की Slavery in New York प्रदर्शनी में The Merchant's House पेज चीज़ों को एक-एक करके दिखाते हुए समझाता है कि “सब कुछ slavery से जुड़ा हुआ था।” ऑनलाइन प्रदर्शनी में Flash पर निर्भर ऐसे बहुत से informational हिस्से हैं, और उनमें से यह पेज मुझे व्यक्तिगत रूप से सबसे अच्छा लगा
    Ruffle जैसे प्रोजेक्ट्स की वजह से ऐसे काम को बनाए रखा जा सकता है। अब जबकि प्रदर्शनी हट चुकी है, यह लेख देखने का यही एकमात्र तरीका है, और इससे विशाल ऐतिहासिक शोध के नतीजों का उपयोग जारी रखा जा सकता है
    लेकिन उसी प्रदर्शनी साइट की video galleries काम नहीं करतीं। ये उन वीडियो clips की होनी चाहिएँ जो प्रदर्शनी देखने वाले लोगों ने एक dedicated booth में छोड़ी थीं, और इस पर काफ़ी सामग्री पढ़ने के बाद लगता है कि ये उस समय New York के नागरिकों की slavery के प्रति सोच को दिखाने वाला बेहतरीन स्रोत था। New York Times की एक पंक्ति भी थी: “शौकिया home video की असहजता है इसमें। बैकग्राउंड शोर, लंबी ख़ामोशियाँ, कैमरे से बचती नज़रें।”
    लगभग 400 वीडियो में से शायद कुछ ही होंगी, लेकिन इस पेज पर Ruffle ठीक से काम नहीं करता। जब मैंने देखने की कोशिश की तो टैब से थोड़ी देर के लिए audio सुनाई दिया था, इसलिए लगता है कुछ तो हो रहा है, लेकिन मैंने कभी वीडियो नहीं देखा। जो लोग इस क्षेत्र को बेहतर जानते हैं, अगर वे बता सकें कि मामला क्या है तो अच्छा होगा, क्योंकि इन सामग्रियों का खो जाना अफसोस की बात होगी
    • वीडियो फ़ाइलें अब भी मौजूद हैं। उदाहरण के लिए https://www.slaveryinnewyork.org/flash/Gallery7Responses2.fl... है, और browser network inspector में भी request होने वाला URL देखा जा सकता है
      VLC या ffplay जैसे tools से इन्हें offline चलाया जा सकता है, और इन्हें ज़्यादा आधुनिक playback format में convert करना भी संभव है
    • मैंने यह बात Ruffle team तक पहुँचा दी है। वे कुछ महीने पहले जोड़े गए external video support को बेहतर बनाने पर काम कर रहे हैं
  • मैंने कई साल तक Adobe Flex के लिए AS3 और mxml लिखा है
    AS3 कई मायनों में ECMAScript 4 था, और मुझे लगता है कि वह अपने समय से काफ़ी आगे था। जिन बहुत सी चीज़ों की हम आज उम्मीद करते हैं, वे Flash Player ecosystem में पहले से ही सामान्य सुविधाओं जैसी लगती थीं
    बेशक कुछ डरावने पल भी थे, लेकिन उस दौर में जब browser-दर-browser JavaScript के साथ काम करना ही मुश्किल था, तब भी हम काफ़ी शानदार चीज़ें deploy कर पा रहे थे
    • मैंने भी यह काम कई साल किया है
      मुझे AS3 के समय से आगे होने से ज़्यादा ऐसा लगता है कि Steve Jobs और उस समय के Adobe CEO की वजह से Flash छोड़ते हुए हम पीछे लौट गए
      AS3 सच में शानदार था, सीखना आसान था, और कई developers के लिए मिलकर उसे बढ़ाना भी सुरक्षित था। Flash भी अपने आख़िरी दौर में काफ़ी तेज़ हो गया था, लेकिन अंत में सब कुछ नाली में चला गया
    • पूरी तरह सहमत। मैंने Flash और AS3 में एक 3D rendering engine बनाया था, और यह अब तक इस्तेमाल किए गए मेरे सबसे पसंदीदा development platforms में से एक है
      AS3 एक शानदार भाषा थी। Brendan Eich ने Lex Fridman इंटरव्यू में इसका संक्षेप में ज़िक्र किया था, और यह बात दिलचस्प लगी कि यह उस JavaScript के संभावित उत्तराधिकारी के सबसे करीब था जो browser में कभी पहुँचा ही नहीं। काश यह नया standard बन गया होता
  • क्या Adobe Flash सच में मर चुका है? अगर Adobe अब इसे product की तरह बेचता ही नहीं, तो उसने Flash Player वाला हिस्सा open source क्यों नहीं किया, यह सोचता हूँ
    काश ऐसा कोई क़ानून होता कि जब कोई software अब बेचा नहीं जाता, तो उसे public domain में छोड़ना पड़े
    • मैंने एक पुराने thread में यही सवाल पूछा था, और जवाब मिला था कि Flash Player में licensed third-party code बहुत ज़्यादा है, इसलिए उसे हटाना या relicense करके open source बनाना बहुत मुश्किल, शायद असंभव हो सकता है
      फिर भी संबंधित specs Adobe मुफ़्त में उपलब्ध कराता है
      copyright की अवधि को 5 साल जैसे किसी व्यावहारिक स्तर तक कम करना भी अच्छा होगा। इससे भी आगे बढ़कर, copyright बनाए रखने के लिए हर साल तेज़ी से बढ़ने वाला tax भरना पड़े तो शायद और बेहतर हो
    • कंपनियाँ आम तौर पर ऐसा नहीं करतीं, क्योंकि इसमें कानूनी जोखिम होता है। इस्तेमाल की गई कुछ libraries ऐसे license के तहत हो सकती हैं जो open sourcing की अनुमति नहीं देते
      कानून बदलने से यह हल हो सकता है। उदाहरण के लिए antique software preservation law जैसा कुछ बनाया जाए, जिससे किसी भी software को open source किया जा सके, और उस कानून के तहत उठाए गए कदमों से जुड़े मुकदमों को रोका जा सके
      अतिरिक्त incentive भी दिया जा सकता है। जैसे, commercially sold सभी software को या तो स्थायी रूप से archive करना होगा या open source करना होगा। कानूनी रूप से स्थायी archiving महँगी पड़ेगी, इसलिए बहुत सी जगहें open source का रास्ता चुन सकती हैं
    • Flash Player को open source न करने की वजह यह भी हो सकती है कि code quality इतनी शर्मनाक हो कि दिखाना मुश्किल हो। लगता है अब भी कई अनखोजी vulnerabilities होंगी
    • इसका काफ़ी हिस्सा पहले ही सार्वजनिक किया जा चुका है[1]। हाँ, यह अलग बात है कि कोई इसे पर्याप्त न माने
  1. https://github.com/adobe/avmplus
  • समस्या यह है कि ऐसे प्रोडक्ट्स आमतौर पर third-party proprietary components का इस्तेमाल करते थे
    इसलिए codebase के बड़े हिस्से को काटे बिना उन्हें open source बनाना अक्सर संभव नहीं होता, और वह काम महंगा भी पड़ता है तथा प्रकाशित code की उपयोगिता भी बहुत घट जाती है
  • यह जानने की जिज्ञासा है कि इसके जारी होने के बाद भी नए काम बनाना संभव है या नहीं
    या फिर tools पहले से ही इतने मुश्किल-से-revive होने की हालत में हैं कि यह व्यावहारिक रूप से सिर्फ पुराने catalog को revive करने तक सीमित रहेगा?
    बेशक पुराना catalog बहुत विशाल है, लेकिन मैंने सुना है कि कई developers को Flash games बनाना पसंद था, इसलिए अगर कोई काफी जिद के साथ Flash game scene को revive करने की कोशिश करे तो वह दिलचस्प होगा
    अभी इसकी खास ज़रूरत नहीं है, और हमारे पास रोज़ बेहतर होते promising web standards भी हैं, लेकिन ऐसी चीज़ों ने जिद्दी लोगों को कभी रोका नहीं है. अभी भी ऐसे लोग हैं जो पुराने Nintendo hardware के लिए नए games बनाने के तरीके ढूंढते हैं
    • Adobe अभी भी Animate को Creative Cloud के हिस्से के रूप में देता है, और उससे AS3 movies बनाई जा सकती हैं
      अगर AS2 चाहिए तो कम-से-कम CS6 तक पीछे जाना होगा, और FLA support की रेंज कहीं ज़्यादा चौड़ी होने के कारण CS5.5 शायद बेहतर है. CS6 में वह क्यों हटाया गया, यह मत पूछिए
      अगर Adobe को पैसे नहीं देने हैं, तो Adobe toolchain के free open source version Apache Flex का उपयोग किया जा सकता है. बेशक यह command-line compiler tool है और सिर्फ AS3 files compile करता है, इसलिए graphics अलग से बनाकर जोड़ने होंगे
      अगर vector art है, तो संभव है कि SVG को SWF में बदलने का तरीका ढूंढना पड़े, फिर Flex में किसी अजीब class declaration जादू से उसे main SWF में शामिल करना पड़े, और उससे पैदा होने वाली सूक्ष्म masking समस्याओं से भी निपटना पड़े
    • Flash को मरना नहीं चाहिए था
      यह एक accessible authoring tool था जो कम bandwidth में भी काम करने वाली, scalable, cross-platform single-file animations बना सकता था
      हम अब तक उस नुकसान की भरपाई नहीं कर पाए हैं. JavaScript + canvas + web stack बिखरा हुआ है. अगर Ruffle runtime जल्दी शुरू हो सके, तो शायद मैं नया Flash बनाना शुरू कर दूँ
    • Windows पर पुराने Flash versions अभी भी बिना दिक्कत चलाए जा सकते हैं
      macOS पर यह ज़्यादा जटिल है क्योंकि वे versions सभी 32-bit हैं. M1 Mac पर Windows VM सेट करके उसके भीतर Flash चलाना बेहतर है, और Intel Mac पर macOS Mojave, जो 32-bit support वाला आखिरी version है, उसे अलग partition पर install किया जा सकता है
    • हमारी कंपनी में अभी भी नया AS3 code लिखा जाता है. सभी IDEs और tools W10/W11 पर अच्छी तरह चलते हैं
    • Newgrounds में साल में लगभग एक बार flashforward event होता है
  • Flash को WebAssembly में बदलने वाला एक commercial tool भी है
    असल में वह WebAssembly के भीतर एक VM में पूरा Linux चलाता है, और उसके भीतर official licensed Adobe Flash Player चलाता है. और Flash license अलग से Harman से लेना पड़ता है, ऐसा लगता है. अब Flash intellectual property शायद उन्हीं के पास है
    https://labs.leaningtech.com/cheerpx/for-flash
    इनसे मेरा कोई संबंध नहीं है, मैंने बस कभी दिलचस्पी में इसे देखा था
    • मैं developer हूँ. CheerpX for Flash Flash के Pepper API version को चलाता है, और licensing वाली बात सही है
      लेकिन Flash चलाने के लिए यह पूरे Linux को emulate नहीं करता. यह PPAPI को emulate करता है और Flash Player को x86 JIT CheerpX में चलाता है
      Yuri यहाँ CXFF architecture समझाते हैं:
      https://youtu.be/7JUs4c99-mo?t=1045
      अगर पूरा Linux system emulation चाहिए, तो वह भी है: https://webvm.io
  • बढ़िया है. मैंने इसे पहले कभी नहीं देखा था
    अब भी ऐसा लगता है कि internet और युवा beginner programmers ने Flash के साथ एक सचमुच मूल्यवान tool खो दिया. यह अफसोस की बात है कि उसका security model सही तरह काम नहीं कर पाया. Flash applets में खूब features थे और entry barrier भी असाधारण रूप से कम था
  • मुझे Adobe का Flash को इस तरह मार देना बहुत बुरा लगता है
    दिक्कतें थीं, यह सही है, लेकिन ज़्यादातर software में होती हैं, और Flash सचमुच अपने समय से लगभग 20 साल आगे था. Flash के मरने के बाद web हास्यास्पद रूप से फीका हो गया
    मेरी conspiracy theory यह है कि Apple और Google ने mobile support को मजबूर करने के लिए Adobe को पैसे देकर Flash को मरवाया
    • किसी conspiracy की ज़रूरत नहीं है. जब कोई product इतना भयानक user experience देता है, तो वही काफी है
      मैंने Flash की एक भी line कभी नहीं लिखी और न ही लिखना चाहता हूँ, लेकिन Flash sites कितनी टूटी-फूटी थीं, इसकी बुरी यादें अब भी हैं
      widgets native की तरह behave नहीं करते थे, इसलिए अलग से दिखते थे; Firefox में keyboard focus की समस्याएँ लगातार बनी रहती थीं; video acceleration शायद ठीक से काम नहीं करती थी, इसलिए battery बहुत खाती थी. persistent cookies जैसे privacy nightmare भी थे, जिन्हें हटाने के लिए Adobe का Flash app खोलना पड़ता था, और permissions handling भी host system या browser को नज़रअंदाज़ करती थी
      लगभग हमेशा बने रहने वाली security और stability समस्याएँ भी भुलाना मुश्किल है. व्यक्तिगत रूप से मुझे खुशी है कि Flash खत्म हो गया
      Flash desktop पर भी खास अच्छा नहीं था, लेकिन जब mobile महत्वपूर्ण हो रहा था, तब mobile पर यह उससे भी कहीं ज़्यादा खराब था, इसलिए यह मरा
    • Flash अच्छा नहीं था. यह accessibility के लिए खराब था, बंद था, धीमा था, और ads ठूँसने का साधन था
      animation बनाई जा सकती थी, लेकिन उस समय हममें से अधिकांश को उसकी ज़रूरत या इच्छा नहीं थी
      Flash को पसंद करने वाले मुख्यतः marketing departments, game developer बनना चाहने वाले लोग, और वे teenagers थे जो वे games खेलते थे
    • अगर Flash का support end न हुआ होता, तो Ruffle जैसे projects को अभी भी व्यापक रूप से इस्तेमाल होने वाले proprietary runtime की बराबरी करने की कठिन चुनौती झेलनी पड़ती
    • Adobe ने हार मानी थी, लेकिन वास्तव में इसे मारा Apple ने, जिसने iOS पर support नहीं दिया
    • जब यह मरा था तब मुझे याद है कि मैंने जश्न मनाया था, लेकिन पीछे मुड़कर देखूँ तो यह इतना बुरा भी नहीं था
      कम-से-कम developer के नज़रिए से, एक single-vendor battery-included SDK के साथ काम करना इस node_modules वाले cancer से कहीं बेहतर है
  • विषय से हटकर, लेकिन अगर यहाँ Adobe Fastly account तक पहुँच रखने वाला कोई Adobe कर्मचारी है, तो शायद उसे Fastly configuration देखनी चाहिए

अगर पुराने blogs.adobe.com लेख पर जाएँ, तो अभी ऐसी live error दिखाई देती है:
Fastly error: unknown domain: blogs.adobe.com. Please check that this domain has
been added to a service.
यह error इस URL से आई है: https://blogs.adobe.com/asset/2012/06/inside-flash-player-pr...

  • जब मैं छात्र था, तब मुझे याद है कि मैं GNU Gnash के AS2 और AS3 support देने की कोशिश को फॉलो करता था
    इसमें कई साल लगे, लेकिन आखिर में यह सिर्फ आंशिक रूप से ही काम कर पाया। उस समय Flash अब भी ब्राउज़र में दबदबा रखता था, फिर भी Gnash के खत्म होने तक कोई भी इसे ठीक से port नहीं कर पाया
    सोचता हूँ Ruffle ने इसे इतनी जल्दी काम करने लायक कैसे बना लिया
    • संभव है कि GNU की तरह license को लेकर यह अत्यधिक सख्त नहीं था