The .Net Framework CANNOT be cross platform, it contains all of the Windows specific parts. The whole point of the .Net Core initiative is to pull out the OS agnostic parts and to rewrite other parts to be cross platform (e.g. A GDI-free System.Drawing[0]).
The long term plan from what I've read is for .Net Core to eventually form the foundation of the .Net Framework, then the Framework (Windows/GDI+/COM+/etc) libraries with be built on top with other OS-specific libraries being created for other platforms.
The vast majority of the .Net framework is already Open Source[1] including the compiler[2]. What in particular are you missing that you need?
[0] https://blogs.msdn.microsoft.com/dotnet/2017/01/19/net-core-...