No, it's evil, full stop.
Facebook's patent policy means, in no uncertain terms: if you have a patent, they have a worldwide, royalty-free right to use it. Don't want to give them that? Well, until you remove all usage of Facebook's "open source" code, that's the situation.
Note: RocksDB also has this problem, which means CockroachDB is also infected. Tread carefully.
-----
Note to downvoters: No one has a problem with Apache 2-style patent-retaliation provisions. Facebook could solve this problem TODAY by switching to that.
They don't because they don't want to retaliate, they want access to unrelated patents from third-parties at zero cost, with a credible threat to damage those third-parties if they want to retain their unrelated patent rights. There's literally no other reason for Facebook to demand terms beyond Apache 2 than to do what I just described.
The Apache 2 license protects Facebook and third-parties and is 100% ethical. Facebook's patent position is not, for the reasons I've stated above. The community, IMO, should shun Facebook LOUDLY until they relent and stop this bullshit.
-----
Update 2: It's actually worse, because Facebook tends to do this bullshit on stuff like RocksDB and React which are incorporated in other software that you use to run your business.
Using a React-based dashboard widget for your ElasticSearch cluster? Good luck suing Facebook for patent-infringement, because guess what? You agreed to let them infringe by using it, even though you didn't intend to.
Facebook's patent policy requires constant policing to avoid. Like I said: EVIL.