How to disagree
Today I was doing a short research on Maven features and Nexus, and ended up in the following page: Why Nexus and not Artifactory? Compliance, Standards, Security, and Quality.
As the title highlights, the content was sort of a finger-pointing text, going down to a nearly explicit “your product is worse” [where “my product is better” would still sound a bit less dramatic]. In the comments, after a short flame war between people (showing after all that opinions from the industry are most obviously biased), a link lead me to the only thing in there worth reading:
How to disagree by Paul Graham
Disagreeing requires arguments. Good ones. It takes the efforts to understand the statements thoroughly and put your own pieces together in a concise and charming response. Disagreeing is about building on top, rather than destroying what have been said. It’s polite, walking on eggshells.
What makes this article interesting is how the disagreement fits in such hierarchy, beyond “yes” or “no”, placing a checkpoint on what is an acceptable argument. Stubbornness is very often a personal character, and no one can change that. But disagreement can still build a healthy dialog that benefits both parts despite everything.
Just to recall the most famous disagreement of our (IT) universe: Tanenbaum–Torvalds debate or LINUX is obselete.
… or if you want to go a bit lower (featuring the explosive Linus Torvalds): WE DO NOT BREAK USERSPACE!