moji5
25th November 2009, 08:05 PM
تعریف نرم افزار آزاد
ما این تعریف را از نرم افزار آزاد(Free Software) ارائه می دهیم تا به وضوح نشان دهیم که چه مواردی باید در مورد یک نرم افزار خاص صدق کند تا آن نرم افزار آزاد تلقی شود.
نرم افزار آزاد موضوع آزادی است نه قیمت. برای درک این مفهوم ،باید به معنای کلمه free در عبارت free speech(سخن آزاد) فکر کنید نه به معنای آن در عبارتی مانند free beer.[توضیح این که کلمه free در زبان انگلیسی در دو معنای آزاد و رایگان به کار می رود.منظور نویسندگان در این جا مفهوم آزادی است نه رایگان بودن.بدیهی است به دلیل وجود دو کلمه جداگانه برای ترجمه این کلمه در فارسی،چنین مشکل لغوی وجود ندارد.]
نرم افزار آزاد موضوع آزادی کاربران در اجرا، کپی، توزیع، آموختن، تغییر دادن و توسعه نرم افزار است.
به بیان دقیقتر ،نرم افزار آزاد به چهار نوع آزادی(Freedom) برای کاربران یک نرم افزار اشاره می کند:
- آزادی برای اجرای برنامه به هر منظوری (آزادی ۰)
- آزادی برای آموختن نحوه عملکرد نرم افزار و سازگار کردن آن با نیازهای شخصی. (آزادی ۱). دسترسی به کد منبع پیش شرط این بند است.
- آزادی برای توزیع مجدد کپی برنامه تا بتوانید به همسایه خود کمک کنید! (آزادی ۲)
- آزادی برای اصلاح کردن و توسعه نرم افزار و منتشر کردن این اصلاحات برای همگان، که نتیجه آن منفعتهای عمومی جامعه خواهد بود. (آزادی ۳). دسترسی به کد منبع پیش شرط این بند است.
برنامه ای آزاد است اگر کاربران آن همه این آزادیها را داشته باشند. بنابراین، شما باید آزاد باشید تا کپیها را با تغییر یا بدون تغییر، رایگان یا با دریافت وجهی برای توزیع، برای هرکس و هرجا مجددا توزیع کنید. آزاد بودن برای انجام این کارها (در میان مطالب دیگر) به این معنی است که شما مجبور نیستید از کسی اجازه بگیرید یا برای مجوز پولی پرداخت کنید.
شما همچنین باید این آزادی را داشته باشید که در برنامه تغییراتی ایجاد کنید و آنها را به طور خصوصی در کار خود استفاده کنید. بدون این که حتی وجود آنها را متذکر شوید. اگر شما تغییراتتان را منتشر کنید، نباید مجبور باشید که شخص مخصوصی را به روش خاصی آگاه کنید.
آزادی برای استفاده از یک برنامه به معنای آزادی برای هر شخص یا سازمان برای استفاده در هر نوع سیستم رایانهای، هر نوع کار، و بدون نیاز به ارتباط بعدی با توسعه دهنده یا هر نهاد خاص دیگر است.
آزادی برای توزیع مجدد کپیها، باید شامل شکل دودویی یا اجرایی برنامه، همانند کد منبع (Source Code) باشد، چه برای نسخه تغییر یافته و چه برای نسخه بدون تغییر. (توزیع برنامهها در شکل اجرایی برای سیستم عاملهای آزادی که به راحتی نصب می شوند، الزامی است). اگر هیچ راهی برای تولید فرم اجرایی یا دودویی یک برنامه مشخص وجود نداشته باشد، مشکلی نیست.(چون برخی زبانها، این ویژگی را پشتیبانی نمیکنند)اما شما باید این آزادی راداشته باشید که اگر راهی برای برای تولید برنامه در این فرمها یافتید، آن را مجددا در حالت اجرایی و دودویی توزیع کنید.
برای وجود آزادی به منظور ایجاد تغییر و انتشار نسخه های توسعه یافته، شما باید به کد منبع دسترسی داشته باشید. بنابراین، دسترسی به کد، شرطی اساسی برای نرم افزار آزاد است.
به منظور واقعی بودن این آزادیها، آنها باید تا زمانی که شما کار خطایی انجام نداده اید، غیر قابل فسخ بمانند. اگر توسعه دهنده نرم افزار این قدرت را داشته باشد، که بدون انجام دادن کاری که موجب ابطال شود، مجوز نرمافزار را باطل کند، نرم افزار آزاد نیست.
به هر حال،انواع خاصی از قوانین، در مورد نحوه توزیع نرم افزار آزاد، زمانی که آزادی ها اصلی را نقض نکنند، قابل قبول هستند. برای مثال، Copyleft (به زبان ساده) قانونی است که طی آن و در هنگام توزیع مجدد برنامه، شما نمی توانید محدودیتی برای رد آزادیهای اصلی کاربران قائل شوید. این قانون، نه تنها با آزادیهای اصلی منافاتی ندارد، بلکه آنها را نیز حفظ می کند.
بنابراین، شما ممکن است برای برای دریافت نسخه های نرم افزار آزاد، پول پرداخت کرده باشید و یا ممکن است آنها را بی هیچ هزینهای گرفته باشید. اما بدون در نظر گرفتن این که شما چگونه نرم افزار را دریافت کردهاید، شما همیشه این آزادی رادارید، که نرم افزار را تکثیر کنید و یا تغییر بدهید، یا حتی آن را بفروشید.
“نرم افزار آزاد ” به معنای “ غیر تجاری” نمیباشد، یک برنامه آزاد باید برای استفاده، توسعه و توزیع تجاری در دسترس باشد. توسعه تجاری یک برنامه آزاد دیگر غیر معمولی نیست، بلکه این گونه نرم افزارهای آزاد تجاری بسیار مهم هستند.
قوانین مربوط به به چگونگی بسته کردن یک نسخه تغییر یافته هم اگر به طور موثر مانع آزادی شما برای منتشر کردن نسخه های تغییریافته نشود، قابل قبول است. قوانینی مانند “اگر شما برنامه به این روش قابل دسترس کنید،باید آن را به آن روش نیز قابل دسترس کنید“ هم می تواند با همان شرط قابل قبول باشد. (توجه داشته باشید که این قانون گزینه منتشر کردن یا نکردن برنامه را برای شما باقی می گذارد.) همچنین این قابل قبول است که اگر یک مجوز بخواهد هنگامی که نسخه تغییر یافته را منتشر کردید و توسعه دهنده قبلی یک نسخه از آن را در خواست کرد، باید برای او بفرستید.
در پروژه گنو، ما از Copyleft برای حفاظت قانونی از این آزادیها برای اشخاص استفاده می کنیم. اما نرمافزارهای آزاد بدونCopyleft هم موجودند. ما اعتقاد داریم که دلایل مهمی وجود دارند که چرا استفاده از Copyleft بهتر است، اما اگر برنامه شما یک نرم افزار آزاد بدون کپی لفت است، ما همچنان می توانیم از آن استفاده کنیم.
برای تشریح چگونگی ارتباط نرم افزار آزاد،نرم افزار Copyleft شده و دیگر موضوعات نرم افزار با هم، مقالات نرمافزار آزاد را ببینید.
گاهی اوقات، مقررات کنترلی صادرات و مصوبات تجاری دولت،می توانند آزادی شما را برای توزیع بین المللی نسخههای برنامه، تحت الشعاع قرار دهند. توسعه دهندگان نرمافزار این قدرت را برای حذف یا زیر پا گذاشتن این محدودیت ها ندارند، اما کاری که میتوانند و باید انجام دهند، این است که از تحمیل کردن آنها به عنوان شرایط استفاده از برنامه خودداری کنند. بدین ترتیب، محدودیتها بر فعالیتها و مردمی که خارج از قلمرو این دولتها هستند، تاثیری نمی گذارند.
بسیاری از لیسانسهای نرم افزار آزاد بر اساس کپی رایت(Copyright) بنا شده اند، و برای درخواستهایی که با کپی رایت تحمیل می شود، محدودیتهایی موجود است. اگر یک لیسانس مبتنی بر کپی رایت، آزادی را به شیوه هایی که در بالا تشریح شدند، محترم می شمرد، بعید است که مشکلات دیگری را که ما هرگز پیش بینی نمی کنیم، پیش بیاورد، (گرچه گه گاه این موارد صورت می گیرند) به هر حال، برخی از لیسانسهای نرم افزار آزاد بر پایه قراردادها(Contract) قرار دارند، و قراردادها طیف گسترده تری از محدودیتها تحمیل می کنند. این بدان معنی است که راههای بسیاری وجود دارند که یک لیسانس محدود و غیر آزاد باشد.
ما نمی توانیم همه محدودیت های قرارداد را که قابل قبول نیستند، لیست کنیم. اگر یک مجوز مبتنی بر قرارداد کاربر را به روشی غیر عادی محدود کند (در حالی که مجوز مبتنی بر کپی رایت این چنین محدود نکند) و اینجا هم قانونی تلقی نشود، شما باید در مورد آن فکر کنید، و ما احتمالا آن را غیر آزاد می دانیم.
هنگامی که در مورد نرم افزار آزاد صحبت می کنیم، بهتر است از به کار بردن کلماتی چون “هدیه دادن”(Give Away) یا “رایگان” (For Free) خودداری کنید. زیرا این اصطلاحات این معنی را می رسانند که موضوع در مورد قیمت است نه آزادی. کلمات مصطلحی چون “کپی غیر قانونی”(Piracy) نظراتی را القاء می کنند که ما امید واریم شما بر آنها صحه نگذارید. برای بحث در این مورد، “ کلمات و عبارات گیج کننده که اجتناب کردن از آنها با ارزش است” را ببینید. ما همچنین لیستی از ترجمه نرم افزار را به زبانهای مختلف داریم.
در نهایت، ملاکهایی مانند آنها که در تعریف نرم افزار آزاد ذکر شده اند، برای تفسیر به توجه و فکر نیاز دارند. برای تصمیم در مورد این که آیا یک مجوز صلاحیت مجوز نرم افزار آزاد بودن را دارد، ما براساس همین ملاکها قضاوت می کنیم تا تعیین کنیم آیا علاوه بر کلمات و اصطلاحات استفاده شده، معنی و مفهوم آن نیز مناسب است یا نه. اگر در یک مجوز محدودیتی نا معقول وجود داشته باشد، ما آن را قبول نمی کنیم، حتی اگر آن محدودیتها را در این ملاکها پیش بینی نکرده باشیم. گاهی اوقات، درخواستهای یک مجوز موضوعی را به وجود می آورند که قبل از تایید آن نیاز به تحقیق و تفحص بیشتر (مانند بحث و تبادل نظر با یک وکیل) است. هنگامی که ما در مورد موضوعی جدید، به نتیجه دست پیدا می کنیم، این ملاکها را به روز می کنیم تا تعیین صلاحیت مجوزها را آسانتر کنیم.
اگر شما علاقه دارید بدانید که یک مجوز صلاحیت مجوز های نرم افزار آزاد را دارد، لیست مجوزهای ما راببینید. اگر مجوزی که برای شما مهم است،اینجا ذکر نشده، شما می توانید با فرستادن ای میل به licensing@gnu.org درباره آن بپرسید.
اگر شما به فکر نوشتن یک مجوز هستید، لطفا با همان آدرس با FSF (بنیاد نرم افزار آزاد) تماس بگیرید. افزایش تعداد مجوزهای آزاد به معنی کار های انجام شده بیشتر برای کاربران به منظور درک مجوزهاست. ما ممکن است بتوانیم شما را در یافتن مجوزی که نیازهای شما را برآورده کند، یاری کنیم.
اگر این امکان پذیر نباشد، و اگر شما واقعا به یک مجوز جدید نیاز دارید، با کمک ما میتوانید با اجتناب به وجود آمدن مشکلات عملی، بفهمید که آیا مجوز آزاد است یا نه!
گروه دیگری استفاده کردن از عبارت “بازمتن” (OpenSource) را آغاز کرده اند تا مفهومی نزدیک(نه یکسان) به نرم افزار آزاد را داشته باشد. ما عبارت“نرم افزار آزاد” را ترجیح می دهیم، زیرا به محض این که این عبارت را بشنوید،به یاد آزادی می افتید نه قیمت!!
ما این تعریف را از نرم افزار آزاد(Free Software) ارائه می دهیم تا به وضوح نشان دهیم که چه مواردی باید در مورد یک نرم افزار خاص صدق کند تا آن نرم افزار آزاد تلقی شود.
نرم افزار آزاد موضوع آزادی است نه قیمت. برای درک این مفهوم ،باید به معنای کلمه free در عبارت free speech(سخن آزاد) فکر کنید نه به معنای آن در عبارتی مانند free beer.[توضیح این که کلمه free در زبان انگلیسی در دو معنای آزاد و رایگان به کار می رود.منظور نویسندگان در این جا مفهوم آزادی است نه رایگان بودن.بدیهی است به دلیل وجود دو کلمه جداگانه برای ترجمه این کلمه در فارسی،چنین مشکل لغوی وجود ندارد.]
نرم افزار آزاد موضوع آزادی کاربران در اجرا، کپی، توزیع، آموختن، تغییر دادن و توسعه نرم افزار است.
به بیان دقیقتر ،نرم افزار آزاد به چهار نوع آزادی(Freedom) برای کاربران یک نرم افزار اشاره می کند:
- آزادی برای اجرای برنامه به هر منظوری (آزادی ۰)
- آزادی برای آموختن نحوه عملکرد نرم افزار و سازگار کردن آن با نیازهای شخصی. (آزادی ۱). دسترسی به کد منبع پیش شرط این بند است.
- آزادی برای توزیع مجدد کپی برنامه تا بتوانید به همسایه خود کمک کنید! (آزادی ۲)
- آزادی برای اصلاح کردن و توسعه نرم افزار و منتشر کردن این اصلاحات برای همگان، که نتیجه آن منفعتهای عمومی جامعه خواهد بود. (آزادی ۳). دسترسی به کد منبع پیش شرط این بند است.
برنامه ای آزاد است اگر کاربران آن همه این آزادیها را داشته باشند. بنابراین، شما باید آزاد باشید تا کپیها را با تغییر یا بدون تغییر، رایگان یا با دریافت وجهی برای توزیع، برای هرکس و هرجا مجددا توزیع کنید. آزاد بودن برای انجام این کارها (در میان مطالب دیگر) به این معنی است که شما مجبور نیستید از کسی اجازه بگیرید یا برای مجوز پولی پرداخت کنید.
شما همچنین باید این آزادی را داشته باشید که در برنامه تغییراتی ایجاد کنید و آنها را به طور خصوصی در کار خود استفاده کنید. بدون این که حتی وجود آنها را متذکر شوید. اگر شما تغییراتتان را منتشر کنید، نباید مجبور باشید که شخص مخصوصی را به روش خاصی آگاه کنید.
آزادی برای استفاده از یک برنامه به معنای آزادی برای هر شخص یا سازمان برای استفاده در هر نوع سیستم رایانهای، هر نوع کار، و بدون نیاز به ارتباط بعدی با توسعه دهنده یا هر نهاد خاص دیگر است.
آزادی برای توزیع مجدد کپیها، باید شامل شکل دودویی یا اجرایی برنامه، همانند کد منبع (Source Code) باشد، چه برای نسخه تغییر یافته و چه برای نسخه بدون تغییر. (توزیع برنامهها در شکل اجرایی برای سیستم عاملهای آزادی که به راحتی نصب می شوند، الزامی است). اگر هیچ راهی برای تولید فرم اجرایی یا دودویی یک برنامه مشخص وجود نداشته باشد، مشکلی نیست.(چون برخی زبانها، این ویژگی را پشتیبانی نمیکنند)اما شما باید این آزادی راداشته باشید که اگر راهی برای برای تولید برنامه در این فرمها یافتید، آن را مجددا در حالت اجرایی و دودویی توزیع کنید.
برای وجود آزادی به منظور ایجاد تغییر و انتشار نسخه های توسعه یافته، شما باید به کد منبع دسترسی داشته باشید. بنابراین، دسترسی به کد، شرطی اساسی برای نرم افزار آزاد است.
به منظور واقعی بودن این آزادیها، آنها باید تا زمانی که شما کار خطایی انجام نداده اید، غیر قابل فسخ بمانند. اگر توسعه دهنده نرم افزار این قدرت را داشته باشد، که بدون انجام دادن کاری که موجب ابطال شود، مجوز نرمافزار را باطل کند، نرم افزار آزاد نیست.
به هر حال،انواع خاصی از قوانین، در مورد نحوه توزیع نرم افزار آزاد، زمانی که آزادی ها اصلی را نقض نکنند، قابل قبول هستند. برای مثال، Copyleft (به زبان ساده) قانونی است که طی آن و در هنگام توزیع مجدد برنامه، شما نمی توانید محدودیتی برای رد آزادیهای اصلی کاربران قائل شوید. این قانون، نه تنها با آزادیهای اصلی منافاتی ندارد، بلکه آنها را نیز حفظ می کند.
بنابراین، شما ممکن است برای برای دریافت نسخه های نرم افزار آزاد، پول پرداخت کرده باشید و یا ممکن است آنها را بی هیچ هزینهای گرفته باشید. اما بدون در نظر گرفتن این که شما چگونه نرم افزار را دریافت کردهاید، شما همیشه این آزادی رادارید، که نرم افزار را تکثیر کنید و یا تغییر بدهید، یا حتی آن را بفروشید.
“نرم افزار آزاد ” به معنای “ غیر تجاری” نمیباشد، یک برنامه آزاد باید برای استفاده، توسعه و توزیع تجاری در دسترس باشد. توسعه تجاری یک برنامه آزاد دیگر غیر معمولی نیست، بلکه این گونه نرم افزارهای آزاد تجاری بسیار مهم هستند.
قوانین مربوط به به چگونگی بسته کردن یک نسخه تغییر یافته هم اگر به طور موثر مانع آزادی شما برای منتشر کردن نسخه های تغییریافته نشود، قابل قبول است. قوانینی مانند “اگر شما برنامه به این روش قابل دسترس کنید،باید آن را به آن روش نیز قابل دسترس کنید“ هم می تواند با همان شرط قابل قبول باشد. (توجه داشته باشید که این قانون گزینه منتشر کردن یا نکردن برنامه را برای شما باقی می گذارد.) همچنین این قابل قبول است که اگر یک مجوز بخواهد هنگامی که نسخه تغییر یافته را منتشر کردید و توسعه دهنده قبلی یک نسخه از آن را در خواست کرد، باید برای او بفرستید.
در پروژه گنو، ما از Copyleft برای حفاظت قانونی از این آزادیها برای اشخاص استفاده می کنیم. اما نرمافزارهای آزاد بدونCopyleft هم موجودند. ما اعتقاد داریم که دلایل مهمی وجود دارند که چرا استفاده از Copyleft بهتر است، اما اگر برنامه شما یک نرم افزار آزاد بدون کپی لفت است، ما همچنان می توانیم از آن استفاده کنیم.
برای تشریح چگونگی ارتباط نرم افزار آزاد،نرم افزار Copyleft شده و دیگر موضوعات نرم افزار با هم، مقالات نرمافزار آزاد را ببینید.
گاهی اوقات، مقررات کنترلی صادرات و مصوبات تجاری دولت،می توانند آزادی شما را برای توزیع بین المللی نسخههای برنامه، تحت الشعاع قرار دهند. توسعه دهندگان نرمافزار این قدرت را برای حذف یا زیر پا گذاشتن این محدودیت ها ندارند، اما کاری که میتوانند و باید انجام دهند، این است که از تحمیل کردن آنها به عنوان شرایط استفاده از برنامه خودداری کنند. بدین ترتیب، محدودیتها بر فعالیتها و مردمی که خارج از قلمرو این دولتها هستند، تاثیری نمی گذارند.
بسیاری از لیسانسهای نرم افزار آزاد بر اساس کپی رایت(Copyright) بنا شده اند، و برای درخواستهایی که با کپی رایت تحمیل می شود، محدودیتهایی موجود است. اگر یک لیسانس مبتنی بر کپی رایت، آزادی را به شیوه هایی که در بالا تشریح شدند، محترم می شمرد، بعید است که مشکلات دیگری را که ما هرگز پیش بینی نمی کنیم، پیش بیاورد، (گرچه گه گاه این موارد صورت می گیرند) به هر حال، برخی از لیسانسهای نرم افزار آزاد بر پایه قراردادها(Contract) قرار دارند، و قراردادها طیف گسترده تری از محدودیتها تحمیل می کنند. این بدان معنی است که راههای بسیاری وجود دارند که یک لیسانس محدود و غیر آزاد باشد.
ما نمی توانیم همه محدودیت های قرارداد را که قابل قبول نیستند، لیست کنیم. اگر یک مجوز مبتنی بر قرارداد کاربر را به روشی غیر عادی محدود کند (در حالی که مجوز مبتنی بر کپی رایت این چنین محدود نکند) و اینجا هم قانونی تلقی نشود، شما باید در مورد آن فکر کنید، و ما احتمالا آن را غیر آزاد می دانیم.
هنگامی که در مورد نرم افزار آزاد صحبت می کنیم، بهتر است از به کار بردن کلماتی چون “هدیه دادن”(Give Away) یا “رایگان” (For Free) خودداری کنید. زیرا این اصطلاحات این معنی را می رسانند که موضوع در مورد قیمت است نه آزادی. کلمات مصطلحی چون “کپی غیر قانونی”(Piracy) نظراتی را القاء می کنند که ما امید واریم شما بر آنها صحه نگذارید. برای بحث در این مورد، “ کلمات و عبارات گیج کننده که اجتناب کردن از آنها با ارزش است” را ببینید. ما همچنین لیستی از ترجمه نرم افزار را به زبانهای مختلف داریم.
در نهایت، ملاکهایی مانند آنها که در تعریف نرم افزار آزاد ذکر شده اند، برای تفسیر به توجه و فکر نیاز دارند. برای تصمیم در مورد این که آیا یک مجوز صلاحیت مجوز نرم افزار آزاد بودن را دارد، ما براساس همین ملاکها قضاوت می کنیم تا تعیین کنیم آیا علاوه بر کلمات و اصطلاحات استفاده شده، معنی و مفهوم آن نیز مناسب است یا نه. اگر در یک مجوز محدودیتی نا معقول وجود داشته باشد، ما آن را قبول نمی کنیم، حتی اگر آن محدودیتها را در این ملاکها پیش بینی نکرده باشیم. گاهی اوقات، درخواستهای یک مجوز موضوعی را به وجود می آورند که قبل از تایید آن نیاز به تحقیق و تفحص بیشتر (مانند بحث و تبادل نظر با یک وکیل) است. هنگامی که ما در مورد موضوعی جدید، به نتیجه دست پیدا می کنیم، این ملاکها را به روز می کنیم تا تعیین صلاحیت مجوزها را آسانتر کنیم.
اگر شما علاقه دارید بدانید که یک مجوز صلاحیت مجوز های نرم افزار آزاد را دارد، لیست مجوزهای ما راببینید. اگر مجوزی که برای شما مهم است،اینجا ذکر نشده، شما می توانید با فرستادن ای میل به licensing@gnu.org درباره آن بپرسید.
اگر شما به فکر نوشتن یک مجوز هستید، لطفا با همان آدرس با FSF (بنیاد نرم افزار آزاد) تماس بگیرید. افزایش تعداد مجوزهای آزاد به معنی کار های انجام شده بیشتر برای کاربران به منظور درک مجوزهاست. ما ممکن است بتوانیم شما را در یافتن مجوزی که نیازهای شما را برآورده کند، یاری کنیم.
اگر این امکان پذیر نباشد، و اگر شما واقعا به یک مجوز جدید نیاز دارید، با کمک ما میتوانید با اجتناب به وجود آمدن مشکلات عملی، بفهمید که آیا مجوز آزاد است یا نه!
گروه دیگری استفاده کردن از عبارت “بازمتن” (OpenSource) را آغاز کرده اند تا مفهومی نزدیک(نه یکسان) به نرم افزار آزاد را داشته باشد. ما عبارت“نرم افزار آزاد” را ترجیح می دهیم، زیرا به محض این که این عبارت را بشنوید،به یاد آزادی می افتید نه قیمت!!