Discussion: how to improve "Packages"

A new feature called Packages just arrived. People at our company are curious what this is, as being able to store your artifacts/packages is extremely valuable, but all they get is a blunt message: "No packages stored for this project."

Then, after some Googling, people's hypes level degrade. People are interested in pushing their packages to GitLab. But not Java packages! We're not a Java shop, and there's a zero chance any person will upload a single thing to a Maven repository in GitLab.

This triggered me to pass a couple discussion points for your consideration.

Wording

If Packages is to provide even the slightest value, it has to clearly articulate what it is. "No packages stored for this project" doesn't. "Registry" is a good example of how to explain what a feature is, and how to use it.

Packages > Maven, Packages > Gems, etc.

It would make sense to have Packages > Maven, or Packages > Java there. "Packages" alone is extremely confusing because Java the language is maybe 10-20% in market share (depending on how you measure that), and maybe half of it is JAR-based Java. The audience is very limited, so using a general term "Packages" when really meaning "JARs" isn't good. There's a ton of different package types: Java JARs, Ruby gems, Python wheels/eggs, Android APKs, so assigning "Packages" to Java JARs alone isn't a good choice.

Disable feature globally

I understand it's against GitLab's policy to disable feature on instance level. As a business owner, I fully understand why and act the same. As a GitLab customer, I don't like it, because I want to disable features that are confusing (1) and provide no value to us (2).

Sidebar clutter

With more and more features showing up in GitLab, the sidebar is getting too much clutter over time. The everything-enabled policy leads projects that use a fraction of features (not a bad thing) but all the features are enabled and suggest the project team actually uses them (bad thing).

  • Some repos are documentation only. Usable features: Repository, Issues, MRs, Snippets
  • Some repos are Terraform. Usable features: Repository, Issues, MRs, CI/CD
  • Some repos are Perl. Usable features: Repository, Issues, MRs, CI/CD, Operations, Registry.
  • Some repos are XXX. Usable features: A, B, C. No project is the same.

I think it might be about time to ask what feature to enable when creating a project.

CC @markpundsack @jlenny @jramsay

Assignee Loading
Time tracking Loading