Live data from Hacker News

React Native is now open source

github.com

181–190 of 298 posts

Re: React Native is now open source

#181
post #141
post #138

But why React Native? Reactjs for web makes sense as browsers struggle with DOM manipulation. Native apps rendering capacity is sub-micro seconds. Hoping for Appcelerator's dreaming Hyperloop that give us native JS capabilities. I still plan to use ReactJs (web) within web-view.

Fills the same niche as Cordova/PhoneGap or Xamarin. It's kinda the best of both. Intuitive dev process for web developers not needing to learn new paradigms. Fully native compilation for better performance than WebViews.

Are you sure they compile to native? IIUC they use JavaScriptCore on iOS, which currently doesn't JIT. Probably good enough to drive UI and you can implement performance hungry stuff in native code.

Re: React Native is now open source

#182

React Native is the most promising cross-platform UI toolkit I've thus far encountered. Congratulations to the team that built / launched it. The reason I'm excited for it: Java promised write-once-run-anywhere, which means you are always serving the least common denominator. React Native promises learn-once-write-anywhere, which means a single team of engineers can realistically build high-quality apps using the tar…

WORA is pretty much a pipe dream, to different are the platforms and UI toolkits. One of the reasons why we heavily focus on enabling the same language(s) on multiple platforms while using the native UI toolkits with RoboVM. Funnily enough it's a different matter for games, see Unity, UE4, libGDX, Cocos2D-x etc.

I think many people dismiss this recommendation right away nowadays, but here it goes:

Adobe Air comes pretty close to "WORA". For 2D games it goes almost without saying, but throw in the excellent Starling + Feathers framework and it is great for Apps too. A drawback is of course that you do not have native UI, but if you can get passed that it works really really well.

I evaluate cross platform technologies quite regularly and my opinion still is that Adobe Air is the best (just make sure you stay away from Flex ;) For everyone who gave up on Adobe Air some time ago I highly recommend to take another look. The Eco system did not stop to evolve at all and it provides a really good development environment.

Re: React Native is now open source

#183
Remember this day, because React Native is going to be a game changer (patent clause stuff aside). Others like Phone Gap tried to make it so you could build native apps using HTML/Javascript but they failed because they focused on running said HTML/Javascript within a performance limited WebView and not the other way around.

This weekend I am going to try and get a working application built using React Native. Facebook are absolutely killing it in regards to their open source contributions. The learn once, write anywhere paradigm is smart as opposed to what others have done via their write once, deploy anywhere approach which just doesn't work for web and native applications.

Re: React Native is now open source

#184

Earlier quoted context omitted.

IANAL, but the argument seems to be that there is an implicit patent grant in the MIT license. MIT gives you a license to use the software, and you can't use the software without a patent grant, therefore you have an implicit patent grant. The existence of an explicit patent grant means that you can use React without an implicit patent grant, so you don't just automatically get one if you lose the explicit patent gra…

Wouldn't that implicit patent grant be in every other BSD-style license as well? As far as I understand it, the patent grand terminates when you end up in court with Facebook and then you're effectively distributing software that may or may not be covered by patents you don't own/have a license for.

No, being in court with Facebook is only one place where the termination can happen:

>anyone that makes any claim (including by filing any lawsuit, assertion or other action)

Even just stating that a Facebook patent is invalid terminates your license.

>any right in any patent claim of Facebook is invalid or unenforceable

Even just stating your belief that software patents are invalid or unenforceable terminates your license.

However, if you read closely, the last paragraph starts out with:

>The license granted hereunder

There isn't actually any license granted after that clause (it occurs before this clause), so I'd argue the entire last paragraph is meaningless puffery.

Re: React Native is now open source

#185

Earlier quoted context omitted.

WORA is pretty much a pipe dream, to different are the platforms and UI toolkits. One of the reasons why we heavily focus on enabling the same language(s) on multiple platforms while using the native UI toolkits with RoboVM. Funnily enough it's a different matter for games, see Unity, UE4, libGDX, Cocos2D-x etc.

I think many people dismiss this recommendation right away nowadays, but here it goes: Adobe Air comes pretty close to "WORA". For 2D games it goes almost without saying, but throw in the excellent Starling + Feathers framework and it is great for Apps too. A drawback is of course that you do not have native UI, but if you can get passed that it works really really well. I evaluate cross platform technologies quite r…

I can see the appeal of Adobe Air and its ecosystem. I guess on mobile the only problem is binding to system services & ad providers. IIRC most of that is already covered by 3rd parties, but it's a bit involved to do it yourself.

Funny you mention Flex, still gives me the shivers, still used by a lot of enterprises around here. Pretty much on par with applets in terms of badness.

Re: React Native is now open source

#186

Earlier quoted context omitted.

Are you nitpicking legal semantics (including something in one agreement or another), or saying it's possible to legally use React-Native while suing Facebook for completely unrelated patent infringement?

INAL. You have to differentiate between copyright and patents. From the perspective of copyright you're perfectly in the clear, the grant of rights that's part of the BSD license will not be revoked. What will be revoked is the right to Facebook's patents insofar they apply to React.js. First of all that that requires, that Facebook actually has patents that apply to React.js. It also means you're no worse off than w…

> It also means you're no worse off than without a patent grant.

No, see discussion above re: implicit and explicit patent grants. You don't fall back to an implicit grant when an explicit one is revoked.

Re: React Native is now open source

#187
post #88

Earlier quoted context omitted.

That is a big excitement killer

So, basically, if you sue Facebook on grounds of patent/copyright infringement for any reason, you don't get to use their software?

No, the license terminates when you make a claim (of which a lawsuit is a subset of) that any 'right' of any patent claim that Facebook makes is invalid or unenforceable. This would include statements to the effect:

"That Facebook patent is invalid." or "Software patents are invalid."

Re: React Native is now open source

#188

Earlier quoted context omitted.

Wouldn't that implicit patent grant be in every other BSD-style license as well? As far as I understand it, the patent grand terminates when you end up in court with Facebook and then you're effectively distributing software that may or may not be covered by patents you don't own/have a license for.

No, being in court with Facebook is only one place where the termination can happen: >anyone that makes any claim (including by filing any lawsuit, assertion or other action) Even just stating that a Facebook patent is invalid terminates your license. >any right in any patent claim of Facebook is invalid or unenforceable Even just stating your belief that software patents are invalid or unenforceable terminates your…

> There isn't actually any license granted after that clause (it occurs before this clause)

"hereunder" does not refer to a direction within the text :)

Re: React Native is now open source

#189
post #135
post #7

The first thing I do now on each Facebook open-source reveal, is to check the PATENTS file for the toxic second paragraph, to see if they've changed it. Sadly, no. I can't imagine being able to use this at any decent-sized company with lawyers. :-( https://github.com/facebook/react-native/blob/master/PATENTS See for example the discussions at https://news.ycombinator.com/item?id=9111849 (eg. https://news.ycombinator.…

Can anyone tell me how this clause is interpreted when I use React in Germany? German law (simplified) claims that no software patent is valid unless it solves a technical problem (in the physical problems sense). Does this mean since I accept German law as valid by being a citizen of the country I implicitly claim some (ergo any) Facebook patents are invalid and the clause triggers automatically? Is living in such a…

I'm fairly certain that interpretation is bogus.

Facebook holds patents granted in the US. Those patents to do not apply to all other jurisdictions. German law doesn't consider US software patents invalid, they just don't apply under German jurisdiction.

Basically, if Facebook can't sue you for patent infringement in the first place, the clause doesn't apply. If you use React in a product that enters the US market (or any market that is subject to US patent law), that's a different story.

That said, I'm suspicious that the entire thing is not enforceable in Germany in the first place (to clarify: I'm not claiming it's invalid, just speculating that it may not be enforceable in German courts). German contract law is actually pretty restrictive when it comes to what may or may not be in implicit agreements like software licenses.

Case in point: WhatsApp was told off in Germany because it blocked the accounts of users who used third-party clients. Using third-party clients was explicitly forbidden in the WhatsApp ToS, but the clause was considered "surprising" and therefore invalid. The ruling argued that using third-party clients was accepted by most popular similar apps and losing access (not just in the third-party client, but in WhatsApp proper) because of doing that could not reasonably be expected by users.

There are also serious restrictions to what rights you can waive. Not only doesn't the public domain exist in German law (you can grant a universal unrestricted non-exclusive license, but you can't waive your ownership completely), nor can you completely disclaim responsibility (e.g. you can still be sued for intentional harm even if you give something away for free). Another example was Walmart in Germany trying to prohibit employees from entering romantic relationships with each other (and failing, resulting in lots of bad PR).

There's a reason contracts in Germany typically include a clause stating that even if any single clause is legally invalid the other clauses (or even "the spirit of those clauses" in so far as it can be enforced otherwise) still remain in effect. I'm not sure whether this is actually required, but the idea is that it prevents contracts from becoming invalid because of any single clause being ruled invalid.

Re: React Native is now open source

#190
post #176
post #128

Earlier quoted context omitted.

This license is great since it reduces the chance of patent litigation in general.

If all companies issued code under these terms, and they all used each others' code, it would certainly make patent lawsuits impossible between them. That might or might not be Facebook's goal in the license, but regardless, it seems like a great outcome. Likewise, avoiding that outcome might or might not be Google's reason for not using this code, but since other companies are, it seems in need of explanation.

> it would certainly make patent lawsuits impossible between them

Or they sue each other anyways and it takes another 5-10 years to figure that situation out, hobbling any OS development under those licenses while there are very clear and widely used and accepted patent grants available.

There's a reason the FSF recommends Apache 2.0 if you aren't going to go GPL.

Post reply on HN