open source software best practices based on literature