In this web application development epoch, it is almost impossible to effectively develop a web application without using open source library, software or tool. Open source concept is a great thing that accelerates not only the commercial web application/system development but provides opportunity to the developers to think about the hard problem rather than to spend time on a problem which was already solved by someone. It enforces and implements reusability by design. Since the source of the solution are open, the quality of the open sources improves rapidly since multiple developers across the world wide looking into the same source. I do not think I need to sell to any one the advantages of using the open source tools/software in the commercial application development.
The gotchas in the open source is that there are two set of open source licensing models/types. One is enterprise/corporation friendly licensing type and other is unfriendly enterprise licensing type. Unless you are developing a system which is also going to be open source, unfriendly enterprise licensing type is unsuitable for a commercial enterprise application development. The enterprise architects or whom ever does the governance to the enterprise on the open source should be aware of the friendly and unfriendly open source licensing type.
The other gotchas in the open source software is, an open source software/tools may be under the friendly open source licensing type and over the time it could change to the unfriendly open source licensing type.
Unless the governance team monitors the approved open source software licenses over the time, there could be litigation issues.
Way to avoid the traps of open source in a corporate environment:
- Ensure the corporate uses open source software,tools which uses friendly open source licensing type.
- Ensure there is an open source licensing monitoring program to ensure the open source being used are continue to stay in the friendly open source licensing mode