In real project, there are several consideration points to use a opensource.

- What's the license type, Apache,GPL,BSD.

- consider the size of developer team. If only one person, the software is small, and it has risk to disconnect.

 

For example, we want zip functionality in a real project which is written by C++ and C#.

Because of the carelessness , these mistake is made

1. Once Somebody uses SharpZipLib, but realized it is GPL license, so replace it.

2. Somebody selects DotNetZip as the replacement, but two issues are found later. 

 - performance issue. DotNetZip is slow

 - stability issue. temp file (*.PendingOverwrite) is created.

3. use zlib C library. it is popular and tested. imported two functions to C#. the above issues could be resolved.