پنجشنبه, ۲۰ دی, ۱۴۰۳ / 9 January, 2025
مجله ویستا

طبقه بندی نرم افزارهای آزاد و غیرآزاد


طبقه بندی نرم افزارهای آزاد و غیرآزاد

تعاریفی از طبقه بندی نرم افزارهایی که غالباً با مباحث مربوط به نرم افزارهای آزاد تداخل پیدا می کنند, خواهیم داشت عکس زیر توضیح می دهد که کدام طبقه بندی با دیگری تداخل دارد یا جزیی از طبقه بندی دیگر است

تعاریفی از طبقه‌بندی نرم‌افزارهایی که غالباً با مباحث مربوط به نرم‌افزارهای آزاد تداخل پیدا می‌کنند، خواهیم داشت. عکس زیر توضیح می‌دهد که کدام طبقه‌بندی با دیگری تداخل دارد یا جزیی از طبقه‌بندی دیگر است.

●نرم‌افزار آزاد

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

راههای مختلفی برای "آزاد" کردن یک برنامه وجود دارد. در ادامه برخی از این راهها توضیح داده شده‌اند. آزادی در مقوله‌ی نرم‌افزار آزاد به معنای Freedom و نه به معنای رایگان و بدون هزینه می‌باشد.

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

بسیاری از زبانها دو کلمه‌ی متمایز از هم برای "free" به معنای "آزادی" و "free" به معنای هزینه‌ی صفر دارند. مثلاً، فرانسوی‌ها از دو کلمه‌ی "libre" و "gratuit" استفاده می‌کنند. انگلیسی‌ها از کلمه‌ی "gratis" که به معنای رایگان است، استفاده می‌کنند، اما این کلمه، صفت متعارفی برای تعریف "آزادی" نیست. نرم‌افزارهای آزاد، اغلب قابل اطمینان‌تر از نرم‌افزارهای غیرآزاد هستند.

●نرم‌افزار بازمتن

اصطلاح بازمتن (Open Source) توسط بعضی افراد به همان معنای نرم‌افزار آزاد، با اندکی تفاوت، به کار می‌رود. به هر جهت، این نرم‌افزارها مجوزهایی را می‌پذیرند که محدودیتهایی روی آنها ایجاد می‌کند. برخی ترجیح می‌دهند که اصطلاح "نرم‌افزار آزاد" را بکار برند، چون به آزادی دلالت دارد؛ چیزی که "بازمتن" ندارد.

●نرم‌افزارPublic Domain

نرم‌افزار Public domain نرم‌افزاری است که copyrightشده نیست. اگر کد منبع در دسترس نباشد، حالت خاصی از نرم‌افزارهای آزاد غیر copyleft پیش می‌آید؛ به این معنی که ممکن است برخی از نسخه‌ها یا نگارش‌های تغییریافته‌ی آن، به هیچ‌وجه، آزاد نباشند. در برخی حالات، یک برنامه‌ی قابل اجرا می‌تواند در زمزه‌ی نرم‌افزارهای Public domain باشد ولی کد منبع آن در دسترس نباشد. در این حالت، نرم‌افزار آزاد نیست، چون لازمه‌ی آزاد بودن نرم‌افزار دسترسی به کد منبع است. درضمن، اغلب نرم‌افزارهای آزاد جزء public domainها نیستند. کپی‌رایت هم ندارد؛ در حالیکه دارندگان کپی‌رایت به طورقانونی، با استفاده از مجوز نرم‌افزار آزاد، به هر فردی امکان استفاده از نرم‌افزار را می‌دهند.

●نرم‌افزار Copylefted

نرم‌افزار Copylefted نرم‌افزار آزادی است که شرایط توزیع آن به‌گونه‌ای است که افرادی که بخواهند آنرا مجدداً توزیع نمایند، نمی‌توانند هیچ‌گونه محدودیت جدیدی، هنگام توزیع مجدد و یا تغییر نرم‌افزار روی آن اعمال کنند؛ به این معنی که هر نسخه‌ی نرم‌افزار، حتی اگر تغییر یافته، باید آزاد باشد. در پروژه‌ی GNU، ما تمامی نرم‌افزارهایی را که نوشتیم، copyleft کردیم؛ چون هدفمان این بود که به هر کاربر آزادیهایی را که "نرم‌افزار آزاد" بر آن دلالت دارد، داده باشیم.

Copyleft یک مفهوم عام است؛ برای اینکه یک برنامه، واقعاً، کپی‌لفت شود، باید از یک مجموعه شرایط خاص توزیع استفاده کنید. راههای ممکن زیادی برای نوشتن شرایط توزیع copyleft وجود دارد، بنابراین، طبق این گفته، مجوزهای زیادی در حیطه‌ی نرم‌افزار آزاد copyleft می‌تواند وجود داشته باشد. به هرجهت، در عمل، تقریباً، کلیه‌ی نرم‌افزارهای copylefted از مجوز عمومی گنو (GNU General Public License) استفاده می‌کنند. وجود دو گونه‌ی متفاوت مجوز Copyleft، معمولاً، غیر قابل استعمال با یکدیگر است؛ به عبارت دیگر، تلفیق یک کد با یک مجوز و کد دیگری با مجوز دیگر غیرقانونی است؛ بنابراین بهتر است که افراد، برای مجموعه‌ی این گونه نرم‌افزارها از یک مجوز copyleft واحد استفاده کنند.

●نرم‌افزار Non-copylefted

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

X Window System نمونه‌ای از این برنامه‌ها است. کنسرسیوم X، X۱۱ را با شرایطی توزیع نموده که درحال حاضر، نرم‌افزار آزاد non-copylefted می‌باشد. اگر بخواهید، می‌توانید یک نسخه از آن را که همان شرایط توزیع را دارد، به صورت آزاد دریافت کنید. البته نگارش‌های غیرآزادی نیز دارد که ایستگاه‌های کاری عمومی و بوردهای گرافیکی PC، صرفاً با نگارش‌های غیرآزاد آن، درست، کار می‌کنند. اگر از این سخت‌افزارها استفاده می‌کنید، X۱۱ نرم‌افزار آزادی برای شما نمی‌باشد. تولیدکنندگان X۱۱ تا مدتها این برنامه را غیرآزاد کرده بودند.

●نرم‌افزار GPL-covered

GNU GPL یکی از مجموعه‌ مجوزها، برای یک برنامه‌ی copyleft، با شرایط توزیع خاص می‌باشد. پروژه‌ی GNU از این مجوز، به عنوان تبیین شرایط توزیع، برای اغلب نرم‌افزارهای GNU می‌باشد.

●سیستم گنو

GNU System یک سیستم عملیاتی کاملاً آزاد شبه یونیکس می‌باشد. یک سیستم عملیاتی شبه یونیکس از چندین برنامه تشکیل شده است. سیستم گنو شامل همه‌ی نرم‌افزارهای گنو می‌باشد؛ درست مشابه بسیاری از پکیج‌های دیگر مثل سیستم X Windows و TeX که، اصولاً، نرم‌افزار گنو نیز نیستند. ما از سال ۱۹۸۴ مؤلفه‌های سیستم گنو را طراحی و جمع‌"آوری نموده‌ایم؛ اولین نسخه‌ی آزمایشی تحت عنوان "سیستم گنوی کامل" در ۱۹۹۶ بیرون آمد. در سال ۲۰۰۱ سیستم گنوی Hurd با قابلیت اطمینان بالایی شروع به کار کرد. به مرور زمان، سیستم گنو/لینوکس، یکی از شاخه‌های نورسته‌ی سیستم گنو که از لینوکس به عنوان کرنل استفاده می‌کرد، یکی از سیستم‌های موفق در دهه‌ی ۹۰ شد.

از آنجایی‌که هدف گنو آزاد بودن است، هر مؤلفه‌ی واحدی در سیستم گنو باید آزاد باشد. هر یک از این مؤلفه‌ها می‌تواند آزاد نباشد. به هر حال از نرم‌افزارهای آزاد non-copylefted، مثل سیستم X Windows می‌توانیم و استفاده هم می‌کنیم.

●برنامه‌های گنو

“GNU programs” یا همان برنامه‌های گنو را می‌توان با “GNU software” یا نرم‌افزار گنو معادل دانست. به یک برنامه، برنامه‌ی گنو گوییم، هرگاه یک نرم‌افزار گنو باشد. همچنین می‌توانیم به آن “GNU package” یا پکیج گنو گوییم.

●نرم‌افزار گنو

“GNU software” یا نرم‌افزار گنو، نرم‌افزاری است که تحت حمایت "پروژه‌ی گنو" منتشر شده‌است. اگر برنامه‌ای "نرم‌افزار گنو" باشد، به آن "برنامه‌ی گنو" یا "پکیج گنو" نیز گوییم. فایل README یا راهنمای هر پکیج گنو باید این موضوع را خاطرنشان کرده باشد.

اغلب پروژه‌های گنو، و نه همه‌ی آنها، copyleft می‌باشند؛ به هرحال همه‌ی نرم‌افزارهای گنو باید "نرم‌افزار آزاد" باشند.

برخی از نرم‌افزارهای گنو، توسط کارمندان بنیاد نرم‌افزار آزاد نوشته می‌شوند، اما اکثر آنها با مشارکت داوطلبان و علاقه‌مندان انجام می‌گیرند. به برخی از این نرم‌افزارهای مشارکتی، توسط همین بنیاد، و برخی دیگر نیز توسط مشارکت‌کنندگانی که این برنامه‌ها را نوشته‌اند، کپی‌رایت داده می‌شود.

http://www.gnu.org/philosophy/categories.html

ترجمه: زهرا احمدی


شما در حال مطالعه صفحه 1 از یک مقاله 2 صفحه ای هستید. لطفا صفحات دیگر این مقاله را نیز مطالعه فرمایید.