Make WordPress Core

Opened 5 years ago

Last modified 4 years ago

#48435 new enhancement

WordPress update: updating by transferring partial packages

Reported by: littlebigthing's profile LittleBigThing Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: Upgrade/Install Keywords:
Focuses: performance Cc:

Description

This is a request or enhancement, more than a bug. It is inspired by looking at https://wordpress.org/download/counter/ and the mostly unknown impact of the internet (https://www.theguardian.com/environment/2015/sep/25/server-data-centre-emissions-air-travel-web-google-facebook-greenhouse-gas) on our environment.

Disclaimer: I am not technical enough to be able to judge the impact of this request or the possibility of implementing it. Nevertheless...

So, WordPress' size is increasing with every release. Its size determines how much electricity is needed to transfer the zip file from server to server. Since the internet is still largely running on non-renewable energy, each WP install and update has an impact on the environment. It would be great to reduce this impact.co2

I think that there is a lot of thinking about what gets into WP core, but it is always interesting to reconsider things or at least keep the impact of adding another library in mind.

However, I wonder whether it could be possible to update WP without having to transfer the whole package. If this is already the case: great, please close this ticket! Thanks and I am sorry. We're doing fine. ;-)
If not, could we consider to implement something like updating WP by sending only the parts that are necessary (modified)? This would not only decrease the impact of each update on the environment, but also make updates much quicker.

I realise that this means adding additional complexity. There should be packages available for different cases. For example, an update from 4.9 to 5.3 would be a different package than from 5.2 to 5.3. Also for minor updates. We could start incrementally, like minor updates?
If I am not mistaken, this is how operating system updates happen for Apple OS and Windows.

Oh, WP 5.2 has been downloaded about 1000 times while writing this ticket. That is roughly about 16 kg of CO2 emitted and equals to driving more than 120 km (75 miles) by car (130 g CO2/km (https://ec.europa.eu/clima/policies/transport/vehicles/cars_en)).

Change History (3)

#1 @sebastienserre
5 years ago

Hello,
I really love the idea. I think too as a main player in the internet we have something to do...

#2 in reply to: ↑ description @SergeyBiryukov
5 years ago

Hi there, welcome to WordPress Trac! Thanks for the ticket.

Replying to LittleBigThing:

However, I wonder whether it could be possible to update WP without having to transfer the whole package. If this is already the case: great, please close this ticket! Thanks and I am sorry. We're doing fine. ;-)
If not, could we consider to implement something like updating WP by sending only the parts that are necessary (modified)? This would not only decrease the impact of each update on the environment, but also make updates much quicker.

Just noting that WordPress does support partial updates since version 3.2, see #10611.

#3 @LittleBigThing
4 years ago

Thanks for the answer and the link!

Do I understand correctly that minor updates are partial updates (for example from 5.2.1 to 5.2.2 or to 5.2.4) and major updates updates of the whole package?

And if so, would it be possible to handle major updates (for example from 5.2.4 to 5.3) in a similar way? And not only possible but also feasible and more sustainable without a negative impact due to the time and energy consuming check of file contents, unzipping, ...?

Also, I suppose that the counter shows the total number of downloads via the WP.org API (manual downloads and automatic or manual upgrades). I have seen that you can check for the number of downloads of earlier versions of WP using a query variable. Only I can't find which one...

Note: See TracTickets for help on using tickets.