[policy, no patch] Drop support for Windows in production in Drupal 11

Created on 28 March 2024, over 1 year ago

Problem/Motivation

Following on from 🌱 [policy, no patch] Drop support for Windows in production Needs review . It is recommended to read that issue and the comments.

Windows has added full support for running Linux distros within Windows. There's also docker (and ddev which runs on docker) that make it easy to set up development environments in using containers. Actual manual configuration of apache for local development is very optional these days.

Additionally, it's also hard to find reviewers for issues with windows issues - for example filesystem bugs. Also, we have no way to add automated testing for Windows environments.

Note that there's an issue to move example nginx configuration into core, but that would only be an example ✨ Provide documentation/default server block for Nginx server. Needs work , not 'live' config, it's also not anywhere near RTBC.

Proposed resolution

Stop supporting running Drupal directly on Windows on production. We would still accept bug reports for Windows on development environments. One example is something like not using DIRECTORY_SEPARATOR correctly.

Sites wanting to use Windows servers in production would need to run Drupal on Linux on Windows, which should not result in additional surface area for security reports against Drupal, since as far as Drupal's concerned it would still be running on Linux.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

🌱 Plan
Status

Active

Version

11.0 πŸ”₯

Component
BaseΒ  β†’

Last updated about 17 hours ago

Created by

πŸ‡³πŸ‡ΏNew Zealand quietone

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @quietone
  • πŸ‡ΊπŸ‡ΈUnited States alieffring

    As someone who did Drupal on Windows for about a decade: yes, please. It always felt like being a second class citizen, there was always something little going wrong that took extra time to figure out because nobody else was seeing it. But the sysadmin really liked his windows servers and it was supported so we stuck with it. Making official what is already essentially true seems like the right move here.

  • πŸ‡¨πŸ‡¦Canada nickdickinsonwilde Victoria, BC (T'So-uke lands)

    I have dealt with other people choices to run Drupal on Windows Servers - including Drupal 10.
    Strongly in favour of dropping official support.

  • πŸ‡©πŸ‡ͺGermany joachim namyslo Kulmbach πŸ‡©πŸ‡ͺ πŸ‡ͺπŸ‡Ί

    Since Microsoft and canonical invented the SSL it should be fully ok to drop windows support when wsl isn't used. Even PHP windows binaries will run down soon. Just because they are not needed anymore. Now we can use all that with a pretty stable walk layer.

    Tested Windows + WSL + Debian 12 + Drupal CMS 1.0 today. It works perfectly.

  • Status changed to Needs review 4 months ago
  • πŸ‡³πŸ‡ΏNew Zealand quietone

    Updated the IS with text to add to the System Requirements page.

  • Status changed to RTBC about 2 months ago
  • πŸ‡―πŸ‡΅Japan neptune-dc

    English seems native. +1 RTBC

  • πŸ‡¬πŸ‡§United Kingdom catch

    The text looks fine I think, but a lot of people run Drupal on OSX locally (even if that's docker-on-OSX and not homebrew or whatever people used to use 5-10 years ago) and it doesn't mention OSX at all, so it might need to somehow account for that? Not sure how though.

    We also need to update https://www.drupal.org/docs/getting-started/system-requirements/web-serv... β†’ to at least remove the IIS references

  • πŸ‡³πŸ‡ΏNew Zealand quietone

    @catch, since this about Drupal on production sites it is necessary to bring up local development on OSX, or any other platform?

  • πŸ‡³πŸ‡ΏNew Zealand quietone
  • πŸ‡¬πŸ‡§United Kingdom catch

    @quietone well we have this in the suggested text about local development environments on Windows and I'm not sure people reading it will make the distinction. We could completely remove the reference to local development maybe?

    "Instead, use Linux on Windows. However, using Windows in a development environment is supported."

  • πŸ‡³πŸ‡ΏNew Zealand quietone
  • πŸ‡³πŸ‡ΏNew Zealand quietone

    @catch, thanks.

    I updated the two doc pages mentioned in the Issue Summary and updated credit.

  • πŸ‡ΊπŸ‡ΈUnited States xjm

    Apache on Windows is technically a thing, right? So this technically should have all the signoffs?

    Re: the proposed text. I think we should say:

    It is recommended to use Linux for hosting Drupal websites. Running Drupal directly on Windows in a production environment is not supported.

    ...because we don't want to confuse the uninitiated if they see the sentence out of context and make them think they can't use Windows or Darwin or whatever for local dev (or worse, accessing sites, lol).

  • πŸ‡¬πŸ‡§United Kingdom catch

    I think #13 is fine, are we assuming that people who would try to host Drupal on FreeBSD in production will just ignore it?

  • πŸ‡ΊπŸ‡ΈUnited States xjm

    lol. I had forgotten how salty they get about that. We can say "Linux or similar".

  • πŸ‡¬πŸ‡§United Kingdom catch

    That'd make it this:

    It is recommended to use Linux or a similar operating system for hosting Drupal websites. Running Drupal directly on Windows in a production environment is not supported.

    For me this covers everything.

  • πŸ‡ΊπŸ‡ΈUnited States xjm

    πŸ‘ Restoring the RTBC for signoffs.

  • πŸ‡©πŸ‡ͺGermany joachim namyslo Kulmbach πŸ‡©πŸ‡ͺ πŸ‡ͺπŸ‡Ί

    That's fine. It's clear enough to understand and it saves us a lot of headaches.

  • πŸ‡¬πŸ‡§United Kingdom catch

    Given three release managers out of four are on this issue already, and @longwave +1d the overall concept back in #3358248-36: [policy, no patch] Drop support for IIS in Drupal 11 β†’ going to remove the RM review tag.

  • πŸ‡­πŸ‡ΊHungary GΓ‘bor Hojtsy Hungary

    https://new.drupal.org/drupal-cms/launcher is currently available for Windows too. The wording of the suggested text makes it sound like Windows is fine to run on non-production, but maybe making that more explicit would be better. Otherwise it sounds a bit odd. This would be a stronger statement about support IMHO. That Windows is not supported for production does not say where is it supported :)

    It is recommended to use Linux or a similar operating system for hosting Drupal websites. Windows is only supported for development environments, not for running sites live in a production environment.

    This would explain the validity of https://new.drupal.org/drupal-cms/launcher more than the current proposed text IMHO, which only implies it.

  • πŸ‡³πŸ‡ΏNew Zealand quietone

    @gΓ‘bor hojtsy, thanks for pointing out the launcher page. Clarifying the two environments for Windows makes sense.

    I've updated the system requirements page with the extra information from #20.

  • πŸ‡¬πŸ‡§United Kingdom catch

    We went back and forth on mentioning local in #8-#10 because by mentioning linux and windows local, it was excluding OSX (but also we don't need to tell people not to run production environments on OSX), but I think the wording in #20 is fine.

Production build 0.71.5 2024