This repo is the official home of .NET on GitHub. It's a great starting point to find many .NET OSS projects from Microsoft and the community, including many that are part of the .NET Foundation.
 
 
 
Go to file
Daniel Plaisted a2a1c1e4f9 Various edits and rewordings to README.md 2014-11-06 14:27:13 -08:00
CONTRIBUTING.md Add more contributing guidance. 2014-10-30 21:10:47 -07:00
LICENSE Initial commit 2014-10-23 15:56:24 -07:00
README.md Various edits and rewordings to README.md 2014-11-06 14:27:13 -08:00

README.md

.NET Home

The dotnet repository is the starting point to engage in and learn about .NET open source projects from Microsoft and the .NET Foundation. You can read the more detailed Introduction to .NET Open Source on the .NET blog.

License

These .NET open source projects typically use either the MIT or Apache 2 licenses for code. Some projects license documentation and other forms of content under Creative Commons Attribution 4.0. See specific projects to understand the license used.

.NET Foundation

All projects have been contributed to the .NET Foundation. There are two main .NET Foundation projects for Microsoft open source projects: ASP.NET Core 5 project and the .NET Core 5 project.

How to Engage, Contribute and Provide Feedback

All projects (gladly) accept PRs and other contributions. To contribute to ASP.NET 5 or EntityFramework, see the ASP.NET Contributing Guide. To contribute to .NET Core 5, see the .NET Core Contributing Guide.

You are also encouraged to start a discussion by posting on the .NET Foundation Forums or filing an issue in the corresponding GitHub project. See the contributing guides for more details.

Finding .NET Open Source Projects

There are several open source .NET projects from Microsoft on GitHub and CodePlex:

Each one of these projects maps to one or more .NET NuGet packages that are published on NuGet.org.

They are also many great open source .NET community projects, such as:

Understanding the Relationship between .NET Core and the .NET Framework

.NET Core and the .NET Framework have (for the most part) a subset-superset relationship. .NET Core is named "Core" since we couldn't think of a better name and because it contains the core features from the .NET Framework, for both the runtime and framework libraries. For example, .NET Core and the .NET Framework share the GC, the JIT and types such as String and List. We'll continue improving these components for both .NET Core and .NET Framework.

.NET Core was created so that .NET could be open source, cross platform and be used in more resource-constrained environments. We have also published .NET Reference Source under the MIT license, so that you and the community can port additional .NET Framework features to .NET Core.

Understanding the Relationship between .NET Core and Mono

Mono is an important part of the .NET ecosystem, particularly for client scenarios (ex: Xamarin). We will look for ways to collaborate with Mono developers and encourage them to take our code to improve Mono. We will also look for opportunities to improve .NET Core with MIT-licensed Mono code.

An important collaboration opportunity is making .NET Core NuGet packages (produced from this code) work on Mono. The SIMD NuGet package is a perfect example.

Learning about ASP.NET Core 5 and .NET Core 5

ASP.NET Core 5 is a new cross-platform version of ASP.NET that is designed for the cloud, and runs on Windows, Linux and Mac. It uses the .NET Core 5 runtime and framework for running on Windows. It currently uses Mono for Linux and Mac support but will move to .NET Core 5 for those platforms when they are supported.

ASP.NET Core 5 and .NET Core 5 libraries are open source on GitHub. At present, only a few libraries are available on GitHub. The rest of the libraries, including the base runtime, will be added in the coming months.