Kişisel Veri Pod'u Nedir?
Şu anda verileriniz tek bir yerde yaşamıyor; hangi şirketin uygulamasını kullandıysanız orada yaşıyor. Fotoğraflarınız bir şirketin veritabanında, kişileriniz bir başkasınınkinde, sağlık geçmişiniz bir üçüncüsündedir; her biri yalnızca o şirketin uygulaması üzerinden, o şirketin şartlarıyla erişilebilir. Farklı bir uygulamaya geçmek genellikle baştan başlamak ya da gerçekten çalışan bir dışa aktarma düğmesi olduğunu ummak demektir. Denetlediğiniz tek bir yeriniz yok; her biri onu saklayanın sahip olduğu bir kopya dağınıklığınız var.
Bir kişisel veri pod'u bunu tersine çevirir. Kişisel bir depodur, onu özel ve izne dayalı bir kasa gibi düşünün: verilerinizi, her uygulama satıcısının sizin için seçtiği bir yerde değil, sizin seçtiğiniz tek bir yerde tutar. Uygulamalar artık kendi kopyalarını saklayamaz; pod'unuzdan onun belirli parçalarını okumak ya da yazmak için izin isterler ve siz o izni verir ya da geri alırsınız. Yeni bir uygulama ekleyin, eskisini bırakın: hiçbir şeyin göç etmesi gerekmez, çünkü veri en baştan pod'unuzdan hiç çıkmadı.
Fikir nereden geliyor
Bu yeni bir fikir değil ve bizim de değil. Kişisel veri pod'u, Dünya Çapında Ağı icat eden kişi olan Tim Berners-Lee'nin 2015 civarında MIT'de başlayarak tasarladığı bir şartname olan Solid'den gelir. Solid, onu inşa etmek için kurduğu şirket olan Inrupt üzerinden ticari olarak geliştirilir ve asıl teknik belgeleri yayımlayan W3C Solid Topluluk Grubu üzerinden açıkça şartnamelendirilir. Bir laboratuvar deneyi değildir: BBC, Birleşik Krallık'ın NHS'i ve Belçika'daki Flaman bölge hükümeti, fikri bir satış konuşması olarak öne süren herhangi bir satıcıdan tamamen bağımsız olarak, gerçek Solid dağıtımları ya da pilotları çalıştırdı.
Solid'in sözcük dağarcığında bu kişisel depoya Pod denir (Personal Online Datastore'un kısaltması) ve daha büyük bir şartnamenin bir parçasıdır. Solid'de kimlik WebID ile ele alınır: çekildiğinde kim olduğunuzu tarif eden bir belge döndüren bir web adresi. Okuma ve yazma mekanizmaları LDP, yani Bağlı Veri Platformu üzerinden çalışır. İzinler WAC/ACL (Web Erişim Denetimi) ile yönetilir; belirli bir kaynağı hangi kimliklerin okuyabileceğini, yazabileceğini ya da ona ekleme yapabileceğini söylemek için küçük bir sözcük dağarcığı. Verinin kendisi ise RDF olarak temsil edilir, tipik olarak Turtle ile yazılmış hâlde; bu biçimler, böyle tarif edilen verinin ilk yazan uygulamaya kilitlenmek yerine aynı sözcük dağarcığını konuşan her uygulama arasında birlikte çalışabilir olması için tasarlanmıştır. Tam protokol sayfası, Solid Protokolü, bu parçaların nasıl bir araya geldiğini anlatır; bu sayfanın sizden istediği tek şey, bir pod'un o daha büyük tablonun bütünü değil bir parçası olduğunu bilmenizdir.
Nasıl çalışır, düz anlatımla
Mekanik olarak bir pod, bir uygulamanın okuduğu bir sabit diskten çok, bir uygulamanın izin istemek zorunda olduğu bir ev sahibi gibi davranır. Diyelim ki bir yapılacaklar uygulaması ve bir not alma uygulaması kullanıyorsunuz ve ikisi de ortak bir "projeler" listesine erişmek istiyor. Eski modelde her uygulama o listenin kendi kopyasını tutar ve birini düzenleyip diğerini düzenlemediğiniz anda iki kopya birbirinden ayrılır. Bir pod ile projeler listesi tam olarak tek bir yerde, yani pod'unuzda yaşar ve iki uygulama da o belirli kaynağı okumak ya da yazmak için ondan izin ister. Bir uygulamaya yalnızca okuma, diğerine okuma-yazma erişimi verebilir ya da herhangi bir anda birini geri alabilirsiniz; alttaki veri hiç kımıldamaz. Yapılacaklar uygulamasını gelecek yıl bir başkasıyla değiştirin, geçiş anlıktır: yeni uygulamayı aynı pod'a yöneltin, izin verin ve geçmiş her kayıt zaten oradadır. Dışa aktarılacak bir şey yok, içe aktarılacak bir şey yok, çeviride kaybolacak bir şey yok. Bunun ardındaki mekanizma, yani bir uygulama veriye ulaşmadan önce neye kimin dokunabileceğini kontrol etmek, LDP ve WAC'ın kaputun altında gerçekte yaptığı şeydir; bu sayfa bunu bir şartname düzeyinde değil çalışan bir zihinsel model düzeyinde tutar, çünkü her iki terim de başka yerde kendi tam açıklamasını alır.
Pratik sonuç şudur: verileriniz herhangi bir uygulamanın iş modeline rehin olmaktan çıkar. Bir hizmet kapanırsa, satın alınırsa ya da şartlarını hoşunuza gitmeyecek biçimde değiştirirse hiçbir şey kaybetmemiş olursunuz: pod hiçbir zaman uygulamanın yanında götürebileceği bir şey değildi.
Solidus bunun neresinde
Yukarıda tarif edilenin hiçbir parçasını icat etmedi. Kaputun altında bugün Community Solid Server'ı bir araya getirir; bizim değil Solid topluluğunun inşa ettiği gerçek Solid yazılımını, altında bir did:solidus kimlik köprüsü ve bir JWT+Postgres depolama katmanıyla. Bu onu Solid ile uyumlu ve göçe hazır yapar, Solid'e uygun değil: tam Solid Protokolünü çalıştırmaz ve tam uygunluğa ulaşmak Solidus'un bitirmediği gerçek bir mühendislik işidir. O yığında gerçekte neyin sevk edildiğine karşı neyin hâlâ planlandığına dair kalem kalem sürümü isterseniz, o defter 1. Sayfada yaşar; bu sayfa onu tekrarlayacak yer değil.