Autoflow era un programa de aplicación de Applied Data Research (ADR) para ordenadores centrales que leía programas en lenguaje ensamblador y generaba un diagrama de flujo de dicho código. Es históricamente notable por ser una de las primeras aplicaciones de software que se ofrecieron a la venta independientemente del sistema en el que se ejecutaban, así como la primera en recibir una patente de software en Estados Unidos [ 1 ] y en ser licenciada a clientes en lugar de venderse [ 2 ] .
Autoflow se lanzó en 1964 para la RCA 501. Inicialmente, la intención era que RCA lo comprara y lo distribuyera a sus clientes, pero RCA consideró que su precio de 25 000 dólares era demasiado elevado y declinó la compra. Entonces, ADR se dirigió directamente a los propietarios de la 501, convirtiéndose así en lo que generalmente se considera el primer proveedor comercial de software. El mercado de RCA era pequeño, por lo que ADR lo adaptó a la IBM 1401 y comenzó a venderlo en ese mercado mucho más grande en 1965.
Estas primeras versiones requerían que el usuario indicara el símbolo de cada entrada del diagrama mediante un código numérico introducido como comentario en el código. Esto era adecuado para los programas nuevos, pero los usuarios no tenían interés en modificar sus programas existentes para utilizarlo. ADR modificó Autoflow para decodificar el tipo directamente a partir de los códigos de instrucción, lo que le permitía generar un diagrama de flujo leyendo el programa original sin modificar. Esta versión también se adaptó al exitoso System/360 , donde tuvo su mayor uso.
IBM lanzó su propio programa, Flowcharter, pero era un sistema mucho más simple donde todo el diagrama debía especificarse manualmente. A pesar de las claras ventajas de Autoflow, los clientes temían que IBM añadiera funciones similares a Autoflow a su programa y lo distribuyera gratuitamente, como otros programas de la colección de IBM. Para evitarlo, ADR solicitó una patente para el concepto, que se le concedió en 1968. En 1970, la empresa contaba con varios miles de clientes y, a finales de la década, se encontraba entre las cinco principales empresas de software del mundo.
Historia
Applied Data Research (ADR) se fundó en 1959 en Princeton, Nueva Jersey , por siete programadores de Sperry Rand . Su concepto inicial era vender servicios de consultoría de programación. En 1964, RCA se acercó a la empresa con la idea de una aplicación de diagramas de flujo para la computadora RCA 501. Los diagramas de flujo se usaban ampliamente durante la fase de diseño de la programación en ese momento, pero, como sucede hoy en día, el producto final rara vez seguía el diseño original. Al generar un diagrama de flujo a partir del código existente, los clientes podían documentar sus programas. Cuando ADR elaboró una propuesta con un precio de 25 000 dólares, RCA mostró poco interés, al igual que otros proveedores de computadoras a los que se dirigieron. [ 3 ]
La empresa tenía acceso gratuito al uso nocturno de un 501, por lo que Martin Goetz decidió asignar a Mike Guzik la redacción de una versión inicial, que se completó en 4 a 6 meses. Una vez más, RCA rechazó adoptarla. [ 3 ] En ese momento, las empresas de informática generalmente regalaban el software que habían desarrollado, lo que hacía que sus máquinas fueran más atractivas, una política que continúa hoy en día con el software preinstalado . Después de gastar entre 5 y 10 000 dólares en desarrollo ( 103 809 dólares en 2025 ) , Goetz decidió comercializarlo directamente a la base de clientes de RCA, de aproximadamente cien usuarios del 501, a 2495 dólares. Realizaron dos ventas. [ 4 ]
Goetz decidió entonces vender al mercado mucho más grande del IBM 1401 , que contaba con miles de unidades. El programa se modificó para que leyera los programas Autocoder de IBM en lugar del lenguaje ensamblador 501 , en un esfuerzo de 10 meses. Aunque hubo un interés considerable, la adopción fue escasa. El principal problema era que Autoflow requería marcar el programa original con comentarios que contenían códigos numéricos que indicaban el tipo de instrucción, procesamiento, bifurcación, etc. El mercado del 1401 ya contaba con una gran cantidad de software escrito para él, y los clientes potenciales mostraron mayor interés en usar Autoflow para documentar estos programas, pero poco interés en modificarlos para que esto fuera posible. Una vez más, el programa se modificó para que pudiera determinar el tipo basándose directamente en las instrucciones de Autocoder. [ 2 ]
Para entonces, IBM había lanzado su propio programa de diagramas de flujo, Flowcharter. A diferencia de Autoflow, este programa requería que el usuario describiera todo el diagrama de flujo utilizando un archivo de entrada aparte, no leía el código existente y, por lo tanto, su uso era mucho más laborioso. Pero IBM también tenía la política de regalar el software que desarrollaba, y los clientes potenciales creían que IBM añadiría funciones similares a las de Autoflow en algún momento y que no tenía sentido licenciar Autoflow. En ese momento, Goetz decidió evitar esta posibilidad antes de que sucediera, y en 1965 solicitó una patente para el concepto de leer código existente para producir un diagrama de flujo. La patente se concedió en 1968, siendo la primera patente de software emitida en los Estados Unidos. [ 2 ] [ 1 ] [ a ]
A Goetz también le preocupaba que los clientes simplemente copiaran el programa y lo compartieran con otros clientes potenciales, siendo esta una de las primeras menciones explícitas del concepto ahora conocido como piratería de software . Consultó con Mort Jacobs, el abogado que preparó la solicitud de patente, y decidieron abordar el problema ofreciendo el programa bajo un acuerdo de licencia, en lugar de venderlo directamente. El acuerdo firmado por los clientes se redactó, por lo tanto, en el lenguaje de un contrato de arrendamiento de equipos, lo que dejaba a ADR como propietario legal en todo momento y establecía explícitamente que la duplicación no autorizada incumpliría el acuerdo. Si bien esto no dificultaba la copia, le brindaba a ADR recursos legales en caso de que ocurriera. [ 2 ]
El gran éxito del System/360 llevó a ADR a migrar a este sistema, además de ofrecer soporte para tres lenguajes: ensamblador 360, Fortran y COBOL . Para 1970, contaban con más de 2000 usuarios. A principios de la década de 1970, la compañía había abierto 30 oficinas de ventas y soporte en Estados Unidos y Europa. [ 7 ] A pesar de esto, seguían encontrando un número significativo de clientes potenciales que utilizaban el programa de IBM por ser gratuito. En 1967, ADR presentó una queja ante el Departamento de Justicia de Estados Unidos (DOJ), y tras numerosas reuniones, el DOJ abrió una investigación y descubrió que muchas otras compañías se enfrentaban al mismo problema al intentar competir con productos gratuitos. En abril de 1969, ADR demandó a IBM por monopolizar el mercado, y en junio, IBM anunció que dejaría de ofrecer software empaquetado por completo a partir del 1 de enero de 1970. La demanda de ADR continuó y finalmente se resolvió con un pago de 1,4 millones de dólares por parte de IBM. [ 8 ]
Ejemplo de salida
La publicidad de ADR para Autoflow utilizó este ejemplo: [ 9 ]
| | | * 07 * * *COMPARAR* BAJO * 3 A * EQ -------* ACTIVIDAD *-- | * CÓDIGO * | * * | * * | * | ALTO | | | | | | | | * 08 | * * | * * | SÍ * ES * |------* ACTIVIDAD * | * CÓDIGO 6 * | * * | * * | * | NO | | | | | | | 09 | --------------------- | | CAMBIO DE ACTIVIDAD | | | CÓDIGO PARA 8 | | --------------------- V | ---------(*)---| T16 | 10 --------------------- | CÓDIGO DE ACTIVIDAD DE MOVIMIENTO | | A O/P | --------------------- | | |
Las líneas representan el flujo del programa de un estado a otro. En la parte superior hay dos comparaciones en forma de diamante, numeradas como paso 7 y 8. La primera comparación tiene tres posibles ramas: hacia la izquierda si el valor del "código de actividad" es menor que tres (BAJO), igual a 3 (IGUAL, en otra página no mostrada aquí) o mayor que 3 (ALTO). Si el código fue mayor que 3, realiza una segunda prueba para ver si es igual a 6. Si no lo es, cambia el código a 8 en el paso 9; si fue menor que 3 o igual a 6, omite esa instrucción. [ 10 ]
Notas
Referencias
Citas
- 1 2 Servicios 1970 , pág. 10.
- 1 2 3 4 Johnson 1998 , pág. 38.
- 1 2 Goetz 1998 , pág. 1.
- ↑ Johnson 1998 , pág. 37.
- ↑ Campbell-Kelly 2005 , pág. 213.
- ↑ Bellido, José (2017). Casos emblemáticos en derecho de propiedad intelectual . Hart Publishing.
- ↑ Johnson 1998 , pág. 39.
- ↑ Cray 1970 .
- ↑ Folleto 1972 .
- ↑ Harley R. Myler (1998). "2.3 Diagramas de flujo" . Fundamentos de programación de ingeniería con C y Fortran . Cambridge University Press. págs. 32–36 . ISBN 978-0-521-62950-8.
Bibliografía
- Johnson, Luanne (enero de 1998). "Una perspectiva desde la década de 1960: cómo comenzó la industria del software". IEEE Annals of the History of Computing . 20 (1): 36– 42. Bibcode : 1998IAHC...20a..36J . doi : 10.1109/85.646207 .
- Goetz, Martin (1998). Cómo ADR entró en el negocio de los productos de software y se encontró compitiendo contra IBM (PDF) (Informe técnico).
- Cray, Douglas (21 de agosto de 1970). "IBM resuelve la demanda de ADR Trust" . The New York Times .
- "Primera patente de software EDP concedida a una empresa de Jersey" . Management Services: Revista de planificación, sistemas y controles . Vol. 7, n.º 5. 1970.
- Campbell-Kelly, Martin (2005). "No todo es malo: una perspectiva histórica sobre las patentes de software" (PDF) . Michigan Telecommunications Technology Letters Reviews . 11 : 191–248 .
- AUTOFLOW (Informe técnico). 1972.
- Software para ordenadores centrales
- Software de informes