Linux के शुरुआती दौर (2023)
(lwn.net)- 1988 में University of Helsinki में मिले Lars Wirzenius और Linus Torvalds ने साथ में Unix सर्वर और Usenet का अनुभव किया, जिससे उस ऑपरेटिंग सिस्टम की खोज की शुरुआत हुई जो आगे चलकर Linux बना
- 1991 में Linus ने 386 PC और MINIX खरीदने के बाद जो multitasking प्रयोग शुरू किया, वह स्क्रीन पर बारी-बारी से
AऔरBदिखाने वाले एक छोटे प्रोग्राम से बढ़कर Linux kernel बन गया - शुरुआती kernel ने keyboard और serial port drivers, VT100 emulation, modem access, file permissions और virtual memory जोड़ते हुए खुद को वास्तव में इस्तेमाल किए जा सकने वाले ऑपरेटिंग सिस्टम के करीब ला दिया
- 1991 में comp.os.minix पर सार्वजनिक घोषणा और ftp.funet.fi पर upload, 1992 में GNU GPL अपनाना, X11 porting और SLS का आना, तथा 1994 में Linux 1.0 release—ये शुरुआती विस्तार के अहम मोड़ बने
- 1991 में “बड़ा और professional नहीं होगा” जैसी बात के उलट, 2023 तक Linux अरबों devices, सभी महाद्वीपों और महासागरों, orbit और Mars तक अपना execution दायरा फैला चुका था
Helsinki से शुरू हुआ रिश्ता और Unix अनुभव
- Lars Wirzenius ने 1988 की शरद ऋतु में University of Helsinki के computer science course में दाखिला लिया और उसी साल Swedish-speaking नए छात्र Linus Torvalds से मिले
- पहले साल के अंत में Unix server access मिलने के बाद,
rmकी जगह गलती सेrnटाइप करते हुए उन्होंने संयोग से Usenet reader खोज लिया - Wirzenius ने Linus को Usenet के बारे में बताया और दोनों ने इसे explore करने में काफी समय लगाया
- 1990 की शरद ऋतु में military service के बाद पढ़ाई में लौटे दोनों ने C और Unix programming course लिए, और Unix kernel architecture की theory भी साथ में सीखी
- इसी दौरान उन्होंने QNX, Plan 9 जैसे ऑपरेटिंग सिस्टम kernels पढ़े और operating system design पर चर्चा की
386 PC और पहला kernel प्रयोग
- जनवरी 1991 में Linus ने parts assemble करके बना PC खरीदा
- CPU उस समय अपेक्षाकृत high-end 386 था
- RAM 4MB थी
- Hard drive शामिल थी
- Multitasking explore करने के लिए 386 की जरूरत थी, और चूंकि वे पहले 32-bit Motorola 68008 CPU वाले Sinclair QL का इस्तेमाल कर चुके थे, इसलिए उन्होंने 16-bit 286 नहीं चुना
- शुरुआती कुछ महीनों में उन्होंने Prince of Persia game पर बहुत समय लगाया, और बाद में घर पर भी Unix जैसा environment इस्तेमाल करने के लिए MINIX खरीदा
- Game खत्म करने के बाद उन्होंने Intel assembly language सीखना शुरू किया, और एक दिन ऐसा multitasking program दिखाया जिसमें एक task स्क्रीन पर
Aऔर दूसरा taskBoutput करता था - यही छोटा program बाद में Linux kernel के नाम से पहचाने जाने वाले पहले version में बदल गया
शुरुआती kernel features और नाम का बदलना
- Linus ने program को expand करते हुए इसका अधिकांश हिस्सा C में लिखना शुरू किया
- 1991 के late spring में Wirzenius ने Linus के लिए C के sprintf() का implementation लिखा
- वजह यह थी कि Linus ने अभी variable argument list वाली functions लिखना नहीं सीखा था
- इस code का core आज भी current kernel के snprintf() में मौजूद है
- शुरुआती kernel समय के साथ वास्तविक उपयोग के लिए जरूरी features हासिल करता गया
- keyboard driver
- serial port driver
- screen के लिए VT100 terminal escape sequence emulation
- modem से university में dial करके घर से Usenet पढ़ने की क्षमता
- Linus ने गलती से hard drive का इस्तेमाल करके university को call करने की कोशिश की, जिससे master boot sector
ATDTऔर university modem pool के phone number से शुरू होने लगा - इस दुर्घटना के बाद kernel में file permissions implement किए गए
सार्वजनिक घोषणा और GPL अपनाना
- अगस्त 1991 में Linus ने comp.os.minix newsgroup में पहली बार सार्वजनिक रूप से नए kernel का उल्लेख किया
- उस समय की wording में “free operating system बना रहा हूं”, “सिर्फ hobby”, “gnu जैसा बड़ा और professional नहीं होगा” जैसी अभिव्यक्तियां शामिल थीं
- System का शुरुआती नाम Freax था
- कुछ हफ्तों बाद Linus ने ftp.funet.fi administrators में से एक Ari Lemmke से पहला tar archive upload करने का अनुरोध किया, और Ari ने Linux नाम चुना
- शुरुआती version में मूल नाम एक source file में बचा हुआ है
- लोग नए system को आज़माना चाहते थे, इसलिए installation method और instructions की जरूरत पड़ी
- Linus के पास केवल एक PC था और वे अपनी Minix installation के ऊपर Linux develop करते आए थे, इसलिए उनके पास वास्तविक installation experience नहीं था
- Wirzenius का PC वह पहला PC बना जिस पर Linux install हुआ
- शुरुआती Linux releases का license commercial use को रोकता था
- कुछ शुरुआती contributors ने इसे free software license में बदलने का सुझाव दिया
- 1991 की शरद ऋतु में Richard Stallman ने Finland का दौरा किया, और Wirzenius Linus को Stallman के lecture में ले गए
- Contributors के दबाव, Stallman के lecture और Wirzenius के समझाने—इन सबके मिलकर असर से Linus ने 1992 की शुरुआत में GNU GPL चुना
- Christmas holiday के दौरान Linus ने Linux में virtual memory implement की, जिससे कम memory वाली सस्ती machines पर भी Linux कहीं ज्यादा practical तरीके से चलने लगा
1992: बहस, desktop, distributions
- 1992 की शुरुआत Andrew Tanenbaum के साथ प्रसिद्ध debate से हुई
- Tanenbaum MINIX के author और university professor थे, और उन्होंने Linux और उसके architecture पर राय दी
- Linus ने भी MINIX पर अपनी राय दी
- इस debate को flame war कहा गया, लेकिन पीछे मुड़कर देखें तो यह काफी शालीन थी
- Linux की भविष्य की सफलता के लिए ज्यादा महत्वपूर्ण घटना X11 का Linux पर port होना था, और 1992 Linux desktop का साल बन गया
- Wirzenius ने kernel के बजाय community side में योगदान देने का फैसला किया और सवालों के जवाब तथा documentation में मदद की
- उन्होंने थोड़े समय तक चलने वाला Linux newsletter भी बनाया, जिसमें Linus का पहला interview छपा
- यह newsletter व्यावहारिक रूप से comp.os.linux.announce newsgroup से replace हो गया
- 1992 में पहला Linux distribution Softlanding Linux System, यानी SLS, शुरू हुआ
- अगले साल SLS से Slackware निकला, और Slackware ने Ian Murdock को 1993 में Debian शुरू करने में प्रभावित किया
- Debian को अधिक community-based development structure explore करने के लिए शुरू किया गया
University office, networking और porting
- 1993 में Linus और Wirzenius university teaching assistants के रूप में नियुक्त हुए और एक office share करने लगे
- Office में एक PC था और Linus ने उसे Linux development के लिए इस्तेमाल किया
- एक दिन Linus को लगा कि PC slow है, इसलिए उन्होंने speed के लिए Linux kernel command-line parser को assembly language में फिर से लिखा
- बाद में portability के लिए यह C में फिर से लिखा गया
- Parser की speed महत्वपूर्ण नहीं थी
- कुछ साल बाद Linus ने कई दिनों तक Quake खेला, जिसका नाममात्र उद्देश्य kernel memory management stress test था
- किसी समय से Linux ने Ethernet और TCP/IP support करना शुरू किया
- इससे modem के बिना Usenet पढ़ना संभव हो गया
- शुरुआती Linux networking code scratch से लिखा गया था और उसमें कुछ खुरदुरापन था
- एक समय Linux ने broken packets भेजे जिससे network की सभी Sun machines रुक गईं, और चूंकि Sun kernel को ठीक करना मुश्किल था, इसलिए Linux bug ठीक होने तक university network पर Linux use प्रतिबंधित कर दिया गया
Linux 1.0 और उसके बाद का विस्तार
- 1994 के spring में लगा कि Linux पूरा हो गया है, और version 1.0 release करने का फैसला हुआ
- उस समय Linux खुद को compile कर सकता था, Usenet पढ़ सकता था और
xeyesprogram की कई copies एक साथ चला सकता था - Release event आयोजित हुआ, जिसमें Finnish computer press और TV station की filming team शामिल हुई
- Event का अधिकांश हिस्सा इस तरह चला कि background में Linux 1.0 को जानबूझकर compile किया जा रहा था और Linus व अन्य लोग बता रहे थे कि Linux क्या है और किस काम का है
- Linus ने कहा कि PC के लिए commercial Unix बहुत महंगा था, इसलिए उसे खुद लिखना ज्यादा आसान था
- 1995 में Linus और Wirzenius ने university software engineering course लिया और बड़े practice project को Linux पर किया
- Wirzenius ने CVS इस्तेमाल करने की मांग की
- वजह यह थी कि उन्होंने पहले के छात्रों को NFS shared source tree में “मैं यह file edit कर रहा हूं” चिल्लाकर version control करते देखा था
- इस अनुभव के कारण Linus को CVS से नफरत हो गई, और कई वर्षों तक उन्होंने FTP site पर tarball डालने से आगे किसी version control को स्वीकार नहीं किया
- उसी साल Linus को DEC Alpha machine मिली और उन्होंने पहली बार Linux को एक नए architecture पर port किया
- दूसरों ने भी Linux को अन्य architectures पर port किया
- 1997 में Linus graduation के बाद अमेरिका चले गए और Transmeta में नौकरी की
“Hobby” से global system तक
- इसके बाद भी Linux में कुछ missing features थे, और लोग उन्हें लगातार develop करते रहे
- “open source” शब्द गढ़ा गया, और IBM ने Linux development में काफी पैसा लगाया
- Netscape ने web browser version को open source के रूप में जारी किया
- LWN ने अपनी शुरुआत के बाद से इस इतिहास के बड़े हिस्से को weekly basis पर cover किया
- 1991 में Linus ने लिखा था कि Linux “gnu जैसा बड़ा और professional नहीं होगा”, लेकिन 2023 तक Linux सभी महाद्वीपों और सभी महासागरों, अरबों devices, orbit और Mars पर चल रहा था
1 टिप्पणियां
Hacker News की रायें
दिलचस्प है। मैंने 1992 में Linux 0.98 से इस्तेमाल शुरू किया था
मॉडेम से कई bulletin boards में कनेक्ट होते हुए फोन नंबर डायल करते फिरना बिल्कुल "WarGames" के मुख्य किरदार जैसा लगता था
पहली बार
pppइस्तेमाल करके असली इंटरनेट से जुड़ने वाला दिन भी अब तक याद है। कई कोशिशों और गलतियों के बाद मैंनेwww.linux.orgकोpingभेजा, और जब host name resolve हुआ और response वापस आया, तो कुछ देर तक बोल ही नहीं पाया और बस “वाह” कह सकाउस समय multi-user shell machines काफी आम थीं, और शुरुआती ISPs में से कुछ इसी तरह इंटरनेट access देते थे
मैं Internet Access Cincinnati नाम के ISP का इस्तेमाल करता था, जो हर user को SunOS (Solaris से पहले) चलाने वाले Sun Sparc 10 का shell देता था। POP email और web से access किया जा सकने वाला
~usernamehome folder भी मिला थाअजीब है कि Linux इस दुनिया में इकलौती स्थिर रूप से भरोसा की जा सकने वाली चीज़ बन गया है। इसे चालू करें तो पता होता है कि समय के साथ यह किसी बुरी मंशा के बिना बेहतर ही होगा
इस लिहाज से Linux राहत की सांस जैसा है। toaster को बस bread toast करनी चाहिए। मैं नहीं चाहता कि वह मुझे यह भी बताए कि कौन-सी bread खरीदनी है
शायद यह उस WinModem से हुई trauma और paranoia थी, जिसके कभी चलने की उम्मीद ही नहीं लगती थी
लेकिन 2000 के शुरुआती वर्षों के आसपास दुनिया बदल गई, मानो नया hardware—चाहे second-hand Zip drive हो या webcam—Linux support कर ही लेगा, ऐसा मानने लगे
आज भी मैं कोई random motherboard या hardware toy बेझिझक खरीद लेता हूं और आम तौर पर सोचता हूं कि यह चल जाएगा। अब तक किस्मत अच्छी रही है, लेकिन इसका बड़ा श्रेय driver developers को जाता है
kernel में सिर्फ एक बार pull request भेजकर किसी खास SD card type को पहचानने वाला magic number जोड़ने वाले developers जैसे लोग सबके लिए बड़ा फायदा कर देते हैं
यह कुछ वैसा ही है जैसे युद्धोत्तर civil society, economy और diplomacy का विकास मानव इतिहास में अपवाद था
यह मान लेना खतरनाक है कि आज की वास्तविकता बिना सुरक्षा या लगातार रखरखाव के हमेशा चलती रहेगी
उनके retire होने के बाद भी यह बेहतर होते रहने की trajectory बनाए रखेगा या नहीं, यह कहना मुश्किल है
इस खास मामले में tragedy of the commons उल्टा काम करती लगती है
इस तरह की सामाजिक-आर्थिक dynamics और game theory का अध्ययन करके इसे reproduce करने की कोशिश करनी चाहिए। किसी को इस पर game theory की PhD thesis लिखनी चाहिए कि Linux कैसे “tragedy of the commons नहीं” को लागू करता है
मैं इतना युवा हूं कि Linux के बिना दुनिया का अनुभव कभी नहीं किया, लेकिन Linux के जन्म के समय के इतना करीब हूं कि उससे जुड़े काफी लोग अब भी जीवित हैं—यह अजीब एहसास है
मेरे professional जीवन का ज्यादातर हिस्सा किसी न किसी तरह Linux के इर्द-गिर्द घूमता रहा है, और लगभग 12 साल की उम्र से पूरी जिंदगी भी। मेरे जीवन पर इसके प्रभाव को सोचूं तो यह काफी हैरान करने वाला है
Claude Shannon 2001, Edsger Dijkstra 2012, John McCarthy 2011, Niklaus Wirth 2024, Konrad Zuse 1995, Alonzo Church 1995, Jim Gray 2007/2012, Grace Hopper 1992
Alan Turing की हत्या न हुई होती तो वे भी मेरे जीवनकाल में जीवित हो सकते थे
Friedrich L. Baur, जिनका 2015 में निधन हुआ, मेरे विश्वविद्यालय में अब भी office रखते थे; मैं अक्सर उसके सामने से गुजरता और nameplate देखकर सोचता कि क्या यह सच है
सौभाग्य से Donald Knuth अब भी हमारे साथ हैं
https://www.youtube.com/watch?v=x7ozaFbqg00
“और इससे भी अहम, X11 system के Linux पर port हो जाने से 1992 Linux desktop का साल बन गया” — तो आखिरकार Linux desktop का साल पक्का हो गया :)
अच्छा लेख है
Linux के शुरुआती दिन अच्छी तरह याद हैं। 90 के दशक के मध्य में University of Waterloo में इसमें काफी रुचि थी, लेकिन installation की समस्याओं या कुछ systems पर इसे स्थिर रूप से चलाने की समस्याओं पर भी बहुत चर्चा होती थी
उस समय किसी भी operating system के लिए यह कोई दुर्लभ बात नहीं थी, लेकिन वह दौर था जब खुद kernel compile करना पड़ता था और XFree86 से जूझना पड़ता था
Red Hat जैसी distributions ने थोड़े ही समय में ऐसी चिंताएं काफी कम कर दीं और कुल मिलाकर इसे बहुत आसान बना दिया। documentation भी शानदार था
1990 के दशक के आखिर तक university में Red Hat, Solaris, AIX, IRIX जितना आम हो गया था, लेकिन फिर भी ज्यादातर लोग उसे Solaris से कमतर मानते थे। अब RHEL वहां इस्तेमाल होने वाला मुख्य *nix system है, और कुछ लोग Debian इस्तेमाल करते हैं
उस समय commercial Unix से जुड़ने लायक मेरी उम्र नहीं थी, लेकिन पीछे मुड़कर देखने पर भी लगता है कि Red Hat बहुत साफ जानता था कि वह किसे target कर रहा है
आज सीखा: Linus स्वीडिश बोलने वाले फ़िनिश नागरिक हैं, और ऐसा समुदाय सच में मौजूद है
यह आवाज़ 1994 से मेरे दिमाग में लगातार घूमती रही है
[https://en.wikipedia.org/wiki/File:Linus-linux.ogg](https://en.wikipedia.org/wiki/File:Linus-linux.ogg)
linus.auनाम की फ़ाइल थी.oggतब अभी मौजूद नहीं था, इसलिए शायद वही original रहा होगा, और एक गैर-अंग्रेज़ी version भी था (शायद फ़िनिश?)अच्छा है कि किसी तरह बच गया
साथ में पढ़ने लायक किताब: Just for Fun
https://www.amazon.com/Just-Fun-Story-Accidental-Revolutiona...
ज़िंदगी के ज़्यादातर हिस्से में ऐसी तकनीकी उपलब्धियां पहुंच से बाहर प्रतिभाशाली लोगों का काम लगती थीं
लेकिन यह कहानी पढ़ने के बाद, एक-दूसरे की खोजबीन को सहारा देने वाली लंबी अवधि की दोस्ती और आर्थिक-सामाजिक स्थिरता का मूल्य भी अच्छी तरह सामने आता है
Linux के शुरुआती दिनों के बारे में सोचते समय अक्सर उसके competitors याद आते हैं। लेख में कहा गया है कि “commercial Unix इतना महंगा था कि खुद इस्तेमाल करने लायक कुछ बनाना आसान था”, और कुल मिलाकर यह सही है
लेकिन Coherent Unix भी था। याद है उस समय magazines के back cover पर पूरे पेज के विज्ञापन में यह 99 डॉलर में बिकता था। खरीदूं या नहीं, इस पर हमेशा सोचता रहता था
Coherent की बड़ी कमियों में से एक networking का न होना था। फिर Linux आया, और हैरान कर देने वाले कम समय में Linux ने Coherent को पीछे छोड़ दिया, और Coherent ऐसा लगा जैसे रातों-रात गायब हो गया
https://en.wikipedia.org/wiki/Coherent_(operating_system)
उसमें लिखा है कि “Coherent Unix की जड़ों के प्रति वफ़ादार रहता है, और local area networking, graphical user interface, menus, mouse, और आज DOS users व Unix users modern software से जिन कई सुविधाओं की उम्मीद करते हैं, उनसे बचता है”
आगे कहा गया है कि “Coherent से Unix सीखने का रास्ता ऊबड़-खाबड़ होगा” और “Coherent से छोटे business को automate करना भी व्यावहारिक नहीं है”
Coherent closed source था, इसलिए Linux की तरह कोई अधूरा system लेकर उसके सुधार में हिस्सा नहीं ले सकता था। शुरुआती Linux ने लोगों को इसलिए आकर्षित नहीं किया कि उस समय Linux बहुत शानदार था, बल्कि इसलिए कि लोगों को ऐसा काम पसंद था
99 डॉलर आज की कीमत में लगभग 230 डॉलर हैं। पता है कि पहले software कुल मिलाकर ज़्यादा महंगा था, लेकिन खिलौने की तरह आज़माने लायक एक bare-bones operating system के लिए 230 डॉलर सिर्फ़ Enterprise Unix™® की कीमत की तुलना में ही “सस्ता” था
[1]: https://books.google.ie/books?id=JZxkO0PpksUC&pg=PT61&redir_...
kermitसे अपने काम की Sun system को call करता था, फिर उसे वापस मुझे call करने देता था ताकि call charges से बच सकूंइसी तरह मुझे USENET और सामान्य internet access मिला। मज़ेदार दिन थे। अफ़सोस है कि company बंद हो गई, लेकिन सच कहूं तो 1995 के आसपास दिशा पहले ही साफ़ हो चुकी थी
बंद होने के बाद मैं Slackware पर चला गया, और आज भी वही इस्तेमाल करता हूं। उस समय Linux लगभग रोज़ बदल रहा था
Coherent में एक feature था जो Linux नहीं कर पाता था; USENET पर पूछा तो कुछ ही दिनों में किसी ने patch दे दिया। यह 386sx पर monochrome card और VGA card के साथ 2 monitors इस्तेमाल कराने वाला patch था, और वही करता था जो Coherent करता था
2000s में Fortune 500 कंपनियों के आने से पहले लोग कहीं ज़्यादा approachable थे
386BSD की पहली release 1992 में थी, तो यहां बात करीब 1-2 साल की छोटी window की है। बेशक FreeBSD और NetBSD भी जल्द ही वहीं से अलग होकर निकले
[1] https://en.wikipedia.org/wiki/386BSD
[2] https://www.antman.se/abc-klubben/linux/linuxdoc/linus.html
[1] https://en.wikipedia.org/wiki/Interactive_Systems_Corporatio...
startxसे अपने computer पर Unix जैसा environment खुलना वाकई कमाल थाFreeBSD मुझे Linux से बेहतर लगता था, लेकिन कई और मामलों की तरह app availability ने मुकाबला तय कर दिया
2003 में आई Linux पर एक बेहतरीन documentary है। नाम Revolution OS है और मैं इसे ज़ोरदार recommend करता हूं
https://www.youtube.com/watch?v=k0RYQVkQmWU