مقالات
نرم افزارهای آزاد
نرم افزار آزاد و لینوکس چیست؟ | اُرد بزرگ |
|
آنکه نصیحت پذیر نیست در حال سقوط در چاله ضعف و زبونی است . |
| نرم افزار آزاد و لینوکس چیست؟ |
|
|
| نویسنده رجبی | |||
| ۰۶ ارديبهشت ۱۳۸۷ | |||
|
تعریف نرم افزار آزاد
به بیان دقیقتر ،نرم افزار آزاد به چهار نوع آزادی(Freedom) برای کاربران یک نرم افزار اشاره می کند: برنامه ای آزاد است اگر کاربران آن همه این آزادیها را داشته باشند. بنابراین، شما باید آزاد باشید تا کپیها را با تغییر یا بدون تغییر، رایگان یا با دریافت وجهی برای توزیع، برای هرکس و هرجا مجددا توزیع کنید. آزاد بودن برای انجام این کارها (در میان مطالب دیگر) به این معنی است که شما مجبور نیستید از کسی اجازه بگیرید یا برای مجوز پولی پرداخت کنید. شما همچنین باید این آزادی را داشته باشید که در برنامه تغییراتی ایجاد کنید و آنها را به طور خصوصی در کار خود استفاده کنید. بدون این که حتی وجود آنها را متذکر شوید. اگر شما تغییراتتان را منتشر کنید، نباید مجبور باشید که شخص مخصوصی را به روش خاصی آگاه کنید. آزادی برای استفاده از یک برنامه به معنای آزادی برای هر شخص یا سازمان برای استفاده در هر نوع سیستم رایانهای، هر نوع کار، و بدون نیاز به ارتباط بعدی با توسعه دهنده یا هر نهاد خاص دیگر است. آزادی برای توزیع مجدد کپیها، باید شامل شکل دودویی یا اجرایی برنامه، همانند کد منبع (Source Code) باشد، چه برای نسخه تغییر یافته و چه برای نسخه بدون تغییر. (توزیع برنامهها در شکل اجرایی برای سیستم عاملهای آزادی که به راحتی نصب می شوند، الزامی است). اگر هیچ راهی برای تولید فرم اجرایی یا دودویی یک برنامه مشخص وجود نداشته باشد، مشکلی نیست.(چون برخی زبانها، این ویژگی را پشتیبانی نمیکنند)اما شما باید این آزادی راداشته باشید که اگر راهی برای برای تولید برنامه در این فرمها یافتید، آن را مجددا در حالت اجرایی و دودویی توزیع کنید. برای وجود آزادی به منظور ایجاد تغییر و انتشار نسخه های توسعه یافته، شما باید به کد منبع دسترسی داشته باشید. بنابراین، دسترسی به کد، شرطی اساسی برای نرم افزار آزاد است. به منظور واقعی بودن این آزادیها، آنها باید تا زمانی که شما کار خطایی انجام نداده اید، غیر قابل فسخ بمانند. اگر توسعه دهنده نرم افزار این قدرت را داشته باشد، که بدون انجام دادن کاری که موجب ابطال شود، مجوز نرمافزار را باطل کند، نرم افزار آزاد نیست. به هر حال،انواع خاصی از قوانین، در مورد نحوه توزیع نرم افزار آزاد، زمانی که آزادی ها اصلی را نقض نکنند، قابل قبول هستند. برای مثال، Copyleft (به زبان ساده) قانونی است که طی آن و در هنگام توزیع مجدد برنامه، شما نمی توانید محدودیتی برای رد آزادیهای اصلی کاربران قائل شوید. این قانون، نه تنها با آزادیهای اصلی منافاتی ندارد، بلکه آنها را نیز حفظ می کند. بنابراین، شما ممکن است برای برای دریافت نسخه های نرم افزار آزاد، پول پرداخت کرده باشید و یا ممکن است آنها را بی هیچ هزینهای گرفته باشید. اما بدون در نظر گرفتن این که شما چگونه نرم افزار را دریافت کردهاید، شما همیشه این آزادی رادارید، که نرم افزار را تکثیر کنید و یا تغییر بدهید، یا حتی آن را بفروشید. “نرم افزار آزاد ” به معنای “ غیر تجاری” نمیباشد، یک برنامه آزاد باید برای استفاده، توسعه و توزیع تجاری در دسترس باشد. توسعه تجاری یک برنامه آزاد دیگر غیر معمولی نیست، بلکه این گونه نرم افزارهای آزاد تجاری بسیار مهم هستند. قوانین مربوط به به چگونگی بسته کردن یک نسخه تغییر یافته هم اگر به طور موثر مانع آزادی شما برای منتشر کردن نسخه های تغییریافته نشود، قابل قبول است. قوانینی مانند “اگر شما برنامه به این روش قابل دسترس کنید،باید آن را به آن روش نیز قابل دسترس کنید“ هم می تواند با همان شرط قابل قبول باشد. (توجه داشته باشید که این قانون گزینه منتشر کردن یا نکردن برنامه را برای شما باقی می گذارد.) همچنین این قابل قبول است که اگر یک مجوز بخواهد هنگامی که نسخه تغییر یافته را منتشر کردید و توسعه دهنده قبلی یک نسخه از آن را در خواست کرد، باید برای او بفرستید. در پروژه گنو، ما از Copyleft برای حفاظت قانونی از این آزادیها برای اشخاص استفاده می کنیم. اما نرمافزارهای آزاد بدونCopyleft هم موجودند. ما اعتقاد داریم که دلایل مهمی وجود دارند که چرا استفاده از Copyleft بهتر است، اما اگر برنامه شما یک نرم افزار آزاد بدون کپی لفت است، ما همچنان می توانیم از آن استفاده کنیم. برای تشریح چگونگی ارتباط نرم افزار آزاد،نرم افزار Copyleft شده و دیگر موضوعات نرم افزار با هم، مقالات نرمافزار آزاد را ببینید. گاهی اوقات، مقررات کنترلی صادرات و مصوبات تجاری دولت،می توانند آزادی شما را برای توزیع بین المللی نسخههای برنامه، تحت الشعاع قرار دهند. توسعه دهندگان نرمافزار این قدرت را برای حذف یا زیر پا گذاشتن این محدودیت ها ندارند، اما کاری که میتوانند و باید انجام دهند، این است که از تحمیل کردن آنها به عنوان شرایط استفاده از برنامه خودداری کنند. بدین ترتیب، محدودیتها بر فعالیتها و مردمی که خارج از قلمرو این دولتها هستند، تاثیری نمی گذارند. بسیاری از لیسانسهای نرم افزار آزاد بر اساس کپی رایت(Copyright) بنا شده اند، و برای درخواستهایی که با کپی رایت تحمیل می شود، محدودیتهایی موجود است. اگر یک لیسانس مبتنی بر کپی رایت، آزادی را به شیوه هایی که در بالا تشریح شدند، محترم می شمرد، بعید است که مشکلات دیگری را که ما هرگز پیش بینی نمی کنیم، پیش بیاورد، (گرچه گه گاه این موارد صورت می گیرند) به هر حال، برخی از لیسانسهای نرم افزار آزاد بر پایه قراردادها(Contract) قرار دارند، و قراردادها طیف گسترده تری از محدودیتها تحمیل می کنند. این بدان معنی است که راههای بسیاری وجود دارند که یک لیسانس محدود و غیر آزاد باشد. ما نمی توانیم همه محدودیت های قرارداد را که قابل قبول نیستند، لیست کنیم. اگر یک مجوز مبتنی بر قرارداد کاربر را به روشی غیر عادی محدود کند (در حالی که مجوز مبتنی بر کپی رایت این چنین محدود نکند) و اینجا هم قانونی تلقی نشود، شما باید در مورد آن فکر کنید، و ما احتمالا آن را غیر آزاد می دانیم. هنگامی که در مورد نرم افزار آزاد صحبت می کنیم، بهتر است از به کار بردن کلماتی چون “هدیه دادن”(Give Away) یا “رایگان” (For Free) خودداری کنید. زیرا این اصطلاحات این معنی را می رسانند که موضوع در مورد قیمت است نه آزادی. کلمات مصطلحی چون “کپی غیر قانونی”(Piracy) نظراتی را القاء می کنند که ما امید واریم شما بر آنها صحه نگذارید. برای بحث در این مورد، “ کلمات و عبارات گیج کننده که اجتناب کردن از آنها با ارزش است” را ببینید. ما همچنین لیستی از ترجمه نرم افزار را به زبانهای مختلف داریم. در نهایت، ملاکهایی مانند آنها که در تعریف نرم افزار آزاد ذکر شده اند، برای تفسیر به توجه و فکر نیاز دارند. برای تصمیم در مورد این که آیا یک مجوز صلاحیت مجوز نرم افزار آزاد بودن را دارد، ما براساس همین ملاکها قضاوت می کنیم تا تعیین کنیم آیا علاوه بر کلمات و اصطلاحات استفاده شده، معنی و مفهوم آن نیز مناسب است یا نه. اگر در یک مجوز محدودیتی نا معقول وجود داشته باشد، ما آن را قبول نمی کنیم، حتی اگر آن محدودیتها را در این ملاکها پیش بینی نکرده باشیم. گاهی اوقات، درخواستهای یک مجوز موضوعی را به وجود می آورند که قبل از تایید آن نیاز به تحقیق و تفحص بیشتر (مانند بحث و تبادل نظر با یک وکیل) است. هنگامی که ما در مورد موضوعی جدید، به نتیجه دست پیدا می کنیم، این ملاکها را به روز می کنیم تا تعیین صلاحیت مجوزها را آسانتر کنیم. اگر شما علاقه دارید بدانید که یک مجوز صلاحیت مجوز های نرم افزار آزاد را دارد، لیست مجوزهای ما راببینید. اگر مجوزی که برای شما مهم است،اینجا ذکر نشده، شما می توانید با فرستادن ای میل به درباره آن بپرسید. اگر شما به فکر نوشتن یک مجوز هستید، لطفا با همان آدرس با FSF (بنیاد نرم افزار آزاد) تماس بگیرید. افزایش تعداد مجوزهای آزاد به معنی کار های انجام شده بیشتر برای کاربران به منظور درک مجوزهاست. ما ممکن است بتوانیم شما را در یافتن مجوزی که نیازهای شما را برآورده کند، یاری کنیم. اگر این امکان پذیر نباشد، و اگر شما واقعا به یک مجوز جدید نیاز دارید، با کمک ما میتوانید با اجتناب به وجود آمدن مشکلات عملی، بفهمید که آیا مجوز آزاد است یا نه! گروه دیگری استفاده کردن از عبارت “بازمتن” (OpenSource) را آغاز کرده اند تا مفهومی نزدیک(نه یکسان) به نرم افزار آزاد را داشته باشد. ما عبارت“نرم افزار آزاد” را ترجیح می دهیم، زیرا به محض این که این عبارت را بشنوید،به یاد آزادی می افتید نه قیمت!! گنو در آستانه ۲۰ سالگی۲۰ سال پیش در چنین روزی (پنجم ژانویه ۱۹۸۴) من شغل خود را در MIT رها کردم تا شروع به توسعه و ایجاد یک سیستم عامل رایگان کنم، گنو. با اینکه ما هرگز یک سیستم کامل گنو (GNU) مناسب برای محیطهای جدی کاری منتشر نکردیم، نسخهای از سیستم گنو اکنون توسط دها میلیون نفر از مردم که بیشتر آنها نمیدانند اینگونه است، استفاده میشود. واژه Free Software به معنای رایگان نیست، به این معنی است که کاربران آزاد هستند تا نرمافزار را اجرا کرده، کد منبع آنرا مطالعه نمایند، آنرا تغییر دهند و آنرا با یا بدون تغییر مجددا پخش کنند، چه به رایگان و چه در ازای دریافت وجه. امید من این بود که یک سیستمعامل آزاد راهی را برای آزادی همیشگی از انقیاد نرمافزارهای اختصاصی باز خواهد کرد. من زشتی راهی که نرمافزارهای غیر آزاد بر کاربران خود تحمیل میکنند را تجربه کردهام و تصمیم گرفتم تا خود را نجات دهم و به دیگران نیز راه نجاتی ارائه کنم. نرمافزارهای غیر آزاد همراه خود یک سیستم ضد اجتماعی دارند که از همکاری و حرکت جمعی جلوگیری میکند. عموما شما قادر نیستید تا کد منبع را ببینید، شما نمیتوانید بگویید که چه حیلههای کثیف و چه باگهای احمقانهای ممکن است داشته باشد. اگر آنرا دوست نداشته باشید، قادر نیستید آنرا تغییر دهید. بدتر از همه اینکه شما قادر نیستید آنرا با دیگران به اشتراک بگذارید. جلوگیری از اشتراک نرمافزار به معنی برداشتن تمام قیود اجتماعی است. امروز ما اجتماع بزرگی داریم که گنو، لینوکس و سایر نرمافزارهای آزاد را اجرا میکنند. هزاران نفر خواهان توسعه آن هستند و هدفشان متقاعد کردن کاربران بیشتری برای استفاده از «نرمافزار آزاد» است. ولی معنی استفاده از «نرمافزار آزاد» چیست؟ آیا معنی آن فرار از نرمافزارهای اختصاصی و یا صرفا نصب نرمافزارهای رایگان در کنار آن است؟ آیا شما قصد دارید تا مردم را بسوی آزادی رهبری کنید و یا فقط آنها را به کار ما آشنا کنید؟ به سخن دیگر، آیا ما برای آزادی کار میکنیم یا هدفمان را با هدف سطحی پر استفادهتر شدن عوض کردهایم؟ عادت کردن به خوی چشم پوشی از این تفاوت آسان است، زیرا در بسیاری از شرایط تفاوتی نمیکنند. هنگامی که شما سعی میکنید تا شخصی را متقاعد به آزمایش یک نرمافزار آزاد و یا نصب سیستمعامل گنو/لینوکس کنید، هریک از این اهداف از رفتار عملی یکسانی پیروی میکنند. هرچند، در سایر موارد این دو هدف الهام بخش اعمال بسیار متفاوتی هستند. برای مثال، ما چه باید بگوییم وقتی که یک راهانداز غیر آزاد منزجر کننده کارت گرافیکی، یک پیغمبر بانک اطلاعاتی غیر آزاد، یا مفسر غیر آزاد زبان اندونزیایی و کتابخانههای آن نسخهای مخصوص گنو/لینوکس منتشر میکنند؟ آیا باید از توسعه دهنده آن برای «پشتیبانی» از سیستم خودمان تشکر کنیم؟ و یا باید با آن مانند سایر نرمافزارهای غیر رایگان – یک آفت جذاب، وسوسهای برای پذیرش بندگی یا مشکلی که باید حل شود، برخورد کنیم؟ در صورتی که شما هدفتان را در افزایش استفاده از یک نرمافزار آزاد قرار دادهاید، در صورتی که تلاش میکنید تا مردم بیشتری را متقاعد به استفاده از نرمافزارهای آزاد نمایید، حتما فکر کردهاید که آن نرمافزارها برای رسیدن به این هدف مفید هستند. نزاع با این ادعا که موجودیت آنها به گسترش استفاده از گنو/لینوکس کمک میکند، بسیار دشوار است. در صورتی که هدف ما گسترش جهانی استفاده از گنو یا لینوکس باشد، بطور منطقی، ما باید تمام نرمافزارهایی که روی آن اجرا میشوند را تحسین کنیم چه آزاد و چه غیر آزاد. ولی در صورتی که هدف ما آزادی باشد، این همه چیز را تغییر میدهد. کاربران نمیتوانند آزاد باشند در حالی که از نرمافزارهای غیر آزاد استفاده میکنند. برای آزادی شهروندان دنیای مجازی، ما باید آن نرمافزارهای غیر آزاد را جایگزین کنیم، نه اینکه از آنها استفاده کنیم. آنها به اجتماع ما کمک نخواهند کرد بلکه آنها وسوسههایی برای ادامه عدم آزادی هستند. دو دلیل برای ایجاد و توسعه یک نرمافزار آزاد وجود دارد. نخست اینکه نرمافزاری وجود نداشته باشد تا کار مورد نیاز ما را انجام دهد. متاسفانه پذیرش استفاده از نرمافزارهای غیر آزاد این دلیل را از میان خواهد برد. دلیل دیگر آرزوی آزاد بودن است که باعث میشود تا مردم نرمافزارهای آزاد جایگزین برای نرمافزارهای غیر آزاد را ایجاد نمایند. در چنین مواردی، این تنها دلیلی است که منجر به ایجاد یک نرمافزار آزاد میشود. بطور ساده استفاده از یک نرمافزار تازه و ناتمام جایگزین، قبل از اینکه از نظر فنی با نمونه غیر آزاد قابل مقایسه باشد، باعث تشویق توسعه دهندگان آن میشود تا آنرا تبدیل به یک نرمافزار کامل کنند. آن نرمافزارهای غیر رایگان جزیی و ناچیز نیستند. ایجاد نرمافزارهای رایگان جایگزین برای آنها کار عظیمی است و ممکن است سالها طول بکشد. ممکن است این کار به کمک هکرهای آینده، جوانان کنونی و افرادی که هنوز به آنها الهام نشده است تا روی نرمافزارهای آزاد کار کنند، نیاز داشته باشد. ما اکنون چه کاری میتوانیم انجام دهیم تا کمک کنیم تا عده دیگری، در آینده، عزم و پافشاری لازم برای ادامه کار ما را داشته باشند؟ موثرترین راه مستحکمتر کردن اجتماع ما برای آینده، پخش کردن درک ارزش آزادی، برای یاددادن به افراد بیشتری برای شناختن غیر قابل پذیرش بودن معنوی نرمافزارهای غیر آزاد است. مردمی که برای آزادی ارزش قايل هستند، در بلند مدت، بهترین و ضروریترین دفاع هستند. ریچارد استالمن
گنو/لینوکس با ویندوز چه تفاوتی دارد؟ یکی از نخستین سوالاتی که در ذهن هر کاربری که به تازگی نام گنو/لینوکس به گوشش خورده است، مطرح میشود، این است که خوب گنو/لینوکس چه تفاوتی با ویندوز دارد؟ من در این مقاله قصد دارم بدون اینکه وارد مسائل خیلی فنی شوم، به طور اجمالی این موضوع را تشریح کنم. لینوکس چیست؟ گنو/لینوکس : سیستمعامل آزاد گنو/لینوکس : سرعت، قدرت، پایداری گنو/لینوکس : امنیت، امنیت، امنیت گنو/لینوکس : تعدد سکوهای اجرایی گنو/لینوکس : گستردهترین تنوع در کاربرد گنو/لینوکس : تنوع در انتخاب گنو/لینوکس : سیستمعاملی حرفهای گنو/لینوکس : بهشت برنامه نویسان! گنو/لینوکس : یک جعبه ابزار کامل گنو/لینوکس : یکی از زیباترین دستاوردهای بشری
منبع: تکنوتاکس |
|||
| آخرین بروز رسانی ( ۰۶ ارديبهشت ۱۳۸۷ ) | |||
| صفحه اصلی |
| وبلاگ |
| دریافت فایل |
| گالری |
| مقالات |
| پیوندها |
| درباره من |
| جستجوی پیشرفته |
| آنتی ویروس NOD32 |