Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Android++, native development and debugging for Visual Studio, now open-source (github.com/webbju)
124 points by webbju on Jan 5, 2016 | hide | past | favorite | 37 comments


As a lawyer, this licensing is super worrying to me

"Copyright (C) 2013-2015 NaturalMotion Limited. Used under licence.

Code written by Justin Webb.

Licence granted by Justin Webb with the permission of NaturalMotion Limited.

No rights are granted by NaturalMotion Limited under this licence. "

Uh, so Justin is using it under license from natural motion, and justin has been granted the right to license it, but natural motion is explicitly not granting any rights under those licenses?

That is somewhat nonsensical. Either naturalmotion is granting rights through justin, or they aren't.

If they aren't, it's not clear anyone has the right to use the code. If they are, the "no rights are granted by natural motion" part is wrong.


What? Justin Webb granted the licence, NaturalMotion Limited explicitly didn't. NaturalMotion has a licence and that probably includes their veto on any following licence given by Justin.

I'm not a lawyer or particularly strong with English, but at least it makes sense in this interpretation.


"Justin Webb granted the licence, "

Except it's used under license from naturalmotion, and naturalmotion owns the code (hence the copyright naturalmotion).

Yet, naturalmotion explicitly grants no rights.

I can state affirmatively this makes no sense :)

As I said, either they've granted rights (through justin), in which case that statement that they grant no rights should not be there (because they are in fact, granting rights) Or they haven't granted rights (through justin), in which case it's not open source and who knows what rights you are getting here.


They grant rights to justin but not, at least not directly or actively, to the recipient. But, the syntax is really awful and wouldn't pass any compiler if this was a programm. IMHO courts should rule in favour of the doubt for any misuse, say for uncomercial FOSS stuff. I know you mean that on the business side of things, caution of overarching decisions is advised.

What the copyright stuff means to me is that I'm not allowed to relicense, but i could modify or distribute unmodified.


It sounds like what they are saying is that (a) NaturalMotion owns the copyright on the code, (b) NaturalMotion granted Justin permission to sub-license the code, and (c) Justin distributed the code under a BSD license.

However, the language defining step (b) ("granted by Justin Webb with the permission of NaturalMotion Limited") is hand-wavy and doesn't spell out exactly what rights are granted, so I would agree that this seems legally pretty shaky. What rights is NaturalMotion intending to reserve by including the following sentence? If there are any, do they conflict with the ability to redistribute under a BSD license? If there are none, why is that sentence there ar all?


That strongly implies it's not open source.


More like, it is open source, but it's not free open source?


The term open source means you have to, at least, have the right to use, modify, and redistribute modifications. It's more than just being able to see the source.



I believe you're confusing Open Source with Free Software. Open Source literally means the source is openly accessible.


No, it doesn't. No matter what certain closed-source companies might want you to believe.

There is a difference between Open Source and Free Software, but it's ideological, not technical (as pertaining to the rights granted to the users of the software).


Both of you are right and wrong at the same time. Fighting about this terminology is unproductive. See my comment above ( https://news.ycombinator.com/item?id=10848308 ).


> I believe you're confusing Open Source with Free Software. Open Source literally means the source is openly accessible.

This is what shared source is about. Open source is nearly always used as defined by the OSI:

> https://opensource.org/osd


Unfortunately the term "open source" as used by many people is not necessarily synonymous with the official OSI definition available here. The OSI definition is for most intents and purposes equivalent/compatible/similar to the FSF definition of "free (as in freedom) software" available here https://www.gnu.org/philosophy/free-sw.html

For an official example of the use of the term "open source" to mean "you can read the source but are not allowed to do anything else with it" see the 2007 announcements about QNX. OSI explicitly declared there is no (OSI) open sourcing in what QNX did at the time. https://opensource.org/node/195

For an example of people using the term to mean only "you can read the source" look no further than the discussions related to the recent leaking of Amiga 3.1 source code where people were debating if an effort can be made to convince the copyright owners to "open source" the code: "Correct me if i'm wrong, but open source doesn't have to equal FOSS. I'd be inclined to agree with you if it were FOSS, but just being open source could provide 'assistance' to Cloanto who can incorporate peoples ideas/fixes but still retain the right to sell it when others don't. Managed well, could it actually be beneficial to Cloanto and the broader Amiga community?" "You are correct. FOSS and Open Source are not the same. Permissive licensing doesn't have to be attached to the opened source." "This is true, but nobody suggested it should be FOSS, me included. Open sourcing of any kind just isn't going to happen without some sort of miracle."

Unfortunately the term "free software" is a terribly ambiguous one (and Richard Stallman and the FSF are to blame here since they knew about the homonimity of the word "free" beforehand) And even more unfortunately "open source" has for a long time become ambiguous. You can not rely on "open source" meaning "OSI open source" to everyone you talk to. And members of both organisations and their supporters spend a lot of time fighting about the meaning of each others terms. So we are stuck with the horrible term "FLOSS", an abbreviation of "Free & Libre & Open Source Software" to roughly define what we actually want to talk about: both copyleft ( https://www.gnu.org/copyleft/ ) and copyfree/permissive ( http://copyfree.org/standard ) licensed software (and in some cases also public domain).


QNX is just another company hijacking the term. I don't know which Amiga thread you're referring to, but the people who were 'debating if an effort can be made to convince the copyright owners to "open source" the code' had it right.

You can complain about ambiguous words and RMS having chosen "free" all you want, but these are the terms we have, and we shouldn't give them up too easily.


Legally speaking you are correct. Practically speaking, I'm not sure it really matters.

It seems like this is a project written by one guy to make his job easier, in light of Microsoft's own Android/VS project he made the decision to release this project to open source expecting a decrease in interest over time (Android++ appears to have some benefits over the official project for now, but realistically speaking just having the full support of Microsoft behind it versus the effort of one guy means Android++ loses over time). His employer got involved because legally they own the copyright since he wrote it while being employed by them and in service of his job there, and they okayed the open source release but ultimately didn't want to get involved in any way that they might be seen to have any liability, thus the kind of nonsensical license.

(All of that is totally speculation on my part, fwiw).

But given all the above and the fact that you don't need to distribute Android++ code as part of products you make with it, I can't imagine anyone practically claiming any copyright violations as a result of any of this even if the license is legal mumbo-jumbo.

I wouldn't be particularly worried about using Android++, worse case scenario you get a cease and desist on using it, but since it is a development tool you can pretty easily just switch to Microsoft's project at that point (copyright issues with the development tool shouldn't taint the end product you create with it in this case) and practically speaking nobody is going to issue that C&D.

My bigger worry than the copyright concerns (if I had any vested interest in the project) would be the Android++ name due to the obvious trademark violation, which is harder for everyone involved to just ignore if they are made aware of it.

At any rate, misunderstanding of software licenses wrt open source is a pet peeve of mine as well, so I think pointing out this issue is totally valid, but practically speaking I wouldn't worry about it in this particular case if I used this software.


" I can't imagine anyone practically claiming any copyright violations as a result of any of this even if the license is legal mumbo-jumbo."

As mentioned, naturalmotion could actually probably sue every downloader/user for copyright infringement. Would they? Who knows.

Now practically, most of the time you are right. The problem is what is practical now doesn't always stay that way. Companies get acquired, change owners, people's monetary situation changes, etc. More often than not shit gets weird before rights get extinguished.

So my experience is that 90-95% of the time, you are right, nobody cares, it all goes according to plan.

The other 5-10% of the time, it requires lawyers and a lot of money to unf*ck it.

Hacker news rarely hears about these cases, sadly.

So sure, if you want to play the odds, go for it. But I find engineers are very Laissez-faire about this kind of thing right up until it comes down on them like a ton of bricks.


Wow, right on the money with that speculation. Are you a medium?


By uploading their code to a public GitHub repository, they agree to GitHub's terms of service[1], which grants other users additional rights to this code.

Although NaturalMotion Limited says they grant no rights under this license, you are allowed to fork this repository, as they have implicitly granted those rights to you by agreeing to the GitHub terms of service.

[1] https://help.github.com/articles/github-terms-of-service/

§ F. Copyright and Content Ownership

"We claim no intellectual property rights over the material you provide to the Service. Your profile and materials uploaded remain yours. However, by setting your pages to be viewed publicly, you agree to allow others to view your Content. By setting your repositories to be viewed publicly, you agree to allow others to view and fork your repositories."


Let's assume for a second that viewing and forking are clear and obvious copyright rights (they aren't), and that they somehow cover downloading and using (they probably wouldnt).

"By uploading their code to a public GitHub repository, they agree to GitHub's terms of service[1], which grants other users additional rights to this code. "

This has literally never been upheld in court, nor is it likely to be upheld in a way that people want (see the above parts about what rights it really covers), to be frank :)

Additionally, it would be inapplicable in this case.

You can't give away rights you don't have. Note that NaturalMotion didn't upload this, Justin did.

If you upload some Google owned source code, you haven't suddenly granted rights on behalf of Google, you've just likely committed copyright infringement.

Someone relying on the github license grant (ie a viewer or downloader) would still be a copyright infringer, and in turn try to use the "innocent infringement" defense (17 USC 504(c)(2)). They would fall neatly into the category of people who believed they had a license to use it. The problem, of course,is that this defense is eliminated completely by the presence of the notice. See 17 USC 401(d).

So the people who downloaded and used it would be screwed as well, despite whatever github has written here :)

(I have no evidence or position on whether the result would be different if naturalmotion knew or acquiesced explicitly to the uploading to github. But then you'd still hit the same viewing and forking rights are not the same as downloading and using rights, and it's highly unlikely you would convince a court they are the same).


> You can't give away rights you don't have. Note that NaturalMotion didn't upload this, Justin did.

If Justin works for NaturalMotion, then we can argue that he has "apparent authority", even if he wouldn't otherwise have authority.


Good luck with that when naturalmotion has explicitly disclaimed granting rights :)


I'm no lawyer but I'm not sure that allowing others the ability to view and fork your repositories is the equivalent of granting them a real license to the code. I don't think the definition of fork implies much in the way of licensing, but I could be wrong.

I'm thinking that they are talking about forking within the GitHub infrastructure, which means having the same code in multiple locations within GitHub (as a copy). The licensing doesn't change when the code is forked.


I'm not saying that you can distribute the code or compiled code outside of GitHub. As I understand it (IANAL), it seems like you have the right to edit this repository on GitHub as long as it stays on GitHub and not redistribute it through any other avenues.

Edit: Someone mentioned that Justin uploaded this repository, and not NaturalMotion. If Justin doesn't already have the right to distribute this on GitHub, then the rights granted to you by the ToS probably don't apply.


Since you're a lawyer, can they even use the trademarked Android name like that?


I can't comment on this one, sadly. (I haven't talked to our trademarks/android folks, and don't want to speak for them).


Now it is obvious that you are a lawyer ;-)


How's this different from https://github.com/Microsoft/MIEngine?


The MI engine is Visual Studio 2015's debugger extension (it's probably going to be a lot better than my part-time effort). Android++ takes a different approach with building projects - using explicit MSBuild tasks rather than relying on ANT. Since 2015's Update 1 that's where most of the merit still remains.


Is someone find out is this "source available" or "open source"?


I wish it was for C# instead of C++. I'd like to tinker around with some phone apps, but Monos prices are too high.


Xamarin Starter Edition is free. There are some tough app size restrictions but apparently they want developers to at least be able to kick the tires!

https://xamarin.com/starter


Xamarin.


Xamarin is the company, Mono is the product, right?


Xamarin is the whole mobile environment (including framework), Mono is "just" an open source .NET implementation and a C# compiler.


then maybe kotlin is what you want ? It shares some nice features with C# and is entirely inter op with java code. Also, it is free.


The regular environment for Android is free. As is the regular environment for Windows Phone.




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

Search: