I really wanted to like this article, but it should have been called "What Makes Software Interoperability Good." There wasn't a lot of useful information about what makes software good at a high-level.
At a high level, what makes software good has almost nothing to do with how we code, and almost everything to do with what we code. If it solves a problem, simply, easily, and quickly, it is good.
What about ethically?
No. If we think it's good it's good. It's a useless question unless 'good' is defined.