language-agnostic vendor

language agnostic - ¿Qué es "vender"?



language-agnostic vendor (2)

¿Qué es exactamente la venta? (¿Cómo lo definirías?)

¿Significa lo mismo en diferentes lenguajes de programación? Conceptualmente hablando, no mirando la implementación exacta.


Basado en esta respuesta

Definido here para Go como:

La venta es el acto de hacer su propia copia de los paquetes de terceros que utiliza su proyecto. Esas copias se colocan tradicionalmente dentro de cada proyecto y luego se guardan en el repositorio del proyecto.

El contexto de esta respuesta está en el lenguaje Go, pero el concepto sigue siendo válido.


Si su aplicación depende de cierto código de terceros para que esté disponible, puede declarar una dependencia y dejar que su sistema de compilación le instale la dependencia.

Sin embargo, si la fuente del código de terceros no es muy estable, podría "vender" ese código. Usted toma el código de terceros y lo agrega a su aplicación de manera más o menos aislada. Si toma este aislamiento seriamente, debe "liberar" este código internamente a su organización / entorno de trabajo.

Otra razón para la venta es si desea utilizar cierto código de terceros pero desea cambiarlo un poco (en otras palabras, un fork). Puede copiar el código, cambiarlo, lanzarlo internamente y luego dejar que su sistema de compilación instale este fragmento de código.