{"id":223751,"date":"2025-06-17T09:44:56","date_gmt":"2025-06-17T09:44:56","guid":{"rendered":"https:\/\/wpmudev.com\/blog\/?p=223751"},"modified":"2025-06-13T14:05:25","modified_gmt":"2025-06-13T14:05:25","slug":"tbh-aid-rather-not","status":"publish","type":"post","link":"https:\/\/wpmudev.com\/blog\/tbh-aid-rather-not\/","title":{"rendered":"TBH, AI\u2019d Rather Not\u2026"},"content":{"rendered":"<p>Stick around \u2018til the end for a guy whose sense of humor speaks louder than words.<\/p>\n<p><strong>In today\u2019s edition: <\/strong><\/p>\n<ul>\n<li>FAIR play? The WordPress decentralized mirrorverse is here.<\/li>\n<li>PayU plugin left the door wide open\u2026 oops.<\/li>\n<li>SponsorMeWP: Because you can\u2019t pay your electricity bill in WordPress street cred.<\/li>\n<\/ul>\n<h2>Hot Off The Presses: What\u2019s New?<\/h2>\n<div class=\"image-grid cgrid-row\">\n<div class=\"cgrid-col cgrid-col-span-full\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-ratio-full wp-image-223752\" src=\"https:\/\/wpmudev.com\/blog\/wp-content\/uploads\/2025\/06\/chatgpt-vs-claude-programmer-meme-1050x785.png\" alt=\"ChatGPT asks Claude to fix an issue; Claude replies, \u201cNo. I decide I don\u2019t care,\u201d mimicking a human programmer\u2019s attitude.\" width=\"1050\" height=\"785\" \/><\/div>\n<\/div>\n<p>In the last DEV issue, we warned about AI-generated code flooding the repo with mediocrity.<\/p>\n<p>But just look at the screenshot above. Turns out, the robots aren\u2019t coming for your job just yet &#8211; they\u2019re too busy ghosting each other.<\/p>\n<p>Meanwhile, we\u2019ll keep busting our butts (and sometimes cleaning up after them).<\/p>\n<p>Welcome to the DEV. Let\u2019s roll up our sleeves and dive in.<\/p>\n<h2>FAIR Enough? WordPress Gets Its Own Parallel Universe<\/h2>\n<p><strong>FAIR<\/strong> = \u201cWhat if WordPress.org&#8230; but open, federated, and cryptographically signed?\u201d<\/p>\n<p>It\u2019s nerdy. It\u2019s promising. It\u2019s here. And it\u2019s sparking exactly the kind of spirited conversation open source was built for.<\/p>\n<p>Federated and Independent Repositories (FAIR) is the new Linux Foundation-backed project that\u2019s basically WordPress\u2019s rebel alliance, with heavy hitters like Carrie Dils, Mika Epstein, and Ryan McCue leading the charge and hundreds of contributors behind the project.<\/p>\n<p>It was launched at Alt Ctrl Org, a side event at the recent WordCamp Europe in Basel.<\/p>\n<h3>So, what the heck is FAIR?<\/h3>\n<p>FAIR lets web-hosting companies and large organizations run their own mirrors of WordPress\u2019s core update, plugin, theme and translation servers.<\/p>\n<p>It\u2019s not a fork, and it\u2019s still all WordPress, it simply provides server components that anyone can run.<\/p>\n<p>Instead of relying on the WordPress.org mothership, you can reroute plugin and theme updates through a whole galaxy of independent repositories. Supporters say the new system will strengthen security, reduce costs and replace reliance on <a href=\"http:\/\/WordPress.org\" rel=\"noopener\" target=\"_blank\">WordPress.org<\/a>.<\/p>\n<p>The Linux Foundation liked it so much, they\u2019re hosting the project. There\u2019s also a full governance model, a Technical Steering Committee, and a roadmap built in public. Joost de Valk and Karim Marucchi are among the early champions, pushing for a future where plugin delivery isn\u2019t bottlenecked by one central hub.<\/p>\n<h3>But\u2026 not everyone\u2019s throwing confetti<\/h3>\n<p>Some see FAIR as a much-needed evolution. Others are asking, \u201cCool, but will it break my site?\u201d<\/p>\n<p>Matt Medeiros <a href=\"https:\/\/thewpminute.com\/why-im-not-jazzed-about-fair\/\" rel=\"noopener\" target=\"_blank\">isn\u2019t exactly breaking out the party hats<\/a>. He warns FAIR might be \u201coverpromising\u201d and confusing regular folks who are just trying to ship a website before the weekend.<\/p>\n<p>And Matt Mullenweg himself gave the project a bit of a side-eye at WordCamp Europe, calling the launch \u201cunfortunate in some ways\u201d and wishing for <a href=\"https:\/\/www.searchenginejournal.com\/wordpress-co-founder-mullenwegs-reaction-to-fair-project\/548616\/\" rel=\"noopener\" target=\"_blank\">more upfront collaboration<\/a>.<\/p>\n<h3>What\u2019s next?<\/h3>\n<p>Will hosts adopt FAIR? Will plugin devs support this decentralized dream? The jury\u2019s out, but this is the kind of bold experiment open source was born for.<\/p>\n<p>Curious? Try it yourself: <a href=\"https:\/\/github.com\/fairpm\/fair-plugin\" rel=\"noopener\" target=\"_blank\">download the FAIR plugin from GitHub<\/a>. Then federate like it\u2019s 1999\u2026 or 2003.<\/p>\n<p><strong>FAIR Play: Relevant Reading\/Listening:<\/strong><\/p>\n<ul>\n<li>The Linux Foundation\u2019s <a href=\"https:\/\/www.linuxfoundation.org\/press\/linux-foundation-announces-the-fair-package-manager-project-for-open-source-content-management-system-stability\" rel=\"noopener\" target=\"_blank\">official press release<\/a>.<\/li>\n<li>The Repository\u2019s <a href=\"https:\/\/www.therepository.email\/fair-to-decentralize-wordpress-backed-by-linux-foundation-and-contributors\" rel=\"noopener\" target=\"_blank\">super-detailed breakdown<\/a>.<\/li>\n<li>Joost de Valk &amp; Karim Marucchi chat about the evolution of FAIR on the <a href=\"https:\/\/kraut.press\/podcast\/fair\/\" rel=\"noopener\" target=\"_blank\">KrautPress Podcast<\/a>.<\/li>\n<li>FastCompany <a href=\"https:\/\/www.fastcompany.com\/91347003\/wordpress-veterans-launch-fair-project-to-tackle-security-and-control-concerns\" rel=\"noopener\" target=\"_blank\">covers the launch<\/a>.<\/li>\n<li>A <a href=\"https:\/\/thewpminute.com\/mary-hubbard-matt-mullenweg-wordcamp-eu-2025-fireside-chat\/\" rel=\"noopener\" target=\"_blank\">recording of the Fireside Chat<\/a> at WCEU where Mary Hubbard &amp; Matt Mullenweg discuss FAIR.<\/li>\n<\/ul>\n<h2>SponsorMeWP: Finally, a Way to Get Paid for Your WordPress Obsession<\/h2>\n<p>Contributing to WordPress is like being a superhero, if superheroes wore hoodies instead of capes and fixed bugs for free.<\/p>\n<p>But let\u2019s be real: saving the world with code doesn\u2019t really pay the bills.<\/p>\n<p>If you spend <em>all the hours<\/em> tweaking core, building plugins, fixing issues and sharing wisdom (because who needs a social life, right?) then there\u2019s a new platform that wants to help you turn those unpaid hours into actual cash.<\/p>\n<p><a href=\"https:\/\/sponsormewp.com\/\" rel=\"noopener\" target=\"_blank\">SponsorMe WP<\/a> is basically a tip jar for the coders, designers and plugin wizards who keep WordPress humming.<\/p>\n<p>This new project, created by WordPress legends Michelle Frechette and Marcus Burnette, is a free directory where contributors can list their skills, interests and availability for sponsorship.<\/p>\n<p>Then, companies can browse the directory, find talented devs and toss a few coins their way. Whether it\u2019s one-time sponsorship or recurring support, it\u2019s pretty flexible. Whatever floats your boat (or pays your rent).<\/p>\n<p>It\u2019s a brilliant way to close the gap between folks with time and talent and companies with plenty of dough and the desire to give back.<\/p>\n<h2>Unauthorized? Unbothered. Unpatched PayU Plugin Hands Over the Keys<\/h2>\n<p><strong>Heads up:<\/strong> A critical vulnerability in the PayU CommercePro plugin is letting unauthenticated attackers create admin accounts out of thin air.<\/p>\n<p>Yep, anyone can just hijack the site via two REST endpoints that didn\u2019t check who was calling. Thousands (5,000+ installs) are exposed, according to <a href=\"https:\/\/patchstack.com\/articles\/unpatched-account-takeover-in-payu-commercepro\/\" rel=\"noopener\" target=\"_blank\">Patchstack<\/a>.<\/p>\n<p><strong>How the attack works:<\/strong><br \/>\nAttackers hit <code>\/wp-json\/payu\/v1\/generate-user-token<\/code>, snag a token for a hardcoded email, then the <code>\/get-shipping-cost<\/code> endpoint sets the stolen token as an authenticated cookie. This makes it possible for unauthenticated attackers to create new administrative user accounts and voil\u00e0: admin access without credentials.<\/p>\n<p><strong>Severity level:<\/strong> <a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2024-12264\" rel=\"noopener\" target=\"_blank\">CRITICAL<\/a><\/p>\n<p><strong>What should you do?<\/strong><br \/>\nSorry hun, there\u2019s no patch. You\u2019ve gotta pull the plug(in). Like, deactivate that sucker, immediately. Switching payment methods sucks. But a hijacked site sucks more.<\/p>\n<h2>Mind Bloggling Facts &amp; Stats<\/h2>\n<ul>\n<li><strong>WordCamp Europe 2025 Recap<\/strong>: The biggest WordPress event in Europe, just wrapped up in Basel, Switzerland. Over 2000 folks attended, and nearly 250 volunteers and organisers made it happen. (<a href=\"https:\/\/www.facebook.com\/WCEurope\/posts\/day-two-of-wordcamp-europe-is-behind-us-23-sessions-over-2000-attendees-and-more\/1097299322431427\/\" rel=\"noopener\" target=\"_blank\">Source<\/a>)<\/li>\n<li><strong>Image Optimization Win<\/strong>: In the latest TidBits, Brian Jackson from Perfmatters revealed they chopped image sizes by 29% swapping WebP for AVIF. Translation: your site just got way faster without breaking a sweat! (Psst\u2026 <a href=\"https:\/\/wpmudev.com\/project\/wp-smush-pro\/?utm_source=DEV&amp;utm_medium=blog&amp;utm_campaign=DEV_Facts_and_Stats\" target=\"_blank\" rel=\"noopener\">Smush Pro<\/a>\u2019s got AVIF support, ready when you are!)(<a href=\"https:\/\/newsletter.brianleejackson.com\/p\/tidbits-from-brian-issue-44?hide_intro_popup=true\" rel=\"noopener\" target=\"_blank\">Source<\/a>)<\/li>\n<li><strong>Networking IRL Still Reigns<\/strong>: According to The Admin Bar\u2019s 2025 WordPress Professionals Survey, \u201cin-person networking\u201d is still king, with 57% admitting they actually talked to <em>real humans<\/em> last year instead of just sliding into DMs or stalking LinkedIn. Shocking, we know! (<a href=\"https:\/\/theadminbar.com\/2025-survey\/\" rel=\"noopener\" target=\"_blank\">Source<\/a>)<\/li>\n<\/ul>\n<h2>Blogs &amp; Resources You Shouldn\u2019t Miss<\/h2>\n<p>Your content? Chef\u2019s kiss. AI: \u201cNever heard of her.\u201d <a href=\"https:\/\/searchengineland.com\/content-invisible-ai-search-engines-456496\" rel=\"noopener\" target=\"_blank\">Here\u2019s how to fix that<\/a>.<\/p>\n<p>Bartosz just made site security easier with <a href=\"https:\/\/wppasswordpolicy.com\/\" rel=\"noopener\" target=\"_blank\">WP Password Policy<\/a>, free, fierce and free of any \u201cadmin123\u201d nonsense.<\/p>\n<p>Your <a href=\"https:\/\/wpmudev.com\/pro-email\/?utm_source=DEV&amp;utm_medium=blog&amp;utm_campaign=DEV_Blogs_and_Resources\" target=\"_blank\" rel=\"noopener\">alias limit on Pro Email<\/a> is now so high, even your side projects\u2019 side projects can have inboxes.<\/p>\n<p>Jason Crist\u2019s Pattern Builder lets you build <a href=\"https:\/\/www.twentybellows.com\/pattern-builder\/\" rel=\"noopener\" target=\"_blank\">WordPress patterns that are a whole lot less frustrating<\/a>, for both you AND your clients.<\/p>\n<p>All of the dev talks, none of the jet lag. <a href=\"https:\/\/wordpress.tv\/event\/wordcamp-europe-2025\/\" rel=\"noopener\" target=\"_blank\">Stream everything you missed from WordCamp EU<\/a>.<\/p>\n<p>Talk WordPress to me: Bud interviews top WCEU speakers in his latest series. <a href=\"https:\/\/seriouslybud.com\/episode\/birgit-pauli-haack\/\" rel=\"noopener\" target=\"_blank\">Get the good stuff here<\/a>.<\/p>\n<p>Speaking of WordCamp, the event just got a whole lot easier to navigate with a <a href=\"https:\/\/poststatus.com\/new-wordcamp-app\/\" rel=\"noopener\" target=\"_blank\">shiny new app<\/a>.<\/p>\n<p>Mike King\u2019s masterclass <a href=\"https:\/\/ipullrank.com\/how-ai-mode-works\" rel=\"noopener\" target=\"_blank\">breakdown on AI mode<\/a>: what search engines see (and what they don\u2019t).<\/p>\n<h2>Coffee Break Distractions<\/h2>\n<p><a href=\"https:\/\/communitycode.dev\/episodes\/episode-1-michelle-frechette\/\" rel=\"noopener\" target=\"_blank\">New podcast drop: <em>Community + Code<\/em> debuts with a WP powerhouse guest.<\/a><\/p>\n<p><a href=\"https:\/\/x.com\/gaulicsmith\/status\/1930294977176780998\" rel=\"noopener\" target=\"_blank\">An accurate tweet on Millennial punctuation.<\/a><\/p>\n<p><a href=\"https:\/\/www.wpsolver.com\/wordpress-plugins-for-family-trees\/\" rel=\"noopener\" target=\"_blank\">If your great-great-great-great-grandma knew what a computer was, she\u2019d be all over these WordPress family tree plugins.<\/a><\/p>\n<p><a href=\"https:\/\/binatethoughts.com\/catching-the-messy-vibe\/\" rel=\"noopener\" target=\"_blank\">Embrace the chaos: Why when it comes to coding, messiness is not a bug, it\u2019s a feature.<\/a><\/p>\n<p><a href=\"https:\/\/x.com\/pseudoserial\/status\/1928579290255294577\" rel=\"noopener\" target=\"_blank\">Go home Gemini, you\u2019re drunk.<\/a><\/p>\n<p><a href=\"https:\/\/www.tiktok.com\/@paige_worden\/video\/7510892723025562922\" rel=\"noopener\" target=\"_blank\">Pick a card, any card! (Unless you\u2019re lactose intolerant\u2026)<\/a><\/p>\n<p><a href=\"https:\/\/x.com\/prettybbuckley\/status\/1931516899420225858\" rel=\"noopener\" target=\"_blank\">Grammarly is trulyn\u2019t right all the time.<\/a><\/p>\n<p>And finally\u2026<\/p>\n<p><a href=\"https:\/\/www.reddit.com\/r\/funny\/comments\/1kstlu5\/tom_the_mime_brings_the_best_vibe\/\" rel=\"noopener\" target=\"_blank\">Silence is comedy gold.<\/a><\/p>\n<p><strong>Found this interesting? Forward it to someone who you think might also love it!<\/strong> \ud83d\udc97<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Stick around \u2018til the end for a guy whose sense of humor speaks louder than words. In today\u2019s edition: FAIR play? The WordPress decentralized mirrorverse is here. PayU plugin left the door wide open\u2026 oops. SponsorMeWP: Because you can\u2019t pay your electricity bill in WordPress street cred. Hot Off The Presses: What\u2019s New? In the [&hellip;]<\/p>\n","protected":false},"author":1204260,"featured_media":223007,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"blog_reading_time":"","wds_primary_category":0,"wds_primary_tutorials_categories":0,"footnotes":""},"categories":[11265],"tags":[],"tutorials_categories":[],"class_list":["post-223751","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/223751","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/users\/1204260"}],"replies":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/comments?post=223751"}],"version-history":[{"count":7,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/223751\/revisions"}],"predecessor-version":[{"id":223753,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/posts\/223751\/revisions\/223753"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/media\/223007"}],"wp:attachment":[{"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/media?parent=223751"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/categories?post=223751"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/tags?post=223751"},{"taxonomy":"tutorials_categories","embeddable":true,"href":"https:\/\/wpmudev.com\/blog\/wp-json\/wp\/v2\/tutorials_categories?post=223751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}