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

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

###معایب شبکه‌های مرکزگرا در عالم نرم‌افزار اصطلاحی هست به نام Single Point of Failure که می‌توان آن را «نقطه آسیب‌پذیر مرکزی» ترجمه کرد. این قبیل شبکه‌ها به خاطر طراحی مرکزگرای خودشان بسیار آسیب‌پذیرند. آن‌ها داده‌های کاربران را که دست‌کم شامل رمز عبور، ایمیل، تصویر، ویدئو و نظرات آن‌هاست در سرورهای خود ذخیره می‌کنند، بنابراین دسترسی به داده‌های کاربران بسیار ساده می‌شود و این شرکت‌ها را تبدیل به هدف‌های بسیار جذابی برای هکرهای مختلف و دولت‌ها می‌کند.

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

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

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

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

  • oauth: احراز هویت کاربر به کمک حسابی که در یک سایت دیگر قرار دارد
  • ActivityStreams: انتشار فیدها و آپدیت‌های هر کاربر در قالب JSON
  • Ostatus: دریافت استتوس کاربر از یک سایت نامتمرکز دیگر

طی سال‌های گذشته تعدادی پلتفرم نرم‌افزاری برای تولید سایت‌هایی سازگار با پروتکل‌های نامتمرکز به وجود آمده‌اند که در این مقاله به آن‌ها پرداخته نمی‌شود بلکه به دو پروژه نرم‌افزاری دیگر پرداخته می‌شود که برای کاربران نرم‌افزارهای آزاد ایران جذاب‌تر و از موضوعات اصلی مقاله هستند: StatusNet و pump.io.

###StatusNet نام جدید این پروژه GNUSocial‌ است که یک پلتفرم میکروبلاگینگ مشابه توئیتر است. این پروژه به زبان php نوشته شده است و از OStatus پشتیبانی می‌کند و امکان راه‌اندازی تعداد زیادی نودهای همکار را می‌دهد (البته فکر می‌کنم این ویژگی حتی برای کاربران سابق این سایت تازگی داشته باشد). این پروژه تا سال ۲۰۱۲ نرم‌افزار اصلی سایت identi.ca بود.

###pump.io این پروژه، نرم‌افزار جایگزین StatusNet در سایت آیدنتیکا است. این پروژه امکان اشتراک انواع گوناگونی از داده‌ها را به کاربر می‌دهد و محدود به توئیت نیست و از سال ۲۰۱۲ جایگزین StatusNet در سایت آیدنتیکا شده است. سایت‌هایی که «پامپ» روی آن‌ها نصب شده به راحتی می‌توانند با یکدیگر تبادل داده کنند. برای نمونه، کاربری که در آیدنتیکا حساب کاربری دارد می‌تواند کاربری را از سایت مثلا pumpit.info «فالو» کند و بالعکس. pump.io یک وبسایت نیست بلکه یک فریم‌ورک توسعه وب محسوب می‌شود که امکان ایجاد شبکه‌‌های اجتماعی را فراهم می‌کند. با نصب «پامپ» یک وبسایت پیش‌فرض هم نصب می‌شود که امکان استفاده از API‌ آن را فراهم می‌کند. وبسایت تنها راه استفاده از پامپ نیست، بلکه هر برنامه‌ای می‌تواند از طریق رابط برنامه‌نویسی‌اش با آن ارتباط برقرار کند. پامپ توسط برنامه‌نویس کانادایی StatusNet با nodejs نوشته شده است.

###Impeller «ایمپلر» نام یک اپلیکیشن اندروید است که می‌تواند به سایت‌های مختلف پامپ به صورت همزمان متصل شود و امکان استفاده از خدمات سایت را فراهم کند. این برنامه نیز مانند پامپ رایگان و آزاد است. روش‌های دریافت و نصب ایمپلر در وبسایت آن شرح داده شده است.