I have mainly been a Windows user/developer most of my life. Recently I have started to use Linux almost exclusively for both general purpose use and development. I'm a little worried that I might be trying to run and distribute programs and such in a way that too much resembles Windows knowing full well that things are done differently on Linux in many ways.
Is there a good source for best practices for building, running, and distributing programs on Linux? And likewise, is there similar information for other OS's like OSX and perhaps even Windows as well?