Important Notice: this service will be discontinued by the end of 2024 because for multiple years now, Plume is no longer under active/continuous development. Sadly each time there was hope, active development came to a stop again. Please consider using our Writefreely instance instead.

چرا بات اوبونتو ایران، علی‌رغم داشتن پروانه GPLv3 آزاد نبود؟

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

خلاصه‌ای از پیشنیه موضوع

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

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

آزادی نرم‌افزار آزاد از کجا می‌آید؟

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

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

چرا بات اوبونتو ایران، آزاد نبود؟

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

  • بات، تحت پروانه GPLv3 بوده و آزاد است.
  • هر کسی می‌تواند با پرداخت ۲۰۰ یورو، این بات را خریداری کرده و در صورت تمایل، کد آن را به رایگان در اختیار دیگران قرار دهد.
  • اعضای گروه، کاربر این بات نیستند که بخواهند ادعا کنند که باید به کد دسترسی داشته باشند.
  • کد توسط دانیال بهزادی بررسی و تایید شده است.

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

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

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

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

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

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

جمع‌بندی

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

از دوستان دعوت می‌کنم در صورت نقد داشتن، به صورت مکتوب نظرات‌شان را به اشتراک بگذارند.