Diferencia entre revisiones de «Ley de Linus»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
m Revertidos los cambios de 201.253.1.81 (disc.) a la última edición de 87.235.77.129
Línea 3: Línea 3:
Todo problema deberá ser transparente para alguien. Las personas que entienden y las que resuelven un problema no deben ser necesariamente las mismas, ni siquiera en la mayoría de los casos. [[Linus Torvalds]] dice que ''"alguien encuentra el problema y otro lo resuelve"''. Pero el punto está en que ambas cosas suelen suceder muy rápidamente.
Todo problema deberá ser transparente para alguien. Las personas que entienden y las que resuelven un problema no deben ser necesariamente las mismas, ni siquiera en la mayoría de los casos. [[Linus Torvalds]] dice que ''"alguien encuentra el problema y otro lo resuelve"''. Pero el punto está en que ambas cosas suelen suceder muy rápidamente.


== La Ley de Linus según Eric S. Raymond ==
POCH
[[Eric S. Raymond]] establece que si la Ley de Linus fuera falsa, entonces cualquier sistema suficientemente complejo como el [[Núcleo (informática)|kernel]] de Linux, que está siendo manipulado por tantos, debería haber colapsado bajo el peso de interacciones imprevistas y errores "muy profundos" inadvertidos. Pero si es cierta, bastaría para explicar la relativa ausencia de errores en el código de [[Linux]], y para demostrar la superioridad, en cuanto a la calidad del producto final, del modelo de desarrollo de [[software libre]], sobre el modelo tradicional usado para desarrollar [[software propietario]].<ref name="CatedralyBazarCapítulo4">[http://es.wikisource.org/wiki/La_Catedral_y_el_Bazar La Catedral y El Bazar], [http://es.wikisource.org/wiki/La_Catedral_y_el_Bazar#Libere_r.C3.A1pido_y_a_menudo Capítulo 4: "Libere rápido y a menudo.]</ref>

Aquí, hay una diferencia esencial entre los dos estilos. En el enfoque usado para desarrollar [[software propietario]], los errores y problemas de desarrollo son fenómenos complejos y profundos. Generalmente toma meses de revisión exhaustiva para que unos cuantos confíen en que los errores han sido eliminados. Por eso se dan los intervalos tan largos entre cada versión que se libera, y la inevitable desmoralización cuando estas versiones, largamente esperadas, no resultan perfectas.<ref name="CatedralyBazarCapítulo4"/>

En el enfoque usado para desarrollar [[software libre]], se asume que los errores son fenómenos relativamente evidentes, o por lo menos que pueden volverse relativamente evidentes cuando se exhiben a miles de entusiastas desarrolladores que colaboran sobre cada una de las versiones. Por lo tanto, se libera con frecuencia para poder obtener una mayor cantidad de correcciones en menos tiempo.<ref name="CatedralyBazarCapítulo4"/>

Una mayor cantidad de usuarios detecta más errores debido a que tienen diferentes maneras de evaluar el programa. Este efecto se incrementa cuando los usuarios son desarrolladores asistentes. Cada uno enfoca la tarea de la caracterización de los errores con instrumentos analíticos distintos, desde un ángulo diferente.<ref name="CatedralyBazarCapítulo4"/>

Por lo tanto, el agregar más beta-testers podría no contribuir a reducir la complejidad del "más profundo" de los errores actuales desde el punto de vista del desarrollador, sino que aumenta la probabilidad de que alguno de ellos vea claramente el error y pueda solucionarlo.<ref name="CatedralyBazarCapítulo4"/>

=== Críticas ===
Algunos estudios han contestado a la Ley de Linus. Los expertos en desarrollo de software Robert Glass, Michael Howard y David LeBlanc han establecido que la aplicación de la Ley de Linus puede llevar a problemas en el mantenimiento y la seguridad del software,<ref>Glass, Robert L. ''Facts and Fallacies of Software Engineering''. ISBN 0-321-11742-5</ref><ref>Howard, Michael and LeBlanc, David. ''Writing Secure Code, Second Edition''. ISBN 0-7356-1722-8</ref> citando el relativamente bajo número de contribuciones hecha a los proyectos open-source por gente "externa" -entendiendo por externa a los contribuyentes que no pertenecen al pequeño núcleo de desarrolladores que trabajan en el proyecto-.
Esto es el resultado directo de la atención necesaria que los desarrolladores deben tener al construir un entorno y comprender una porción de código antes de poder contribuir efectivamente en él. Algunos proyectos tienden a desconfiar de las contribuciones externas, temiendo que traten de crear errores de código difíciles de encontrar o huecos de seguridad; y por lo tanto esos proyectos crean un inconveniente proceso de revisión que puede desalentar el desarrollo externo.


== La Ley de Linus según Linus Torvalds ==
== La Ley de Linus según Linus Torvalds ==

Revisión del 15:54 22 jun 2010

La Ley de Linus establece que "dado un número suficientemente elevado de ojos, todos los errores se convierten en obvios". A esta frase de Linus Torvalds, Eric S. Raymond lo bautizó como la Ley de Linus.

Todo problema deberá ser transparente para alguien. Las personas que entienden y las que resuelven un problema no deben ser necesariamente las mismas, ni siquiera en la mayoría de los casos. Linus Torvalds dice que "alguien encuentra el problema y otro lo resuelve". Pero el punto está en que ambas cosas suelen suceder muy rápidamente.

La Ley de Linus según Eric S. Raymond

Eric S. Raymond establece que si la Ley de Linus fuera falsa, entonces cualquier sistema suficientemente complejo como el kernel de Linux, que está siendo manipulado por tantos, debería haber colapsado bajo el peso de interacciones imprevistas y errores "muy profundos" inadvertidos. Pero si es cierta, bastaría para explicar la relativa ausencia de errores en el código de Linux, y para demostrar la superioridad, en cuanto a la calidad del producto final, del modelo de desarrollo de software libre, sobre el modelo tradicional usado para desarrollar software propietario.[1]

Aquí, hay una diferencia esencial entre los dos estilos. En el enfoque usado para desarrollar software propietario, los errores y problemas de desarrollo son fenómenos complejos y profundos. Generalmente toma meses de revisión exhaustiva para que unos cuantos confíen en que los errores han sido eliminados. Por eso se dan los intervalos tan largos entre cada versión que se libera, y la inevitable desmoralización cuando estas versiones, largamente esperadas, no resultan perfectas.[1]

En el enfoque usado para desarrollar software libre, se asume que los errores son fenómenos relativamente evidentes, o por lo menos que pueden volverse relativamente evidentes cuando se exhiben a miles de entusiastas desarrolladores que colaboran sobre cada una de las versiones. Por lo tanto, se libera con frecuencia para poder obtener una mayor cantidad de correcciones en menos tiempo.[1]

Una mayor cantidad de usuarios detecta más errores debido a que tienen diferentes maneras de evaluar el programa. Este efecto se incrementa cuando los usuarios son desarrolladores asistentes. Cada uno enfoca la tarea de la caracterización de los errores con instrumentos analíticos distintos, desde un ángulo diferente.[1]

Por lo tanto, el agregar más beta-testers podría no contribuir a reducir la complejidad del "más profundo" de los errores actuales desde el punto de vista del desarrollador, sino que aumenta la probabilidad de que alguno de ellos vea claramente el error y pueda solucionarlo.[1]

Críticas

Algunos estudios han contestado a la Ley de Linus. Los expertos en desarrollo de software Robert Glass, Michael Howard y David LeBlanc han establecido que la aplicación de la Ley de Linus puede llevar a problemas en el mantenimiento y la seguridad del software,[2][3]​ citando el relativamente bajo número de contribuciones hecha a los proyectos open-source por gente "externa" -entendiendo por externa a los contribuyentes que no pertenecen al pequeño núcleo de desarrolladores que trabajan en el proyecto-. Esto es el resultado directo de la atención necesaria que los desarrolladores deben tener al construir un entorno y comprender una porción de código antes de poder contribuir efectivamente en él. Algunos proyectos tienden a desconfiar de las contribuciones externas, temiendo que traten de crear errores de código difíciles de encontrar o huecos de seguridad; y por lo tanto esos proyectos crean un inconveniente proceso de revisión que puede desalentar el desarrollo externo.

La Ley de Linus según Linus Torvalds

Linus Torvalds también describe una noción de la Ley de Linus en el prólogo del libro La Ética del Hacker: '"La Ley de Linus dice que todas nuestras motivaciones caen en tres categorías básicas. Más importante, el progreso es transitar esas cosas como 'fases' en un proceso de evolución, una cuestión de pasar de una categoría a la siguiente. Las categorías, en orden, son 'supervivencia', 'vida social' y 'entretenimiento'."'[4]​ Esta idea es similar a la pirámide de necesidades de Maslow.

Véase también

Referencias

  1. a b c d e La Catedral y El Bazar, Capítulo 4: "Libere rápido y a menudo.
  2. Glass, Robert L. Facts and Fallacies of Software Engineering. ISBN 0-321-11742-5
  3. Howard, Michael and LeBlanc, David. Writing Secure Code, Second Edition. ISBN 0-7356-1722-8
  4. Pekka Himanen; Linus Torvalds, Manuel Castells (2001-01-30). The Hacker Ethic. Random House. ISBN 0-375-50566-0

Enlaces externos