Software Publishing and Citation

Why and how to publish and cite software as a distinct, independent artifact (i.e., different from scientific papers), as well as information on publication venues for software development topics, as distinct from scientific results and methods.