I've talked about development projects and how we create customized, proprietary software for our clients. We do that by leveraging the open source software community which lets us build great software faster and with widely-used libraries that are designed to be reused and, as such, are tested quite thoroughly. Open source benefits our clients in three very important ways: better quality, shorter timelines, and lower costs.
Open source software is an extensive resource that should be leveraged if at all possible for application projects. There are, however, a few things that should be kept in mind by developers when considering whether to use a specific library. The most important being the license and ensuring that it allows code to be reused in a commercial project. Traklight, a Phoenix-area startup, has some great tips on avoiding an intellectual property nightmare. The short version is that you can generally get away with using code published under the MIT license, but here's a complete comparison of open source licenses and how they can be used.
If a developer reuses code (and any developer worth their salt will), you should be aware of it and make sure that the licenses aren't going to cause you any grief. As the business owner (and the owner of the software) you are responsible for any intellectual property (IP) infringement, regardless of who actually made the decision. Knowing what was used and what the licenses are is important. When used correctly, open source software can achieve better results, as well as save you time and money, on a project.
At Sol Minion Development, we reuse open source libraries, but have also created some libraries in our efforts to give back to the community. In their infancy right now, they will continue to grow for improved use in many projects. As of the writing of this blog, these three open source projects are available:
In addition to developing open source libraries and providing them free to any developer, we are creating a developer community focusing on best practices for secure coding. Together these efforts add up to higher quality, time-tested code that can be used to deliver projects at lower costs.