Thank you to the entire SSWG for continuing to review the ecosystem's (that have gone through SSWG processes
) project maturity for all of us to benefit.
As the maintainer of RediStack, I obviously have some questions for the SSWG that I would like some guidance on.
- What is the definition of a maintainer in the eyes of the SSWG?
I have made sure that at least 2 active members of the SSWG from different organizations always have admin access to both the GitLab and GitHub mirror repositories since the beginning.
Some of those members have also contributed to the project, with at least one being a major contribution: the connection pool feature.
Does someone have to be the one who cuts releases, do code review, provide a certain number of contributions or a regular amount of them in order to be classified as a maintainer?
- Why is there this hard requirement to have more than one maintainer to go from Sandbox to Incubating?
It's entirely reasonable to have this requirement to reach graduated, but we're now at odds of definitions of requirements to also track number & frequency of contributions to move to Incubating.
This makes it confusing for RediStack, given that the project is clearly not a "sandbox" project as it has stable 1.0 release, adheres to SemVer as best as possible, and is known to be used in production apps.
My concern is that the Incubation stage labels are viewed without context as to why they are applied to projects when someone views the SSWG package index on the main Swift site (or in the future hosted sites like the Swift Package Index)
Having the label of Sandbox while being 1.0, with regular contributions, gives the impression that the project is immature for use rather than immature for long-term stability of project management.
- How hard is this requirement going to be applied to low-level projects that are easy to identify as being be "done"?
From Kyle himself, he has stated that SwiftAPNS is relatively feature-complete and requires little maintenance. Barring changes to the language, dependencies, or the APNS protocol... there's not much more for the project to do.
How does that stage of a project's lifecycle factor into the requirements for regular contributions, number of contributions, etc.?
- There is now inconsistency in applying the guidelines between the packages without clear guidance on why it was appropriate for this inconsistency.
SwiftAPNS is now in the same state as RediStack regarding maintainer count, but maintains its status as Incubating, rather than dropping back down to Sandbox - even though this is possible within the SSWG incubation process.