نرمافزارآزاد
نرمافزار آزاد درباره آزادی است، نه قیمت. برای درک بهتر باید به معنای آزاد در آزادی بیان فکر کنید، نه در آبجو مجانی.
نرمافزار آزاد در مورد آزادی کاربران برای اجرا، کپی، توزیع، بررسی، تغییر و بهبود دادن نرمافزار میباشد. بطور دقیقتر نرمافزار آزاد به چهار نوع آزادی برای کاربران یک نرمافزار اشاره میکند:
آزادی برای اجرای برنامه برای هر منظوری (آزادی ۰)
آزادی برای مطالعه و بررسی چگونگی عملکرد برنامه و تغییر آن برای نیاز خود (آزادی ۱). دسترسی به کد منبع یک پیششرط برای این آزادی میباشد.
آزادی برای توزیع مجدد کپیهایی از آن، بنابراین شما میتوانید به همسایگان خود کمک کنید (آزادی ۲)
آزادی برای بهبود برنامه و انتشار این تغییرات برای عموم، بنابراین تمام جامعه از آن بهره میبرند (آزادی ۳). دسترسی به کد منبع یک پیششرط برای این آزادی میباشد.
در صورتی برنامهای یک نرمافزار آزاد به شمار میآید که کاربران آن همه این آزادیها را داشته باشند. بنابراین شما باید برای توزیع مجدد کپیهایی از آن، خواه با اصلاحات و تغییرات و خواه بدون آن، خواه رایگان و خواه در ازای دریافت وجهی، برای هر شخصی و درهرجایی آزاد باشید. آزاد بودن برای انجام این کارها (در میان کارهای دیگر) به این معنی است که شما مجبور به درخواست و پرداخت هزینه برای مجوز نیستید.
شما همچنین باید این آزادی را داشته باشید تا در برنامه تغییراتی ایجاد کنید و حتی بدون اشاره به وجود آنها، از آنها بطور خصوصی و برای کار خود استفاده کنید. اگر هم تغییرات خود را منتشر کردید، نباید ملزم به اعلام آن به شخص خاص و یا به روش خاصی باشید.
آزادی برای استفاده از برنامه به معنای آزادی هر شخص و یا سازمانی برای استفاده از آن برنامه بر روی هر سیستم کامپیوتری، برای هر کاری، و بدون نیاز به هر گونه ارتباط بعدی با توسعهدهنده و یا هر نهاد خاصی میباشد. در این نوع آزادی، هدف کاربر اهمیت دارد نه هدف توسعهدهنده؛ شما به عنوان یک کاربر آزاد هستید تا برنامه را برای هدف خودتان استفاده نمایید، و اگر برنامه را به شخص دیگری نیز بدهید، او هم آزاد است تا برنامه را برای هدف خودش استفاده نماید، شما حق ندارید هدف خودتان را به وی تحمیل نمایید.
به همان دلایلی که نرمافزار باید آزاد باشد، و در عین حال به خاطر اینکه راهنماها جزئی از نرمافزارها هستند، راهنمای نرمافزارها نیز باید آزاد باشند. این استدلال در مورد دیگر فعالیتهایی که منجر به تولید نتایج کاربردی میشوند نیز منطقی به نظر میرسد. به عبارت بهتر، فعالیتهایی که دانش کاربردی ایجاد میکنند، مثل فعالیتهای آموزشی یا مورد ارجاع. ویکیپدیا بهترین نمونه شناختهشده است.
هر فعالیتی میتواند آزاد باشد، همانطور که تعریف نرمافزار آزاد برای تعریف فعالیتهای فرهنگی آزاد نیز بسط داده شده است.
گروه دیگری استفاده از عبارت متنباز برای رساندن مفهومی نزدیک به (و نه دقیقا) نرمافزار آزاد را شروع کردهاند. ما عبارت نرمافزار آزاد را ترجیح میدهیم، زیرا به محض شنیدن آزادی را به ذهن میآورد، نه قیمت را. واژه باز هیچگاه به آزادی منسوب نمیشود.
مجوزهای آزاد مورد تعریف بنیاد گنو:
GNU General Public License (GPL)
GNU Lesser General Public License (LGPL)
GNU Affero General Public License (AGPL)
GNU Free Documentation License (GFDL)
نرمافزارمتنباز
نرمافزار متنباز ( Open Source Software) به نرمافزارهایی میگویند که افراد میتوانند در کد منبع آنها تغییر ایجاد کرده و یا و یا باگ احتمالی آنها را رفع کنند. این یک شیوه توسعه نرمافزار است که میتواند هم برای نرمافزارهای آزاد و هم برای نرمافزارهای با مالکیت انحصاری و تجاری به کار رود. نرمافزارهای متنباز باید دارای ۱۰ تعریف زیر باشند:
توزیع مجدد آزاد
کد منبع
کار مشتقشده
نگهداری تمامیت کد منبع نویسنده اصلی نرمافزار
بین افراد و گروهها تبعیضی گذاشته نشود
هیچ تبعیضی در نوع استفاده از نرمافزار وجود نداشته باشد
توزیع اجازهنامه
اجازهنامه نباید مخصوص یک محصول باشد
اجازهنامه نباید نرمافزارهای دیگر را محدود کند
اجازهنامه باید از نظر تکنولوژی بیطرف باشد
تفاوت نرمافزارهای آزاد با نرمافزارهای متنباز
اگر با تعریف نرمافزارهای آزاد آشنا باشید، متوجه شدهاید که تعریف متنباز بسیار بسیار نزدیک به آزاد است، و شاید بتوان گفت اصول کلی آنها یکی است، تا جایی که پیدا کردن تفاوت ایندو به کاری مشکل بدل شده و باید نشست و به صورت دقیق متن پروانهها را بررسی کرد تا شاید در نهایت تفاوتهایی کوچک آنها مشخص شوند، اینجاست که این پرسش مطرح میگردد:
چرا برخی از طرفداران نرمافزارهای آزاد بشدت با متنباز مخالف هستند؟
پاسخ این پرسش در فلسفهٔ وجودی این دو جنبش نهفته است، جنبش نرمافزارهای آزاد اصل را بر آزادی گذاشته و برای رسیدن به این هدف هیچگونه انحصاری را نمیپذیرد، در حالی که متنبازها کمی با این انحصار کنار میآید و هدف را گسترش هر چه سریعتر نرمافزارهای متنباز و مقبول افتادن آن نزد عموم قرار دادهاند، تا جایی که در متون رسمی این پروانهها تقریبا حرفی از آزادی به میان نمیآید بلکه تنها بالا بردن قدرت و اطمینانپذیری این نرمافزارها هدف قرار گرفته است. و طبیعی است که کسانی که خواهان آزادی ناب هستند، با این رویه مخالفت کنند، و گاهی آن را تیشهزدن به ریشهی آزادی و خرابکردن ذائقهی مردم میبینند. نتیجهی این تفاوت دیدگاه، این شده که یک سری از پروانههای نرمافزار، که متنباز شناخته میشوند، آزاد شناخته نمیشوند، چراکه رگههایی از انحصار در آنها وجود دارد. از طرف دیگر شاهد پروانههای امآیتی، الجیپیال، بیاسدی و آپاچی هستیم که از پروانههای نرمافزارهای «آزاد و متنباز» هستند، یعنی با هر دو فلسفه انطباق داده شدهاند.
منبع : بخش اول کتاب آموزش شل اسکریپتینگ در حال تالیف در LinuxReview.ir :
http://wiki.linuxreview.ir/Shell-scripting-tutorial/chapter1#.D8.AA.D8.B9.D8.A7.D8.B1.DB.8C.D9.81