key-elements-of-open-publishing-software