You could retain this info in a meta field of flexible type. For a DB, it could a JSON type. For messages, it could be an extra _meta field on the message that the systems themselves ignore.
Certain features of social networks like likes, reactions, recommendations, etc. trigger micro-dopamine releases in the brain, which in turn keep the individual craving for more.
The infinity scrolling appeals to our hunger for more and more stimuli, which in turn has us spend more time browsing the network. That longer exposure allows FB to monetise even further.
One thing that worries me – and it's not discussed in the article – is the loss of productivity, as well as cost of the opportunity for the individual.
In fact, individuals who become addicted to social networks may carry a psychological cost as well, which in turn reflects on the productivity of the individual inside the global economy system.
You could argue that time spent on Facebook would've been spent on other leisure activities anyway. But is it true? Much of this time is now spent due to compulsive behaviour, every 5 minutes, 10 minutes, as soon as you wake up, before going to bed, etc.
Careful. Pointing your A record to a third party allows that party to use HPKP [1] with a long expiry period and never give you the key, potentially nuking the domain (for anyone who has visited it before you sell it).
You're right in some of your comments, as is the author. At the end of the day, this kind of articles/outcry pushes the dev team to strive and shift focus to painpoints that may have not been a priority before (performance). I see it as a healthy sign in OSS communities.
Quite frankly, given your tone I didn't feel like responding.
I didn't stalk you: you include a link in your HN profile to your Github page, I only clicked on it. Consider removing the link if you don't want people visiting your Github profile, and learning what you engage in.
Many of your statements are imprecise/incorrect.
1. Patent grants are good. Many licenses, including ASLv2, MPL, CDDL, not only include a patent grant, but also a “weak patent retaliation” clause. A minor reprimand if you adopt a project and then decide to sue THAT VERY SAME PROJECT for patent infringement. That’s a pretty fair deal. Some licenses like CDDL are quite relaxed, e.g. they even give you a 60 days grace period after you initiate the litigation to migrate away from the software under dispute. Others like MPL not only remove the patent grant, but also the copyright license as well — which depending on the project could be assumable.
2. Facebook could’ve done the same (simply by adopting ASLv2, like they did with RocksDB when they wanted to allow Apache Cassandra to use it), but they decided to introduce a “strong patent retaliation” clause, where they protect all of their patents by immediately revoking all current (hypothetical) or future patent grants of ALL SOFTWARE with that license (which also includes Jest, immutable.js, draft.js, Flow, Infer, etc.).
3. As I said in my second article, aside from Palantir, no other corporation has adopted Facebook’s “BSD-3 + strong patents retaliation clause” since 2014 (when it was first released) – based on my examination, which I linked to in my previous comment. Meanwhile, FB claims wide adoption of this license would decrease “meritless patent litigation”. If it were true, companies should be running towards this license model. So how do you explain that no one else (aside from Palantir) has adopted it, over the course of 3 years? Something doesn’t add up. I’m sure they will explain at some point.
4. You do seem to complain a lot about my style. But with regards to content, aside from you trying to lecture me in several areas where you make mistakes yourself, your main point seems to be that the scenarios I paint are conjecture. Well, yes. They are conjecture. You see: people need to imagine possible outcomes in order to take decisions and act accordingly. If it had already happened, it wouldn’t be a blog post, it would be news.
5. Yes, I am an ASF contributor. I use GNU, ASLv2, MIT, MPL, CDDL-licensed software, and that also makes me versed (not an expert, of course) in the licensing field. I am impartial to licenses as long as they work for me and the purpose of the software I'm building. Is there anything wrong with that? Please stop making camps in your head. There is no React vs. ASF conspiracy nor battle taking place. Everyone is entitled to have their own opinion, and to study the consequences from their own angles.
6. Large companies who have adopted React, like Amazon, Microsoft, Airbnb, etc. have enough manpower to migrate away if they need to file a patent infringement lawsuit against Facebook. For them, adopting React could be a good deal. Startups don’t tend to enjoy that amount of manpower; I have already answered this several times.
I could be wrong in many of my statements, I acknowledge that. But the truth is that the license creates legal provisions whereby the scenarios I envisioned would be possible, even if several conditions would have to align. Hence, what is left? Trust that FB won’t go after you? Goodwill statements from FB’s team? Sorry, mister, but those are worthless. Especially when there are legal terms mediating.
We could keep going on forever, but my time is finite so I’m going to close this discussion with you here. Good luck!
Edit 1: changed the order of some points for better flow.
Edit 2: minor changes in PS.
P.S.: BTW - you will find that OSS developers who are affiliated to some Foundation (Mozilla, Apache, Eclipse, etc.) tend to be versed in licensing, without needing to be lawyers. Everybody can understand the terms. You only have to be a lawyer if you're going to enforce them.
CDDL includes a "weak patent retaliation" clause [1], meaning you only lose the grant if you initiate a patent infringement claim within the context of the project, i.e. saying that the project you have adopted infringes a patent of yours.
And even if you do, the revocation takes effect in 60 days, which is pretty friendly IMHO.
1) I am not a lawyer, and my article simply analyses the compromises a company makes when adopting React (and other OSS projects licensed under the same terms), without going into Patent Law.
Some lawyers think that the patent-related legal provisions are not enforceable anyway, but then it begs to ask the question. If they are not enforceable, why is Facebook so adamant about keeping this license model? Surely there's something else behind this, some motivation.
2) Facebook claims their motivation is reducing patent litigation. And they claim that making this model widespread would benefit the entire industry.
Let's put that in context. They adopted this license in 2014 and, in the last 3 years, no other company aside from Palantir has followed suit.
I analysed 75+ projects from 35 companies (link: [1]), and none uses this license model. What's going on?
As I argue in my article, this kind of license may hurt the Open Source industry, more than it will benefit it.
3) No, I do not know (a) what applicable patents FB holds with regards to React, nor (b) those that may be in the works, nor (c) those they intend to apply for. Likely neither do you.
And that's the whole point of the article.
Most people and startups don't have access to an expert patent lawyer. Even if they did, would it be a good use of resources to engage them to evaluate the adoption of a frontend UI layer? No.
So just stay away of problematic stuff.
4) And as a result of the above, my stance is that I prefer to use a stack that grants me any patents unconditionally, or maybe with weak patent retaliation like the ASLv2 license, that's OK, i.e. I sue the holder over patents covering only the work I am using, I lose the patent grant for the work I'm using. Simple and symmetrical
5) Here's some food for thought. Would you rather relinquish your IP assertion rights with this "BSD-3 + strong patent retaliation" model, or would you rather pay $99/dev for a commercial license on React and not give Facebook any control?
6) Facebook exists thanks to Open Source. Zuck implemented it using the LAMP stack back in 2004. Would he have used LAMP if it entailed relinquishing any rights to initiate patent litigation?
---
As I said, I am not giving people legal advise, I'm just voicing out my opinion. But I do see a lot of React fans like you (based on your Github [2]) trying to diminish the arguments appealing to lack of authority and what not, without understanding the logic behind my argument.
Picking an OSS UI view layer should not require involving your legal advisors, don't you think?
I'm glad you bring this up. React adopted this license in 2014. If FB's intent was really to have all corporations adopt this model, they've had 3 years to achieve that.
However, no other company other than Palantir has adopted this model. Not even in the Valley. The truth is that they are essentially alone.
Really? That's your argument? If there are no public patents today, does it mean there's none in the works?
What tells you there won't be a patent tomorrow?
Let me ask differently. Assuming you're a software engineer, do you pick your stack based on the status quo? Or do you pick a future-proof stack, based not only in its position today, but its projection tomorrow?
What CAN happen today is not as important as what COULD happen tomorrow, based on the legal provisions you're agreeing to by adopting React.
> If this is incorrect, and Facebook actually do hold patents on React, then all of the popular alternatives almost certainly infringe on them as well. So, the worst-case scenario is no different.
This is absolutely incorrect. It depends on the content of the patent. For example, if FB filed a patent for React Mobile, it would not affect Preact and Inferno, as these frameworks do not deal with mobile rendering.
If Facebook's approach is so great, by introducing a legal provision in the OSS license, how come it has not been adopted by any other company except for Palantir, despite being introduced in 2014?
I analysed 75+ OSS projects from 35 companies, and Facebook is practically alone.
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.
Bitcoin addresses are derived from the public key, which in turn derives from a private key. So you can already do what you propose, as long as your private keys satisfies the strength that Bitcoin requires.