ریشههای متنباز بودن
برای پیدا کردن ریشهها و عوامل پیدایش نرمافزارهای متنباز، باید به عقب، به زمان آغاز پیدایش اینترنت، برگشت. قبل از ظهور اینترنت گروههای کاربران پراکندهای متولد میشدند و نتایج و یافتههای سخت افزاری و نرمافزاری جدیدی را، علیرغم کامپیوترهایی که با آنها کار میکردند، ردیابی مینمودند. USENIX مدتی بعد از آن پیدا شد و بلافاصله، تفاوت میان نرمافزار آزاد و خصوصی موضوع بحثها شد. نکتهی قابل توجه اینست که نرم افزار متنباز، هدایت شده و تمامی خطرات را گذرانده و حتی برخی از بهترین ابزارهای تولید و توسعه، مثل ویرایشگر UNIX در حال حاضر در منتهی درجهی شهرت خود میباشند.
بسیاری، تصور میکنند که “اینترنت” و “وب” یکی هستند. در واقع، “ARPANET” از 1969 شروع شد، در حالیکه “وب” در سال 1991 مطرح شد؛ اما همچنان از این دو مقوله به عنوان یک موضوع صحبت میشود. مشابهاً، افراد زیادی تصور میکنند که مفهوم متنباز بودن با Linux شروع شد، شاید هم با Emacs (محیطهای برنامه نویسی و ویرایشگرهای محبوب بسیاری از افراد)؛ اما، مشابه “وب”، منشاﺀ متنباز به خیلی پیشتر برمیگردد. در ادامه به بررسی ریشههای این قضیه پرداخته شده است. گروههای کاربران پراکنده، متصدیان مجموعهی تولیدکنندگان مرتبط و متصل امروزی، اوایل سال 1955 به وجود آمدند. همان هنگام که IBM محصول 704 خود را به بازار عرضه نمود. این محصول، طراحی مجدد قالب اصلی یک ماشین حساب تیوب-الکترونی و تکمیل شدهی محصول 701 این شرکت در سال 1952 بود. این انتقال از 701 به 704 به کاربران ماهیت بخشید و آنها را به میدان آورد. این جریان موضوع کم اهمیتی نبود. بسیاری از پیشرفتها در نرمافزار از همان زمان توسط Glenn Amdahl شروع شد. بعد از آن در آگوست 1955 بود که گروهی از متصدیان IBM در ساحل غربی گردهم آمدند و در مورد تعمیرات سختافزاری، مسایل نرمافزاری و راهحلهای ممکن، با تشویق IBM، به بحث پرداختند. اولین پروژهی آنها طراحی یک اسملبر برای 704 بود و این نقطهی عطفی برای آغاز مشارکت بود. در فاصلهی کمتر از یک دهه بعدتر، IBM در طراحی اولین کامپیوتر بزرگ، Mark I، ساخته هوارد آیکن در هاروارد کمک مالی نمود.
اعضای مشارکت تأیید زیادی داشتند که سخت افزار آنها به خوبی کار کند. تا آن موقع کسی به سازندگان و تولیدکنندگان نگفته بود که نرمافزار نیز مهم و با ارزش است. USENIX در 1974 ظهور کرد و موارد بحث برای اولین جلسهی آن شامل اشارات، مسایل، راهحلها و اشکالهای DEC بود. برای UNIX نیز به همین صورت جلسه تعیین شده بود. USENIX خودش را در مرحله انتقال از نرمافزار به نرمافزار باز میدید. امروزه USENIX به یکی از بزرگترین گروههای کاربری UNIX جهان توسعه یافته است.
چه موقع نرمافزارها آزاد نامیده میشوند؟
روزی روزگاری تمام نرمافزارها، باز بودند. برنامههای متنباز و اشتراک مشکلات و راهحلها با دیگران بسیار معمول بود. کمی بعدتر، حدود 20 سال قبل، فروشندگان به این نتیجه رسیدند که میتوانند از محدودکردن نرم افزار پول زیادی به دست بیاورند. در ژوین 1979 در جلسه USENIX در تورنتو AT&T پیشنهاد هنگفتی داد. از 1000$ تا 7500$ برای مؤسسات آموزشی، از $5000 تا $40000 برای مؤسسات تجاری و …
ویرایشگرهای یونیکس
علیرغم مطرح شدن ناگهانی صنعت نرمافزار به صورت مالی بیشتر نرمافزارها به تولید و توسعهی خود به صورت باز ادامه دادند. ویرایشگر UNIX یکی از این نمونهها است و به خوبی فرآیند متنباز بودن را مشخص میکند. ویرایشگر اولیه UNIX، ed بود. Ed یک ویرایشگر خطی با سبکی سخت و اکراهآمیز بود. وقتی که UNIX (نگارش 4)، در سال 1973، به کالج Queen Mary لندن آمد، پرفسور George Coulouris اشتیاقی به دیدن آن نشان نداد. از اینرو شخصاً، یک صفحهی ویرایشگر نوشت و نام آن را “em�? یا “ed for mortal�? (به معنی ed برای آدمیزاد!) نهاد. Coulouris به بر کلی رفت تا em را روی ماشین خود نصب کند. روزی توجه یک دانشجوی فارغ التحصیل به این ویرایشگر جلب شد و در مورد آن سؤالاتی پرسید؛ Coulouris نیز توضیحاتی داد. پس از آن در نیوجرسی به آزمایشگاههای Bell رفت و سپس به برکلی بازگشت. این دانشجو دریافت که em باید به ex، ویرایشگر پیشرفته و توسعه یافته ed تبدیل شود. ex، مقدمتاً، اولین ویرایشگری بود که قادر به نشان دادن عمل ویرایش بود.
اوایل سال 1978 اولین مجموعهی توزیع نرم افزار برکلی روی کار آمد. این مجموعه شامل یک نوار از سیستم پاسکال برکلی و ویرایشگر ex بود. دانشجوی فوق الذکر، Bill joy نام داشت. هزینه توزیع این نرمافزار 50$ بود. یک سال بعد برکلی ترمینالهای ADM-3a را روی کار آورد و joy، em را بازنویسی نمود. و به vi، یک ویرایشگر واقعاً Visual، تغییر نام داد. در مجموع ed ابتدا از آزمایشگاههای Bell در نیوجرسی بیرون آمد؛ به کالج کوین ماری در لندن رفت؛ از آنجا به دانشگاه کالیفرنیا در برکلی رفته و سپس به نیوجرسی برگشت؛ همان جایی که با ویرایش بعدی Unix یکی شد. ماجراهای Linux ، Perl ، Send mail و دیگر برنامههای کاربردی، که اخیراً شهرت زیادی یافتهاند، نیز مشابه ویرایشگر ed است.واضح است که در تمامی موارد فوق شرکتها مایلند کاربران را به سمت به اشتراک گذاشتن با دیگر کاربران هدایت کنند. بدون حمایت تولید کنندگان و توزیع کنندگان نرمافزار و حمایتهای آنها متصدیان، کاربران و برنامه نویسان، همگی، ناگریز از همکاری با یکدیگر هستند.
توزیعکنندگان نرمافزار برکلی، “Tape Swap” در Usenix در طول بیشتر از یک دهه و وجود CD های بیشمار امروزی، همگی، مانع از تحقق این مطلب شدهاند. عنصری که در فلسفهی Unix مهم است، اما با برنامه نویسی تجاری کاملاً بیگانه است این است که: ایجاد تغییرات در کرنل و برنامههای کاربردی و بازنویسی آنها همه توسط دو یا سه نفر نوشته شوند و نه یک تیم برنامه نویسی. اریک المن Send mail را نوشت. مایک لسک UUCP اصلی را نوشت (وحتی نگارش اواسط دهه 1980 آن ، HoneyDanBer توسط Peter Honeyman ، Dan nowitz و Brain Redman نوشته شد.) استو جانسون Yacc را طراحی کرد. بیل جوی Vi را و … . حتی زمانی Brian Kernighan اظهار کرده بود که AWK دشوارترین پروژهای بوده که او تا آن زمان روی آن کار کرده بود. چون تیمشان سه نفره، متشکل از Aho ، Weinberger و Kernighan، بوده است.
چرا، با این وجود، متنباز همچنان محبوبیت دارد؟
مدتی طول کشید تا مجموعه Usenix و تولید کنندگان نرمافزار متنباز به اینترنت نزدیک شده، با آن همگام شوند. در سال 1975، Steve Holmqren و همدانشگاهیانش در ایلینویز، Unix را در مرکز دید و توجه کاربران ARPANET قرار دادند و سعی در جلب توجه این کاربران داشتند. چند سال بعد، اینترنت روی Unix نیز اجرا میشد. شبکه بود که دانشجوی فنلاندی، Linus Torvalds، را قادر به فرستادن طرحها و کارهایش به، تقریبا،ً سراسر دنیا نمود؛ همچنین به دیگر برنامهنویسان این امکان را داد تا نتایج و بازخوردهای خود را در مجموعههای لینوکس، GNU، Perl و … مشارکت دهند. امروزه هزاران برنامهنویس در سراسر دنیا در برنامهها و سیستمهای بسیاری عالی و پیشرفتهای مشارکت دارند و یک سیستم خصوصی، که نتوان آن را اشکالزدایی کرد، ندارند.
شاید معمای جالبی باشد که چرا باند بزرگ برنامهنویسان سنتشکن بسیار مؤثرتر و کاراتر از تیمهای طراحی اغلب شرکتها کار میکنند. پاسخ واقعی در تفسیر و توضیح Brain Kernighan هکر نهفته است. در شرکتهای بزرگ “تیمها”ی بزرگی روی پروژهها کار میکنند. هزاران برنامهنویس هستند که روی 40 میلیون خط در برنامهی Office 2000 کار کردهاند، اما هر کسی که به کد این برنامه حتی نگاهی انداخته است میداند که بسیارسست و غیر سازماندهی شده است.
این موضوع به این علت است که یک تیم قسمت یا قسمتهایی از برنامه را مینویسد؛ تیم دیگر، خطوط جدیدی به انتهای این قسمت/قسمتها اضافه میکند؛ حتی ممکن است این قسمت/قسمتها را به انتهای کد خود اضافه کند. کسی هم نمیداند که همه چیز به مرور در حال تغییر، تبدیل و واژگونی است. این مطلب، حقیقتاً در مورد 40 میلیون خط صادق است. در حالیکه نرمافزارهای مدرن بینام و امضا هستند. نمیتوان Mik Cowlishaw را از روی اسم Rexx که نویسنده آن است تشخیص داد. در مورد Dos و ویندوز نیز همین طور. البته بسیاری میدانند که Unix را دو نفر به نامهای Ken Thompson و Dennis Ritchie خلق کردند؛ Bjarne Stroustrup، C++ را نوشت و پدر Perl نیز Harry Wall است.
از اینرو شاید دلیل واقعی اینکه نرمافزار متنباز اینقدر خوب کار میکند این باشد که نوشتن این برنامهها و نقد آنها توسط گروهی علاقهمند به نرمافزار، و نه صرفا مجبور به انجام آن، صورت میگیرد؛ اما این فرآیند نیز موانع و مشکلات خودش را دارد. یک شرکت در این فرآیند نمیتواند یک برنامه و جدول زمانبندی تنظیم کند. به عنوان نمونه مبانی نرمافزار آزاد HURD، شش سال بعد از اینکه آنها را بیان کرد منتشر شد؛ جالب این بود که در جدول زمانبندی برای Linux، فقط زمان خوردن نهار و شامش را گنجانده بود.
معهذا، منظور کلی این است که نرمافزار متنباز تابع نظریات مقطعی شرکتهای تبلیغاتی و سازمانهای بازاریابی نیست. چون وقتی که مؤسسهای از تجارت کنار بکشد، بالتبع تولیدات نرمافزاریاش نیز باید بیارزش شود. اگر اینطور باشد چه کسی از آنها پشتیبانی خواهد کرد؟ در نرمافزارهای باز، اگر مشکلی پیش بیاید، میتوان آن را در شبکه مطرح نمود. از این طریق مطمیناً پاسخهایی دریافت خواهد شد که میتواند در حل مشکل به فرد مورد نظر بسیار کمک کند. امروزه تقریباً تمامی نیازهای کاربران، در شبکه منتشر شده و باز است؛ و برای دریافت خیلی از این برنامهها نیاز به پرداخت هیچ هزینهای نیست.
نرمافزارهای آزاد و تجاری تقریباً در یک زمینه هم نظر شدهاند که: “این روزها اجازه ملاقات با Linus Torvald خیلی آسانتر از اجازه ملاقات با Bill Gates نیست.”
منبع:

