Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature] Drop support for Win32 platforms older than Windows Vista #18521

Open
Grinnz opened this issue Feb 2, 2021 · 21 comments
Open

[feature] Drop support for Win32 platforms older than Windows Vista #18521

Grinnz opened this issue Feb 2, 2021 · 21 comments
Labels
distro-mswin32 Feature Request Win32 This is a meta-ticket to tag issues in the perl core which need attention on Win32. See #11925 Windows < 7 Older Windows

Comments

@Grinnz
Copy link
Contributor

Grinnz commented Feb 2, 2021

Perl's Win32 platform support is currently specified back to Windows 2000 and XP, however these two platforms in particular (as well as Windows Server 2003) are increasingly problematic to support. They are long out of support and have, by all indications, near zero usage share. Thus, I believe the risk-benefit balance of removing support for 2000, XP, and Server 2003 is clear enough for quick consensus.

Please feel free to describe or link issues that would be easier to solve or obsoleted without the need to support these platforms.

Recent p5p discussion

@tonycoz
Copy link
Contributor

tonycoz commented Feb 2, 2021

The new win32 symlink() code and tests could be simplified.

@Grinnz Grinnz added Win32 This is a meta-ticket to tag issues in the perl core which need attention on Win32. See #11925 Windows < 7 Older Windows and removed Needs Triage labels Feb 2, 2021
@yuki-kimoto
Copy link

The advantage of being able to easily write symlink() is good.

Windows 7 still has a lot of shares, so I would like it to be supported even if there is no Microsoft official support.

Windows XP and Vista share is small (about 1%).

Personally, I think it's okay to remove support if Perl's porting is simplified.

@wchristian
Copy link
Contributor

wchristian commented Feb 2, 2021

We had a discussion about this before.

Before you can "drop support" for something, we must first actually define what "support" means and define it, as well as policies and guidelines for dropping support, and document them.

Right now the state of all of the above is, simply, complete chaos and undefinedness.

Please, do at the very least demonstrate that you have read the first post here and the linked documentation to learn that you are asking here for something that doesn't even exist, neither in the positive nor negative sense:

#18243 (comment)

@Grinnz
Copy link
Contributor Author

Grinnz commented Feb 2, 2021

Drop support in this case simply means allowing development and simplification of features that break functionality on these platforms.

@wchristian
Copy link
Contributor

wchristian commented Feb 2, 2021

There's nothing forbidding it in the first place. There is no support policy, list or guarantee in the documentation.

@Grinnz
Copy link
Contributor Author

Grinnz commented Feb 2, 2021

That is not true in practice, as I have observed core committers repeatedly take extra effort to ensure support back to windows 2000.

@Grinnz
Copy link
Contributor Author

Grinnz commented Feb 2, 2021

(Thank you for linking that issue as I had forgotten about that discussion)

@Grinnz
Copy link
Contributor Author

Grinnz commented Feb 2, 2021

The definitions of supported platforms and making consistent the appearance and practical support is a task that needs some agreement and authority. The goal of this issue/discussion is simply to achieve consensus that nobody needs to work to support these specific platforms anymore, because we currently have not expressed that and they are hindering progress on Windows issues that already have precious few contributors capable of tackling them.

@wchristian
Copy link
Contributor

wchristian commented Feb 2, 2021

That is not true in practice, as I have observed core committers repeatedly take extra effort to ensure support back to windows 2000.

Right, which is also problematic in its own way. If demands are made on people as something that aren't simply requests or self motivation, then those should be grounded in documentation.

(Thank you for linking that issue as I had forgotten about that discussion)

Cheers. :)

The goal of this issue/discussion is simply to achieve consensus that nobody needs to work to support these specific platforms anymore, because we currently have not expressed that and they are hindering progress on Windows issues that already have precious few contributors capable of tackling them.

I'd prefer to see it the other way around, for a simple reason:

Explicitly declaring "x is now deprecated" invites people to become zealous and start cutting out things, resulting in reduced functionality, without also creating new features.

I'd rather see people declare "i want to do this, and to achieve that, i'd need to break this".

@wchristian
Copy link
Contributor

(There's also the side point of this, as far as i can tell, being the only declaration of something as deprecated without that being done in direct connection with "i want to implement this"; and i'd be unhappy to see this kind of special treatment of one thing, when no such special treatment is needed at all.)

@Grinnz
Copy link
Contributor Author

Grinnz commented Feb 2, 2021

I'd rather see people declare "i want to do this, and to achieve that, i'd need to break this".

I wish to encourage that in this discussion as well.

@wchristian
Copy link
Contributor

In that case, maybe it could be made as a round call for intent to work on windows features, explaining that there is no support policy, and inviting people to state what they fear might hinder them in doing so, to gauge if said things would actually cause opposition?

@khwilliamson
Copy link
Contributor

@xenu informs me that names for locales didn't really come along until Vista; this means that locale support is pretty crippled on earlier versions, and I think it's not worth our precious effort trying to do any support form them

@yuki-kimoto
Copy link

@wchristian

Before you can "drop support" for something, we must first actually define what "support" means and define it, as well as policies and guidelines for dropping support, and document them.

Clearly defined things is beneficial in some case.

On the other hand, Practical things is good in many cases.

Isn't the point that core developers want to stop old windows support because they want to make Windows porting code more manageable and simple?

so, core team think they want to get consensus.

@wchristian
Copy link
Contributor

Isn't the point that core developers want to stop old windows support because they want to make Windows porting code more manageable and simple?

Please actually read the linked ticket and previous discussion to learn how the point is that there is no porting policy in the first place and that asking to "stop support" is asking everyone to believe in something imagined.

@yuki-kimoto
Copy link

@wchristian

I can agree that there is no clear porting policy written.

"stop support" message maybe means "stopping newer Perl to run old windows".

@wchristian
Copy link
Contributor

@yuki-kimoto imo, the best faith reading of the material i can offer is:

"no guarantee of support is made, and if someone wants to implement a feature that would break something, it would be polite of them to ask beforehand, and the final call is with the committer and the pumpkings at their own discretion"

and imo, in lieu of actual policy i believe that should be retained, instead of engaging in special treatment for windows that would not be done for any other os

@rjbs
Copy link
Member

rjbs commented Feb 4, 2021

I think it seems useful to have a list of platforms such that:

  • we consider not building on platform X to be a bug, to be fixed before a stable release
  • we consider not building on platform Y to be expected, and not a reason to add code complexity

Some platforms will clearly be the first kind and some the second kind. Everything else is unknown until classified, but probably the answer can often be "look, if it worked yesterday and the thing that broke it isn't worth much, why did we break it?" My guess it that there are versions of Windows we would like to categorize as Y. I will raise this on the list soon.

@yuki-kimoto
Copy link

If there are the list, I think it is kind.

@Leont
Copy link
Contributor

Leont commented Feb 5, 2021

I think it seems useful to have a list of platforms such that:

* we consider not building on platform X to be a bug, to be fixed before a stable release

* we consider not building on platform Y to be expected, and not a reason to add code complexity

Some platforms will clearly be the first kind and some the second kind. Everything else is unknown until classified, but probably the answer can often be "look, if it worked yesterday and the thing that broke it isn't worth much, why did we break it?" My guess it that there are versions of Windows we would like to categorize as Y. I will raise this on the list soon.

I think that defining tiers may be helpful for that.

@khwilliamson
Copy link
Contributor

Can we get some progress on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
distro-mswin32 Feature Request Win32 This is a meta-ticket to tag issues in the perl core which need attention on Win32. See #11925 Windows < 7 Older Windows
Projects
None yet
Development

No branches or pull requests

8 participants