ADVERTISEMENT

Meta to embrace, extend, extinguish the Fediverse?

Published Jun 22, 2023 01:47 am
For the past several weeks, we have heard of news that Meta, formerly known as [Facebook, is building a Twitter rival](https://www.theguardian.com/technology/2023/jun/09/facebook-owner-to-push-ahead-plans-launch-twitter-rival-meta-oprah-winfrey) that will leverage the Instagram user-base (yeah, Facebook is dead, IMHO) and join the federated universe (fediverse) by using ActivityPub. The objective to offer a Twitter rival is simply superficial, the aim really is to tap the data from the ActivityPub firehose. Yep, more data collection from users who are not part of the Meta ecosystem! ActivityPub is, in its simplest description, an open protocol that allows different services to talk to each other and exchange data, just like SMTP (used by e-mail). This protocol has been gaining popularity thanks to the likes of Mastodon, Pleroma, Misskey, Calckey, PixelFed, and PeerTube, to name the popular free, open source software projects. Regardless of which ActivityPub software an instance is running, it automatically becomes part of the fediverse. The instances are mostly run by people who value their freedom - predominantly freedom from control by Big Tech - make the fediverse akin to the internet of old, where personal websites and blogs rule. Here comes Meta, the notorious Big Tech company that values profit over everything, no matter the cost. Meta joining the fediverse rallied owners/moderators of the different instances to evaluate whether to block Meta or not. Blocking Meta means data from any Meta user will not appear on their instance and vice-versa. It even spun this movement, the Anti-Meta Fedi Pact <"[https://fedipact.online](https://fedipact.online/)">. This also brought a lot of criticisms about the fediverse, like John Gruber's "Not That Kind of 'Open'" <"[https://daringfireball.net/linked/2023/06/19/not-that-kind-of-open](https://daringfireball.net/linked/2023/06/19/not-that-kind-of-open)">. Here's my take. If you are running a single-user ActivityPub software instance, then you can decide whether to block it or not. However, if you run a public instance, then I think you should not impose your own preferences over all your users by blocking Meta without informing your users beforehand - at least give them time to move, if they want to. Personally, I do not expect my provider to block Meta, but on the personal level, I will set my account to private and approve follow requests. It is my belief that if I do not have a single follower from Meta, and I set my posts to either Unlisted or stricter, then Meta has no access to my data. I have long ditched Meta's Facebook and Instagram because I do not trust Zuckerberg and his gang. Yeah, fool me once, right? Yes, John Gruber - it is not about being open or not, it is about Meta's aim at hoovering the data from the fediverse! TL;DR - no to instance blocking for public fediverse instances, and let the users decide for themselves.
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.