Following RoboVM’s acquisition by Xamarin, the company has raised the price of their offering and has closed the source code.

Both Xamarin and RoboVM have as primary activity the creation of cross-platform mobile applications, the first in C# while the latter in Java. RoboVM has enabled developers to write applications for Android and iOS while Xamarin targets the Windows platform too. They had been competitors until recently when Xamarin announced the purchase of RoboVM. The community has wondered what would happen to RoboVM now that they have been acquired by Xamarin.

While the core of RoboVM –the compiler, runtime and Java bindings to iOS - has been open sourced for more than two years, the small company of 6 people that was the driving force behind it made a living by adding proprietary components to it, integrating it with various IDEs - Eclipse, IntelliJ, NetBeans or Xcode Interface Builder - and providing support. The first change is the license price for those relying on the commercial offering from RoboVM. While in the past the license would cost $299/year, now a single developer would pay $275/year, businesses need to pay $1,500/developer/year, and enterprises need to contact them to get a quote.

Some of the existing customers get a special deal, as noted by RoboVM’s Mario Zechner:

libGDX and PlayN users have been the cornerstone of the RoboVM community for the past 2 years. We created a special licensing offer for them via which they can use RoboVM for an unlimited amount of commercial and noncommercial games for free. We also provide free licenses to students and open source contributors.

Also, early RoboVM sponsors get a “free, lifetime license.”

But the main change consists in the fact that RoboVM is no longer providing the source code except to enterprise customers. They stopped committing code to the respective GitHub project about three months ago. The latest RoboVM version on GitHub is 1.6 while the company has released versions 1.7, 1.8 and 1.9 to their customers. Several RoboVM components used to be made available under the Apache 2.0 license while the compiler was open sourced under the GPL license. Now, the 1.9 package contains only the binaries and a mixture of Apache 2.0 and proprietary licenses.

Zechner explained why they decided to do this:

RoboVM is a complicated piece of technology that we have worked hard for years to create. Over the past few months, we have seen competitors actively exploiting our good faith by using our open source code to compete with us directly in commercial products. On the flip side, we have received almost no meaningful contributions to our open source code. You can imagine how disappointing this has been to us; we had hoped our initial business model of OSS with proprietary extensions (like our debugger and interface builder integration) would work. But in light of the low contributions and behavior of competitors, we decided to stop automatically releasing changes to the core of RoboVM as open source.

RoboVM promised a “free, lifetime license” to each of the 17 external contributors, even if they contributed with a “single line change.”

But some developers consider that closing down the source code has to do with Xamarin’s acquisition. And some are discussing forking the project, perhaps starting with the sources v. 1.8 which will be pushed to GitHub this week, according to Zechner. It remains to see how successful they are in their endeavor considering that RoboVM is not a trivial piece of software.