‫جایزه AAFS و Social benefit از FSF

بنیاد نرم‌افزارهای آزاد FSF هر ساله دو جایزه اهدا می‌کند به نام‌های توسعه نرم‌افزار (Advancement of Free Software award: AAFS) و کمک به اجتماع (Social benefit).

جایزه AAFS به کسی داده می‌شود که تلاش خیلی زیادی برای پیشرفت نرم‌افزارهای آزاد کرده باشد. از جمله کسانی که برنده این جایزه شده‌اند:

۱- Rob Savoye به خاطر Gnash. این نرم‌افزار جزیی از پروژه GNU است و قرار است جایگزینی باشد برای Adobe Flash.

۲- Andrew Tridgell به خاطر Samba. این نرم‌افزار پروتکل شبکه‌ای SMB/CIFS را پیاده‌سازی کرده.

۳- Guido van Rossum به خاطر Python.

۴- Larry Wall به خاطر Perl و بقیه کارهایش.

جایزه کمک به اجتماع (Social Benefit) به پروژه‌ها یا تیم‌هایی اهدا می‌شود که منفعتی به جامعه برسانند. چند تا از برندگان این جایزه عبارتند از Tor به خاطر کمک به حفظ حریم شخصی در اینترنت، پروژه بایگانی اینترنت، اجازه نامه Creative Commons، پروژه Sahana به خاطر کمک به آسیب دیدگان از بلایای طبیعی و ویکی‌پدیا.

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

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

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

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

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

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

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

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

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

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

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

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

‫ALM چیست؟

ALM یا Application Lofecycle Management به طور اختصار یعنی مدیریت فرایند تولید نرم‌افزار با استفاده از ابزارهای کار تیمی مثل Source Control، Issue Tracking، Build Automation و… در واقع با کمک ALM کلیه امور مربوط به توسعه نرم‌افزار در یک تیم تولید نرم‌افزار به طور یکپارچه مدیریت و هدایت می‌شود. در اینجا منظور از امور تیم مواردی مثل زیر است:

۱- Source Control Management
‫۲- Issue/Bug/Feature Management
‫۳- Build Automation
‫۴- Architecure/Design (UML)‎
‫۵- Test: Unit Test – Acceptance Test – Load Test – …
‫۶- Release Management
‫۷- Deploy Management
‫۸- Project Management
‫۹- …

عکس زیر روابط این اجزا را به خوبی نمایش می‌دهد:

هر تیمی که همه این امور را داشته باشد و بتواند آنها را با کمک ابزارهای مناسبی مدیریت کند یعنی ALM دارد. ابزارهای ALM می‌توانند کاملاً یکپارچه باشند. مثلاً Visual Studio Team System که ابزار ALM مایکروسافت است، شامل عمده ابزارهای مورد نیاز مثل Source Control، Work Item Management، Buid Automation، Test و… است. ابزارهای ALM می‌توانند از جاهای مختلفی آمده ولی باز هم یکپارچه باشند. مثل وقتی که از ابزارهای SVN برای Source Control، از NAnt برای Build، از Jira برای Issue Tracking و… استفاده شود.

ALM اصطلاحی است که این روزها بیشتر از روزهای قبل مورد استفاده قرار می‌گیرد. مثلاً مایکروسافت که در نسخه‌های ۲۰۰۵ و ۲۰۰۸ ویژوال استودیو از اصطلاح Team System استفاده می‌کرد، تصمیم گرفته در نسخه ۲۰۱۰ ویژوال استودیو به جای Team System از همین واژه Application Lifecycle Management استفاده نماید.

منابع:
ویکی‌پدیا
کتاب ALM with VS 2010

‫FOSS چیست؟

FOSS مقدمه
FOSS یا Free/Open Source Software یعنی نرم افزارهای آزاد و نرم افزارهای کد باز. به عبارتی FOSS نمایانگر دو نوع نرم افزار می‌باشد یکی نرم افزارهای آزاد (Free) و دیگری نرم افزارهای کد باز (Open Source).

نرم افزارهای آزاد
در مقابل نرم افزارهای آزاد (Free)، نرم افزارهای Proprietary قرار دارند. نرم افزارهای Proprietary آن گونه که در ممالک متمدن رایج است بر اساس اجازه‌نامه‌های (License) خاصی منتشر می‌شوند که این اجازه‌نامه‌ها کاربر را از هر گونه تغییر در نرم افزار و یا استفاده از آن در مقاصدی به غیر از مقاصد تعریف شده در اجازه‌نامه آن منع کرده است. مثلا ویندوز ویستا یک نرم افزار Proprietary است. در نتیجه مطابق اجازه‌نامه ویندوز ویستا حق ندارید بعضی dllهای خاص آن را دستکاری کنید. علاوه بر این حق استفاده از ویندوز ویستا را مثلا در سرور شبکه‌ای با بیش از ۱۰ کاربر ندارید. از طرفی دیگر، نرم افزارهای آزاد را هر طور که دلتان خواست می‌توانید دستکاری کرده و به هر منظوری که خواستید می‌توانید استفاده کنید. نرم افزارهای آزاد هم می‌توانند همچون نرم افزارهای Proprietary پولی باشند. در واقع تنها تفاوت نرم افزار آزاد و نرم افزار Proprietary در آزادی نحوه استفاده از آن است و الا هر دو می‌توانند پولی بوده و لزومی ندارد که هیچ کدام از این دو کد باز (Open Source) هم باشند. مثلا مایکروسافت می‌تواند MS Office را یک نرم افزار آزاد اعلام کرده ولی همچنان در قبال هر نسخه از آن همان پولی قبلی را دریافت کرده، کاربران را از توزیع مجدد آن منع و کد منبع (Source Code) آن را هم به هیچ کسی ندهد. معادل واژه آزاد در انگلیسی یعنی Free واژه‌ای با دو معنا است که یک معنی آن آزاد و آزادی و معنی دیگر آن رایگان است. که البته در اصطلاح Free Software از معنای اول آن یعنی آزادی استفاده شده است. خوشبختانه واژه آزادی در فارسی فقط یک معنی و آن هم معنی درست آن را می‌رساند.

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

تصورات مردم
در مورد مفهوم FOSS آنچه که در ذهن خیلی از کاربران وجود دارد این است که یک نرم افزار FOSS هم رایگان است، هم قانونا مجاز به دستکاری آن هستند، هم می‌توانند کپی‌های آن را به هر کسی که خواستند بدهند و هم می‌توانند آن را به هر قصدی که می‌خواهند استفاده کنند. با این که این تصورات چندان هم دور از واقعیت نیستند ولی لزومی ندارد که هر نرم افزار کد باز یا آزادی دارای چنین خصوصیاتی باشد. اگر قصد چنین استفاده‌هایی از یک نرم افزار آزاد/کدباز دارید حتما به اجازه‌نامه (License) آن توجه کافی کنید. خلاصه این که اگر اسم FOSS را شنیدید فورا فکر نکنید که هم اجازه استفاده از کد منبع را دارید، هم پول نمی‌دهید و هم هر کار که دلتان خواست می‌توانید با آن نرم افزار بکنید.

FOSS در ایران
بعضی از بحث‌های FOSS در ایران قابل فهم نیستند مثل آن قسمت مربوط به نرم افزارهای Proprietary که راجع به منع کاربران از دستکاری نرم افزار یا منع استفاده از نرم افزار در مقاصد از پیش گفته نشده است. این موضوع به این دلیل است که چنین قوانین سفت و سختی در ایران وجود ندارد و همین معدود قوانین مربوط به نرم افزار و حق تالیف هم با اما و اگرهای فراوان اجرا می‌شود.
خیلی از قوانین مصروحه در اجازه‌نامه‌های نرم افزارهای FOSS مثل GPL به علت عدم رعایت قوانین بین المللی در ایران هیچ محلی از اعراب ندارند. هیچ کس توجهی به این قوانین ندارد و متاسفانه صحبت در این باره برای خیلی از افراد خنده‌دار است.  مثلا بعضی شرکت‌های محترم ایرانی یک نرم افزار FOSS را که تحت یک اجازه‌نامه کپی‌لفت قرار دارد را پیدا کرده و پس از اعمال تغییراتی به صورت کد بسته (بدون دادن کد منبع آن به بقیه) و با حذف نام تولید کننده اصلی آن به نام خودشان می‌فروشند! یکی از قوانین مهمی که در مورد تعداد خیلی زیادی از نرم افزارهای آزاد/کدباز وجود دارد این است که شما حق دستکاری و توزیع مجدد یک نرم افزار و کد منبع آن را دارید و حتی می‌توانید نسخه تغییر یافته را به فروش برسانید ولی حق ندارید اجازه‌نامه آن را عوض کنید. یعنی قانونا مجبور هستید نرم افزار خودتان را هم که در واقع تغییر یافته همان نرم افزار قبلی است را تحت همان اجازه‌نامه و به صورت کد باز منتشر کرده و به دیگران هم اجازه بدهید نرم افزار شما را دستکاری کرده و یا مجددا به صورت آزادانه توزیع نمایند.

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

 

منابع