¿Qué consideramos un bug?

Hay a veces algo de controversia en que se debe considerar un bug (error de programación) y que se debe considerar una nueva funcionalidad, pongamos un ejemplo clásico.

Supongamos que queremos desarrollar una calculadora que pueda realizar divisiones, pues como todos sabemos la división por 0 no se puede realizar. Supongamos que nuestro programa tiene una función que es la que permite realizar la división y que esta función no filtra que el dato que recibe como denominador es un 0, ¿sería esto un bug?.

Supongamos ahora que la interfaz de usuario que recoge los datos es la que nos permite recoger un valor 0 como denominador, ¿sería entonces un bug?.

Pues bueno, me he enterado que un cliente de Openbravo tuvo un problema de este estilo con su soporte profesional, y no me extraña porque en mi antigua empresa tuvimos innumerables problemas con el soporte para determinar que era un bug y que no lo era, porque inmediatamente te decían que debías pagar soporte de segundo nivel ya que el soporte profesional no cubre todo lo que no sea un bug.

El problema era el siguiente, hay una funcionalidad en Openbravo que te permite configurar una cuenta contable como resultado de aplicar una operación sobre otras cuentas, por ejemplo la suma de la cuenta A + la cuenta B. A esto Openbravo lo llama operandos. El problema es que al realizar ciertos cálculos como el balance de situación se debe recorrer el árbol y Openbravo no comprueba que hayas puesto como operando de una cuenta un nodo que sea padre de dicha cuenta, con lo que se produce un bucle infinito y la consecuente excepción de que la pila de la máquina virtual se queda sin memoria.

Lo curioso de todo el asunto es que Openbravo insistió a este cliente suyo en que esto no era un bug sinó una mala configuración y les reiteró que esto debería entrar como soporte de segundo nivel pagándolo adicionalmente. Finalmente como un favor, así lo hicieron notar, les dieron la solución (supongo que conocían este bug clamoroso a mi entender más que de sobra) porque les urgía.

Nota, esto son cosas que están pasando hoy. He sabido de esta anécdota muy recientemente.

Cheli