Blog

Twenty Twenty-Two theme is the first of the block theme era to be tagged accessibility-ready

After an amazing seven-month long effort across multiple contributor teams at WordPress, the Twenty Twenty-Two (also known as TT2) default theme will be tagged as “Accessibility-Ready” when WordPress 6.1 ships this coming November. It is the first block theme to meet the requirements for gaining this wonderful distinction for accessibility. During its development the theme was also tested and found to meet WCAG AA level accessibility requirements, which shows just how accessible it really is.

The accessibility-ready tag can be applied to themes in the directory that have successfully completed an accessibility audit for the minimum requirements established by the Themes team at WordPress. Theme authors, however, are encouraged to exceed those requirements, which are laid out in a tiered set of both required and recommended guidelines. 

It is important to note that themes tagged as accessibility-ready do not necessarily meet any level of formal accessibility requirements, as those measurements apply to content and cannot be applied to a theme based on that fact.

Getting this tag added to the Twenty Twenty-Two theme was delayed due to a few issues that required collaboration across different teams responsible for this theme. One of the important ones was the theme having multiple H1 headings per page. Although WCAG guidelines do not prohibit more than one H1 on a page, the accessibility-ready guidelines required no more than one H1 per page. Some participants in the discussion suggested that the requirements needed to be changed.

“The reason the theme accessibility-ready guidelines are stricter than WCAG is mostly for clarity: the guidelines were written to be easily testable and explicit.” Accessibility Team contributor Joe Dolson commented on the ticket.

“The point being that we couldn’t provide extensive accessibility training to theme reviewers, so we needed the rules to be as narrow as possible. As long as we update the guidelines in a way that still meets that criteria, I think it would be fine.”

The Themes and Accessibility teams reached a agreement on how the accessibility-ready tag will apply to block themes going forward so contributors could move forward with adding the tag to their themes as well.

“We should keep in mind that a breakage to the accessibility of WordPress block output will impact all block themes, so those failures are quite serious, but as it stands now the theme meets all expected criteria,” Dolson said.

The WordPress Themes Directory currently has only 94 themes tagged as “accessibility-ready” and only two of them also have support for full-site editing, those themes are, Jace by Themes Team contributor Carolina Nymark, and W3CSSPress by Matteo Marchiori. The Twenty Twenty-Two will be joining them on November 1, 2022, which is the anticipated release date of of WordPress 6.1, the latest update to WordPress.

Traffic dropping? don’t freak out just yet

It’s first thing morning and you open up your Google Analytics stats to have a look at what has been happening. Then you see it, something you don’t wish to see at the beginning of the day: a sudden drop in traffic. And not just a small decline, no this is a significant drop. Panic strikes you, time for action! First, take a couple of deep breaths and grab a piece of (digital) paper and write down the things you should check out before really panicing. Here I will help you to identify what the problem is, and how to fix it.

Before you start panicking, check the data first

Before you start investigating what the cause was, it’s a good idea to check if there really has been a drop in traffic that you need to worry about. It’s possible that you’re not seeing the right data, due to IT issues or changes in your analytics setup. This is something that could be the problem if there’s a large and sudden change in the data.

Does the date range you’re using make sense?

After you’ve taken your deep breath, check how bad the traffic drop is. Sometimes a drop can look sharp because you’re looking at the wrong date range. For example, you’ve included today and the day isn’t over yet. Or you’re looking at an hourly report, or a date range including a weekend when traffic often dips a bit.

Hourly report in Google Analytics

It’s important to remember you can get skewed graphs because of the date range that you’ve chosen. No website has a consistent amount of traffic; it goes up and down depending on the time of day or the day of the week. It’s key that you put the drop into perspective. Take a broader date range that you can divide by seven, or compare date ranges for a comparison. One of the things worth exploring is to compare the date range with last year’s date range. Did you have a similar drop last year? Then perhaps the dip in traffic is a normal seasonal fluctuation that happens for everyone.

Finding the cause of your traffic problem

Now you’ve established that there is a significant traffic drop and it’s not caused by a technical error or an unlucky chosen date range, now it’s time to look further into what is going on.

1. Check your channels

First thing you should be checking is if you’re getting less traffic from one or more of your main traffic sources. The acquisition tab in Google Analytics gives more insight into what drives people to your website. Have a look at the Channels you’ve got and plot rows of each of them. You can plot up to six channels at a time:

Drop in traffic source in Google Analytics

It’ll show you a graph with a graph line for each channel you’ve plotted. That way you can identify which channel caused the drop that you are seeing. Once identified, you can specify even further by clicking on the Channel or by narrowing down the Source and Medium of that Channel in the Source/Medium tab to further identify a possible issue.

If you see a decline in organic traffic, you might have an SEO issue to look into, like a Google Penalty perhaps. If so, sprint to your Google Search Console account to check if you’ve got a message from Google about this. Also, if you see less traffic coming from social media, check whether you’re still active on these channels, maybe it’s time to make a post or two. A decline in Direct traffic however, could indicate things like a new competitor showing up, or some pages don’t work on your site anymore.

2. Is it an SEO problem you are having, or something else?

If your organic search traffic is dropping, then perhaps it’s an issue with your SEO that is causing it. I’ll come back to SEO and ranking problems in a moment. 

Besides organic search traffic, something might’ve gone wrong on your social media, or maybe your newsletter wound up in everyone’s spam folder if that’s something you have been doing. If your direct traffic has been dropping, take a firm look at your site’s health. Do you have a proper site structure and is it user-friendly? Are you providing the best user experience that you can? Do you meet all your visitor’s expectations that you set out to do? Do your pages actually work and is your site fast enough? Make sure you’re giving users a reason to remember you and for them to come back again.

You should be aware the reason your traffic is dropping might be entirely out of your control. If your traffic has dropped in a specific region it could be due to public holidays, hurricanes, power outages, an unstable political climate, or any number of things. By looking at your countries data in Google Analytics, you can identify if a specific country has a significant drop in traffic and look into those things I mentioned. Then you can check the news and find out if something has happened in that country where you see a drop in traffic.

3. Traffic drops due to an SEO problems

When you’ve gone through these steps to check your site’s SEO, and find that your traffic has dropped, you obviously want to know why this is happening. It could be related to your ranking in the search results. But this is a bit of a harder thing to check, unfortunately. 

You can use the Wincher rank tracking integration in the Yoast SEO plugin to see how your most important pages are performing. But keep in mind, if you’re new to it, you won’t be able to see how your rankings have changed immediately after setting it up, as that critical earlier data hasn’t been collected yet. 

Tracking keywords and monitoring your pages’ positions in search isn’t all that easy of a thing to do. Google Analytics and Search Console show some of the information about search positions and the queries your pages are being found for, but it’s not provided in a way that’s easy-to-use for everyone. Rank trackers can make this easier to figure out, but if you haven’t set one up already then you’ll need to do it the long way. 

Besides a page losing its SERP position, there are still other SEO problems that might cause a drop in traffic. Problems with your SEO title or meta description could lead to fewer people clicking on your snippet in the search results because it doesn’t grab their attention. Or your audience could have started using different search terms, or searching for something else all together. In that case you’ll see your impressions and traffic dropping while your rankings remain stable.

How to get your traffic on track again

Improve your content and you site overall

If you think your traffic drop might be due to an SEO issue, or a lack of visitors coming back to your site, you should invest some time to improve your content and your site. You might need to work on the all kinds of things like the quality of your content, addressing duplicate content problems, improve your internal linking and site structure, or work on your site’s technical performance. These are just some of the more common factors that could lead to traffic problems.

Please note that since Google’s helpful content update, you have even more reason to focus on the quality of your content. If your rankings have suddenly dropped, it’s a good idea to review your content and see if it can be improved upon or needs to be replaced. The readability and SEO checks in Yoast SEO Premium make it easy to check if your content is optimized, so you can focus on writing naturally and making your content more helpful for your visitors. 

If you don’t think your traffic problems can be solved with SEO, you might want to try something else instead.

Work on your social media

Using social media is a necessity for the growth and marketing of your blog. There is a simple reason for this: if people talk about you, be it online or offline, you’re relevant to the topic at hand. You’ll want to know about these conversations! Social media can be a kind of marketplace for a business, where people share questions and reviews about products and events they have experienced. You better make sure those are your products and events they are talking about, right? So, partaking in these conversations can be great for your brand and could lead to growth for your site and business. In order to choose social media channels that are best suited for your business, make sure to take into account your desired audience and the content you want to share with them on social media. In many cases, it’s better if you make that content specifically for the channel you want to share the it on.

Want to post more on social media, but often lack the time to do so? With the Zapier integration in Yoast SEO Premium you can automate your social media sharing and stay in control of what your social media posts look like. This integration makes it possible to automatically post to your favourite social media network whenever you publish new content to your site. This saves you time without compromising the quality of your social media posts.

Work on your email marketing

Email is a great way to increase your customers’ retention. This means sending emails that may increase the likelihood of visitors becoming recurring visitors. By emailing your customers on a regular basis, your brand will stay at the top of their minds more. Additionally, they’ll return more quickly to read another post you’ve written. Of course, those emails would have to be interesting, enticing, and engaging for this to really work for you! Consider testing your newsletters to check what works best for your audience.

It’s relatively easy to set up a newsletter through a service such as MailChimp. You can even target specific subgroups within within your audience with a newsletter. Sending an email is also a great way to inform your readers that you have written new blog posts and that they should come and visit your blog to see what’s new.

Try advertising

If you have a budget, you could place ads on Facebook or Google to promote your blog and widen your audience. Facebook also has the option to boost your posts, making sure it’ll get more exposure to new people. Using Facebook, you can even focus on a certain demographic you want to reach out to, with settings for age, location, and interests, making it easy to target your desired audience in just a few clicks.

Traffic drops happen! Keep calm and keep carrying on

So, traffic drops happen for all kinds of different reasons. The most important thing is to stay calm and investigate the cause of it. Once you know why it’s happening you can start taking action to fix it. Do you have any tips or stories about a drop in your traffic and how you dealt with it? Drop them in the comments and I might include them in a future post.

WebP by Default Pulled from Upcoming WordPress 6.1 Release

Last month, the plan was for WordPress to generate WebP images by default for new JPEG image uploads and that was put on hold for the upcoming WordPress 6.1 release after objections from lead developers. The original proposal had been merged into core at the end of July, despite significant feedback and concerns from WordPress’ developer community objecting to it. Yesterday, the feature was reverted in response to Matt Mullenweg’s recent post about removing it from core in favour of developing it as a canonical plugin:

I’ve been reading through all the conversation and issues here. I am interested in supporting new formats and improving performance, but I think this change being pushed by default to users when they upgrade to 6.1 is a lot for right now, including with some of the clunky interactions OSes still have around webp (and HEIC!) files.

I’m happy for support for working for webp and HEIC files to stay in core, as we should be liberal in what we accept and work with, but not with the change to convert everything to webp when JPEGs are uploaded.

During today’s Performance Team meeting, contributors briefly discussed the revert.

“We are still trying to figure out what a canonical plugin is exactly, and if that would work for WebP by default,” Google-sponsored core committer Adam Silverstein said. “We still have a couple of fixes to land for 6.1 around image quality when WebPs are output (which is still an option you just need a plugin for now).” 

During the previous Performance team meeting Silverstein said Mullenweg’s post about the feature not shipping was a surprise to the team and that they were working with the release leads to better understand concerns in hopes of finding a path forward to include it in the update.

“I want to acknowledge this is a blow for everyone who worked on the feature (myself included) and at the same time I’d like to encourage us to focus on how we can move forward given the current position,” Silverstein said. “Are there concerns we can address? Does a canonical plugin make sense?”

Participants in that discussion had expressed concerns about getting users to adopt WebP by default if it is moved to its own plugin at the time. It would require strategic rebranding to indicate that it delivers faster images for the visitors, as most users won’t be familiar with the WebP format at this point.

“I think if it remains a ‘feature project,’ it makes sense to remain in the Performance Lab plugin – we don’t know if moving it out of it would get us more testers (especially since the Performance Lab plugin has 10k+ installs which is a lot for a feature plugin),” Google-sponsored contributor Felix Arntz had said.

“If the path of a ‘canonical plugin’ should be pursued, then of course we would need to take it out, but then the nature of the project would also change.”

Contributors will decide the next steps for this feature in future discussions. For now though, users who were looking forward to WebP uploads by default can still get this feature using the Performance Lab plugin, maintained by WordPress’ Performance Team while they wait for it to be put in another WordPress update in the future.

5 tips to write readable blogposts

Reading on a screen can be difficult, so if you want your users to read your posts, it must be easy to read. Luckily, improving the readability of you posts is something that can be done easily, giving your site a quick boost during these trying times. In this post I will give you 5 top tips for writing some readable articles.

Focus on the audience

The most important advice is to make sure your pitching at the right level for the audience you are targeting. Lets say for example you are writing about toys and you are aiming your content at kids, then it needs to be really easy to read for them. On the other hand, if your writing for scientists, your text can be challenging to read and be appropriate to that audience. These 5 tips should just be guidelines. For some audiences, you can make things simple, and others these rules may be too strict to go by.

Tip 1: Writing clear paragraphs

You need to make sure you write clear paragraphs. For a blog, you should start your paragraph with the more important information, then go on to explain/elaborate on that topic. This will help your readers grasp what you are talking about in the post right from the start.

Long blocks of text isn’t the best for reading, especially on mobile devices. Just remember that time you had a bunch of text on your screen and how you felt about wanting to actually go through it all. You want to keep things short for people to read, let’s say under 10 sentences. If you find things getting long then maybe it’s time to try to break it up into smaller bits. Just make sure you are maintaining flow of your post/page.

Tip 2: Writing shorter sentences

You’ll want to try to write shorter sentences. These are easier for the reader to read and understand than those longer ones. Also, you’ll make fewer errors when writing shorter sentences. Sentences longer than 20 words are considered long. Make sure you only have a couple longer than that in your blog posts.

Try thinking of simple sentence structure that won’t change the message you are trying to get across. Besides, more alternative sentence structure could allow you to break things up, instead of 1 long sentence, maybe have 2 shorter ones instead. Also, maybe you can leave words out without losing the overall meaning.

Tip 3: Limit the difficult words

You need to limit the more difficult words. You need to remember that reading on a screen is more difficult to read. Longer words are more difficult to read, you’ll want to avoid them as much as you can.

But, sometimes a post is about things that are harder to explain and require more difficult language for the reader to understand. If you’re writing a post about a word that contains several syllables that can be considered a difficult word, but you still need to use that word. These cases you want to make sure your sentences and overall paragraphs aren’t long and everything will work out in the end.

Tip 4: Using transition words

Transition words are key to making your posts more readable to your audience. These words help give direction to the reader by giving signals that something is coming. If you are summarizing for instance, you’ll want to use things like “first”, “second” and so on. When comparing things you’ll use “same”, “less” and others like that. And to end your paragraph you’ll us things like “hence” and “therefore”.

Using these types of words is like putting cement between things. The relationship of two sentences will be more apparent by using these kinds of words. Your readers will therefore understand much better if you use these properly.

Tip 5: Variation!

For things to be attractive to your readers, it should be varied, try to avoid repetition and shake it up some. Alternating longer paragraphs and sentences with ones that are shorter and trying to use synonyms if you’re using a particular word too much. Some writers will use words like “and” or “too” to help with shortening things. Mixing these up with words like “also” and “moreover” can also make things more attractive to read, and much more readable overall too.

Using Yoast SEO

Yoast’s SEO plugin for WordPress can offer you some help by using the readability analysis. This will check the length of your sentences and paragraphs, see if you are using some transition words or subheadings. Additionally it helps assess your use of a passive voice and identify complex words so you can make changes as you go. On top of all that, you can find out your Flesch Reading Ease score under Insights Tab found in the SEO part of the plugin.

Bonus: break things up with images

In many situations, it’s a good idea to break things up using images. They can help you reduce fatigue from reading multiple paragraphs. This is especially useful when writing long posts or large pages. In addition, many readers are more visual learners, so they will prefer different things like colours and shapes instead of just a bunch of text. So having some images throughout your posts/pages help to re-engage with your content overall.

But, you don’t want to add images just for the sake of adding them. You need to try to include them so that they fit the subject of your post or to fit what you are talking about in the preceding paragraphs. You can use them to add value to your text, like with infographics

It’s best to use images that you or a colleague has created, but that won’t always be the case. If you must use a stock image, don’t use ones that are too generic and make things feel like they have little or no connection to what you have written previously to that image.

Conclusion

If you want your readers to read the whole post, make sure that it’s easy to read for them. Don’t make it more difficult than you have to. Avoid all the long sentences and try writing clearer paragraphs. If you use Yoast’s SEO plugin on your site than you can use their readability check on your content, so you can see if you are writing in an SEO-friendly and still have things readable at the same time.

Getting a Job After Coding Bootcamp

I read a good article by Matt Mullenweg about getting a job after taking part in a coding bootcamp.

While the applications/resumes have been written well he goes on to talk about lack of experience. By this he means the lack of real job experience especially in the field that you are trying to get into.

Having done bootcamps my education he opened my eyes as to improving my resume. He points to the fact that just doing the projects isn’t enough as you are guided through the process of how to complete them. Instead, suggesting that you get involved with an open source project by contributing and having your code reviewed and accepted. Then, showing the code that you contributed to the project will better demonstrate how you apply code in real situations to make a project better. Not only that but, this shows your true passion for coding as well.

As far as suggesting a bootcamp to participate in I suggest trying Free Code Camp which I did myself. Operating since 2014, it’s a self paced coding camp for all kinds of different parts of coding. You even get a certificate at the end of each part of the curriculum. According to their homepage more than 40k people have taken part in their curriculum and gotten jobs at big tech companies.

WebP by Default Merged into Core for WordPress 6.1 update

WebP, the new image format developed by Google, which is intended to replace JPEG, PNG, and GIF file formats, will soon be generated by default for new JPEG image uploads in WordPress and used for website content. The main work was committed to core for inclusion in the upcoming WordPress 6.1 release.

The initial proposal was revised after voicing some critical feedback. The most notable of the changes include automatically generating WebP versions of only core image sizes, keeping secondary WebP sub-sizes only if they are smaller than the primary MIME type, and only generating WebP images for image sizes that are intended for use in the front-end content.

Despite a bunch of revisions, and filters to control or disable WebP uploads, the proposal still remained controversial. Contributors continue to report issues after testing it. Many still have questions about whether this should be opt-in or on by default in the final release.

“When converting medium-resolution photographs (approx 1600px – 2500px on the long edge), WebP files are often larger than the JPEG equivalent,” WordPress developer Mark Howells-Mead commented on the main ticket for the WebP work. “(In my tests using my own photography, in around 60% of cases.) This change might make the ‘modern image format’ test of Page Speed Insights happy, but enforcing WebP by default on sites which use a lot of photography will often cause longer image loading times.”

Some developers are supportive of the change but prefer for it to be off by default when it is first rolled out, to allow the ecosystem to prepare for the change before it becomes the default.

“I definitely see it as a big advantage to add Core support for additional MIME types for sub-sized image files,” Matthias Reinholz said. “But I can’t see adding conversion to a specific other file format as preferred behavior. This may help to optimize the market position of WebP but it will also be a serious threat to plugin authors and existing larger websites that do not pay attention to this change.”

“Therefore, I’m questioning why this functionality should be activated by default at this stage. IMHO, it should be opt-in only. Plus ideally, we would already start to think about adding further image formats to be supported by this feature.”

NerdPress founder Andrew Wilder created a separate ticket urging contributors to consider making the feature opt-in, but the ticket was closed and conversation directed back to the main ticket so it does not to splinter the discussion.

“Making these new features opt-in instead of opt-out would be the best way to be cautious about potential impacts,” Wilder said.

“There have been many requests for this to be opt-in (as well as some asking for a setting on the Media page, rather than only a filter for developers). So far there hasn’t been any open conversation about why that’s not being taken into consideration.”

The idea that WebP by default should be opt-in was summarily dismissed and the conversation was not revisited again before the changes were committed to the core.

“The feature will have widespread benefits for users by opting in core sizes (to start) – if it were entirely opt-in it would have little impact – or benefit,” Google-sponsored Core Committer Adam Silverstein said in response to opponents.

In response to suggestions that this feature should ship with a UI for enabling it on the media page, Silverstein said, “We have discussed both suggestions in chats and issues with mixed responses. Project philosophy is regularly mentioned as aligning with the current approach.” 

The ticket remains open awaiting patches for a few loose threads on the technical implementation of it. Contributors continue to chime in with additional concerns still.

The Performance team has a new blog where people can follow updates on their current projects and proposals for WordPress. Now that the main WebP work has been committed, the next steps will be discussed in future meetings with notes posted to the new Core Performance blog for others to see.

Is It Time To Give Up GitHub?

I was pointed to an interesting article from WP Tavern called Give Up GitHub: The Time Has Come! on the Software Freedom Conservancy website. The Software Freedom Conservancy is a nonprofit organization centered around ethical technology. Their mission is to ensure the right to repair, improve and reinstall software at your choosing. They promote and defend these rights through fostering free and open source software (also known as FOSS) projects, driving initiatives that actively make technology more inclusive for everyone, and advancing policy strategies that defend FOSS (such as copyleft) for all.

Those who’ve forgotten history often unintentionally repeat it. Some of us in the developer world may recall that twenty-one years ago, the most popular code hosting site, a fully Free and Open Source (FOSS) site called SourceForge, had proprietarized all their code, never to make it FOSS again. All major FOSS projects slowly left SourceForge since it was in effect now, itself, a proprietary system, and contrary to the philosophy of FOSS. The FOSS communities learned that it was a mistake to allow a for-profit, proprietary software company to become the dominant FOSS collaborative development site for them to use. SourceForge slowly collapsed after the DotCom crash back in 2000, and still to this day, SourceForge refuses to solve these problems. We learned a valuable lesson that was a bit too easy to forget, especially when corporate involvement manipulates FOSS communities to its own purposes. We now must learn the SourceForge lesson again with Microsoft’s GitHub doing the same thing now.

A parody of the GitHub logo, walling off user rights and demanding payment
image from article posted on the Software Freedom Conservancy website

GitHub has, over the last ten years, risen to dominate the FOSS development ecosystem. They did this by building a user interface and adding social interaction features to the existing Git technology. (For its part, Git was designed specifically to make software development distributed without a centralized site.) In the central irony of this, GitHub succeeded where SourceForge had failed: they have convinced us to promote and even aid in the creation of a proprietary system that exploits FOSS. GitHub profits from those proprietary products (sometimes from customers who use it for problematic activities). Specifically, GitHub profits primarily from those who wish to use GitHub tools for in-house proprietary software development. Yet, GitHub still comes out again and again seeming like a good actor in the end, because they point to their generosity in providing services to so many FOSS projects. But we’ve learned from the many free offerings in Big Tech: keep in mind if you aren’t the customer, you’re the product at the end of the day. The FOSS development methodology is GitHub’s product, which they’ve proprietarized and repackaged with our active, often unsuspecting, help.

FOSS developers have been for too long the proverbial frog in slowly boiling water. GitHub’s behaviour has gotten progressively worse over time, and we’ve excused, ignored, or otherwise consented to cognitive dissonance. The people at Software Freedom Conservancy have themselves been part of the problem, that is until recently, even they’d become too comfortable, complacent, and complicit with GitHub.  Giving up GitHub will require work, sacrifice and may take a long time, even for them: the people at Software Freedom Conservancy historically self-hosted their primary Git repositories, but they did use GitHub as a mirror. They urged their member projects and community members to avoid GitHub (and all proprietary software development services and infrastructure altogether), but this was not enough.  Today, they take a stronger stance. they are ending all their own uses of GitHub, and announcing a long-term plan to assist FOSS projects to migrate away from GitHub hoping to end their dominance. While they will not mandate their existing member projects to move at this time, they will no longer accept new member projects that do not have a long-term plan to migrate away from GitHub when given time to do so. And, they will provide resources to support any of their member projects that choose to migrate, and help them however they can.

They give so many good reasons to give up on GitHub, and they list the major ones on their Give Up On GitHub site that they have created. And, were already considering this action themselves for some time, but last week’s event showed that this action is long overdue.

Specifically, the people at Software Freedom Conservancy have been actively communicating with Microsoft and their GitHub subsidiary about their concerns with Copilot since they first launched it almost exactly a year ago. Their initial video chat call, in July 2021, with Microsoft and GitHub representatives resulted in several questions which they said they could not answer at that time, but would “answer soon”. After six months of no response, Bradley published his essay, If Software is My Copilot, Who Programmed My Software?, which raised these questions publicly. Still, GitHub did not answer their questions. Three weeks later, they launched a committee of experts to consider the moral implications of AI-assisted software, along with a parallel public discussion. They invited Microsoft and GitHub representatives to the public discussion, and they ignored their invitation, yet again not answering the questions. Last week, after they reminded GitHub of (a) the pending questions that they’d waited a year for them to answer and (b) of their refusal to join public discussion on the topic, they responded a week later, saying they would not join any public nor private discussion on this matter because “a broader conversation [about the ethics of AI-assisted software] seemed unlikely to alter your [SFC’s] stance, which is why we [GitHub] have not responded to your [SFC’s] detailed questions”. In other words, GitHub’s final position on Copilot is, if you disagree with GitHub about policy matters related to Copilot, then you don’t deserve a reply from Microsoft or GitHub at all. They only will bother to reply if they think they can immediately change your policy position to theirs. But, Microsoft and GitHub will leave you hanging for a year before they’ll tell you that! 

Nevertheless, they were previously content to leave all this low on the priority list, after all, for its first year of existence, Copilot appeared to be more research prototype than actual product. All this changed last week when GitHub announced Copilot as a commercial, for-profit product. Launching a for-profit product that disrespects the FOSS community in the way Copilot does simply makes the weight of GitHub’s bad behavior too much to bear for developers.

Their three primary questions for Microsoft/GitHub (i.e., the questions they had been promising answers to them for a year, and that they now formally refused to answer) regarding Copilot were:

  1. What case law, if any, did you rely on in Microsoft & GitHub’s public claim, stated by GitHub’s (then) CEO, that: “(1) training ML systems on public data is fair use, (2) the output belongs to the operator, just like with a compiler”? In the interest of transparency and respect to the FOSS community, please also provide the community with your full legal analysis on why you believe that these statements are true. They think that they can now take Microsoft and GitHub’s refusal to answer as an answer of its own: they obviously stand by their former CEO’s statement (the only one they’ve made on the subject), and simply refuse to justify their unsupported legal theory to the community with actual legal analysis.
  2. If it is, as you claim, permissible to train the model (and allow users to generate code based on that model) on any code whatsoever and not be bound by any licensing terms, why did you choose to onlytrain Copilot’s model on FOSS? For example, why are your Microsoft Windows and Office codebases not in your training set? Microsoft and GitHub’s refusal to answer also hints at the real answer to this question, too: While GitHub gladly exploits FOSS inappropriately, they value their own “intellectual property” much more highly than FOSS, and are content to ignore and erode the rights of FOSS users but not their own.
  3. Can you provide a list of licenses, including names of copyright holders and/or names of Git repositories, that were in the training set used for Copilot? If not, why are you withholding this information from the community? It can only wildly speculated as to why they refuse to answer this question. However, good science practices would mean that they could answer that question in any event. (Good scientists take careful notes about the exact inputs to their experiments.) Since GitHub refuses to answer, their best guess is that they don’t have the ability to carefully reproduce their resulting model, so they don’t actually know the answer to whose copyrights they infringed and when and how.

As a result of GitHub’s bad actions, today the Software Freedom Conservancy calls on all FOSS developers to leave GitHub. They acknowledge that answering that call requires sacrifice and great inconvenience, and will take much time to accomplish. Yet, refusing GitHub’s services is the primary power developers have to send a strong message to GitHub and Microsoft about their bad behavior. GitHub’s business model has always been “proprietary vendor lock-in”. That’s the very behaviour FOSS was founded to curtail, and it’s why quitting necessary proprietary software in favour of a FOSS solution is often difficult. But remember, GitHub needs FOSS projects to use their proprietary infrastructure more than we need their proprietary infrastructure to build with. Alternatives exist, albeit with less familiar interfaces and on less popular websites, but we can also help improve those alternatives. And, if you join them, you will not be alone. Software Freedom Conservancy has launched a website, GiveUpGitHub, where they’ll provide tips, ideas, methods, tools and support to those that wish to leave GitHub with them. Watch that site and their blog throughout 2022 (and beyond!) for more on this subject.

Most importantly, they are committed to offering alternatives to projects that don’t yet have another place to go to. They will be announcing more hosting instance options, and a guide for replacing GitHub services in the coming weeks. If you’re ready to take on the challenge now and give up GitHub today, they note that CodeBerg, which is based on Gitea implements many (although not all) of GitHub. Thus, they’re also going to work on even more solutions, continue to vet other FOSS options, and publish and/or curate guides on, for example, how to deploy a self-hosted instance of the GitLab Community Edition.

Meanwhile, the work of their committee continues to carefully study the general question of AI-assisted software development tools. One recent preliminary finding was that AI-assisted software development tools can be constructed in a way that by-default respects FOSS licenses. They will continue to support the committee as they explore that idea further, and, they are actively monitoring this novel area of research. While Microsoft’s GitHub was the first mover in this area, by way of comparison, early reports suggest that Amazon’s new CodeWhisperer system, (also launched last week), seeks to provide proper attribution and licensing information for code suggestions.

This goes back to long-standing problems with GitHub, and the central reason why we must together give up on GitHub. They’ve seen with Copilot, with GitHub’s core hosting service, and in nearly every area of venture, GitHub’s behaviour is substantially worse than that of their peers. They don’t believe Amazon, Atlassian, GitLab, or any other for-profit hoster are perfect actors either. However, a relative comparison of GitHub’s behavior to those of its peers shows that GitHub’s behavior is much worse than others out there. GitHub also has a record of ignoring, dismissing and/or belittling community complaints on so many issues, that they must urge all FOSS developers to leave GitHub as soon as they can. Please, join them in their efforts to return to a world where FOSS is developed using FOSS.

CC Search to join WordPress.org

image taken from Matt Mullenweg’s blog

CC Search which is a CC0 (Creative Commons Zero) image search engine, is finally joining WordPress with its millions of openly licensed and public domain images discoverable from over 50 different sources with audio and video soon to come. It is now under the new name Openverse.

The WordPress community has finally got CC Search (now Openverse) built right into WordPress under the new name of Openverse where it belongs so everyone has access to all the CC0 content they need to help make websites beautiful using free media.

WordPress Performance Team Puts WebP by Default Proposal on Hold After Feedback

The WordPress Performance team has put its WebP by Default proposal on hold after the community voiced some critical feedback and significant technical concerns of this proposal. The new feature that was proposed would generate WebP images on upload by default for new JPEG uploads and would use the WebP images by default for website content. WordPress’ Performance team proposed this update for the upcoming 6.0 release.

“The performance team has heard the feedback and takes the community’s concerns seriously,” Google-sponsored contributor Adam Silverstein said in an update on the status of the proposal. “With the help of the community, we will work on conducting additional data-driven research. Based on our findings, we will reassess our proposed approach to enabling WebP by default.”

The more vocal opponents to the feature characterized it as “heavy handed” and pushed for it to be an “opt-in” feature or introduced with a more user-friendly way of disabling it. One of the biggest concerns is that the proposal has the potential to double the amount of disk space used for images, as it would generate WebP thumbnails in addition to the JPEG sub sizes as it uploads.

Viktor Nagornyy summarized these storage concerns in a comment on the proposal:

This is not just about image formats. You’re going to drastically increase disk space usage by generating more images. This will affect anyone hosting WordPress on managed hosts with storage limit, their own servers with limited storage, anyone offloading images to S3, etc. This is why there needs to be an option to disable this under Media options. Hidden images generated by WP because of plugins and themes already cause problems. I’ve seen a site generate 20 images for every uploaded image. Uploads directory was 20GB. Can you imagine adding webp images in addition to this? 

This directly affects hosting cost. You will cause a lot of billing issues.

The Performance Team said they are working closely with the hosting community but this change will directly benefit hosts that sell plans with tiered storage space limits as they can get you to pay for a larger plan. 

“There are also significant conflicts of interest,” WordPress agency owner Andrew Wilder said. “WebP is a format that Google Created — and it’s Google Engineers who are leading the Performance Team.” WordPress agency owner Andrew Wilder said. “This proposal is designed to serve Google’s interests (making it easier and cheaper for them to crawl the web). And the increased cost for all the additional storage space needed will be borne by site owners, not by Google.”

Hosting companies may also experience complications as the result of enabling WebP by default that may not be worth the increased billing for customers who are forced to upgrade their plans. Charles Smith, Managing Director at WordPress hosting company WPopt AB, articulated a list of these concerns for hosts in a comment on the proposal, especially when it comes to support and backup costs for them:

Disk space – a vast majority of our users have very large image libraries. While they might not be hitting limits yet, effectively doubling the media library size is going to cause issues for many people. I can see that ending in one of several ways – either they’ll ask us to delete the webp files (so, more work for us, thanks!), or they’ll be forced to upgrade (so, higher fees for them), or they’ll get upset that we don’t offer more disk space for free, and then potentially leave us

Backups are already one of our major expenses. We invest in multiple solutions, and multiple storage locations. A decision like this will *directly* increase our costs. It will also make account restorations, account migrations and similar actions more time consuming.

In the most recent update, Silverstein said the Performance Team’s primary objective in enabling WebP by default is to bring WordPress’ image processing to the level of its competitors.

“The main goal of this feature is to set the foundation for WordPress to be able to process and deliver more performant formats in the same way other CMS like DudaWix, and Shopify are already doing,” Silverstein had said.

This reasoning is extremely disconnected from the concerns voiced by people who are in the trenches supporting and maintaining all the WordPress sites. The team’s initial approach at selling the benefits they saw of WebP, without really addressing the disk space issue, has generated significant community pushback in a short amount of time.

As Performance Team representatives responded to the concerns in the comments of the proposal, several participants in the discussion grew more irritated, saying they felt advocates of “WebP by default” do not fully grasp the real-world implications of the proposal for users. The timeline for bringing it into core also seemed rushed and premature for it to go forward, given that WordPress already has support for WebP images for those who choose to use them on their own.

“Bottom line is pretty simple,” WordPress agency owner Sergio Scabuzzo said. “We are being asked to double the number of images for no good reason.”

“There is a small bandwidth benefit in forcing all images to have a WebP version. But we will then have a crap show on our hands in the back end. How manageable are media libraries now? Cool, now double that with another media format. Oh, wait, let’s add AVIF later too…”

“This is a problem looking for a solution, not a decision. This change is great only from a web crawler, search engine, supported device/medium. But for the WordPress ecosystem, it will create a huge headache in maintenance and hosting costs.”

The Performance Team is now reassessing their approach and seeking to support its case with more data and research. Silverstein referenced two GitHub issues where the team is tracking research on the impact of enabling WebP by default: 

  1. Research: Impact of additional WebP images on upload [Issue #289]
  2. Research: WebP compatibility [Issue #290]

“Once we have completed our investigation and determined next steps on these two issues, we will work with the community to reassess two other concerns that were raised – having the feature on/off by default, and having a UI-based control to turn the feature on/off,” Silverstein said.