CLI tool
dotnet/runtime avatar
dotnet/runtime

dotnet/runtime: the single repository that builds .NET's core, libraries, and installer

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.

18,274 stars5,598 forksC#MIT

At a glance

What is it?
The dotnet/runtime repository is the source of the .NET runtime, class libraries, and the dotnet host. It is a large, MIT-licensed C# codebase with a clear contribution workflow and a strict security reporting process.
Who is it for?
Adopt dotnet/runtime if you need to build the .NET runtime or libraries from source, contribute fixes, or track nightly builds. Do not adopt it if you only want to write .NET applications; use the official installers instead.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly C#, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What this repository actually contains

dotnet/runtime is not an application framework. It is the source code for the .NET runtime, the class libraries, and the shared host, which is the dotnet binary that launches applications. The README states that the repo contains 'the code to build the .NET runtime, libraries and shared host (dotnet) installers for all supported platforms.' That means if you want to understand how garbage collection works, how the JIT compiles IL, or how the base class library is implemented, this is the place. It is also the place where the installers themselves are produced. The scope is broad: runtime, libraries, and the muxer that sits in front of them. For an engineer evaluating this project, the first thing to note is that it is a monorepo for the entire foundational layer of .NET, not a single component.

Who this is for and who should stay away

This repository is for people who need to modify or build the .NET platform itself. That includes runtime developers, library maintainers, and engineers who want to test nightly builds of the runtime in their own projects. The README explicitly points to a 'Dogfooding' document that explains how to get nightly builds. So even if you do not plan to change the source, you can use this repo as a source for pre-release builds. If your goal is simply to ship a .NET application, you do not need this repository. The README directs you to the official downloads and the getting-started guide. For application developers, the repo is a reference source, not a dependency. The distinction matters: this is a platform engineering project, not a framework you add to your project.

How the build and contribution workflow is structured

The README does not give a full build guide, but it points to two key documents: CONTRIBUTING.md and docs/workflow/README.md. The contributing file explains what kinds of contributions are welcome, and the workflow document explains how to build and test. That separation suggests a formal process: first read the contribution guidelines, then follow the workflow. The README also mentions a 'Dogfooding' document for nightly builds, which implies that the repository supports a continuous integration pipeline that produces testable artifacts. The presence of a build badge in the README links to an Azure DevOps pipeline. So the workflow is not just 'clone and build'; it is tied to a specific CI infrastructure. For a contributor, the practical takeaway is to start with the workflow docs before running any commands.

Security reporting: a private channel, not a public issue

Security issues are handled separately from regular bugs. The README instructs reporters to use the Microsoft Security Response Center (MSRC) Researcher Portal, not the public issue tracker. It promises a response within 24 hours. That is a concrete SLA. The repository also participates in the Microsoft .NET Bounty Program, which means there is a financial incentive for finding vulnerabilities. For an engineer evaluating this project, this is a strong signal that security is taken seriously, but it also means that if you find a bug, you cannot just open a public issue. You must use the private portal. That is a constraint, not a flaw. It is the standard way to handle security in a project of this scale.

Issue tracking: what belongs here and what does not

The README is explicit about which issues belong in this repo. It should contain issues tied to the runtime, the class libraries, the installation of the dotnet binary (the muxer), and the installation of the .NET runtime and libraries. Everything else, such as ASP.NET Core issues, belongs in a sibling repository. The README links to a new issue page that offers choices. This separation is important because it keeps the runtime repo focused. If you file an issue about a web framework here, it will likely be redirected. For a contributor, this means you need to know which layer your bug lives in before filing. The repo is large, and the issue tracker is meant to be a precise tool, not a catch-all.

Licensing and governance

The repository is licensed under the MIT license, as stated in the README and the LICENSE.TXT file. That is a permissive license, which allows broad use and modification. The project is a .NET Foundation project, and it has adopted the Contributor Covenant code of conduct. The README also links to the .NET Foundation discussions for general OSS topics. For an engineer evaluating adoption, the MIT license is a clear green light for most commercial use. The governance structure is not described in detail, but the .NET Foundation involvement suggests a neutral home for the project. The code of conduct is a standard part of modern open source projects. Nothing in the README suggests any unusual licensing restrictions.

Maintenance and upgrade cost

The repository is actively maintained, with recent releases for .NET 10, .NET 9, and .NET 8 as of the last push. The release cadence is visible in the tags: multiple versions are supported simultaneously. For a contributor, this means you may need to target multiple branches for fixes. The README does not describe the branching strategy, but the existence of release tags for three major versions implies a maintenance burden. For an adopter, the upgrade cost depends on whether you are building from source or using official builds. If you build from source, you must track the release branches and the workflow changes. If you use official builds, the cost is the same as any .NET upgrade. The repository itself does not offer a migration guide; that lives in the documentation linked from the README.

Editorial conclusion

Adopt dotnet/runtime if you need to build the .NET runtime or libraries from source, contribute fixes, or track nightly builds. Do not adopt it if you only want to write .NET applications; use the official installers instead. Before contributing, read CONTRIBUTING.md and the workflow docs, and verify your build environment matches the supported platforms. The repository is the definitive source for the runtime, but its size and complexity make it unsuitable for casual use.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes