News

Mobile Dev Firm RoboVM Gives Up on Open Source

With the entire development industry seemingly embracing the open source movement, RoboVM made headlines with its surreptitious "closed sourcing" of the code used in its mobile app development tooling.

RoboVM cited no significant contributions to the project and thus no benefits derived -- and in fact accused competitors of using the open source code against the company.

The news emerged in a Google Groups post last week in response to a question from a developer who noted that the company's GitHub site hadn't been updated in two months and asked if the project was closed source now.

The answer was yes, according to a post that's apparently from Henric Müller, CEO of the Swedish company. "We have received no notable external contributions to the components that represent the core of our product," he wrote, which "means that neither RoboVM customers nor us, as the maintainers of RoboVM, have realized any benefits to sharing the products source under such liberal terms."

Another Google Groups post shed more light on the issue, in a post apparently penned by exec Mario Zechner, who said the open sourcing of code actually worked against the company in commercial products.

"We have seen competitors actively exploiting our good faith by using our open source code to compete with us directly in commercial products," read the Wednesday post.

RoboVM, which provides Java-based tooling aimed at cross-platform development of native iOS and Android apps, open sourced its ahead-of-time (AOT) compiler and runtime library for Java in April and was recently acquired by Xamarin, which offers similar C#-based tooling.

The six-employee RoboVM last month announced iOS 9 support in a new release, version 1.8, the final release issued under the open source GPL license. Earlier this month, the company announced updated pricing, and shortly after came news of the Xamarin buyout. One disgruntled developer attributed these events to the company's decision to revert to a proprietary source code model.

"Cool," wrote a poster identified as Carsten in reply to Müller's message. "Now we understand. You were in talks with Xamarin for a while and one of the requirements was an updated price model (no more free stuff!) and closing down the source. Thanks for translating this process into corporate bs-bingo. Attract people for years with an open source model until you attract enough users and are acquired by the next bigger fish. Then we immediately go from open source feel good to updated pricing, closed source. Genius!"

Another poster with the handle KH also complained.

"Why continue the Open Source path now that you have locked enough people into your platform and sold with much profit?" KH wrote. "It makes no sense anymore. Open Source was there to attract people and create a free, helpful community. Now that's done we can shut it down. Let's just hope Apache, Clang, LLVM, etc. don't follow your lead!"

Complaints also abounded on a Reddit thread, and a couple Google Group discussions have sprung up to investigate interest in forking the project to keep it open source, here and here.

Although many are complaining about the decision on the social sites, the company does have some sympathizers. "Obviously their hope was to get a vibrant community of contributors, but what they got instead were people who felt entitled to something for nothing," one Reddit poster wrote. "You can't build a successful business catering to those types of people."

For the record, here are the company's Google Groups posts explaining its side of the story:

Henric Müller, CEO, Oct. 21:

Our work to add full support for iOS 9 in time for its public release was one of the most daunting challenges we've faced in our existence. A key observation that we kept returning to during this period was the fact that, while RoboVM has been open source for more than 2 years, we have received no notable external contributions to the components that represent the core of our product -- the compiler, runtime, and Java bindings to the iOS APIs. This is unsurprising given the nature of the project; contributing to an ahead-of-time compiler requires a unique set of skills and an intimate knowledge of the behaviors of iOS and the inner workings of complex virtual machines. At the same time, it means that neither RoboVM customers nor us, as the maintainers of RoboVM, have realized any benefits to sharing the products source under such liberal terms. While we are strong believers and supporters of OSS -- as evident from our contributions to various projects such as libGDX -- RoboVM's continued development and longevity requires a competitive and healthy business.

As such, with the introduction of iOS 9 support and our updated pricing, we're officially moving RoboVM to a reference source business model. While we'll continue to contribute back to the most active RoboVM projects -- such as the Gradle and Maven plugins, and RoboVM samples and templates -- access to the source of our proprietary improvements to RoboVM will be reserved for our Enterprise customers.

Mario Zechner, Head Geek, Oct. 28:

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.

The way we went about this was clearly the wrong approach. We should have announced it the day it became clear that this change needed to happen. As a young company of 6 people we clearly have a thing or two to learn about communication. We apologize for this. We should have been upfront with you about this change.

Every member of our small team is part of at least one OSS project out there. OSS is close to our hearts. RoboVM 1.8 was the final release to include a notice that the source code would be made available under GPL, and so it should be no surprise that it is our intention to make that our final release of the source. We will push the sources of RoboVM version 1.8 to the public repositories this week.

We also recognize the contributions of each of the 17 external contributors to RoboVM, be it a single line change or something more substantial. Ever[y] single external contributor will be granted a free, lifetime license.

About the Author

David Ramel is an editor and writer for Converge360.