نرم‌افزارهای آزاد و متن‌باز

دوستی می‌خواست چیزهایی راجع به نرم‌افزارهای آزاد، متن‌باز، تفاوت‌ها و دیگر مسائل بداند. این متن جوابی است به ایشان.

متن‌باز بودن نرم‌افزار به چه معنی است؟ تا آنجا که من می‌دانم هر نرم‌افزاری می‌تواند متن‌باز هم باشد. مثلاً یک نرم‌افزار پولی یا مجانی یا آزاد یا غیر آزاد می‌تواند متن‌باز هم باشد یا نباشد. دلیل این که همراه بیشتر نرم‌افزارهای پولی سورس آنها هم ارائه نمی‌شود آن است که سورس برنامه‌ها بسیار گرانقیمت‌تر از خود نرم‌افزارها هستند. مثلا ویندوز ایکس‌پی فرضاً ۱۰۰ دلار است ولی سورس کد آن ۱۰ میلیون دلار است.

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

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

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

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

روش رایج پول در آوردن از نرم‌افزارهای آزاد، پشتیبانی فنی و خدمات مشاوره است. مثلاً نرم‌افزار OTRS خودش آزاد، متن‌باز و مجانی است و هر کسی هر کار که دلش خواست می‌تواند با آن بکند. اما شرکت حامی آن خدمات hosting آن را به صورت پولی ارائه می‌کند، خدمات نصب و مشاوره و خدمات پشتیبانی آن را هم به صورت پولی ارائه می‌کند و پول خوبی از این راه به دست می‌آورد. البته راه‌های زیادی برای پول درآوردن از نرم‌افزارهای آزاد هست که بستگی به شرایط دارد.

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

جهت اطلاع بیشتر:
‫کپی‌لفت (Copyleft) چیست؟ 

‫چرا FOSS (و Open Source) برای ما خوب است؟‫حرکت به سمت FOSS
‫برنامه‌های من برای مهاجرت به FOSS 

ضمناً فکر می‌کنم سایت‌ها و انجمن‌های فارسی‌زبان زیادی باشند که روی این موضوعات کار می‌کنند.

‫کپی‌لفت (Copyleft) چیست؟

‫علامت «کپی‌لفت» با حرف C برعکس   «کپی‌لفت» یا «سهوتالیف» مفهومی است که برای توضیح رفتار اجازه‌نامه (مجوز، پروانه، License)های دنیای نرم افزارها (و متون) آزاد/کدباز به کار می‌رود. مجوز GNU GPL و GNU FDL دو مثال معروف از اجازه‌نامه‌‌های «کپی‌لفت» هستند.

عبارت کپی‌لفت برای نخستین بار در دهه ۱۹۷۰ میلادی (دهه ۱۳۵۰ شمسی) در تقابل با مفهوم «کپی‌رایت» (حق مولف) به کار برده شد. طرفداران سهو تالیف (کپی‌لفت) می‌خواستند با برعکس کردن حرف انگلیسی «C» در علامت حق مولف «©» و عوض کردن واژه right در Copyright با کلمه left به همه بگویند که با انحصاری شدن نرم افزارها از طریق قانون حق مولف (Copyright) مخالف هستند (در اینجا از right به معنی راست و از left به معنی چپ استفاده شده).

«سهو تالیف» یا کپی‌لفت (Copyleft) به طور دقیق‌تر به آن دسته از اجازه‌نامه (License)هایی اطلاق می‌گردد که استفاده کننده، تغییر دهنده یا برنامه نویس را مجاز به داشتن سورس کد برنامه (یا نسخه «شفاف» منابع متنی در مورد اجازه‌نامه GFDL)، اعمال کردن هر نوع تغییر در آن و انتشار مجدد آن می‌داند به شرطی که نسخه دوباره منتشر شده هم تحت همان اجازه‌نامه یا دیگر اجازه‌نامه‌های آزاد سازگار بااجازه‌نامه اولیه منتشر شود.

این قاعده این اطمینان را به دست می‌دهد که هیچ شخصی یا شرکت واسطی نتواند نرم افزارهای (و متون) آزاد/کدباز را حتی اگر خودش در آن اصلاحاتی انجام داده باشد به صورت انحصاری در آورد. یکی از معروف‌ترین و قدیمی‌ترین مواردی که یک شرکت طی آن به خاطر فقدان اجازه‌نامه‌های کپی‌لفت موفق به انحصاری کردن یک نرم افزار شده بود مورد معروف شرکت Symbolics و ریچارد استالمن است. ریچارد استالمن در دهه ۷۰ یک مفسر LISP را به صورت کدباز برای شرکت Symbolics نوشت. شرکت Symbolics هم از آن استفاده کرد و بعد از مدتی اصلاحاتی در آن اعمال کرد ولی وقتی که استالمن نسخه اصلاح شده نرم افزاری که خود برای آنها نوشته بود را از شرکت Symbolics خواست آنها به سادگی هر چه تمام‌تر از دادن کد منبع نرم افزار به او خودداری کردند! چون اعتقاد داشتند که این سورس از این به بعد متعلق به شرکت Symbolics است.

فرهنگ سهو تالیف (Copyleft) را در فرهنگ خودمان (ایران) می‌توان با فرهنگ «وقف» شبیه دانست. ایرانی‌های قدیم (و جدید) برای آمرزش روح درگذشتگان و کمک به هم نوعان خود، املاک خود یا آنهایی را که به همین منظور می‌ساختند شامل خانه، مسجد، حسینیه، مدرسه، حمام، باغ و… را «وقف» می‌کردند به این معنی که مالکیت آن ملک یا وسیله (وسایل مجالس عزا، عروسی، روضه، مراسمات محرم و عاشورا و…) از مالکیت شخص و ورثه آن خارج شده و به مالکیت عمومی در می‌آمد. در حال حاضر مدیریت و صیانت این «اوقاف» بر عهده اداره اوقاف و در قدیم‌ترها به عهده معتمدین محلی، حاکمین شهرها و روحانیون منطقه قرار داشته و دارد. در مورد وقف همچون اجازه‌نامه‌های سهو تالیف (Copyleft) هیچکس حق ندارد اموال و املاک وقفی که یک بار وقف شده را به تصرف خودش درآورد.

این واقعیت را نباید فراموش کرد که سهو تالیف (Copyleft) از لحاظ حقوقی و قانونی نوعی استفاده خلاقانه از قانون حق تالیف (Copyright) است. سهو تالیف (Copyleft) با استفاده از قانون حق تالیف (Copyright) است که افراد را مجبور به حفظ مجوز سهو تالیف (Copyleft) در نسخه‌های تغییر یافته و نیافته بعدی می‌کند. دقت کنید که سهو تالیف (Copyleft) به معنی نداشتن حق تالیف (Copyright) نیست و این قانون کپی‌رایت است که از کپی‌لفت حفاظت می‌کند!

بیشتر اجازه‌نامه‌های مورد استفاده در نرم افزارهای آزاد/متن‌باز از نوع سهو تالیف (Copyleft) هستند از جمله GNU GPL،Creative Commons، GNU Free Documentation License و GNU LGPL. یکی معروف‌ترین استثنائات این موضوع اجازه‌نامه BSD است که سهو تالیف (کپی‌لفت) نیست و به افراد این اجازه را می‌دهد که کد منبع نرم افزارهای کدباز را بعد از تغییرات (یا شاید هم بدون تغییرات) به مالکیت شخصی خود درآورده یا مجددا با اجازه‌نامه‌های سهو تالیفی (Copyleft) مثل GPL منتشر کنند.

منابع
۱- ویکی‌پدیا
۲- گنو