Si tengo una empresa grande que vende un producto , es posible que no quiera revelar su fuente porque la gente puede copiarlo y venderlo, lo que disminuye mis ganancias.
Pero si mi gran empresa proporciona un servicio por medio de una aplicación web, es muy probable que pueda publicar el código fuente, porque el valor real de mi servicio se encuentra en otra parte (en una gran e infraestructura compleja, acceso a bases de datos, ...).
Lo que es más, realmente podría ganarme la confianza de clientes adicionales mostrándoles que mi código puede ser auditado por muchas personas, incluidos los propios clientes. Por ejemplo, esto puede mostrar a los clientes que mi código no almacena sus datos en texto sin formato.
Dicho esto, es muy probable que cualquier aplicación web contenga vulnerabilidades que pueda encontrar un atacante, con o sin acceso al código fuente. Si no publicas el código (a excepción de las fallas de errores), los buenos no pueden revelarte las vulnerabilidades. Si lo haces, ellos pueden. Por supuesto, los malos existen en ambos casos.
Finalmente, date cuenta de que el mundo de los hackers no está dividido en tipos puramente buenos y simplemente malos. Algunas personas quieren que las empresas, y todo el mundo, sepan que son buenos para encontrar vulnerabilidades. Tal vez obtener su nombre en un Salón de la Fama (por eso las recompensas de errores son buenas) o en la sección de créditos de un repositorio de Github es suficiente para satisfacer esta "necesidad". Si no publicas tu código, la única forma en que estas personas tienen que obtener lo que quieren es atacar tu aplicación o vender un exploit que funcione en su contra.