Describe the issue:
Suggestion: separating what is API requirement from what is "tooling" requirement (tests, lint, etc) on go dependencies.
We will be trying this on Gateway API to avoid adding a lot of dependencies for implementations (eg.: Not requiring controller-runtime if you want to consume Gateway API structs/API or client only).
An example (yet still ongoing): github.com/kubernetes-sigs/gateway-api/pull/4141