The choice of making a software project open source or proprietary has long-lasting effects on the type of software that is produced. A proprietary software project can lead to reliance on specific versions of dependencies and libraries, developers using shortcuts in order to produce features quickly, the use of highly customized build environments and tools, and poor security practices. Switching from proprietary to open source mid stream or late in the development process creates major challenges that require extensive work to rebuild many aspects of a project, something that takes considerable time away from developers. This means it is vital to understand whether or not a project should be open source from the very start to ensure proper practices are followed.