Earlier quoted context omitted.
What difference would that make? Path could still fire him, oath or no oath, and I can't see their decision being much influenced there.
Publicity. He writes a blog "Path fired me for not breaking the oath" and then communities like this one will rally around that whistle-blower.
If a developer refused to implement a feature due to their ethics then the company would do the following:
* Move engineer to different project
* Set unrealistic goals/deadlines/expectations
* After engineer fails, voice concern about performance
* Set up performance review and improvement plan
* After causing engineer to fail a second time due to unrealistic expectations, fire them due to poor performance
Even if that engineer writes a blog post, enough has happened between his initial refusal and termination as to make conclusive proof impossible. The discussion will be a he-said-she-said affair as his former employer makes a counter-blog post explaining the engineer's poor performance.
A lawsuit is similarly out of the question as most companies have sufficient funds to cause delays in court, thereby causing you to spend all your money on attorney fees and bleeding you dry.