12 ms·
RoboVM Is No Longer Open-Source
- Zardoz84 11y ago> Several RoboVM components used to be made available under the Apache 2.0 license while the compiler was open sourced under the GPL license How can close source the compiler if it is on GPL license ?
- LeoPanthera 11y agoThe author can use any license they wish going forward, but previously released versions will remain GPL.
- johncolanduoni 11y agoI commented about this elsewhere in this thread, but the Contributor License Agreement for RoboVM gives RoboVM AB (the company) an unrestricted license to your contributions. As a result, the contributors cannot assert that they are violating the GPL since RoboVM is not actually on the receiving end of it.
- scrollaway 11y agoSo let me get this straight... RoboVM is acquired by Xamarin, the company behind Mono (the open source c# implementation)... and they therefore go closed source? I don't get it.
- hierro 11y agoI don't think Xamarin has open sourced anything that they didn't have to. All tools developed exclusively by Xamarin are closed source (e.g. Xamarin build host, the Mono packager, Xamarin.Insights, Objective Sharpie, etc...).
- carussell 11y agoXamarin contributed several projects to the .NET Foundation. Mono is also permissively licensed, so every contribution Xamarin makes that does up in the open (instead of locked up, which they could do by actually taking advantage of the terms in those permissive licenses) is something "that they didn't have to" do.
- deleted 11y ago[deleted]
- taspeotis 11y agoI don't think Xamarin open source their Visual Studio integration or their Mac OS Build Host. So this would be following in those footsteps: if you want these features, pay for them.
- pionar 11y agoMono is different than Xamarin. Xamarin works on and supports Mono, but it's not their core product. Their core product is the Xamarin Platform, which is what you're talking about.
- johncolanduoni 11y agoXamarin's .NET mobile/mac offerings are closed source. Mono itself fills the role of the OpenJDK does for Java, but it alone is not suitable for running on mobile. Also, Mono is licensed under the LGPL and Xamarin's interpretation of that license precludes using the runtime in a closed-source program without a alternative license from them (which they provide with their paid plans).
- billsix 11y ago> Also, Mono is licensed under the LGPL and Xamarin's interpretation of that license precludes using the runtime in a closed-source program without a alternative license from them Citation? I've never heard anyone interpret the GPL and LGPL as the same. Embedding mono is different than using mono. https://xamarin.com/licensing https://xamarin.com/licensing
- johncolanduoni 11y agoSorry, I meant on mobile (like RoboVM). There is no way to comply with the LGPL on iOS.
- gillianseed 11y ago>Also, Mono is licensed under the LGPL From what I understand lot of code is GPLv2 as well, which would make the project as a whole GPLv2 licensed.
- billsix 11y agoThe project as a whole is not GPLv2. From http://www.mono-project.com/docs/faq/licensing/ http://www.mono-project.com/docs/faq/licensing/ The C# compiler is dual-licensed under the MIT/X11 license and the GNU General Public License (GPL). The tools are released under the terms of the GNU General Public License (GPL). The runtime libraries are under the GNU Library GPL 2.0 (LGPL 2.0). The class libraries are released under the terms of the MIT X11 license.
- 11y ago
- rplnt 11y agoUhm, they only support mono because they simply can't close it and have lots of proprietary libraries built around it. Some they developed on their own, some were bought/licensed from previous Mono maintainers. Xamarin is not a FOSS company by a long shot.
- maccard 11y agotheir official line of reasoning is: 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. tl;dr they weren't receiving any contributions, and people were using their open source code directly against them.
- deleted 11y ago[deleted]
- blumkvist 11y ago@shit HN says, you have work to do!
- MikeTaylor 11y agoThere is no such thing as "no longer open source". The story here is in fact "the copyright holders of RoboVM have made a proprietary derivative".
- johncolanduoni 11y agoWell, one complication here is that the only reason they were allowed to do so was that their CLA gave RoboVM AB an unrestricted license to the contributions, not merely the license the code was released under. If that were not the case, the compiler could not have gone simply gone proprietary because it was GPL licensed. In practice, I suspect they would have been able to do this anyway because the biggest independent contributors joined RoboVM prior to this move. edit: typo
- lsaferite 11y agoAnd this is the exact reason I will not contribute code under a CLA that gives a project the right to re-license my code as commercial.
- fhd2 11y agoAll the CLAs I've seen so far give the project the right to license the code under a proprietary license, as long as it (and derivates of it) remains available under a free license as defined in the CLA. I would also have concerns signing a CLA that doesn't ensure the code will stay available under a free license, but I don't think that's a very common case.
- lsaferite 11y agoEarly in my career I signed CLAs like this and contributed code under them. Later down the road I wizened up and realized it was free work for a commercial entity that was then relicensing my work under a closed source commercial license and making a profit. They are welcome to a profit, sure, but not if it is via closed source licensing of work that I contributed to the OSS community. So, no more CLAs for me. If they require a CLA (that lets them relicense my work) then I'll just never contribute to them.
- bad_user 11y agoRoboVM was basically the competition of Xamarin and Xamarin killed it. RoboVM was cheaper and had a bigger market, since it targeted JVM developers. With RoboVM you aren't even tied to Java the language, being entirely possible to use a language like Scala. And contrary to Xamarin, in order to use IntelliJ IDEA or Eclipse, or in other words the state of the art in IDEs, you didn't need to pay $999 per year, like you need for using Visual Studio with Xamarin. And RoboVM has been open-source, which brings with it benefits, like trust, trust because should things go wrong, you can always fork it. Well, now is the time for a fork and I hope it will happen.
- johncolanduoni 11y agoI think putting more effort into Avian would probably be time better spent. Their static code-gen is lacking (it currently just runs the JIT ahead of time, instead of taking more time with something like LLVM), but they've got a lot of things going for them including a superior GC.
- bcg1 11y agoI was wondering why no one mentioned Avian... I'm not a mobile developer so I wasn't sure, but I thought that it does the same thing essentially. Avian is a fantastic platform and the maintainers are true friends of free software, even though their license is as permissive as you can possibly get. https://github.com/ReadyTalk/avian https://github.com/ReadyTalk/avian
- joel_dice 11y agoI wrote most of the Avian VM, and I agree that the code generation is quite primitive compared to LLVM's. We've considered using LLVM as an alternative code generator, but hesitated partly because LLVM used to require a shadow stack to support accurate GC. I just checked they're latest docs[1], though, and it seems that there are other options now. All in all, adding LLVM support to Avian would be challenging but doable. However, Avian's generated code is already fast enough for most purposes, and it's not too hard to fall back to a bit of native code when you need maximum performance. My impression is that Java-on-iOS developers are less concerned about performance and more concerned with ease-of-use (e.g. tool integration) and convenient access to native APIs (e.g. Bro[2]). The RoboVM devs have apparently done a great job on both of those things. I sympathize with Zechner and the other RoboVM devs. Development on Avian was originally funded by the company I was working at since it neatly addressed a problem we had: extending the lifetime of a large body of client-side Java code in a world that was/is increasingly unfriendly to client-side Java. Once it was good enough for that purpose, there was no business reason to continue investing in it besides bug fixes and maintenance, so we had to move on to other things. I'd love to keep working on Avian full time and do cool stuff like an LLVM port or trace-based JIT compilation, but it's hard to justify when there are bills to pay. In my case, that means focusing primarily on other, income-producing projects. In RoboVM's case, it means trying a new approach to licensing to make development sustainable. I wish them luck with it. [1] http://llvm.org/docs/GarbageCollection.html http://llvm.org/docs/GarbageCollection.html [2] http://docs.robovm.com/advanced-topics/bro.html http://docs.robovm.com/advanced-topics/bro.html
- codeulike 11y agoI've been using libgdx and was meaning to explore the whole iOS/RoboVM angle, I finally got around to it this weekend, ironically just in time to catch the kerfuffle around this. Presumably there is an open-source version of RoboVM still around. Perhaps here: https://github.com/robovm/robovm https://github.com/robovm/robovm ... though I gather the problem with that is that it does not include any of the latest iOS 9 work, which was done in a closed repository somewhere. Looks like the Libgdx guy (Mario?) fought hard to keep a free version of RobobVM for Libgdx users. Not sure how long that can last; its currently based on self-identifying yourself as a Libgdx user and hence easily abused. The other irony is that Libgdx used to use Xamarin to target iOS, but they switched to RoboVM because it was free/open.
- badlogic 11y agoMario here, libGDX author and part of the RoboVM team. We switched from Xamarin to RoboVM for libGDX because it worked better for our purposes and was free. It being OSS was a plus, but that wasn't really a factor in the decision. We've been happily using Xamarin for a year, even though it was closed. I constantly evaluated other options, including Avian and XMLVM, neither of which came close to either Xamarin or RoboVM in terms of functionality and performance. That is still true today. The free indie licenses for libGDX and PlayN users will last. It's very easy on our end to prevent abuse automatically. We never considered not making it free for indie game devs. From RoboVM's standpoint, it makes zero sense to 1) try monetizing a community that can't be monetized and 2) alienate the community that helped RoboVM a lot over the past two years. If RoboVM stopped the free indie licenses, it would only hurt RoboVM's bottom line. The close sourcing was badly communicated, no question about that. But contrary to popular believe, it was not the longest bait and switch in the history of evil plans (RoboVM's been out there for almost 4 years), it was a business decision. A direct competitor exploited the free OSS version, hurting our bottom line.
- gillianseed 11y ago>A direct competitor exploited the free OSS version, hurting our bottom line. Who were they ?
- hitekker 11y agoCopy pasting what I think to be the most important part of the article: 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. -Zechner I'm not sure what to think about the competitors-stealing-our-code angle, but the OSS-is-being-used-as-freeware argument is certainly one point in favor of closing/controlling their code (as a business).
- admax88q 11y agoThey should have used a viral license like GPLv3, and sold commercial license exceptions.
- rmc 11y agoOr a licence like Affero GPL, which requires you to release the source code (and changes maybe?) if you make it available online.
- quadrangle 11y agoAGPL requires that you release the version that you are actually running on the server.
- zxv 11y agoYes, the GPLv3 is a powerful tool, but it doesn't completely eliminate the need to control when and how source code becomes open. In practice, GPLv3 may only offer hope that one could some day prevent violations after the time and expense of litigation. VMWare and Tivo are examples. Consider Google Android, which releases sources with binaries when the release occurs, not before. Balancing the how and when is just as important as the license. Gnu Ghostscript was an example for many years. They used a dual license and released source to the public six months after binaries.
- JustSomeNobody 11y agoHave we just become too selfish for OSS? We're going to end up punishing ourselves by having to use proprietary, closed systems for everything. I don't want to compute in that world. That would be awful.
- seibelj 11y agoI originally thought this was a bad idea, then changed my mind. I was going to contribute to the fork but decided not to. What sealed it was several competitors to RoboVM emailed me directly after seeing my posts in the RoboVM fork message boards begging me to help them. No one wants to pay for anything anymore. RoboVM made the right decision.
- logn 11y agoSounds like you're in a good position to get paid to write open source software.
- cccooo 11y agoso everyone just built wheels in a little close source circle just like traditional company. the real value of open source software project is the uers and community who used the software。the decision of xmin will lost many uers and destroy the community,i don't think it a good decision.
- ocean3 11y agoThey could have started with closed source itself right?
- ex3ndr 11y agoSeveral months ago, after consulting with HN community (https://news.ycombinator.com/item?id=9757243 https://news.ycombinator.com/item?id=9757243) what we can do with our startup, we open sourced our platform and now our team feels pretty well. But after months, we see that powerful companies just silently use our software to solve there's needs and making no contributions. We accept small contributions, but we can't count on them as platform is much bigger than contributions. We tried to write Wikipedia-like letter to ask for donations - doesn't work. Tried to make consulting - eats too much time. Now we releasing enterprise version (https://corp.actor.im https://corp.actor.im) and we decided not to open sources of it as it is almost impossible to earn money without pushing people to pay. And pushing can be performed only with limitations that is, actually, harming people in some cases. Does anyone know any other solution for this?
- dman 11y agoThe model works if you rename your company to Red Hat :)
- baldfat 11y agoYeah you can't use anything else that Red Hat uses like CentOS (which Red Hat saved) or use Fedora. Heck even Oracle rips off Red Hat and calls it Oracle Linux. I don't see your point.
- dman 11y agoIt was meant to be a joke on the sad state of affairs of business models around open source product companies.
- mtgx 11y agoCan't you just keep it open source for non-commercial use and require license fee for commercial use? Or is that too hard to enforce? (i.e. companies use the open source version for non-commercial use).
- merb 11y agothe problem is your product. there are way too many messaging platforms like actor. many of them are older. it's hard to compete in this market since you would need to be better than all the others. I mean the others are costing money at least some of them still they have mostly a bigger integration in the products the companies made. and thats why its impossible to earn money for you, you won't get enough users to stay rentable.
- aurelien 11y agoOnce again Open Source demonstrate its danger in front Free Software. Stop to waste your time, bring progress to fsf.org
- maxerickson 11y agoStructurally, the FSF works the same as this project and works to unilaterally control the copyright of projects (by only accepting contributions under a license agreement: http://www.gnu.org/licenses/why-assign.en.html http://www.gnu.org/licenses/why-assign.en.html ). I agree it would be a departure from their core philosophy to act against their contributors, but if evil goblins took control of the FSF, there would be no way to stop them from using whatever license they wanted, and the community would be left with the last release under the old license, just as in this case. edit: oops, there are FSF projects where the FSF does not hold the copyright. Anyway, what I said works for the projects that FSF holds copyright for.
- quadrangle 11y agoFSF is still a 501(c)(3) with legal obligation to their stated mission, so it couldn't just be taken over and corrupted quite so simply.
- maxerickson 11y agoI think if they stopped accepting donations and spent remaining funds carefully, there would be no penalty for losing that status (it's largely an exemption from income taxes).
- quadrangle 11y agoI doubt it is that simple to change a 501(c)(3). I'm not a lawyer, but getting the tax exemption under 501(c)(3) has all sorts of requirements including things in Articles and Bylaws about how dissolution / acquiring works. Even losing 501 status doesn't instantly eliminate the legal status of the Articles/Bylaws that founded the (c)(3)…
- mahyarm 11y agoAs a dev, a big thing for me is being able to see the source code for the full callstack in the debugger, and possibly making derivatives of that code in my app. As long as they provide that in some form, then closing the source isn't as big of a deal.
- synic2 11y agoPeople don't respect those who give away their labor for free. Consider doctors, dentists, lawyers, CPAs, or other higher-prestige professionals. They engage in protectionism to restrict competition and drive up their earnings and rarely if ever give away their services for free, and they are much, much more respected than we are. And on the rare occasion that they do perform some act of charity, such as working as a public defender or providing discounted dental care to the poor, they usually still get paid for it, just not as much, and they make a big show of it so everyone knows that they're taking a huge paycut for a good cause and thus deserve even more respect than they get already. Programmers by contrast are rapidly conditioning the public to expect software to be cheap or free, regardless of how long and difficult it is to produce, to the point where iPhone devs complain they can't sell their apps for the price of a cup of coffee. Programmers need to worry about their future and should probably spend their 20s and 30s making as much money as they can writing proprietary software before they hit 40 and become increasingly unhirable due to ageism instead of performing unappreciated acts of charity in the form of open source for an ungrateful public.
- oberstein 11y ago"The straightforward and easy path was to join the proprietary software world, signing nondisclosure agreements and promising not to help my fellow hacker.... I could have made money this way, and perhaps had fun programming (if I closed my eyes to how I was treating other people). But I knew that when my career was over, I would look back on years of building walls to divide people, and feel I had made the world ugly." -- Richard Stallman (Open Sources, 1999 O'Reilly and Associates) https://github.com/llimllib/personal_code/blob/master/python/wc/osfortune https://github.com/llimllib/personal_code/blob/master/python...
- synic2 11y agoAnd when you're old, unemployable, and in need of expensive dental work, do you seriously think any dentist will offer you some massive discount because of your short-sighted history of altruism? Please. Proprietary software isn't even one tenth as immoral as the rent-seeking and profiteering that other more respected professions engage in. Make your money and look out for yourself, because no one else is going to.
- merb 11y agoI don't think that everything of RoboVM could be closed source, since you are doing the same things just for another platform, that google did and got sued by oracle.