clock menu more-arrow no yes

Filed under:

Android made Java-free thanks to 'XobotOS' project, but what are the legal implications?

New, 25 comments

Development firm Xamarin has ported Android to C#, calling the new operating system XobotOS.

If you buy something from a Verge link, Vox Media may earn a commission. See our ethics statement.

Xamarin Mono
Xamarin Mono

Software firm Xamarin has ported the Java code inside Android (over a million lines of it) to C#, creating an entirely freestanding operating system that it calls "XobotOS." C# — which began as a Microsoft project over a decade ago and now dominates non-native programming throughout much of the Windows ecosystem — is very close both in spirit and language structure to Java, which makes porting between the two a somewhat reasonable undertaking. To get it done quickly and make sure that Xamarin could keep up with Android's evolution, it automated the port using a modified version of the Java-to-C# tool Sharpen. "We knew we wanted to be able to stay up to date with new releases of Android," Xamarin says.

Xamarin's feat frees the platform entirely of its infamous Dalvik virtual machine. Given the legal challenges Android is facing in the Oracle v. Google case, that may be a good thing. However, it's too early to predict whether the XobotOS platform will avoid all legal challenges going forward. While Microsoft has formally stated that the software community is free to implement the C# specification, we've seen that promises of "open" software aren't always absolute legal guarantees. There aren't any indications at this point that Xamarin's implementation will raise concerns with Microsoft or others, but it's always a good idea to keep these things in mind.

Ultimately, XobotOS serves as a bit of promotion for Xamarin — it sells Mono for Android, a runtime that allows developers to use Visual Studio (widely regarded as an excellent development environment) and write their Android code in C# instead of Java. Legal benefits aside, it touts Mono as being a considerably higher-performance alternative to Dalvik, and it notes — half-jokingly — that "maybe Google will thank us some day" for the effort. Mono is Xamarin's flagship product, but XobotOS? Not so much: the company says that the port was a "fun experiment" and won't be a development focus going forward, but the code has been posted to Github for curious developers to check out.

Matt Macari contributed to this report.