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

از نرم‌افزارهای آزاد استفاده کرده‌ایم ولی شاید با فرایند توسعهٔ آن‌ها آشنا نباشیم. پروژه‌ها مختلف و متفاوتند و مسیر توسعهٔ هر کدام هم فرق دارد.

دیروز یک پروژه به اسم «حساب» رو معرفی کردم. یک ابزار خط‌فرمان برای حسابداری شخصی. من خیلی وقت بود که دنبال چنین ابزاری با رابط کاربری تقریباً فارسی و تقویم شمسی می‌گشتم و عاقبت خودم دست‌به‌کار ساختنش شدم. وقتی معرّفی‌اش کردم پیام‌های مختلفی در شبکه‌های اجتماعی دریافت کردم که حس کردم لازمه توضیحی دربارهٔ توسعهٔ نرم‌افزارهای آزاد بدهم چون به نظرم خیلی‌ها نمی‌دونند این‌ها رو.

اینجا خیریه نیست

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

اینجا خیریّه نیست! توسعه‌دهندگان نرم‌افزار آزاد نه درویش‌های بی‌نیازند، نه آدم‌های ابلهی که برای پولدارها زحمت مفتی بکشند و نه اعضای گروه جهادی دانشگاه که به روستاهای دورافتاده می‌روند.

دعوا

پاسخ چند تا از نظرهایی که طی پروژهٔ «حساب» دریافت کردم رو می‌نویسم تا توضیح بهتری داده باشم.

  • نظر: «اسم پروژه رو بذار حساب‌کتاب تا بامزه‌تر باشه».
    پاسخ: ممنون که به فکر تفریح هستی. من هم چیزهای بامزه رو دوست دارم پس اسم پروژه رو همون می‌ذارم.
  • نظر: «توسعه رو متوقف کن یا مسیرش رو این‌طوری تغییر بده چون… (دلایل مختلف)»
    پاسخ: به تو چه آخه! «مالّالیخ» آخرین چیزیه که می‌خوام. من دارم برای خودم یه کاری می‌کنم نه برای تو. نصیحت مفید نیست.
  • نظر: «عبارت فلان رو جستجو کن و درباره‌اش یاد بگیر. توسعهٔ بهتری خواهی داشت»
    پاسخ: ممنون برای راهنمایی‌ات. حتماً این کار رو می‌کنم تا دانشم بیشتر بشه. و البته خودم تصمیم می‌گیرم که از چیزی که گفته‌ای استفاده بکنم یا نه.
  • نظر: «من به تو خیلی در برنامه‌نویسی کمک می‌کنم. حالا تو هم بیا و این ویژگی‌ای که من لازم دارم رو به نرم‌افزارت اضافه کن»
    پاسخ: بله. رفاقت دوطرفه است. باشه اضافه می‌کنم. می‌دونم هزینه‌اش با کارهایی که متقابلاً کرده‌ای، می‌کنی یا خواهی کرد حساب شده است.
  • نظر: «من یک غریبه هستم. بیا این ویژگی‌ای که مفیده رو به نرم‌افزار اضافه کن»
    پاسخ: چه پیشنهاد جالبی. آره برای خودم هم این مفیده پس با رعایت اولویت‌های دیگرم، سر فرصت (شاید سال‌ها بعد) اضافه می‌کنم.
  • نظر: «من یک غریبه هستم. بیا این ویژگی‌ای که می‌خواهم و فقط به درد خودم می‌خوره رو اضافه کن»
    پاسخ: باشه. پول بده تا برایت کار کنم. ولی اگر پول نمی‌دهی اینجا خیریه نیست. برو پی کارت :))
  • نظر: «ابزارت به‌دردنخوره»
    پاسخ: خب همان‌طور که می‌گی به درد تو نمی‌خوره. شاید حتی به درد هیچ کس دیگری هم نخوره. من برای خودم انجامش می‌دهم چون نیازی از خودم رو برطرف می‌کنه. شاید اصلاً من تنها آدمی در دنیا باشم که به این نیاز داشته باشه. به طور خلاصه: به‌دردنخورترین چیز اینجا نظر توست.