نقش نظارتی در نرم‌افزار آزاد

May 21, 2020

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

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

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

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

نرم‌افزار آزاد مال چه کسی است؟

وقتی یک اثر خلق میشه - حالا چه نرم‌افزار چه نقاشی چه رقص چه کتاب - تمامی حقوقش متعلق به ناشریه که اون رو درست کرده. این ناشر اجازه داره هر کاری با اثرش کنه و بقیه هیچ حقی - مطلقا هیچ حقی - ندارن، تا زمانی که ناشر بهشون اجازه بده. مثلا ناشر یک کپی از کتاب رو به شما بفروشه، یا اجازه بده از موسیقیش توی ویدیو خودتون استفاده کنید، اما حتا اون موقع هم شما حقوق محدودی دارید، مثلا اجازه ندارید موسیقی رو - بدون ویدیوتون - بازنشر کنید یا اجازه ندارید نسخه صوتی از کتاب تهیه کنید. این حق و حقوق برای مولفین نرم‌افزار هم هست، اون‌ها تمام حقوق مرتبط با کدشون رو دارن و اگه اجازه‌اش رو بهتون ندن حتا اجازه ندارید اون رو اجرا کنید. اینجاست که بحث لایسنس‌های مختلف نرم‌افزاری میاد، لایسنس‌ها مستنداتی هستند که حقوق کاربر رو در برابر مولف و حقوق مولف رو در برابر کاربر مشخص می‌کنند. ممکنه این حقوق در ازای پرداخت وجهی به شما داده بشه و به شما اجازه بده اون نرم‌افزار رو روی ۳ سیستم مختلف نصب کنید، ممکنه رایگان به شما داده بشه و از شما بخواد در ازای استفاده از نرم‌افزار بخشی از توان پردازشیتون رو صرف اجرای یک الگوریتم ماینینگ برایشان کنید، یا هر توافق دیگه‌ای. ممکنه ناشر نرم‌افزار به شما تعهد بده که نرم‌افزارش در ۹۹٪ مواقع کار می‌کنه و اگر توی بازه یک ماهه، خطایی بیشتر از ۱ درصد مواقع رخ بده بخشی از خسارت شما رو بپذیره. دنیای لایسنس‌ها بسیار پیچیده است.

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

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

نقش نظارتی

توی پروژه‌های آزاد نقش‌های مختلفی وجود داره، از maintainer که وظیفه‌اش مشخص کردن نقشه راه و بررسی کردن کدهای ارسالی هست، تا contributor که تغییراتی رو برای بررسی ارسال می‌کنه، تا user که از همه موارد قبلی استفاده می‌کنه. این میان وظایف مختلفی در گروه‌های مختلف تشکیل میشه، مثلا وقتی تعداد یوزرها خیلی زیاد میشه و درخواست‌های کمک بالا می‌ره، گاها اون جوامع بین خودشون moderator انتخاب می‌کنن تا درخواست‌های الکی و اسپم و تکراری رو جواب بدن، یا وقتی پروژه خیلی بزرگ‌تر از حد انتظار میشه اون رو بین کاربرها به گروه‌های کوچک‌تر تقسیم می‌کنند تا هر کسی روی بخش خودش کار کنه. این بین اما نقش نظارتی خالیه.

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

اما چرا با وجود این همه ویژگی مثبت، دید خوبی به اون‌ها نیست؟

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

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

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

خب، که چی؟

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

نظر شما چیه؟ اگر پیشنهاد یا انتقادی دارید می‌تونید به این گروه بپیوندید و نظرتون رو اونجا بگذارید.