رای این که درک بهتری از شکل گیری نرم افزار متن باز داشته باشیم، بهتر است به نخستین روزهای تولید رایانه نگاهی بیندازیم. در آن روزها ارائه سخت افزارهایی که می توانست محاسبات زیادی را در مدت کوتاهی انجام دهد، شگفتی بسیاری برانگیخته بود اما فناوری ساخت قطعات رایانه بسیار پیچیده بود و تنها چند شرکت انگشت شمار رایانه تولید می کردند و مشتریان اصلی آنها هم شرکت های بزرگ و دانشگاه ها بودند.برخلاف امروز، در آن روزها عملا هیچ گونه استانداردی برای سخت افزارهای تولیدی وجود نداشت و همین ناسازگاری بین سخت افزارهای مختلف تولید شده سبب می شد نرم افزارهایی که برای یک سخت افزار تولید می شد، عملا روی سخت افزارهای دیگر کار نکند. بنابراین نرم افزارهای نصب شده روی یک رایانه، بخشی از کالای نهایی محسوب می شد و ارتقای نرم افزاری هنوز حتی یک ایده هم محسوب نمی شد. برای نمونه رایانه ای که به یک بانک فروخته می شد شامل سیستم عامل و نرم افزارهای مورد نیاز بانک بود و در عمل هیچ گونه هزینه اضافی برای ارائه آن به مشتری دریافت نمی شد.
سال ۱۹۶۹یک دادگاه در ایالات متحده، شرکت آی.بی.ام را به خاطر ارائه نرم افزارهای رایگان محکوم کرد. دادگاه بر این باور بود که اقدام این شرکت در عرضه رایگان نرم افزار روی سخت افزار، عرصه تجاری موجود را انحصاری کرده و جلوی رشد شرکت های دیگر در زمینه نوشتن نرم افزار را می گیرد. شرکت آی.بی.ام که در آن زمان اصلی ترین تولیدکننده نرم افزار و سخت افزار دنیا بود، روند ارائه نرم افزار رایگان به مشتریان خود را متوقف کرد و همین گام بظاهر کوچک، بازار نرم افزار را آن قدر رونق داد که خیلی زود تجارت نرم افزار از تجارت سخت افزار پیشی گرفت و استقبال از نرم افزارهای جدید سبب شد شرکت های نوپایی در زمینه طراحی و فروش نرم افزار به صورت مستقل شکل گیرد.
تولید و فروش نرم افزار

اما تجاری شدن نرم افزار با مشکلات فراوانی روبه رو بود. اولین موضوع شامل سادگی کپی کردن آنها بود. شرکت های تولید کننده نرم افزار برای این که فرآیند تولید خود را مقرون به صرفه کنند، مجبور به محدود کردن تعداد کاربران یک نرم افزار و وضع قوانین سفت و سخت کپی رایت شدند اما به رغم این تلاش ها، کپی های غیرقانونی نرم افزار به قدری زیاد بود که هزینه های تولید را بسختی تامین می کرد و خیلی زود تولید کنندگان نرم افزار مجبور شدند قیمت ها را افزایش دهند و این چرخه همچون گردابی فاصله تولید کنندگان و مصرف کنندگان را بیشتر و بیشتر می کرد.
اما همه اینها دربرابر نقص های متعدد نرم افزاری (در دنیای دیجیتال به نقص های نرم افزاری باگ می گویند) اصلا مهم نبود. باگ داشتن بخشی از طبیعت تولید نرم افزار است که گریزی از آن نیست اما نکته مهم تعهد و مسئولیت شرکت های تولید کننده نرم افزار در رفع این باگ ها و تلاش برای به روزرسانی نرم افزار است؛ موضوعی که اگر مورد توجه خاص شرکت نباشد، خیلی زود مشتریان خود را از دست خواهد داد اما این موضوع بشدت هزینه بردار است بویژه این که مشتریان، باگ را اشتباه تولید کننده قلمداد می کنند و دریافت رایگان نسخه رفع ایراد شده را حق خود می دانند. این یعنی هزینه دوباره و افزایش مجدد قیمت ها. با این حساب فقط شرکت هایی می توانستند در بازار نرم افزار باقی بمانند که به حد کافی بزرگ بوده، نیروی متخصص فراوانی داشته باشند. شرکت های کوچک و ایده های نو محکوم به شکست بودند، مگر این که از سوی غول های این صنعت خریداری می شدند.
این انحصار به مذاق بعضی نرم افزارنویسان خوش نمی آمد و این گونه بود که جنبش متن باز و نرم افزار آزاد شکل گرفت.
نرم افزار متن باز چیست

بر اساس قوانین استاندارد متن باز، پدیدآورندگان این نرم افزارها باید کدهای آن را به صورت رایگان دراختیار دیگر برنامه نویسان قرار دهند. به این ترتیب سایر برنامه نویسان این فرصت را می یابند تا کدهای بیشتری برای بهبود و توسعه نرم افزار مذکور بنویسند تا به رشد آن کمک کرده، اشکالات مختلف کارکردی یا امنیتی آن را برطرف کنند. البته قانون متن بازها می گوید نرم افزارهای تهیه شده بر مبنای یک نرم افزار متن باز یا خدمات مرتبط با آن الزامی به رایگان بودن ندارند. امروز بسیاری از نرم افزارهای کاربردی که روزانه از آنها استفاده می کنید، جایگزین های متن باز هم دارند. برای نمونه بسته OpenOffice.org رقیبی جدی برای نرم افزار آفیس مایکروسافت است.
همچنین سال هاست مرورگرهای فایرفاکس و کروم که هر دو متن باز هستند، از اینترنت اکسپلورر مایکروسافت پیشی گرفته اند.
درآمد برنامه نویسان نرم افزارهای متن باز از کجاست؟
باید توجه داشت متن باز بودن یک نرم افزار یا پروژه به این معنا نیست که پدیدآورندگان آن هیچ درآمدی از آن کسب نمی کنند. برنامه نویسان نرم افزارهای متن باز به شیوه های مختلفی می توانند از طرح ها و ایده های خود کسب درآمد کند. برخی راه ها عبارت است از:
فروش خدمات پشتیبانی

بسیاری از نرم افزارهای بسیار پیشرفته، متن باز هستند، اما به دلیل پیچیدگی هایی که دارند، حتی برای نصب آنها گاهی دانش فنی زیادی لازم است. به همین دلیل برخی کارشناسان برای نصب این نرم افزارها روی رایانه مشتریان خود هزینه دریافت می کنند. همچنین تعمیر و نگهداری سرورهایی که نرم افزارهای متن باز را میزبانی می کنند، نیازمند پرداخت هزینه است.
بسیاری از شرکت های ارائه کننده نرم افزارهای متن باز، خدمات پشتیبانی خود را در ازای دریافت مبلغی به مشتریان خود ارائه می دهند. دراین حالت، خدمات پس از فروش رایگان نیست و برخی شرکت ها می توانند با ارائه این خدمات کسب درآمد کنند . برای نمونه بسیاری از این شرکت ها، خدمات پس از فروش خود را در قالب پشتیبانی تلفنی یا پشتیبانی ایمیلی ارائه می کنند.
فروش افزونه ها

با این که نرم افزارهای متن باز ابتدا به صورت رایگان به مشتری ارائه می شوند، اما بسیاری از امکانات جانبی که می تواند سبب افزایش کارآمدی نرم افزار شود، رایگان نیست و مشتری باید در قبال آنها پول بپردازد. این امکانات جانبی را در اصطلاح افزونه می نامند. برای نمونه سیستم مدیریت محتوای وردپرس که امکانات بسیاری را برای ساخت وبلاگ و وبسایت در اختیار کاربر قرار می دهد، افزونه های تخصصی فراوانی نظیر قالب های حرفه ای یا امکانات مدیریتی را در ازای دریافت مبلغی اندک در اختیار کاربران قرار می دهد.
همچنین اندروید که یک سیستم عامل متن باز است این امکان را به بسیاری از برنامه نویسان در سراسر جهان می دهد تا نرم افزارهایی را که بر پایه این سیستم عامل می نویسند، به کاربران بفروشند.
فروش اسناد راهنما

همان طور که بسیاری از دستگاه ها و ماشین آلات مختلف با یک دفترچه راهنما به مشتری عرضه می شود تا کاربر بتواند نحوه درست نصب یا کاربرد آن را بیاموزد، نرم افزارها هم همراه اسناد فنی مختلفی عرضه می شوند. فروش اسناد فنی نرم افزارهای متن باز پیچیده و بزرگ که کارهای متعددی انجام می دهد، یکی دیگر از راه های کسب درآمد برنامه نویسان آزاد است. برای نمونه یکی از افزونه های فروشگاه ساز سیستم مدیریت محتوا وردپرس، Shopp نام دارد. این افزونه رایگان و متن باز است و هر کس می تواند براحتی آن را روی وبسایت خود نصب و فروشگاهی اینترنتی راه اندازی کند. اما برای داشتن سند راهنمای این افزونه باید مبلغ اندکی پرداخت. از آنجا که مدیریت این افزونه دارای پیچیدگی های بسیاری است، کاربران فراوانی این سند راهنما را خریده اند.
همچنین برخی دیگر از شرکت های تولید نرم افزارهای متن باز، اسناد راهنمای نرم افزار خود را همراه محصول خود به کاربر ارائه می کنند، اما پس از مدتی، راهنمایی بسیار کامل تر را در قالب یک کتاب کاغذی یا الکترونیکی که توضیحات شفاف تر و تصاویر گویاتر و بیشتری دارد به کاربران خود پیشنهاد می دهند.
فروش کدهای برنامه به زبان ماشین

همان طور که پیش ازاین گفته شد، یک نرم افزار را وقتی متن باز می نامند که کدهای آن به رایگان در اختیار همه کاربران قرار گیرد. اما یک نکته مهم در این میان وجود دارد، این که در برخی زبان های برنامه نویسی نظیرC++ ما نمی توانیم کدهای منبع را به صورت مستقیم اجرا کنیم. برای این کار ابتدا باید این کدها را به زبان ماشین کامپایل کرد. کدهای کامپایل شده برای زبان ماشین برای سیستم های عامل مختلف متفاوت هستند. از آنجا که درقوانین متن باز، ارائه رایگان کدهای کامپایل شده به زبان ماشین اجباری نیست، بسیاری از تولید کنندگان نرم افزارهای متن باز این کدهای کامپایل شده را به کاربران خود می فروشند.
مزایا و معایب نرم افزارها و پروژه های متن باز

برنامه های ایجاد شده طبق استاندارد متن باز نقاط قوت فراوانی دارد که سبب شده این برنامه ها امروزه از محبوبیت زیادی برخوردار شده و هر روز تعداد بیشتری از کاربران به استفاده از آنها روی آورند.
در هر پروژه متن باز،گروهی از برنامه نویسان از سراسر دنیا حضور دارندکه به برنامه نویسی و گسترش پروژه موجود کمک می کند. این مجموعه انسانی از برنامه نویسان را در اصطلاح جامعه برنامه نویسان می نامند. گستردگی جامعه برنامه نویسان سبب می شود نرم افزارهای متن باز تولید شده از قابلیت های بسیار گسترده ای برخوردار شوند و طیف وسیعی از نیازهای مختلف کاربران را تأمین کنند.
همچنین با این که بسیاری از خدمات ارائه شده مرتبط با یک نرم افزار متن باز رایگان نیست، اما طیف گسترده قابلیت هایی که به صورت رایگان در اختیار کاربران قرار می گیرد سبب می شود هزینه مالی نهایی برای استفاده از این نرم افزارها خیلی کمتر از نرم افزارهای تجاری باشد.
نکته دیگری که باید آن را یکی از مزایای نرم افزارهای متن باز دانست، ایجاد زمینه مشارکت افرادی از کشورهای مختلف در توسعه آن است. نرم افزارهای متن باز فرصت بی نظیری در اختیار بسیاری از برنامه نویسان بویژه در بسیاری از کشورهای در حال توسعه و حتی عقب مانده می گذارد تا از دانش خود در پیشبرد پروژه های بزرگ جهانی درآمد کسب کنند. به این ترتیب انحصار چند کشور خاص برای تولید نرم افزارهایی که رایانه های جهان را کنترل می کنند، برداشته می شود. هم اکنون تعداد زیادی از بدنه برنامه نویسان پروژه ها و نرم افزارهای متن باز از کشورهای در حال توسعه هستند.
نرم افزارهای متن باز همچنین سبب گسترش هرچه بیشتر کاربرد رایانه در کشورهای در حال توسعه شده است. قیمت بالای تهیه بسیاری از نرم افزارهای تجاری، مانعی جدی در گسترش استفاده از رایانه در زندگی طبقات پایین دستی جامعه محسوب می شود .در واقع می توان گفت پروژه های متن باز سبب ایجاد فرصت های برابر برای بهره گیری از فناوری های نوین شده است.
برای نمونه بسیاری از مدارس در کشورهای در حال توسعه ازسیستم های عامل و نرم افزارهای متن باز روی رایانه های مدارس خود استفاده می کنند تا با حذف قیمت سیستم عامل ویندوز یا مک و نرمک افزارهای مورد نیاز دانش آموزان، هزینه نهایی تجهیز مدارس به رایانه را قابل توجیه کنند. با وجود مزایای زیادی که متن باز بودن یک نرم افزار برای برنامه نویسان و کاربران آن به همراه دارد، معایبی نیز وجود دارد که بد نیست نگاهی به برخی از آنها بیندازیم.
یکی از مهم ترین ایرادهایی که به پروژه های متن باز وارد می شود، رها شدن بسیاری از این پروژه ها در میانه راه است. برای نمونه بارها دیده شده یک پروژه متن باز به جامعه برنامه نویسان معرفی می شود و هزاران برنامه نویس برای کمک به بهبود آن وارد عمل می شوند، اما پس از مدتی و دلیلی نامعلوم انگیزه خود را از دست می دهند و کل پروژه به حال خود رها می شود. متأسفانه بسیاری از پروژه های متن باز به همین دلیل نتوانستند آن گونه که باید و شاید به سرانجام برسند.
همچنین بسیاری از اوقات پروژه های متن باز بدون اعلام عمومی شروع می شوند همین موضوع موجب موازی کاری بین برنامه نویسان مختلف می شود. افزون بر این، نبود اطلاع رسانی درست و شفاف در مورد میزان پیشرفت پروژه از دیگر اشکالاتی است که در بسیاری از پروژه های متن باز دیده می شود .
برخی پروژه های متن باز با حمایت نهادها و سازمان های خاصی آغاز می شود. همچنین راه های مختلفی برای جمع آوری کمک های نقدی در سراسر دنیا برای آغاز به کار یک پروژه متن باز وجود دارد. با این حال برخی پروژه های متن باز فاقد پشتیبانی مالی بوده و همین مساله سبب می شود به دلیل مدیریت نادرست، برخی از این پروژه ها در میانه راه رها شود و به سرانجام نرسند.
جایگزین آفیس مایکروسافت

نرم افزار متن باز OpenOffice.org که گاهی با عنوان اختصاریOOo نیز شناخته می شود، یکی از مهم ترین پروژه های نرم افزاری متن باز در دنیاست. هدف از طراحی این نرم افزار، پاسخگویی به نیاز روزافزون کاربران در سراسر دنیا برای تهیه اسناد دیجیتال بوده است. این نرم افزار را باید رقیب جدی بسته نرم افزاری آفیس مایکروسافت دانست.
این نرم افزار متن باز قابلیت های بسیاری دارد و جامعه گسترده برنامه نویسان آن سبب شده روز به روز برحجم قابلیت های آن افزوده شود. اُپن آفیس قابلیت نصب روی ویندوز و مکینتاش را دارد و البته در بسیاری نسخه های لینوکس به صورت پیشفرض نصب شده است. این نرم افزار تاکنون به زبان های مختلفی از جمله فارسی ترجمه شده و ده ها میلیون کاربر در سراسر جهان از آن استفاده می کنند.