This has been discussed before. A lot. See here, here, here, here, related topics here, here, and here. Undoubtedly there’s more out there.