joomla / joomla-cms

Home of the Joomla! Content Management System
https://www.joomla.org
GNU General Public License v2.0
4.74k stars 3.64k forks source link

[4.0] [RFC] Postinstall for the updated Minimum requirements for Webservers in Joomla!4 #29107

Closed zero-24 closed 4 years ago

zero-24 commented 4 years ago

Problem statement

As of 05.05.2020 the production department voted and passed a motion for the "Minimum requirements for Webservers in Joomla!4 (per 20/04/23)" (PROD2020/026) stating:

Minimum requirements for Webservers in Joomla!4 (per 20/04/23) Apache: 2.4 Nginx: 1.10 IIS: 8

Right now there is no check or something similiar to inform people on not supported webservers about the change.

Proposed solution

The proposed solution would be a postinstall similiar to the PHP/Database checks checking and parsing the SERVER_SOFTWARE information and issue an dedicated postinstall message to the users running on a not supported software stack.

Open questions

mbabker commented 4 years ago

What is the actual problem being solved by that vote? Is there code in the Joomla application stack that can be optimized or removed by dropping support for older web server platforms? Has anyone done an analysis to determine availability and usage of these stacks? How many issues have been raised regarding use of Joomla on what would become unsupported platforms that is specifically an issue related to the older platform version?

brianteeman commented 4 years ago

just under 20% of all apache servers would fail to meet this requirement [ source https://w3techs.com/technologies/details/ws-apache/2 ]

27.5% of all iis servers would fail to meet the requirement [ source https://w3techs.com/technologies/details/ws-microsoftiis ]

zero-24 commented 4 years ago

What is the actual problem being solved by that vote?

Having a clear defined set of supported / recommended up-to-date webserver versions?

Is there code in the Joomla application stack that can be optimized or removed by dropping support for older web server platforms?

Not that I'm aware of.

Has anyone done an analysis to determine availability and usage of these stacks?

Yes this has been done upfront. IIRC by @HLeithner and @wilsonge

How many issues have been raised regarding use of Joomla on what would become unsupported platforms that is specifically an issue related to the older platform version?

None that I'm aware of.

Btw. there is also no code nor any plan to stop Joomla to be installed on that old hostings.

The aim was to update the recommended webserver stacks and the question raised here is whether it would make sense to tell that to the people.

brianteeman commented 4 years ago

recommended webserver stacks and minimum requirements are two very different things

brianteeman commented 4 years ago

https://downloads.joomla.org/technical-requirements explains the difference between minimum and recommended

zero-24 commented 4 years ago

Ok will leave it to @wilsonge and @HLeithner to clear that up. Maybe just again we used the wrong word? As right now there are not code checks that would prevent the install on everything lower than the versions mention. Nor does that make sense right now to me. So to me it makes sense to use them as recommended servers.

brianteeman commented 4 years ago

Well once again it looks like the production department have voted on something without understanding what they are voting on. Very worrying

zero-24 commented 4 years ago

Well once again it looks like the production department have voted on something without understanding what they are voting on. Very worrying

Well also this was discussed in the meeting with the result mention here. So the question is just whether we name it minimum (makes no sense to me) or recommended.

brianteeman commented 4 years ago

minimum = will not work with versions below this recommended = this is what you really should have for the best setup

fairly standard terminology and used and publicised by Joomla for 15 years

zero-24 commented 4 years ago

minimum = will not work with versions below this recommended = this is what you really should have for the best setup

Yes that is why I'm sure the intention was to name it recommended but the term minimum was used for some reason. Lets see what George and Harald can tell us about that.

nibra commented 4 years ago

minimum = will not work with versions below this

Minimum = We don't fix problems with versions below this

brianteeman commented 4 years ago

That's not how it has been used for 15 years or how the rest of the software world uses it.

brianteeman commented 4 years ago

The dictionary definition is https://www.collinsdictionary.com/dictionary/english/minimum-requirement

A requirement is a quality or qualification that you must have in order to be allowed to do something or to be suitable for something

HLeithner commented 4 years ago

The minimum requirement is what we support, it's not possible for us to support every version of every product. For example technical there maybe is no reason that we need Apache 2.4 and Apache 2.2 still works but we simply don't have enough volunteers to check if an issue is an Apache version problem or not.

Beside that people oft wants to have a version they can write into the requirements section of an offers, if we would write Ngnix 1.0 is just fine the integrator use this in his/her requirements. Then if he/she has bad luck and get's a Ngnix 1.0 and it doesn't work because nobody of us were able to test it he/she has a problem with the contract.

But this doesn't mean that any person can't use MySQL 5.0 with Joomla! even if we require 5.6 (I used MySQL 5.0 for a long time with Joomla! when it was no longer supported (only the installation was broken for this version)). And if you like to use Joomla with PHP 7.1 you can change the core but doesn't mean we support it (in this case we know that we need some 7.2 features).

To make it short we can't support every webserver. For example I'm pretty sure there is no problem running Joomla! on lighttpd but we can only list Webserver and Versions we are able to support.

If you commit to support any lower version I'm pretty sure production would consider it.

brianteeman commented 4 years ago

I do not disagree with most of what you are saying. My disagreement is with the terminology you are using and the impact that will have on any potential users. What you are describing is not a minimum requirement.

HLeithner commented 4 years ago

Do you have a better term? I mean this term is usually used in software. If you have software that has a minimum requirement of windows 7 it's liked that it works on windows vista but the vendor doesn't support vista. I see no problem with this term because it's used for 15 years this way.

brianteeman commented 4 years ago

And that's where we disagree. You are changing the definition of minimum requirements not me.

brianteeman commented 4 years ago

As I already stated you only have to look at the current joomla minimum and recommended to see that minimum is a hard limit.

HLeithner commented 4 years ago

I will not going to test it but I'm pretty sure Joomla 3.9 runs under Apache 1.3 and Mysql 5.0.

Anyway that's my last comment on this topic.

mbabker commented 4 years ago

And like you said, just because the software will run under that version doesn’t mean the project has to support it though.

What is being proposed here is saying that Joomla absolutely requires Apache 2.4 or IIS 8 or NGINX 1.10 as the minimum web server version. That is much different than saying it is recommended to use those versions. It’s the same as saying Joomla recommends PHP 7.3+ but the hard requirement is 5.3. Joomla 3.x absolutely will not run on PHP 5.2 or earlier due to incompatible syntax, there is no bypassing the software check and making it work without modifying a lot of code.

Usually, something will not install or run at all if the minimum requirements aren’t met. Most software doesn’t install and run at user’s risk if they’re using an old platform. This proposal basically says that Joomla absolutely should not run on Apache 2.2 and earlier, NGINX 1.9 and earlier, and IIS 7 and earlier. It’s not saying “this is what we support and older versions are used at your own risk”, that is not the definition of software requirements.

brianteeman commented 4 years ago

I was beginning to think I had lost the ability to read and understand English and not been producing and marketing computer software for 25 years

nikosdion commented 4 years ago

Neither minimum nor recommended is correct I the context of what you're proposing.

Minimum requirements means that if these are not meant the software will refuse to run at all. This is not the case.

Recommended means that these are the most thoroughly tested versions but lower and higher versions (depending on context) are still actively supported. This is not the case.

What you're looking for is called "minimum supported versions". This means that the software will run on the lower specifications which are called "minimum requirements" BUT the project will not provide support for any versions older than the "minimum supported versions".

That said, increasing the minimum supported version of Apache to 2.4 is nonsensical. It's not just that 20% of Apache installations are 2.2 or lower, it's the fact that you're dropping support for the Apache-compatible Litespeed server. I wouldn't be mentioning this if it weren't for the fact that this is the platform that Rochen, the official Joomla host, is using.

Same for the minimum IIS and NginX versions. IIS 7 is really the minimum version you need to support as it's the one that first introduced the rewrite feature we need for SEF URLs. NginX... I've never had a problem with any version published since 2010. And mind you that I'm doing far more in my .htacccess, web.config and NginX configuration files generated by Admin Tools than Joomla has ever done, including Joomla 4.

Generally speaking, dropping support for something must have a good reason behind it. What exactly is the reason? Is there a universal use case none of us commenting here can see?

brianteeman commented 4 years ago

Its really worrying that a complete team of people voted to make this decision without understanding it

nikosdion commented 4 years ago

@brianteeman I disagree that they didn't understand their decision. I believe that everyone in the group understood perfectly well the technical parameters in the context presented, their intentions regarding dealing with it and acted in good faith.

I am not so sure that they have the experience in dealing with what the majority of Joomla's target audience is using to run the software on versus the server environments their own clients and themselves use.

There's an echo chamber problem in the production department, not one of competence. As long as the production department is aware of its blindspots and is receptive to productive, public discussion and course correction it's a manageable problem.

brianteeman commented 4 years ago

I based my comment on the explanations given by Harald and Nils

nikosdion commented 4 years ago

Me too. Their intention is to set a minimum supported version, not a minimum required version. Unfortunately, the language barrier here prevented them from expressing it correctly.

As to the side-effects, neither one of them has the same experience you and I have in talking to "mere mortal" level users which are the majority of the Joomla target audience. Hence my comment about an echo chamber.

I will only say they don't understand what they're doing – which is quite a heavy accusation – if the final communication about Joomla 4 is that its minimum requirement is Apache 2.4. Then, yeah, I'll have some choice words for them. But I'm willing to give them the benefit of the doubt for now.

brianteeman commented 4 years ago

This is how the public would see a change in minimum requirements. They wouldnt go beyond the headline to read that its not really a minimum or a requirement

breaking-news

nikosdion commented 4 years ago

Again, I agree IF AND ONLY IF this is the final message that goes out in a mass communication. HOWEVER as far as I can see, reading this issue, is that:

  1. There will be no announcement.

  2. There will be a "please update" message in the same way we already do for obsolete PHP versions.

I am not going to pass judgement until such time as I a. see the message regarding the second point or b. see a mass communication in contradiction to the first point.

Bitching about something that's not yet been written is premature. We did our part raising awareness of the second order effects of that decision, it's up to them to figure it out.

For what it's worth and having been doing that kind of server version detection I can see several issues. Whether the server reports its version or even its true identity is not a given. In most cases it does NOT do that or lies profusely. For example, SiteGround used to report Apache/1.3 when it was in fact a custom Apache 2.0 with their own modules to improve performance. IIS and NginX are even worse. Many servers report an empty string, don't set the environment variable at all or report something fake like "MYOB". This means that the proposed solution would fail. Furthermore, the phrasing of the message matters because making an appear to security would be wrong in this case (there are still supported versions of Apache 2.2, IIS 7 etc).

So, unless I see HOW they are implementing it and WHAT it does I cannot say within any degree of certainty whether they do or do not understand what they are doing.

Is that more clear now?

softforge commented 4 years ago

Recommended would feel wrong to me as this is the low end of the spec and we would ideally have the software run on better. I can see the confusion with minimum Would "minimum supported" be the solution for those that are concerned by the wording? It's not the minimum it will work on, we are not saying that those low specs are recommended as we don't want people to set up on what will be out of date or quickly unsupported systems so minimum supported shows its the not encouraged low end and better would be ...better

Does that satisfy the problems people have?

brianteeman commented 4 years ago

that would need a new vote

softforge commented 4 years ago

But does that satisfy the problem you have with it, Brian? Would be great to get light and not heat. Solve the problem that was raised. Would "minimum supported" put your concerns to bed. Getting yours and others considered feedback to make this a better solution will be very helpful and then that can be voted on. This need not be a long fractious post but could be a helpful and collegiate solution

brianteeman commented 4 years ago

Sorry I thought it was clear, obviously not. I absolutely fine with using Minimum Required = hard limit of what you need Minimum Recommended = the minimum you need to run joomla properly Minimum Supported = the minimum we test with Recommended = awesome sauce if you use this

But the comments from production department members above do not agree with that terminology

nibra commented 4 years ago

Thank you, Nick, for providing the more suitable term: "minimum supported version". That is what was ment and voted on.

brianteeman commented 4 years ago

@nibra in that case it would need a new vote to update/replace the current motion

mbabker commented 4 years ago

I'm not trying to nitpick the verbiage the Production Department is using in their motions (here or other issues the last few days), but with the text as published it is conveying a message completely different than the one that was intended. Personally, I would make sure the motion text is crystal clear if it's being entered into a ledger and used in public reports as a record of the decisions taken, in part because it helps make it clear what's actually happening and leaves a documentation trail saying what was decided and when. Right now, someone would stumble upon that motion text and have to go through a 30+ comment GitHub issue (assuming they know to look for it) to actually understand the motion's intent.

Shorty0811 commented 4 years ago

And the next controversy has broken out.

You should be slowly thinking about stopping the project.

Either the developers manage to find reasonable communication and more a cooperation, or the question arises whether the right people are here yet.

The development does not really go forward. Instead of finally finishing the BETA, e.g. the question is whether icons are the right size and color.

It's just my opinion, but that's the outward effect.

zero-24 commented 4 years ago

@Shorty0811 please explain what you want us to do? Stopping the project? What do you mean by that?

Feel free to join us and the development thats the awesome thing about open source right?

As for beta it is expected to come out at JAB right so just a few days from now?

zero-24 commented 4 years ago

@mbabker I can not speek for the others from production but i fully agree on you here that this seems to be a place where we have to improve.

I'm sure this thing is being discussed within the next Department Meeting.

As for the motion text please remember that they are mostly written by non-native speakers and they summerize a long discussion into juat a short headline. It is awesome to get Feedback on such texts and that we might got something not clear but than please dont judge us but help us to make it better. We are all just humans working on Joomla and as mention by Nicholas we need more feedback from you and i, where i can speak only for myself here, take that Community Feedback siriusly as you can see by that thread here so please keep that feedback coming in so we can improve joomla all together.

Shorty0811 commented 4 years ago

@zero-24 I sent you a e-mail

zero-24 commented 4 years ago

@Shorty0811 i haven't saw them yet? Did you use my Community mail?

Shorty0811 commented 4 years ago

The mail from your website :)

brianteeman commented 4 years ago

it has been a month. has there been any update on this with a motion that actually reflects the intention as described by the participants above.

zero-24 commented 4 years ago

I'm not aware of any new motion planed. But when i remember correctly this was discussed. I have just requested an update on this.

zero-24 commented 4 years ago

As discussed in the production chat @marcodings is working on an update to be posted.

brianteeman commented 4 years ago

To avoid a repeat of the confusion can I request that a native english speaker is involved in that.

zero-24 commented 4 years ago

Same here feel free to contact marco about that so we get it right :)

zero-24 commented 4 years ago

So for now lets close this RFC issue for adding a postinstall here for now.