Skip to content

proposal: all: define deprecation policy for OS versions #19002

Closed
@mikioh

Description

@mikioh

As of 31 December 2016, 9-STABLE branch was discontinued; https://www.freebsd.org/security/security.html and Go 1.8 supports 8-STABLE through 9-STABLE; https://github.com/golang/go/wiki/FreeBSD. I think there's no reason to support releases that never come even with security fixes. Considering the transition period, I propose to drop the support for FreeBSD 9 or below at the next release of Go 1.9.

Thoughts?

Activity

added this to the Proposal milestone on Feb 9, 2017
bradfitz

bradfitz commented on Feb 9, 2017

@bradfitz
Contributor

SGTM to this non-FreeBSD user at least. I seem to recall hearing that FreeBSD users update pretty regularly. Is that true?

@minux, @mdempsky, @adg?

adg

adg commented on Feb 9, 2017

@adg
Contributor
minux

minux commented on Feb 9, 2017

@minux
Member
reezer

reezer commented on Feb 9, 2017

@reezer

Something that might be worth mentioning is that the ports collection (so the "official" packages) rather quickly had various commits to remove compatibility code for FreeBSD 9. So third party software might break on a larger scale.

On the comment of quick updates I also want to mention that the first release of the FreeBSD 10 branch was in January 2014, which means that there have been three years of time to do a major upgrade.

Also currently FreeBSD 10 and FreeBSD 11 are supported and FreeBSD 12 is the development branch.

That is not meant to be an argument for or against this proposal, but just meant to give some context to non-FreeBSD users.

changed the title [-]proposal: all: drop support for FreeBSD 9 or below[/-] [+]proposal: all: define deprecation policy for OS versions (incl FreeBSD 9)[/+] on Feb 13, 2017
rsc

rsc commented on Feb 13, 2017

@rsc
Contributor

We don't have a clear policy about when to drop support for specific systems. It would be nice if we could establish a general rule.

Maybe the policy should be: after an operating system version is no longer supported by the vendor, Go may drop support after the next two releases, and the release notes for the final release with support must mention that support is going away in the next release.

For example, FreeBSD 9 was dropped on Dec 31 2016; the next two Go releases after that are Go 1.8 and Go 1.9, and we'll likely drop in Go 1.10, but if so we must announce that in Go 1.9's release notes.

-rsc for @golang/proposal-review

mikioh

mikioh commented on Feb 14, 2017

@mikioh
ContributorAuthor

Looks like this issue is hijacked. I'll open another issue for code cleanup.

changed the title [-]proposal: all: define deprecation policy for OS versions (incl FreeBSD 9)[/-] [+]proposal: all: define deprecation policy for OS versions[/+] on Feb 14, 2017
4ad

4ad commented on Feb 14, 2017

@4ad
Member

As a data point, gcc obsoleted the support for Solaris 9 in GCC 4.9 (April
2014), and removed its support in GCC 5.0 (April 2015) when the extended
vendor support for Solaris 9 ended in 2014.
https://gcc.gnu.org/ml/gcc-patches/2013-05/msg00728.html

Minor nitpick, Solaris 8 and Solaris 9 are still supported, they
are in what Oracle calls "Sustaining Support phase" for an indefinite
period.

However, we never supported Solaris 8, 9, or 10, so we don't have
to worry about any of that.

However, IIRC correctly Windows XP is still supported in the embedded
SKU, or if you have a special service contract. I think from the
perspective of the Go project, we should continue to treat Windows
XP as a supported system.

rsc

rsc commented on Feb 27, 2017

@rsc
Contributor

Following my recent comment on #19075, it sounds like we're happy with the "Go 1.N can announce that support for will be dropped in Go 1.(N+1)".

Criteria for the cost-benefit analysis for operating systems parallel the ones for hardware in that issue:

  • Availability of and support for the OS. If the OS version is no longer available and/or no longer supported, that reduces the expected benefit.
  • Actual or expected user base. If no one is using that version, that reduces the expected benefit.
  • Incurred ongoing costs of keeping old support (builders, compiler/runtime/syscall code paths, and so on).

Again it may be that the best we can do ahead of time is list the costs and benefits to consider, but not how they must be weighed.

Is that enough? Other considerations?

rsc

rsc commented on Mar 27, 2017

@rsc
Contributor

Accepted pending wiki page, like #19075.

binarycrusader

binarycrusader commented on Jun 8, 2017

@binarycrusader
Contributor

For what it's worth, I agree with @4ad 's comments on Solaris. Realistically, Go generally only needs to support the latest update release of Solaris (e.g. 11.3).

stevenh

stevenh commented on Jun 29, 2017

@stevenh
Contributor

With respect to FreeBSD following the official supported versions is an option, which can be seen here:
https://www.freebsd.org/security/security.html#sup

So currently only 10 and 11 are supported, all other version have reached their EOL.

Not sure if that would work for other OS flavours?

locked and limited conversation to collaborators on Aug 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @bradfitz@mikioh@rsc@stevenh@minux

        Issue actions

          proposal: all: define deprecation policy for OS versions · Issue #19002 · golang/go