Dot Net Core Applications
Dot NET Core is open source (MIT license) and was contributed to the Dot NET Foundation by Microsoft in 2014. It is now one of the most active Dot NET Foundation projects. It can be freely adopted by individuals and companies, including for personal, academic or commercial purposes. Multiple companies use Dot NET Core as part of apps, tools, new platforms and hosting services.
Dot NET Core is a cross-platform Dot NET implementation. The primary architectural concerns unique to Dot NET Core are related to providing platform-specific implementations for supported platforms.
Dot NET Core is supported by Microsoft on Windows, macOS and Linux.
Dot NET Core has been built as a very similar but unique product relative to other Dot NET products. It has been designed to enable broad adaptability to new platforms, for new workloads and with new compiler tool chains. It has several OS and CPU ports in progress and may be ported to many more.
Comparison with Dot NET Framework
The Dot NET platform was first announced by Microsoft in 2000 and then evolved from there. The Dot NET Framework has been the primary Dot NET product produced by Microsoft during that 15+ year span.
The major differences between Dot NET Core and the Dot NET Framework:
Dot NET Core does not support all the Dot NET Framework app-models, in part because many of them are built on Windows technologies, such as WPF (built on top of DirectX). The console and ASP.NET Core app-models are supported by both Dot NET Core and Dot NET Framework
Dot NET Core contains many of the same, but fewer, APIs as the Dot NET Framework, and with a different factoring (assembly names are different; type shape differs in key cases). These differences currently typically require changes to port source to Dot NET Core. Dot NET Core implements the Dot NET Standard Library API, which will grow to include more of the Dot NET Framework BCL API over time.
Dot NET Core implements a subset of the subsystems in the Dot NET Framework, with the goal of a simpler implementation and programming model. For example, Code Access Security (CAS) is not supported, while reflection is supported.
The Dot NET Framework supports Windows and Windows Server while Dot NET Core also supports macOS and Linux.
While Dot NET Core is unique and has significant differences to the Dot NET Framework and other Dot NET platforms, it is straightforward to share code, using either source or binary sharing techniques.
Dot NET Core is open source, while a read-only subset of the Dot NET Framework is open source.