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

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

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

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

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

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

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

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

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

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

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

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