Я отвечу с точки зрения клиента.
Когда мне нужно использовать библиотеку и интегрировать ее в свой код, я ожидаю увидеть исходный код.
Это не потому, что я хочу вырвать это у автора ... Это не потому, что я беззаконник и хакер независимо ...
Это просто, потому что:
- код - это документация, и наблюдение за реализацией метода поможет мне компенсировать его отсутствие или, возможно, лучше понять, что это значит (*)
- для отладки возможность перейти в библиотечный код неоценима
- для разработки, намного проще, если я смогу скомпилировать код самостоятельно, с различными вариантами (с инструментарием и без него, иначе gcov, с и без символов отладки и т. Д.)
Я не прошу, чтобы код был бесплатным, я в порядке с лицензионным кодом, и я буду неукоснительно следовать условиям лицензии, я просто прошу, чтобы код был доступен.
Честно говоря, если у меня есть выбор между двумя библиотеками, и одна не раскрывает свой код, я буду склоняться к другой, если разница в производительности / корректности действительно не важна.
(*) В C ++ в Boost есть библиотеки, которые я считаю принципиально неработоспособными в этом отношении. Код изобилует обходными путями компилятора, что делает его очень трудным для чтения. Тем не менее, я использую их, потому что они просто потрясающие.