Skip to main content

nuget.org

warning

This page is a work in progress!

nuget.org, also known as the "Gallery", is the defacto feed to host open source packages. You should publish NuGet packages for your open-source projects here.

The Gallery is battle-tested and proven to scale well. You can find a guide on how to host your own Gallery instance on the Gallery's wiki. You can find the Gallery's code on GitHub:

As you can tell, nuget.org is a complex beast. Hosting your own instance of the Gallery is not for the faint of heart.

BaGetter vs nuget.org

TODO. See this issue for a deep-dive.

  • BaGetter only competes with NuGet/NuGet.Services.Metadata
  • nuget.org's v3 implementation is static
    • Runs only on Windows
    • Highly tied to Azure
    • Scales reads to near infinity
    • Doesn't scale well for writes
    • Static JSON files are hosted on Azure Blob Storage
    • Served by a Content Delivery Network
    • Files are updated by feed2catalog, catalog2registration, catalog2dnx, and catalog2lucene jobs
  • BaGetter's v3 implementation is dynamic
    • Cross-platform implementation
    • Requests are served by a service that queries a database
    • Simpler architecture, which makes it easier to deploy and run small feeds
    • Easier to scale for writes
    • Harder to scale for reads
    • Easier to add new features
    • Harder to make as reliable