Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Well, I planned to learn more about React, but reading now this convinced me to learn Vue.js instead.

It's under MIT license developed by a single person in addition to community's contribution.

This link is rather interesting https://vuejs.org/v2/guide/comparison.html#React



Alternatively there's this: https://github.com/developit/preact

Preact is a fast 3kB alternative to React, with the same ES2015 API as that of React.

Preact is MIT licensed and does not have any additional conditions beyond that.


Yes, preact looks like a good drop-in replacement. The good thing about the MIT license is you know what you are getting.

I also agree with the OP, even viewing FB in the best light possible, about the best case you can make is that they want to hedge any risks to themselves while profiting from OSS contributions and the OSS marketing. As it stands, there is virtually no case to be made for them wanting to contribute to the OSS community. IMHO if you're a dev and contributing to the facebook oss ecosystem, I would actively encourage you to stop.


As I said in my article [1]:

Patents protect ideas and inventions. In most cases, patent assertion cases are not black or white — win or loose. Infringement evaluation is complex and costly. A lawsuit can cost hundreds of thousands or millions to file and pursue. You might have a 85% confidence that FB violated a patent of yours, but to even pursue it it’s going to cost you a lot of money.

If on top of that, you will need to invest to migrate away onto a different frontend framework first, and make sure that all your customers are using your new product version (what if you’re using React Native? your users may not upgrade the apps at once!), before you can even file the lawsuit, do you think that’s an honest, ethical usage of open source philosophy?

Bottom line: Open Source is not a “quid pro quo” trade. Open Source is about creating communities to build better software together. It should never be used as a marketplace to exchange people's rights.

[1] https://medium.com/consensusx/if-youre-a-startup-you-should-...


Thank you. You pretty eloquently summed up my thoughts about this entire situation. I'm sad, because Facebook runs some pretty cool open source projects. But I will no longer contribute to them if this is their attitude. It's about as far from community-oriented as I can imagine.


FB would be happy to replace the internet with Facebook. I think we've all known this for some time now. It's not their attitude, it's their entire reason for being. It's a form of totalitarianism that we don't have a word for; that's beyond most people's imagination.

It would be fitting for FB to change their motto (?) to "We're not evil either." Lol


Good joke there :)

Do you believe Google also has shown intents to be totalitarian or "be evil" ?

IMHO Google has handled their enormous power and popularity very well.

Fair Disclaimer: I must confess I'm a google user, not affiliated to them in any other way (that I know of) though :D


It's not what I believe. It's what the "data" shows. Sure you can believe the words. But it's actions that matter. And in that context "don't be evil" is comical at best.


So ultimately patents boil down to the deepest pockets. Not that I'm naive, but that's a pretty shitty way to do such things.


Sorry I've forgotten what the status was on the "are APIs copyrightable" question, i.e. the Oracle v Google fight. I'm kind of confused about what wikipedia says happened - there seem to be two final rulings one in favor of Oracle and one in favor of Google with Oracle appealing the second. Is it that APIs are copyrightable but duplicating them is (sometimes?) covered under fair use? Either way, I'd be a little hesitant to use this.


APIs are copyrightable. You can see here: http://www.zerobugsandprogramfaster.net/essays/x-1.html

There is still a question on fair use. Google won the jury trial, but the appellate court is ruling in a few months, and that could change everything.


The link that you provided is from May of 2016. AFAIK, Google won that case and the appeals and there are no ongoing appeals: https://en.wikipedia.org/wiki/Oracle_America,_Inc._v._Google....

Oracle really has a way of being a big swinging legal turd, I do believe they would try anything they could. It just seems like they wouldn't wait a year to get it going.


You are correct. (For the unfamiliar, there are separate rulings because in this case, the Court of Appeals for the Federal Circuit ruled that APIs are copyrightable, then remanded back to the district court to re-try the case in light of the new decision about copyrightability, which then found that reimplementation of the API was covered under fair use.)


Only in the US. In the EU, in particular, APIs cannot be copyrighted[0].

Namely: "For the avoidance of doubt, it has to be made clear that only the expression of a computer program is protected and that ideas and principles which underlie any element of a program, including those which underlie its interfaces, are not protected by copyright under this Directive."

[0] http://eur-lex.europa.eu/legal-content/EN/ALL/?uri=CELEX:320...


Whoops - sorry, yes, this is a very good point. I'm usually good at checking my own US-centric POV but I totally forgot here.


IANAL, but the problem with MIT is that it doesn't give you anything in relation to patents. I.e. it doesn't even mention them. In this respect, it's no better than React's BSD without patents. I.e. MIT and BSD are quite similar.


The MIT license doesn't mention copyright either, except to state who holds the copyright and forbid you from changing that statement.

The actual permission notice says you have the right to use the software without restriction. To me, a layman, it would seem contradictory and unfair if they later claimed that they held previously unmentioned patents that restricted your use of the software.


It might imply a patent license, it might not. I don't think it's ever been tested in court. But at best you're getting a license to the Preact author's patents, if there are any, which there probably aren't. You're definitely not getting a license to Facebook's patents - but because Preact is a clone of React (in outward design, at least), any Facebook patent that applies to React has a decent chance of also applying to Preact. So I'm not sure it helps that much...


Apologies. I didn't notice this was about preact specifically. I agree that switching to preact is unlikely to help with any patent issues. I don't think any free licenses indemnify you from third-party patent claims.


It's debatable how far that provides indemnity from Facebook. It's explicitly derived from their API, so whereas you can conceivably write a project to make use of React and then seamlessly switch to Preact if Facebook become threatening, surely Preact itself is liable — and your software by extension — for using the API?


It does appear that in the US, APIs are considered subject to copyright, thanks to Oracle:

https://www.techdirt.com/articles/20160511/17515734410/stake...


Check out Preact. It's an API compatible, lightweight React alternative that is actual free software.

As a bonus, it's a lot smaller, just 3kb minified

https://preactjs.com/


you've made a great choice. forget about patents: vue is a joy to use. can't say the same about react, personally.

also check out nuxt.js, a small abstraction layer on top of vue that has some opinions about file structure and also makes SSR a breeze https://nuxtjs.org/


Finishing up a project at work with Vue right now, and I gotta say it's really excellent to work with. Way more intuitive than some other frameworks out there.


To me it has the advantage that jQuery had, the product if a single developer with a huge community behind him but no large company imposing their agenda on the framework.


React isn't even a framework.


When most people talk about React, they aren't talking the single library, but rather, the ecosystem of libraries that enable you to build applications. Most "frameworks" are just a collection of libraries too - the difference is in branding, and most frameworks are really just a pre-built package.json/Gemfile/etc.

I'd venture to say that very few if any of the sites Facebook lists at https://github.com/facebook/react/wiki/sites-using-react are using "React the view library" by itself.


But does it also provide an alternative to React Native?


You can use Vue with Nativescript but at this point it's still early days

https://www.nativescript.org/blog/a-new-vue-for-nativescript

https://github.com/rigor789/nativescript-vue


yes, weex[1], which is becoming some sort of apache project. it was formerly (?) an alibaba project, not actually sure on the specifics RE: changing of hands.

1. https://weex.apache.org/


I hope they are very good, but it is not a good first impression if your UX framework web page looks like this on mobile:

https://kek.gg/i/C92Fk.png

https://kek.gg/i/89GHzx.png


I looked into this because I remembered weex having a different alibaba site[1]. it looks like weex became an ASF incubator project ~6 mos ago. around the same time, evan you (vue creator) mentioned on twitter (or maybe a github comment, I don't remember) that there is massive development going into weex right now. I would guess it'll be a few more months before we see a solid website with solid docs from ASF.

1. https://web.archive.org/web/20161224161323/http://alibaba.gi...


And also says "Get Invovled"


looks like weex uses `flow-bin` which is a BSD+PATENTS repo:

https://github.com/apache/incubator-weex/blob/master/package...

not sure, but I think that means users of weex are subject to BSD+PATENTS also


nativescript-vue


Try out weex


Or there is Google's Polymer framework. In my opinion, Polymer is better than React and Vue. I could never bring myself to use React because of its liense terms.


Using polymer as a JS frontend framework wasted about a year of work at my friend's company. They eventually switched to react for one project and an in-house react replacement for the other.


I've used Polymer in three production applications and they were successes.


google is pretty bad at frontend frameworks from my experience :D Polymer is an experiment that should have stayed in that state.


I'd argue that google is pretty strong when it comes to frameworks, and that most of their criticism comes from people who aren't looking for a framework, but rather a library (like React).

And Polymer isn't even really either of those things, it's a polyfill for a native browser feature.


Polymer is not a polyfill for web components - it is higher level library - something like "jquery for web components" - WC polyfill is separate project, in separate repo - you will need it with X-Tags, Svelte, SkateJS too.


No, a polyfill has to closely mirror an API. Polymer is inspired by web components but went its own way for several features.


I'm guessing you're hating on Angular? Why? I'm a huge fan of 1.x & polymer, but I'm curious to know why you think it is not worth using.


True, what I really love about polymer is https://webcomponents.org, basically a collection of webcomponents that can be used either individually or in combination without much setup.

This creates great looking results pretty fast and also enables you to easily give back to the community by open-sourcing your own components. Last time I checked already 1100 components were listed, of which the vast majority seemed really well build.


That's not correct, the Web Component catalog is completely separate from Polymer. Polymer is a library to make it easier to implement web components. You can use Polymer without using any of the community's components.


What did he say that wasn't correct? He said he loves polymer because it gets him access to community made web components.. Made in Polymer...


He implied that https://webcomponents.org/ is part of Polymer, but it is not.


The downside of polymer is that it doesn't really play nicely with modern toolchains.


Yeah because with Polymer you don't even need a toolchain.

I hate toolchains and their clunky 10+ seconds compile step.


Expect good news on this front at the Polymer Summit on Tuesday.


Why not Angular?

It's conspicuously missing from these discussions


From someone who works with Angular everyday, on a multitude of projects... Angular feels far too heavy in comparison to React. While Angular can do the job, there's just too much bloat.


Super powerful but it's no longer the shinny new penny of front end frameworks. Devs like shinny stuff.


Yeah my current gig is steering clear of react because of the patent issue but we are embracing Vue and vuex.


why is angular not even being considered? Has it suddenly become radio active that no one wants to touch it even?


Angular 2+ missed the mark on a few things. Most critically, they missed the mark on Components. Compared to Vue, React, Preact, Marko, etc...Angular 2 components are extremely verbose. And this a big problem, because Components are the building blocks for any UI.

Angular has other issues like the AOT compilation file sizes and the fact that certain standard language features are not supported with it. But even having to know the ins and odds of AOT vs JIT...these aren't even things you have to worry about in any of the ones I mentioned above.

I really wish the Angular team had learned the best lessons from React...but they didn't. It's definitely better than Angular 1...but it's not as good as these other alternatives.


FWIW, I've been using Vue for the last couple of projects and have been extremely satisfied.


I made the same decision about 1-2 months ago for the same reason, and after scaffolding my project from the CLI, creating some components, and adding additional pieces I needed (vue-router, vuex, dev server proxying to my backend, etc.), Vue has been an absolute pleasure to work with.


I haven't had to change to really play around with it, but cycle.js (https://cycle.js.org/) is another option alongside Vue and Preact




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

Search: