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

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

یه نگاهی انداختیم به مشکلات شبکههای اجتماعی متمرکز فعلی مثل فیسبوک، توییتر و اینستاگرام. این مشکلات شامل موارد زیر میشد:

بعدش اومدیم سراغ معرفی Fediverse که ترکیبی از دو کلمه Federation + Universe هست. توضیح دادیم که این سیستم چطوری کار میکنه و چه مزیتهایی داره.
گفتیم که شبکه های اجتماعی که بر پایه فدراسیون کار میکنن و از پروتکل یکسانی استفاده میکنن که بهم متصل هستند. وابسته به شرکت واحدی نیستن و اوپن سورس هستند و بین شون تعامل وجود داره.
نمونههای واقعی این شبکهها که معرفی کردیم شامل اینا بودن:


از این گفتیم که فرض کنید از اینستاگرام بتونی به دوستت توی توییتر پیام بدی و حتی دوستت پست اینستاگرامت رو توی توییتر ببینه. این در دنیای متمرکز ها امکان پذیر نیست ولی در دنیالی شبکه های اجتماعی غیرمتمرکز امکان پذیره و شما میتونید از pixelfed به mastodon پیام بدید یا پست های همدیگه رو ببینید.

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

یکی از بحثهای جالب این بود که هر instance توسط مدیر خودش کنترل میشه. مدیر میتونه قوانین خاصی برای ثبتنام بذاره یا بعضی instanceها رو مسدود کنه.

یکی از ویژگیهای جالب Fediverse اینه که اگر از قوانین یا فضای یه Instance خاص خوشت نیومد، میتونی خیلی راحت اونو ترک کنی. این یعنی فرار از دیکتاتوری!
حتی یه امکان باحالتر هم داره: Export و Import دادهها. اگه خواستی از سروری بری، همه دادههات از جمله فالوئرها، پستها و تنظیمات رو میتونی به سرور جدید منتقل کنی، بدون اینکه چیزی رو از دست بدی.

وقتی بحث به تأیید هویت (Verification) و تیک آبی رسید، همه مشتاق شدن بدونن اینجا چطوری کار میکنه. برعکس شبکههای اجتماعی متمرکز که تیک آبی بیشتر برای خودنمایی و کلاس گذاشتنه، توی شبکههای غیرمتمرکز هدف فقط اینه که بگن: «آره، این پیج واقعاً مال منه!»
برای گرفتن تأیید هویت، چند روش معرفی کردیم:

تو بخش حریم خصوصی، با مقایسه Fediverse با شبکههای اجتماعی مثل اینستاگرام و تیکتاک، توضیح دادیم که اینجا خبری از ترکرهای تبلیغاتی، الگوریتمهای اعتیادآور و جاسوسی دادهها نیست.
یه مثال زدیم: تیکتاک چطوری با الگوریتمهای خاص، آدم رو به تماشای بیشتر و بیشتر تشویق میکنه. ولی اینجا، هیچ الگوریتمی وجود نداره که محتوا رو بهزور جلوی چشمت بذاره.
یکی از سوالات مهم این بود: آیا مدیر سرور میتونه چتهای خصوصی کاربران رو بخونه؟
اینجا بحث بالا گرفت! مرتضی گفت: «قاعدتاً باید رمزنگاری دوطرفه باشه تا هیچ مدیری نتونه به چتها دسترسی داشته باشه.» در نهایت توافق کردیم که این موضوع به قوانین هر Instance و تنظیمات اون بستگی داره، اما منطقیترین حالت، رمزنگاری چتهاست.

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

برای اینکه کاربری تازهوارد در این سیستم سردرگم نشه، توضیح دادیم که پیامها چند نوع دارن:

همچنین انواع حسابهای خصوصی و عمومی و تنظیمات مرتبط با اون رو هم مرور کردیم. اینجا شما میتونید مشخص کنید که کی پستهاتون رو ببینه، یا حتی پستهاتون رو بهصورت موقت مخفی کنید.
یکی از مشکلات این سیستم، از کار افتادن (Down شدن) برخی Instanceها به دلیل مشکلات مالی یا مشغله مدیرانه.
برای همین، قابلیت مهاجرت بین سرورها پیشبینی شده. شما میتونید خیلی راحت دادههای خروجی بگیرین و به سرور دیگه منتقل شین، بدون اینکه فالوئرهاتون رو از دست بدین.
در بخش پایانی، نگاهی به رشد Fediverse کردیم. Mastodon تا سال 1402 حدود 20 میلیون کاربر داشت و این عدد مدام در حال افزایشه.
حتی Pixelfed که بهعنوان جایگزین اینستاگرام شناخته میشه، رشد سریعی داره. جالب اینکه فیسبوک و اینستاگرام لینکهای مربوط به Pixelfed رو حذف میکنن تا از رشدش جلوگیری کنن.
از ابزارهای حریم خصوصی گفتیم که شامل این گزینههاست:
جلسه رو با بحثهای داغ مرتضی و سجاد در مورد آینده شبکههای اجتماعی غیرمتمرکز تموم کردیم. هر کدوم نظر متفاوتی داشتن و این تنوع دیدگاه باعث شد بحث خیلی جذاب بشه.

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

تیم نادر در چند نمایشگاه مهم شرکت کرد. توی نمایشگاه اهواز پیشنهاد نمایندگی و توی نمایشگاه نیشابور پیشنهاد نصب سیستم خانه هوشمند داشتن. اما به خاطر نداشتن نسخه بازاری و آماده برای نصب، این فرصتها از دست رفت.
مشکلات اصلی تیم نادر اینا بودن:

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

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

کانال دورهمی برنامه نویسان در تلگرام: zavieprogrammers@
