این ترجمه ممکن است شامل تغییرات ایجادشده از تاریخ 2010-09-24 در نسخهٔ اصلی انگلیسی نباشد.
لطفا راهنمای ترجمه را برای اطلاعات بیشتر دربارهٔ نگهداری ترجمههای این مقاله ببینید.
تعریف نرمافزار آزاد
عنوان یک نرمافزار آزاد تلقی شود. گاهگاه ما این تعریف را اصلاح میکنیم تا واضحتر شود. اگر شما مایلید تغییراتی که اعمال کردهایم را ببینید، لطفا بخش تاریخچه در قسمت پایین صفحه انگلیسی را ببینید.
« نرمافزار آزاد» درباره آزادی است، نه قیمت. برای درک بهتر باید به معنای «آزاد» در «آزادی بیان» فکر کنید، نه در «آبجو مجانی».
نرمافزار آزاد در مورد آزادی کاربران برای اجرا، کپی، توزیع، بررسی، تغییر و بهبود دادن نرمافزار میباشد. بطور دقیقتر نرمافزار آزاد به چهار نوع آزادی برای کاربران یک نرمافزار اشاره میکند:
- آزادی برای اجرای برنامه برای هر منظوری (آزادی ۰)
- آزادی برای مطالعه و بررسی چگونگی عملکرد برنامه و تغییر آن برای نیاز خود (آزادی ۱). دسترسی به کد منبع یک پیششرط برای این آزادی میباشد.
- آزادی برای توزیع مجدد کپیهایی از آن، بنابراین شما میتوانید به همسایگان خود کمک کنید (آزادی ۲).
- آزادی برای بهبود برنامه و انتشار این تغییرات برای عموم، بنابراین تمام جامعه از آن بهره میبرند (آزادی ۳). دسترسی به کد منبع یک پیششرط برای این آزادی میباشد.
در صورتی برنامهای یک نرمافزار آزاد به شمار میآید که کاربران آن همه این آزادیها را داشته باشند. بنابراین شما باید برای توزیع مجدد کپیهایی از آن، خواه با اصلاحات و تغییرات و خواه بدون آن، خواه رایگان و خواه در ازای دریافت وجهی، برای هر شخصی و در هر جایی آزاد باشید. آزاد بودن برای انجام این کارها (در میان کارهای دیگر) به این معنی است که شما مجبور به درخواست و پرداخت هزینه برای مجوز نیستید.
شما همچنین باید این آزادی را داشته باشید تا در برنامه تغییراتی ایجاد کنید و حتی بدون اشاره به وجود آنها، از آنها بطور خصوصی و برای کار خود استفاده کنید. اگر هم تغییرات خود را منتشر کردید، نباید ملزم به اعلام آن به شخص خاص و یا به روش خاصی باشید.
آزادی برای استفاده از برنامه به معنای آزادی هر شخص و یا سازمانی برای استفاده از آن برنامه بر روی هر سیستم کامپیوتری، برای هر کاری، و بدون نیاز به هر گونه ارتباط بعدی با توسعهدهنده و یا هر نهاد خاصی میباشد. در این نوع آزادی، هدف کاربر اهمیت دارد نه هدف توسعهدهنده؛ شما به عنوان یک کاربر آزاد هستید تا برنامه را برای هدف خودتان استفاده نمایید، و اگر برنامه را به شخص دیگری نیز بدهید، او هم آزاد است تا برنامه را برای هدف خودش استفاده نماید، شما حق ندارید هدف خودتان را به وی تحمیل نمایید.
آزادی برای توزیع مجدد کپیهایی از برنامه باید علاوه بر کد منبع، شامل شکل باینری و اجرایی برنامه و برای هر دو نسخه تغییر یافته و تغییر نیافته نیز باشد. (توزیع برنامهها در شکل اجرایی برای سیستمعاملهای آزادی که به راحتی نصب میشوند ضروری است.) اگر هیچ روشی برای تولید شکل باینری و اجرایی برای برنامه بخصوصی وجود نداشته باشد، مشکلی نیست (زیرا بعضی از زبانهای برنامهنویسی از آن ویژگی پشتیبانی نمیکنند). اما شما باید این آزادی را داشته باشید تا اگر روشی برای ارائه شکل باینری و اجرایی برنامه پیدا کردید، آن برنامه را مجددا به این دو شکل توزیع کنید.
به منظور داشتن آزادی برای تغییر دادن، و انتشار نسخههای بهبود یافته، شما باید به کدهای منبع برنامه دسترسی داشته باشید. بنابراین دسترسی به کد منبع یک شرط ضروری برای نرمافزار آزاد میباشد.
یکی از مهمترین روشهای تغییر یک برنامه ادغام پیمانهها و زیرروالهای آزادِ موجود با برنامه اصلی میباشد. اگر مجوز برنامه بگوید که شما نمیتوانید پیمانههای موجود را با برنامه ادغام نمایید، برای مثال اگر بخواهد که شما خودتان مالک کدی باشید که با برنامه اضافه میکنید، در این صورت این مجوز بیشتر از حد محدود کننده است تا به عنوان یک مجوز آزاد شناخته شود.
برای اجرایی شدن این آزادیها، آنها باید تا وقتیکه شما هیچ کار اشتباهی بر خلاف این آزادیها انجام ندادهاید، غیر قابل فسخ و قطعی بمانند. اگر توسعهدهنده نرمافزار قادر باشد مجوز نرمافزار را، بدون این که شما کاری کنید که سبب این کار شود، باطل کند، این نرمافزار آزاد نیست.
با این حال بعضی قوانین خاص که درباره نحوه توزیع نرمافزار آزاد میباشند، هنگامی که با آزادیهای اصلی در تضاد نباشند، قابل قبول هستند. برای نمونه «کپیلفت» (به بیان خیلی ساده) قانونی است که به موجب آن شما به هنگام توزیع مجدد برنامه، نمیتوانید محدودیتهایی به آن اضافه کنید تا آزادیهای اصلی را برای افراد دیگر از بین ببرید. این قانون نه تنها با آزادیهای مرکزی در تضاد نیست بلکه از آنها محافظت نیز میکند.
در پروژه گنو، ما از کپیلفت برای حفاظت قانونی از این آزادیها برای هر شخصی استفاده میکنیم. اما نرمافزارهای آزاد غیر کپیلفتی نیز وجود دارند. ما معتقدیم که دلایل مهمی برای اینکه چرا بهتر است از کپیلفت استفاده شود وجود دارند، اما اگر برنامه شما نرمافزار آزاد غیر کپیلفتی باشد، ما همچنان میتوانیم از آن استفاده کنیم. برای تشریح اینکه چگونه «نرمافزار آزاد»، «نرمافزار کپیلفت شده» و دیگر بخشهای نرمافزار با یکدیگر در ارتباطند، بخشهای نرمافزار آزاد را ببینید.
« نرمافزار آزاد» به معنای “غیر تجاری» نیست. یک برنامه آزاد باید برای استفاده تجاری، توسعه تجاری، و توزیع تجاری در دسترس باشد. توسعه تجاری نرمافزار آزاد دیگر غیر معمول نیست، بلکه چنین نرمافزارهای آزاد تجاری بسیار مهم هستند. بنابراین شما ممکن است پولی پرداخت کرده باشید تا کپیهایی از نرمافزار آزاد را بدست آورده باشید و یا ممکن است کپیها را بدون پرداخت هزینه بدست آورده باشید. اما صرفنظر از اینکه چگونه کپیها را بدست آورده باشید، شما همیشه این آزادی را دارید تا نرمافزار را کپی کنید و تغییر دهید و یا حتی کپیهایی از آن را بفروشید.
اینکه آیا یک تغییر، بهبود به حساب میآید یا نه، نکتهای است که به ذهنیت افراد باز میگردد. اگر حق تغییر شما، محدود به چیزی باشد که دیگری آن را بهبود میداند، این آزادی نیست.
قوانین مربوط به نحوه بستهبندی یک بسته تغییر یافته نیز در صورتیکه بطور عملی و قابل اجرا، آزادی شما برای انتشار نسخه تغییر یافته را منع نکنند، قابل قبول هستند. قوانینی مانند «اگر شما برنامه را به این روش در دسترس قرار دادید، باید آن را به آن روش نیز در دست قرار دهید» نیز، با همان شرایط قبلی میتوانند قابل قبول باشند. (به خاطر داشته باشید که چنین قانونی آزادی شما برای انتخاب انتشار و یا عدم انتشار برنامه را باقی میگذارد.) همچنین این برای مجوز قابل قبول است تا لازم بدارد که اگر شما یک نسخه تغییر یافته از برنامه را توزیع کردید و توسعهدهنده قبلی یک کپی از آن را درخواست نمود، شما باید یک کپی برای او بفرستید یا مشخص کنید که این تغییرات را شما انجام دادهاید.
گاهی اوقات مقررات نظارتی صادرات و مصوبات تجاری دولت آزادی شما برای توزیع بینالمللی کپیهای برنامه را تحت تاثیر قرار خواهند داد. توسعهدهندگان نرمافزار این قدرت را ندارند تا این محدودیتها را حذف و یا زیر پا بگذارند، اما کاری که میتوانند و باید انجام دهند این است که از تحمیل این محدودیتها به عنوان شرایط استفاده از برنامه سر باز زنند. به این ترتیب، این محدودیتها بر فعالیتها و اشخاص خارج از حوزه قضائی این دولتها تاثیر نخواهد داشت. بنابراین مجوزهای نرمافزارهای آزاد نباید رعایت مقررات صادراتی به عنوان یکی از شروط آزادیهای ضروری را تحمیل کنند.
اغلب مجوزهای نرمافزار آزاد بر اساس کپیرایت میباشند، ولی برای آن دسته از الزاماتی که بواسطه کپیرایت میتوانند تحمیل شوند، محدودیتهایی وجود دارد. اگر یک مجوز مبتنی بر کپیرایت آزادی را به روشهایی که در بالا توضیح داده شد محترم بشمارد و رعایت کند، بعید به نظر میرسد که مشکلات دیگری که ما هرگز پیشبینی نمیکردیم بوجود بیاید (اگر چه گه گاه این اتفاق میافتد). اما بعضی از مجوزهای نرمافزار آزاد بر اساس قراردادها میباشند، و قردادها میتوانند شمار بیشتری از محدودیتهای ممکن را تحمیل کنند. این بدان معناست که راههای بیشماری وجود دارند تا چنین مجوزی به طرز غیر قابل قبولی محدودکننده و غیر آزاد باشد.
ما نمیتوانیم همه محدودیتهای «قراردادها» که غیر قابل قبول هستند را فهرست کنیم. اگر یک مجوز مبتنی بر قرارداد، کاربر را به یک روش غیر معمول طوری محدود کند که مجوز مبتنی بر کپیرایت نتواند، و آن محدودیت در اینجا به عنوان یک عمل قانونی ذکر نشده باشد، ما درباره آن فکر خواهیم کرد و احتمالا آن را غیر آزاد تشخیص خواهیم داشت.
هنگامیکه درباره نرمافزار آزاد صحبت میشود بهتر است تا از به کار بردن عباراتی مانند «هدیه دادن» و یا «بطور رایگان» خودداری شود، زیرا این عبارات این مفهوم را میرسانند که موضوع در مورد قیمت میباشد، نه آزادی. بعضی عبارات معمول مانند «کپی غیر قانونی» مفاهیمی در بر دارند که ما امیدواریم شما بر آنها صحه نگذارید. برای بحث در مورد این عبارات بخش کلمات و عبارات گیجکننده که اجتناب از آنها با ارزش است را ببینید. ما همچنین فهرستی از ترجمههای «نرمافزار آزاد» به زبانهای مختلف داریم.
در نهایت بخاطر داشته باشید که معیارها و ظوابطی مانند آنها که در تعریف نرمافزار آزاد ذکر شدند، برای تفسیر به تفکری دقیق نیاز دارند. برای تصمیمگیری در مورد اینکه آیا مجوز نرمافزار خاصی صلاحیت مجوز نرمافزار آزاد بودن را دارد، ما آن را بر مبنای همین ظوابط در نظر میگیریم تا تصمیم بگیریم که آیا معنی و مفهوم آن به خوبی کلمات و عبارات در آن، مناسب هست. اگر مجوزی شامل موارد نامعقول باشد، ما آن را رد میکنیم، حتی اگر آن مورد را در این معیارها پیشبینی نکرده باشیم. بعضی اوقات درخواستهای یک مجوز پیآمدی پیش میآورد که قبل از اینکه تصمیم بگیریم آیا این درخواستها قابل قبول هستند، تفکر بسیاری شامل بحث و مذاکره با یک وکیل را مطالبه میکند. هنگامیکه ما درباره یک موضوع جدید به نتیجه میرسیم، غالبا این معیارها را به روز میکنیم تا راحتتر ببینید که چرا مجوزهای خاص صلاحیت دارند و یا ندارند.
اگر علاقمند هستید تا ببینید که آیا مجوز خاصی صلاحیت مجوز نرمافزار آزاد بودن را دارد، فهرست مجوزهای ما را ببینید. اگر مجوزی که برای شما مهم است در آنجا فهرست نشده است، میتوانید با فرستادن ایمیل به آدرس <licensing@gnu.org> از ما درباره آن سوال کنید.
اگر در نظر دارید تا یک مجوز جدید بنویسید، لطفا با همان آدرس با بنیاد نرمافزار آزاد تماس بگیرید. تکثر مجوزهای مختلف نرمافزار آزاد به معنی کارهای زیاد انجام شده برای کاربران در جهت درک مجوزها میباشد. ممکن است ما بتوانیم به شما کمک کنیم تا مجوز نرمافزار آزادی را پیدا کنید که نیازهای شما را برآورده میکند.
اگر این غیر ممکن بود، و شما واقعا به یک مجوز جدید نیاز داشتید، با کمک ما میتوانید مطمئن باشید که مجوز واقعا یک مجوز نرمافزار آزاد هست و از مشکلات عملی گوناگون اجتناب کنید.
فراتر از نرمافزار
به همان دلایلی که نرمافزار باید آزاد باشد، و در عین حال به خاطر اینکه راهنماها جزئی از نرمافزارها هستند، راهنمای نرمافزارها نیز باید آزاد باشند.
این استدلال در مورد دیگر فعالیتهایی که منجر به تولید نتایج کاربردی میشوند نیز منطقی به نظر میرسد. به عبارت بهتر، فعالیتهایی که دانش کاربردی ایجاد میکنند، مثل فعالیتهای آموزشی یا مورد ارجاع. ویکیپدیا بهترین نمونه شناختهشده است.
هر فعالیتی میتواند آزاد باشد، همانطور که تعریف نرمافزار آزاد برای تعریف فعالیتهای فرهنگی آزاد نیز بسط داده شده است.
متنباز؟
برای رساندن مفهومی نزدیک به (و نه دقیقا) «نرمافزار آزاد» را شروع کردهاند. ما عبارت «نرمافزار آزاد» را ترجیح میدهیم، زیرا به محض شنیدن آزادی را به ذهن میآورد، نه قیمت را. واژه «باز» هیچگاه به آزادی منسوب نمیشود.