Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What does this mean for the Mono project? http://www.mono-project.com/Main_Page



Mono isn't just a c# compiler, it is also a CLS Machine (virtual machine) and a set of libraries, among other things. If the VM was also put under apache 2, it is also unlikely that it would run on Linux out of the box.

To use java as an example, this would be like open sourcing javac without open sourcing the JVM. (Just fyi, both javac and JVM are open source under the GPL license. :) [edit - Looks like large parts of .NET platform are being released]

Still, this is a move to be applauded. Microsoft has been easing itself into a more open source friendly company over time by putting more projects under an open license. Microsoft ASP.NET MVC is another good example. There is an incomplete list of open source projects originating from Microsoft here: http://www.microsoft.com/opensource/directory.aspx

[edit above in brackets]


Miguel just demo'ed building a C# iOS app using a modified Roslyn-powered C# compiler with Xamarin Studio on OSX.


Miguel showed personally on stage they integrated it in mono (in a version that, obviously, at the moment is not out there)


Yep, he's compiled on stage an IOS app with a version of Mono that had Roslyn integration.


And Roslyn is 100% Apache 2, so he didn't need our assistance or permission to do any of what we demoed (although we were glad to give it!).


This is still Windows only. If anything Mono now has more resources to pull from to improve their project.


Not true - there was an on-stage demo in MonoDevelop on OS X.


It's a compiler. It takes input and produces output. There shouldn't be much in there that has any platform dependency.


For any compiler, platform-dependence of the compiler itself is strictly tied to platform-dependence of outputs.

Edit: I confused roslyn with the recently announced AOT compiler.


What do you mean the output produced isn't platform-independent? This C# compiler produces assemblies that can be run on e.g. Mono runtime on Linux or on the .NET CLR runtime in Windows.


The C# compiler targets the CLR (Mono or .NET). It produces IL which is similar to Java bytecode. The runtime then JIT's it, but I don't know if that's OS-specific or not.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: