Skip to content

x/pkgsite: package proxy caching, removal request and legal concerns #69571

@yordis

Description

@yordis

I'm writing to address a critical issue involving the Go module proxy (proxy.golang.org) and pkg.go.dev caching packages from our monorepo, which is causing significant legal concerns for us.

First, I want to acknowledge that documentation exists on this topic, and I take full responsibility for any oversight on our part.
However, I hope you understand that the default behavior of automatically caching packages from public repositories is uncommon in other ecosystems and has led to unintended and problematic consequences in our case.

Context

Our project is a monorepo hosted on GitHub with multiple go.mod files for internal modules intended strictly for internal development, not for external distribution.
Although the repository was public on GitHub, I did not consider this as "publishing" the packages. The automatic caching of our internal modules occurred without our explicit consent, simply because the repository was accessible, leading to unintended public exposure.

That poses legal issues for our organization, which we are trying to resolve upon request of the lawyer at the moment to prevent future hassle.

Please advise on how we can proceed through a private and secure channel to provide necessary details without risking further exposure.

Concerns

I am concerned about the default behavior of the proxy automatically caching any publicly accessible repository without an opt-in mechanism or explicit consent. That creates significant legal and operational challenges, and the current process for removing cached packages is suboptimal.

While I am, now, aware of the GOPRIVATE environment variable, it is not practical for us.
It requires all contributors, including external freelancers using their own devices, to configure their environments appropriately, which isn't always enforceable. Unless I am misunderstanding the situation, I would appreciate your advise.

I believe that having an opt-in mechanism for caching packages—ideally specified in the go.mod file rather than an environment variable, or any other static file that could be committed. I am not sure.

I understand the motivation behind it, and I support it fully, my personal concern is having such behavior without manually opting for it.

Especially that the lack of a private communication channel to resolve this matter complicates the situation, as we are hesitant to discuss sensitive legal concerns in a public forum. I tried to find an email but I couldn't find anything other than GitHub issues.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions