TEKNİK YAZI / API Tasarımı ve Entegrasyonlar

ActivityPub: Sosyal Medyanın Merkezi Olmayan Geleceği

ActivityPub protokolünün ActivityStreams, inbox/outbox ve federasyon akışlarıyla merkezi olmayan sosyal ağlarda nasıl çalıştığını inceleyin.

ActivityPub, farklı sunuculardaki kullanıcıların birbirini takip etmesini ve içerik alışverişi yapmasını sağlayan W3C standardıdır. Mastodon, Pixelfed ve PeerTube gibi uygulamalar aynı ürün olmadan bu ortak protokol üzerinden federasyon kurabilir.

ActivityPub Nedir?

ActivityPub, W3C tarafından 2018’de standartlaştırılan merkezi olmayan sosyal ağ protokolüdür. Tek bir hizmet sağlayıcısına bağlı kalmadan, bağımsız sunucuların ortak nesne ve etkinlik biçimleriyle iletişim kurmasını tanımlar.

Protokol, ActivityStreams 2.0 veri formatı üzerine kurulu. İki ana API sunuyor:

Neden ActivityPub Önemli?

Sosyal medya devleri (Meta, X, TikTok) tüm verilerinizi kontrol ediyor. Hesabınızı kapatabilir, içeriğinizi silebilir, algoritmaları değiştirebilirler. Hiçbir kontrolünüz yok!

ActivityPub ile:

Nasıl Çalışıyor?

ActivityPub’ın mantığı email’e benziyor. Gmail kullanıcısı Outlook kullanıcısına mail atabiliyorsa, Mastodon kullanıcısı da Pixelfed kullanıcısını takip edebiliyor!

Actor Model: Her kullanıcı, grup veya bot bir “actor”. Her actor’ün:

Activity Streams: Her eylem bir “activity”. Like, Follow, Create, Delete, Update… Bunlar JSON-LD formatında.

Federation: Sunucular birbirlerinin actor’larını keşfedip, activity’leri paylaşıyorlar. @user@mastodon.social yazdığınızda, sunucunuz mastodon.social’a gidip o kullanıcıyı buluyor.

Fediverse - Federated Universe

ActivityPub kullanan tüm platformların oluşturduğu ekosisteme Fediverse deniyor. Şu an 10+ milyon kullanıcısı var!

Popüler platformlar:

Hepsi birbiriyle konuşabiliyor! Mastodon’dan PeerTube videosunu like’layabiliyorsunuz.

Basit Örnekler

ActivityPub mesajı nasıl görünür:

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Create",
  "id": "https://example.com/activities/1",
  "actor": "https://example.com/users/alice",
  "object": {
    "type": "Note",
    "id": "https://example.com/notes/1",
    "content": "Hello Fediverse!",
    "to": ["https://www.w3.org/ns/activitystreams#Public"],
    "cc": ["https://example.com/users/alice/followers"]
  }
}

Follow activity:

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Follow",
  "actor": "https://mastodon.social/@user1",
  "object": "https://pixelfed.social/@photographer",
  "id": "https://mastodon.social/follows/12345"
}

Instance Seçimi ve Kurulum

ActivityPub kullanmak için iki seçeneğiniz var:

1. Hazır instance’a katılmak: mastodon.social, pixelfed.social gibi public instance’lar var. Hesap açıp kullanmaya başlayabilirsiniz.

2. Kendi instance’ınızı kurmak: VPS kiralar, Mastodon/Pixelfed kurarsınız. Full kontrol sizde!

Instance seçerken dikkat edilecekler:

Federation Nasıl Çalışır?

Alice (mastodon.social) Bob’u (pixelfed.social) takip etmek istiyor:

  1. Alice “Follow” butonuna tıklar
  2. mastodon.social, pixelfed.social’a HTTP POST request atar
  3. Request Bob’un inbox’ına düşer
  4. Bob kabul ederse, Accept activity gönderir
  5. Artık Bob’un post’ları Alice’in timeline’ına düşer

Bu işlem tamamen otomatik! Kullanıcı sadece takip eder, gerisini protokol halleder.

Avantajlar ve Dezavantajlar

Avantajlar:

Dezavantajlar:

Teknik Zorluklar

Scaling: Her instance tüm follower’larına mesaj göndermeli. Büyük hesaplar için zor.

Search: Global search yok. Sadece instance’ınızın gördüklerini arayabilirsiniz.

Identity: Instance kapanırsa, kimliğinizi kaybedebilirsiniz (backup önemli!).

Media storage: Resim/video hosting pahalı. Küçük instance’lar zorlanıyor.

Gelecek

ActivityPub sadece sosyal medya değil:

Web3 hype’ı sönerken, ActivityPub sessizce gerçek decentralized web’i inşa ediyor!

Nasıl Başlamalı?

  1. Bir platform seçin: Mastodon en popüler, başlamak için ideal
  2. Instance seçin: joinmastodon.org’da liste var
  3. Hesap açın: Email ve username yeterli
  4. Profil doldurun: Bio, avatar, header
  5. İnsanları takip edin: Hashtag’leri kullanın, keşfedin
  6. Engage: Reply, boost, like!

Sonuç

ActivityPub, sosyal ağ sahipliğini tek bir uygulamadan protokol ve sunucu seçimine taşır. Bu yapı birlikte çalışabilirlik sağlar; ancak içerik keşfi, moderasyon, teslim garantileri ve sunucular arası güven gibi operasyonel sorunları ortadan kaldırmaz. Bir uygulamayı federasyona açmadan önce kimlik, imza doğrulama, tekrar teslim ve kötüye kullanım akışları birlikte tasarlanmalıdır.