¿Qué es Open / Close?

En el desarrollo de software, abrir / cerrar se refiere al principio de programación de las partes del software (funciones, módulos, etc.) que se pueden ampliar sin permitir ningún tipo de cambio en el código fuente. El código en sí permite flexibilidad al tiempo que restringe la capacidad de cambiar sus partes fundamentales. Esto elimina la necesidad de cambiar el software por completo cada vez que surgen nuevos requisitos. Fue descrito por primera vez por Bertrand Meyer y forma parte del principio SOLID de programación orientada a objetos. Abrir / cerrar es especialmente importante para el diseño de proyectos de blockchain y criptografía debido a su naturaleza inmutable.
Blockchain y sus parámetros no se pueden cambiar fácilmente una vez implementados. Esto se debe a que cualquier cambio debe ser acordado por todos los nodos y participantes de la red y debe formarse un consenso, lo cual no es exactamente fácil. Por esa razón, las plataformas blockchain y las aplicaciones descentralizadas generalmente solo se pueden cambiar a través de un hard fork, lo que significa comenzar en una nueva cadena.