¿Por qué las compañías como Google y Facebook publican principalmente su código fuente abierto bajo la licencia de Apache? ¿No son BSD o MIT mejores alternativas?

La respuesta corta a su pregunta es sutilezas legales.

Si bien cualquier decisión de licencia de código abierto debe estar respaldada por una estrategia comercial razonable, si su objetivo es la adopción generalizada, una licencia permisiva suele ser la mejor opción. Si desea una licencia simple y permisiva, MIT y BSD son buenas opciones, pero si es un negocio, es posible que desee ejercer alguna precaución legal adicional.

El APLv2 tiene el mismo “espíritu” que el MIT / BSD, pero viene con un par de sutilezas legales, como una cláusula de represalia por patente y reglas estrictas sobre el uso de marcas [1]. Es por eso que ves compañías maduras como Google, Facebook, IBM, etc., prefieren esta licencia permisiva. Esta es también la licencia predeterminada para la mayoría del trabajo de código abierto en Twitter que ayudo a ejecutar.

En general, creo que hay una tendencia hacia las compañías que lanzan más código bajo licencias permisivas, es lo que veo a mi alrededor, pero solo desearía tener más datos para respaldar esa afirmación. [2]

¡Espero que ayude!

[1] – http://www.apache.org/foundation…
[2] – http://blogs.the451group.com/ope…

Nos encontramos usando la licencia Apache 2.0 tanto porque es permisiva como porque incluye un lenguaje explícito de licencia de patentes.

Como usuario de software de código abierto, nos gusta esto, ya que sabemos exactamente qué derechos se nos otorgan y, como empresa que lanza software de código abierto, debería gustarle, ya que sabe exactamente qué derechos está obteniendo. Esto es en comparación con las licencias BSD y MIT que no mencionan las patentes. Dadas las expectativas en torno al software de código abierto, se podría argumentar que pueden contener una licencia de patente implícita y, por lo tanto, se desconocería el idioma exacto de la licencia.

De lo contrario, son bastante similares cuando se trata de sus licencias de derechos de autor y requisitos de redistribución.

Pero, por supuesto, IANAL, por lo que debe consultar a su propio asesor legal antes de aceptar ciegamente lo que escribí 🙂

Estoy de acuerdo con Chris y David. Usamos Apache con bastante frecuencia por los motivos descritos anteriormente. Agregaría que a veces una consideración es si lo que estamos publicando está o no interactuando fuertemente con otros proyectos de Apache o si nuestro propio proyecto ya contiene mucho código de Apache. Otra consideración para algunos proyectos podría ser si alguna vez prevemos traspasar la administración del proyecto a otra parte. Dado que la Fundación Apache acepta proyectos y los administra realmente bien, tiene sentido poner algo debajo de Apache si es una posibilidad en el futuro.