cookie-law-info domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/enriqueortegaburgos.com/videojuegos.enriqueortegaburgos.com/wp-includes/functions.php on line 6170disable-gutenberg domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/enriqueortegaburgos.com/videojuegos.enriqueortegaburgos.com/wp-includes/functions.php on line 6170ga-google-analytics domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/enriqueortegaburgos.com/videojuegos.enriqueortegaburgos.com/wp-includes/functions.php on line 6170rank-math domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/enriqueortegaburgos.com/videojuegos.enriqueortegaburgos.com/wp-includes/functions.php on line 6170the-events-calendar domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/enriqueortegaburgos.com/videojuegos.enriqueortegaburgos.com/wp-includes/functions.php on line 6170jetpack domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/enriqueortegaburgos.com/videojuegos.enriqueortegaburgos.com/wp-includes/functions.php on line 6170aawp domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/enriqueortegaburgos.com/videojuegos.enriqueortegaburgos.com/wp-includes/functions.php on line 6170backupwordpress domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/enriqueortegaburgos.com/videojuegos.enriqueortegaburgos.com/wp-includes/functions.php on line 6170gamezone se activó demasiado pronto. Esto suele ser un indicador de que algún código del plugin o tema se ejecuta demasiado pronto. Las traducciones deberían cargarse en la acción init o más tarde. Por favor, ve depuración en WordPress para más información. (Este mensaje fue añadido en la versión 6.7.0). in /var/www/vhosts/enriqueortegaburgos.com/videojuegos.enriqueortegaburgos.com/wp-includes/functions.php on line 6170
Como cualquier persona más o menos vinculada al mundo del software sabe, alrededor de éste existen siempre numerosas creencias e incógnitas acerca de las medidas a llevar a cabo para protegerlo. Se trata de una materia compleja que une dos sectores completamente dispares, el de la informática y el jurídico, ambos alejados entre sí y poco comprensibles para quien no sea especialmente experto en alguno de ellos.
Por supuesto, esta situación ocurre en campos de toda índole; sin embargo, dado el mundo absolutamente tecnológico en el que vivimos, el software se erige en la actualidad como uno de los activos intangibles más importantes de nuestra época.
Lo más normal, para cualquier usuario habitual de este sector (ya hablemos de un empresario, un programador, un investigador, o incluso, para el consumidor final), es que su mente le lleve directamente a la figura de “la patente”, pues es el método de protección que más interiorizado está en el conocimiento general de la población.
Sin embargo, en materia de software, esto es algo más complejo y, lo que debemos saber, en primer lugar, es que su protección por medio de una patente se plantea, inicialmente, complicada; siendo que el foco lo debemos poner, por el contrario, en los derechos de autor.
Esto no quiere decir, por supuesto, que no existan otras figuras jurídicas importantes a la hora de tratar de proteger nuestro software y, sobre todo el producto final en que éste se traduce (marcas, diseños industriales, secretos empresariales, incluso, en determinados casos, patentes) pero sí es el punto primordial del que se debe partir: el software es objeto de protección a través de la Propiedad intelectual.
Así, la mayoría de legislaciones europeas regulan el software como si de una obra más se tratara, como una suerte de obra literaria, cuyo contenido, cuya expresión, debe ser protegida bajo el concepto de “creación original intelectual”; de tal manera que la primera infracción que se tendría que venir a la mente cuando se trata de software sería el plagio.
En la legislación española, como ya adelantábamos, el software está regulado -principalmente- en la Ley de Propiedad intelectual bajo el concepto concreto de “programas de ordenador” (artículo 95 y siguientes), siendo que el objeto principal de protección en éstos sería el código fuente y el código objeto.
Se incluyen, en este concepto, no sólo los programas en sí mismos (instalables y ejecutables en un PC), sino también todo aquello que bajo el término anglosajón (“software”) concebimos con mayor amplitud: apps móviles, páginas y plataformas web, clouds, el software de algunos dispositivos electrónicos, etc.
En definitiva, hablamos del código de cualquier sistema como forma de expresión. Eso sí, al tratarse de derechos de autor debe cumplir con ciertos requisitos como, por ejemplo, el de la originalidad, entendida como “creación intelectual propia de su autor” (en este caso, el programador).
Por otro lado, además, se debe tener en cuenta que, dada la complejidad intrínseca que engloba al software (eventual descarga, instalación, condiciones de uso, etc.), la ley engloba dentro de su ámbito de protección no sólo el código, sino también toda la documentación preparatoria que se haya preparado a tal efecto como, por ejemplo, la documentación técnica y los posibles manuales de uso que pudieran existir en torno al mismo.
De esta forma, la documentación vinculada directamente con el software estaría asimismo incluida dentro de la protección otorgada a los “programas de ordenador”, como si se tratara de un elemento más.

Por su parte, no obstante, también se deben tener en cuenta aquellos otros elementos que, si bien pudieran formar parte del producto final en que consiste el software, desde el punto de vista legal se regulan y tratan de manera “independiente” o, en su caso, ni siquiera se encuentran protegidos por los derechos de autor.
Este sería, desde luego, el caso de los virus (malware) que, como es lógico, no se encuentran protegidos por la legislación. Pero, en este ámbito de la Propiedad intelectual, tampoco lo estarán “las ideas y principios en los que se basan cualquiera de los elementos de un programa de ordenador”.
Dentro de todos los aspectos que podrían llamar nuestra atención con esta alusión, lo más inminente parece ser aclarar lo siguiente: (i) los algoritmos no son objeto de protección por sí mismos y (ii) la interfaz quedaría protegida, en su caso, al margen del propio código en sí.
Efectivamente, en Propiedad intelectual, las ideas no son protegibles, sino que lo que se protege es la “concreta expresión” de esas ideas (el código, tal y como está redactado), por lo que, al igual que ocurre en otras materias, los algoritmos, entendidos como una suerte de método o fórmula matemática, no serían protegibles per se; sino que quedarían protegidos dentro del software como “un todo”.
Por su parte, tampoco la interfaz se entenderá incluida dentro de la protección que la ley otorga a los programas de ordenador, sino que ésta, en su caso, podrá quedar protegida como una obra independiente (por ejemplo, una obra plástica o una ilustración) siempre y cuando cumpliera con el requisito de originalidad exigido para los derechos de autor; o incluso a través de otras figuras jurídicas diferentes como podrían ser los Diseños Industriales (englobados en la legislación de Propiedad industrial).
Desde luego, de lo expuesto, no parece fácil determinar de forma exacta cuáles son los parámetros y límites legales del concepto de software, existiendo multitud de elementos a tener en cuenta para blindar adecuadamente ese producto final que se quiere proteger. Por ello, resulta esencial profundizar en la materia y poner el foco en aquellos extremos más relevantes a la hora de intentar defender esta propiedad.
Aunque en la actualidad la conciencia social acerca del software y su importancia ha crecido notablemente, todavía hay un gran desconocimiento acerca de cómo proteger este activo de cara a posibles vulneraciones.
Partimos del hecho de que el software, al ser objeto de protección a través de la Propiedad intelectual, los derechos sobre el mismo nacen por su mera creación (por el simple desarrollo de su código), sin que sea necesario registrarlo para que tales derechos existan y desplieguen sus efectos (artículo 1 de la ley).
Pensemos en un libro, inédito, en un cajón, en una pintura: su autor (escritor o pintor) tendrá los derechos con independencia de que esas obras se hayan divulgado o estén registradas. Con el software pasa lo mismo y, dadas las características que la ley impone en esta materia, los contratos se plantean como un punto de partida esencial para su adecuada protección.

En gran cantidad de ocasiones, nos encontramos con contratos de software que establecen frases como “todos los derechos de Propiedad intelectual e industrial corresponden a X”. En este sector, una afirmación de este tipo no resulta eficaz y muy probablemente dará lugar a problemas en el caso de que surja alguna discrepancia entre las partes.
En Propiedad intelectual, además de que la ley exige que los acuerdos sobre una obra estén por escrito, también se establecen una serie de particularidades al respecto de las transmisiones de derechos que, en la práctica, se traducen en la necesidad de ser lo más minuciosos posible al regular la relación entre las partes (es decir, a la hora de preparar los contratos).
Así, lo que particularmente señala la norma, entre otras cuestiones, es que la cesión de que se trate quedará limitada “a las modalidades de explotación expresamente previstas y al tiempo y ámbito territorial que se determine”; de tal forma que, en defecto de pacto expreso, la cesión se entenderá realizada únicamente para aquellos usos “que se deduzca(n) necesariamente del propio contrato y sea(n) indispensable(s) para cumplir la finalidad del mismo”, “a cinco años” y “al país en el que se realice la cesión”.
Es decir, la inexistencia de contrato alguno que regule la relación entre las partes o la presencia de deficiencias en el mismo sin que queden claros, al menos, los fines y el alcance pretendidos, puede ser interpretado de tal forma que provoque una pérdida de derechos para alguna de las partes; hasta el punto de que, incluso, un “comprador” podría llegar a perder su condición de titular-propietario.
Todo ello, unido al complejo concepto que desde el punto de vista legal se maneja en materia de software, lleva a la necesidad indispensable de contar con los contratos adecuados, que regulen de forma exhaustiva los intereses de las partes; incluyendo, en su caso, las disposiciones correspondientes al respecto de la cesión de la interfaz, la entrega del código fuente, el mantenimiento y actualizaciones, etc.

Además de la importancia contractual que planteábamos (siendo siempre conveniente regular la relación concreta que queremos establecer de una manera detallada para no perder derechos), existen también otras formas de intentar garantizar la titularidad de los derechos que existen sobre un software: se trata de la inscripción o el registro.
Como se adelantaba en líneas anteriores, en materia de Propiedad intelectual no es necesario registrar una obra para que ésta tenga derechos. Sin embargo, las diferentes alternativas de inscripción o registro son extremadamente útiles para, en caso de conflicto futuro, tener una prueba que demuestre quién es el propietario de la obra y cuál es el contenido de ésta.
Existen distintos métodos de protección en este campo, dependiendo la correcta elección de uno u otro de las circunstancias concretas que engloben al software que particularmente se quiere proteger. Los más comunes son los siguientes:
Este punto puede tener especial relevancia, por ejemplo, a la hora de negociar la adquisición de un software, pues el Registro otorga mayor seguridad al adquirente, quien tiene asegurado (dentro de la medida de lo posible) la legalidad del acto que está llevando a cabo. Sobre todo en relaciones con partners extranjeros, éste es el único método admitido para que acepten “comprar” los derechos de un software.

Al tratarse de un acto notarial, por supuesto, ostenta la fehaciencia correspondiente, entendiéndose que, si el sobre llega efectivamente cerrado, su contenido no ha sido manipulado y su documentación es exactamente la misma que aquélla que se presentó en el Depósito (al fin, una prueba de la existencia y contenido de la obra, la fecha y la persona que la depositó).
Sin embargo, también ha de tenerse en cuenta que es un trámite unilateral, absolutamente flexible, siendo exclusiva responsabilidad del interviniente elegir la documentación que se presentará ante el Notario, quien no revisa ni analiza la misma (al contrario que ocurre con el trámite del Registro).
Esta característica, si bien puede parecer favorable para quien quiere proteger su obra, en realidad contiene un riesgo de suma importancia y es que -recordemos- en materia de Propiedad intelectual, si los contratos no están bien hechos es posible que la titularidad que se pretende demostrar con el Depósito no exista.
La simplicidad que otorga este método resulta innegable, pero se debe tener cautela a la hora de elegir la plataforma, pues debemos asegurarnos de que cumple con todas las medidas de confidencialidad y legalidad necesarias para cumplir con nuestros objetivos: la protección eficaz de la obra.
Además, este método (al margen de su carácter privado) comparte con el Depósito la responsabilidad del interviniente al respecto de la documentación que se quiere proteger. Es decir, en el caso de no llevarse a cabo de una forma adecuada, participará también de los riesgos expuestos en líneas anteriores.
En definitiva, cada una de las opciones planteadas tiene sus pros y contras, resultando absolutamente necesario analizar la situación real en que se encuentra cada supuesto de hecho para decantarse por una u otra opción. En cualquiera de los diferentes casos, lo que hay que tener claro es que, si la titularidad no es originaria (autoría), los contratos serán vitales.
Por último, además de la adecuada protección que se debe establecer en torno al software, no está de más tener en consideración otros aspectos que serán importantes a la hora de llevar a cabo su explotación.
A este respecto, y completamente al margen de lo que sería el software en sí mismo (como código), sino hablando del producto final objeto de comercialización, resultará también esencial el registro de una marca a través de la cual nombrarlo y distinguirlo en el mercado de otros tantos que pudieran existir.
Con ello, en conjunto con la calidad del producto (entre otros tantos extremos), es como tratamos de conseguir el reconocimiento debido por parte de los clientes-usuarios, que es lo que realmente posicionará al titular de derechos en un lugar significativo en el mercado.
SI QUIERES SABER MÁS SOBRE EL SOFTWARE, TE RECOMENDAMOS:
PROTECCIÓN LEGAL DEL SOFTWARE 1
PROTECCIÓN LEGAL DEL SOFTWARE 2
Algunos enlaces de interés:
Página web del Registro Territorial de la Propiedad intelectual de Madrid
]

En la actualidad, la protección del software es una cuestión que no está exenta de debate y que ha suscitado una gran controversia como consecuencia de la falta de una legislación unitaria. Ahora bien, llegados a este punto la cuestión ¿se puede patentar un programa de software en Europa?.

Pues para responder a esta cuestión debemos tener en cuenta que pese a que el Convenio Europeo de Patentes excluye al software como invención patentable, la misma norma ofrece la posibilidad de proteger estas creaciones, siempre que el programa sea usado para resolver un problema técnico.
La problemática surge como consecuencia de lo establecido en el artículo 52 del Convenio sobre concesión de Patentes Europeas, de 5 de octubre de 1973, en donde se regulan las invenciones patentables estableciéndose en el apartado primero que:
“las patentes europeas serán concedidas para las invenciones nuevas que supongan una actividad inventiva y sean susceptibles de aplicación industrial”. Sin embargo, a continuación el apartado segundo del mismo artículo se recoge que: “No se considerarán invenciones a los efectos del párrafo 1, en particular… c) … los programas de ordenador …”
Luego, no es de extrañar que surja la siguiente pregunta: ¿Implica esto que el creador de un programa de software no goza de ninguna protección en el ámbito europeo más allá de la protección conferida por el conocido como derechos de autor?.
Lo cierto es que, a pesar de la gran controversia que hay y el gran debate que genera esta cuestión en las grandes esferas, la realidad es que se ha llegado a la conclusión de que pueden patentarse los programas utilizados para resolver un problema técnico.
Ahora bien, ¿cuándo se entiende que el programa tiene un carácter técnico?. Pues, concretamente, el párrafo 6.4 de la decisión T1173/97 establece que el carácter técnico de un programa de ordenador puede deducirse de los efectos que produce más allá de los efectos físicos consecuencia de su ejecución: “cuando estos otros efectos tienen un carácter técnico o cuando permiten al software resolver un problema técnico, pueden considerarse que la invención que produce este tipo de efecto puede, en principio, ser patentable”. Y a continuación, el párrafo 6.5 de la decisión establece “En consecuencia, debe concederse la patente no solo en el caso de una invención en el que un software gestiona, a través de un computador, un proceso industrial o el trabajo de una maquinaria, sino también en todo aquel caso en el que un programa de ordenador es el único medio, o uno de los medios necesarios, para obtener un efecto técnico por los medios anteriormente indicados.”.
Lo que implica, en otras palabras, que cualquier programa de software capaz de producir un efecto técnico como el descrito con anterioridad puede considerarse invención en el sentido del art. 52.1 del Convenio Europeo, y, por tanto, puede ser objeto de patente cuando satisfaga el resto de requisitos previstos por el Convenio. Además de que, tal conclusión quedó claramente ratificada por el párrafo 9.6 de esta misma decisión al establecerse que: “Un programa de software que (implícitamente) incluye todas las características de un método patentable (por ejemplo, para hacer funcionar un ordenador) no puede considerarse, en principio, excluido de la patentabilidad”.
Años después, se dictó la decisión de 23 de febrero de 2006, en el asunto T 0424/03 (Clipboard formats I / Microsoft) en donde se distinguió entre los programas de ordenador y los programas de ordenador que pueden considerarse como parte de la categoría de “invenciones implementadas por ordenador” (computer implemented inventions). En esta decisión, relativa a una solicitud de patente de un clipboard de memoria presentada por Microsoft, la Board of Appeal declaró que “se distingue entre la categoría de programa de ordenador y la de un método implementado por ordenador”. En donde dicho medio legible por un ordenador es un producto técnico y por ello tiene carácter técnico, lo que permite su patentabilidad como una invención ya que permite solucionar un problema técnico, mejorando así el proceso interno de un sistema informático al facilitar el intercambio de datos entre varios programas. Evidentemente, no es de extrañar que a partir de ese momento se incrementase considerablemente el número de solicitudes de patentes.

Luego es necesario diferenciar entre las patentes de “programas como tales” y las patentes sobre “invenciones implementadas en ordenador” (software implemented inventions). En donde la cuestión radica, en todo caso, en demostrar la concurrencia de un efecto técnico en una invención implementada en ordenador. Concretamente, en las directrices de Examen OEP (G-II-3.6) se establece lo siguiente:
“Las invenciones que impliquen programas de ordenador pueden protegerse en las diferentes formas de una invención implementada en ordenador, una expresión que pretende abarcar reivindicaciones que implican ordenadores, redes informáticas u otro aparato programable, cuando es evidente a primera vista que una o más de las características de la invención reivindicada se realizan total o parcialmente mediante un programa o programas de ordenador”.
En base a lo anteriormente mencionado podemos distinguir entre:
En definitiva, las patentes se conceden a invenciones que son nuevas, que proporcionan un avance tecnológico y que tienen una aplicación industrial. Luego, basados en estos principios, diferentes tribunales europeos han resuelto que una invención técnica que usa un programa de ordenador es patentable. El primero y más importante de estos ejemplos viene de dos decisiones del Comité Técnico de Apelación, ambas involucrando a IBM. De hecho, a día de hoy, en Europa, hay alrededor de 15.000 patentes para programas de ordenador y aproximadamente el 75% de ellas corresponden a grandes empresas de software no europeas.
Es en este contexto en el que se desarrolla la Directiva 2009/24 / CE del Parlamento Europeo y del Consejo, de 23 de abril de 2009, sobre la protección jurídica de programas de ordenador, con el objetivo de aclarar y eliminar las diferencias entre la protección legal de los programas informáticos en diferentes países de la Unión Europea (UE) con el fin de contribuir al correcto funcionamiento del mercado interior.

En base a la misma, se llegó a la conclusión de que los países de la Unión Europea debían proteger los programas informáticos mediante derechos de autor. Así fue como el software empezó a protegerse como si fuese una obra literaria en el sentido de establecido por el Convenio de Berna para la Protección de las Obras Literarias y Artísticas.
Cabe destacar que las patentes se encuentran cubiertas en esta Directiva, concretamente, en el artículo 9. Y este artículo es totalmente claro: los derechos de autor y las patentes son compatibles. Además, se trata de una legislación retroactiva, lo que quiere decir que, se aplica al software escrito antes de la fecha de adopción con lo cual abarca a todo el software realizado en la UE.
Concretamente, la protección prevista en esta directiva se aplica a:
En base a esto, debemos tener en cuenta que el autor de un programa informático es la persona o grupo de personas que han creado el programa o, cuando la legislación nacional lo permita, una persona jurídica, es decir, una empresa u otra entidad jurídica. De tal manera que, si son varias personas las que participan en la creación de un programa, los derechos exclusivos son propiedad conjunta de todas estas personas. Sin embargo, si un empleado crea un programa informático en el desempeño de sus funciones o siguiendo las instrucciones dadas por su empleador, el empleador tiene exclusivamente los derechos económicos relacionados con ese programa informático. La autoría implica, por tanto, que ese sujeto o conjunto de sujetos se conviertan en los titulares de los derechos del programa informático, pudiendo hacer o autorizar a otros para hacer diferentes actuaciones, entre las que destacan:
No obstante, el hecho de que se puedan realizar tales funciones o que se pueda autorizar a terceros, no quiere decir que no estén exentas de limitaciones (sin necesidad de autorización previa del titular de los derechos). Así pues, un adquirente legal de un programa puede reproducir, traducir, adaptar, organizar o alterar el programa, cuando sea necesario para usar el programa de acuerdo con su propósito previsto. De hecho, una persona que tenga derecho a utilizar el programa informático puede realizar una copia de seguridad en la medida en que sea necesaria para ese uso; a la vez que también puede observar, estudiar o probar el funcionamiento del programa para determinar las ideas y principios que subyacen a cualquier elemento del mismo.
Por otra parte, resulta necesario hacer alusión al hecho de que los países de la UE deben tomar medidas contra las personas que cometan algún tipo de infracción como puede ser:
Además de que, evidentemente, es posible incautar una copia infractora de un programa informático de conformidad con las leyes nacionales de los países de la UE.
En definitiva, la legislación europea sobre propiedad intelectual es estándar y común a las legislaciones nacionales preexistentes y a la que se puede tener en otros países fuera del espacio UE.
Además de esta publicación, te recomendamos leer las siguientes publicaciones:
PROTECCIÓN LEGAL DE SOFTWARE 1
Fuentes utilizadas:
https://www.oepm.es/es/sobre_oepm/noticias/2020/2020_11_27_AdoptadoNuevoPlanAccionPII_COVID19.html
https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=LEGISSUM%3Ami0016
http://es.tldp.org/Presentaciones/200309hispalinux/2/2_htmldoc.pdf

En el presente artículo vamos a analizar las diferentes vías legales que se pueden adoptar para proteger el software en los países de corte anglosajón, concretamente, en Estados Unidos. Luego, para explicar esto debemos partir de la base de que en países como Estados Unidos, el concepto de intelectual property, abarca lo que en la legislación española dividimos en propiedad intelectual e industrial.

De tal manera que, teniendo esto último en consideración, podemos decir que en el caso que nos atañe se entiende por intelectual property un conjunto de derechos intangibles de propiedad sobre un determinado activo. Tal es así que los derechos de propiedad intelectual se han convertido en la base legal de la industria del software.
Básicamente, existen tres tipos de derechos de propiedad intelectual relacionados con el software, en donde a cada uno de ellos confiere un tipo de protección legal diferente. Estamos hablando, pues, de las patentes, los derechos de autor y los secretos comerciales. Y, en este sentido, cabe destacar que las marcas comerciales no protegen la tecnología en sí misma, sino los nombres o signos distintivos utilizados para diferenciar un producto en el mercado de otro.
Luego, en términos generales, los derechos que pueden proteger el software incluyen: propiedad intelectual (como derechos de autor, patentes y secretos comerciales), obligaciones contractuales (por ejemplo, confidencialidad y restricciones de uso), estatutos no relacionados con la propiedad intelectual (como la Ley de abuso y fraude informático); y varias reclamaciones de agravio de derecho consuetudinario (como la violación de bienes muebles), en donde cada una de estas protecciones tiene ventajas e inconvenientes únicos.
Ahora bien, debemos tener en cuenta una serie de consideraciones útiles de cara a determinar cuál es el mejor régimen de protección, siendo estas:
Llegados a este punto, vamos a analizar cada vía legal de protección una por una:
En este sentido, tenemos que partir de la base de que la Ley estadounidense protege la actividad creativa mediante las patentes, distinguiendo entre la patente de invención, la patente de utilidad y la patente de diseño industrial. La conocida como patente de utilidad tiene como principal objetivo la protección de la forma en la que funciona un determinado objeto, mientras que, la patente de diseño industrial protege su apariencia física. Si bien es cierto que, a pesar de la dualidad de objetivos, ambas patentes gozan de un régimen común de protección.
De tal manera que, una patente es un monopolio exclusivo de veinte años sobre el derecho a hacer, usar y vender una invención calificada. Este monopolio legal se considera una recompensa por el tiempo y el esfuerzo invertidos en la creación de la invención. A cambio, la invención debe ser descrita en detalle a la Oficina de Patentes (UPSTO), que publica la información, aumentando así la cantidad de conocimiento tecnológico disponible para el público.
Concretamente, para obtener una patente estadounidense, un inventor debe presentar una solicitud a la Oficina de Patentes y demostrar que la invención es nueva (en comparación con la tecnología anterior), útil y «no obvia”. Con respecto a esto último, cabe destacar que una invención no es obvia si es más que un siguiente paso trivial y evidente en el avance de la tecnología.

Así pues, las patentes de software pueden ser herramientas económicas extremadamente poderosas. Pueden proteger características de un programa que no pueden protegerse por derechos de autor o por el secreto comercial. Por ejemplo, se pueden obtener patentes para ideas, sistemas, métodos, algoritmos y funciones incorporadas en un producto de software: funciones de edición, características de la interfaz de usuario, técnicas de compilación, técnicas del sistema operativo, algoritmos de programas, arreglos de menús, presentaciones o arreglos de visualización, y métodos de traducción del idioma del programa.
Dado que los derechos de patente son exclusivos, cualquier persona que fabrique, use o venda la invención patentada sin la autorización del propietario de la patente es culpable de infracción de la patente, debiendo tener en cuenta que, además, las sanciones son severas. Una vez que se concede una patente para una invención, el desarrollo posterior «independiente» (es decir, sin acceso a la tecnología patentada) de la invención por otro inventor todavía se considera una infracción.
Según la ley de derechos de autor de EEUU un programa informático se define como «un conjunto de declaraciones o instrucciones que se utilizarán directa o indirectamente en una computadora para obtener un resultado determinado». De tal manera que, las instrucciones del programa se pueden fijar en cualquier medio electrónico, impreso o de otro tipo, aunque como sabemos nnormalmente se establecen en un código fuente legible por los individuos y en un formato de código objeto legible por una máquina.
Ahora bien, mientras que una patente puede proteger las ideas novedosas incorporadas en un programa de software la protección de los derechos de autor se extiende a la forma particular en que se expresa una idea. De tal manera que, en el caso del software, la ley de derechos de autor protegería el código fuente y el objeto, así como ciertos elementos originales únicos de la interfaz de usuario.
Luego, es evidente que, el propietario de un programa de software con derechos de autor tiene ciertos derechos exclusivos (con algunas excepciones), entre los que destaca el derecho a copiar el software, crear versiones derivadas o modificadas del mismo y distribuir copias al público mediante licencia, venta o de lo contrario. De tal manera que, cualquiera que ejerza estos derechos exclusivos sin el permiso del propietario de los derechos de autor es un infractor y está sujeto a responsabilidad por daños.
Al igual que con las patentes, los derechos exclusivos otorgados por la ley de derechos de autor están destinados a recompensar los esfuerzos creativos e inventivos del «autor» de la obra protegida por derechos de autor. Estamos hablando, por tanto, del derecho exclusivo a controlar la duplicación que protege al propietario del software con derechos de autor contra la competencia que resultaría de la copia literal del código fuente del programa. Además de que, protege contra la copia indirecta, como la traducción no autorizada del código fuente a un lenguaje de programación diferente.
Sin embargo, este tipo de protección a través de los derechos de autor surge automáticamente tras la creación de una obra original de autoría, lo que en otras palabras quiere decir que no es necesario “solicitar” un derecho de autor o registrar la obra con derechos de autor para que exista la protección. Y, en cuanto a su duración, generalmente, se extiende a vida del autor más cincuenta años; destacando que en el caso de un software creado por un empleado en el curso de su relación laboral, el «trabajo realizado por encargo» resultante estaría protegido por la ley de derechos de autor durante setenta y cinco años a partir de su publicación.
Finalmente, en lo que respecta a la protección conferida a través de los derechos de autor, cabe destacar que en la mayoría de las jurisdicciones del mundo, ésta es la forma más común de protección del software. De hecho, en los Estados Unidos, desde la decisión de Alice (que analizaremos con detenimiento en el artículo “las patentes del software 1), se llegó a la conclusión de que los derechos de autor eran la mejor forma de protección para el software.

Por secreto comercial se entiende cualquier fórmula, patrón, dispositivo, proceso, herramienta o mecanismo que no es generalmente conocido o descubierto por otros y que, por tanto, su propietario mantiene en secreto otorgándole una ventaja competitiva gracias al desconocimiento por parte de la competencia. El ejemplo clásico de secreto comercial es la fórmula de Coca-Cola.
Teóricamente, un secreto comercial puede durar para siempre, siempre que su propietario haga esfuerzos razonables para mantenerlo en secreto y alguien más no lo cree o “descubra” de forma independiente.
En lo que respecta al software, que es el tema que nos atañe, muchas de las características del mismo, como el código fuente y las ideas y conceptos reflejados en él, pueden protegerse como secretos comerciales y, evidentemente, esta protección dura mientras el elemento protegido mantenga su estatus de secreto comercial.
A diferencia de las patentes, la protección del secreto comercial no se extenderá a elementos de software que se puedan determinar fácilmente por medios legales, como ingeniería inversa o el desarrollo independiente. De hecho, los secretos comerciales no pueden ser como tal infringidos, como ocurre con las patentes y los derechos de autor, pero están sujetos a robo. Su estatus legal como derecho de propiedad intelectual susceptible de protección se mantendrá si el propietario puede demostrar que el secreto comercial no era conocido en general y se tomaron las medidas razonables para preservar su secreto.
Por ejemplo, en un punto, Microsoft ha protegido plataformas no interoperables y datos en interfaces mediante secreto comercial. Y, posteriormente, desarrolló el programa de aplicación y lo integró en el software del sistema. De esa manera, lograron excluir casi por completo a la competencia de las PYMES en el campo del software independiente. Este ejemplo ilustra muy bien la eficacia de la protección del secreto comercial en la práctica.
Todo creador de software debe tener en cuenta que el software puede protegerse de múltiples formas y que la combinación de esos mecanismos le proporcionaría el más alto nivel de seguridad. Si es una empresa que desarrolla software, el mayor riesgo de sufrir la infracción se originará en las personas que contrató para desarrollar el software dentro de la empresa (por ejemplo, sus empleados).
En ese caso, debe considerar proteger su software de una manera indirecta, mediante la celebración del Acuerdo de confidencialidad (NDA). Por ejemplo, su NDA debe cubrir la cuestión del código fuente, los datos y las estructuras de datos con respecto al diseño y la estructura del producto de software, entre otros aspectos.
Además, en relación con el secreto comercial anteriormente explicado, en el mencionado acuerdo de confidencialidad se debe recoger todos los métodos de transferencia del secreto comercial; describiendo y definiendo toda la información contenida en partes físicas, software y materiales, dependiendo del objeto del secreto comercial.
Luego, maximizar el valor económico de un activo de software depende fundamentalmente de la naturaleza de los derechos de propiedad intelectual involucrados y de la mejor manera de utilizar las formas disponibles de protección legal para proteger esos derechos.
Finalmente cabe destacar que una vez que la tecnología esté lista para su distribución en el mercado, lo que se necesita para proteger su software es un sistema de administración de licencias sólido.
Concretamente, los sistemas de administración de licencias ayudan a proteger la propiedad intelectual del software al emitir licencias a los usuarios que les permiten usar el software solo de manera autorizada. De tal manera que, la licencia ayuda a controlar el uso del software para que se adecúe a las exigencias del contrato. Además de que, un completo sistema de gestión de licencias también permite al proveedor realizar un seguimiento de cómo se utilizan las licencias adquiridas por cada cliente.
Existen varios modelos de gestión de licencias que se pueden utilizar para diferentes tipos de software. La estrategia correcta para proteger la propiedad intelectual del software varía de una empresa a otra y de un software a otro, e incluso puede involucrar varios modelos para el mismo programa. En esencia, las claves de licencia son un tipo de código que permite que el programa funcione de acuerdo con el acuerdo de propiedad intelectual del software; pudiendo accederse a ese código mediante un dispositivo electrónico físico (un dongle o USB) o mediante un software instalado o descargado en el dispositivo.
SI QUIERES SABER MÁS SOBRE EL SOFTWARE, TE RECOMENDAMOS:
PROTECCIÓN LEGAL DEL SOFTWARE 1
PROTECCIÓN LEGAL DEL SOFTWARE 2

En informática, el término usuario final identifica a la persona o personas que van a manipular de manera directa un producto de software. Sin embargo, el usuario final no es necesariamente sinónimo de cliente o de un comprador. De hecho, una compañía puede ser parte de este tipo de contrato, pero el usuario final puede ser, únicamente, un empleado o un grupo de ellos que forme parte de la compañía. El concepto clave es la interacción directa con el programa, no la propiedad.
No obstante, en el caso del software de gran distribución, el cliente o comprador es, por lo general, el mismo que el usuario final. La costumbre tendería a hacernos pensar en “consumidores finales”, pero el término “consumidor” no es adecuado en el software, ya que la gran mayoría de los recursos de no se agotan al utilizarlos.
Este contrato de licencia de software de usuario final (EULA, por sus siglas en inglés) es un acuerdo que vincula al usuario titular de la licencia (“Usuario final”), que expone los términos y condiciones que rigen el uso, con el funcionamiento de los productos de software de ordenadores (el “Software”) y las especificaciones técnicas escritas para el uso y el funcionamiento del Software.
EULA, significa Acuerdo de licencia de usuario final (también llamado Acuerdo de licencia de software (SLA) o Acuerdo de usuario final de aplicación con licencia).
En términos generales, un EULA es un acuerdo legalmente vinculante entre el propietario de un producto (a menudo software) y el usuario final, más específicamente un contrato entre el licenciante de un producto y el licenciatario. Y, entrando en más detalles, especifica los derechos y restricciones que se aplican al software y, generalmente, se presenta a los usuarios durante la etapa de instalación o configuración. Aunque, lo cierto es que al igual que otros acuerdos legales, solo es válido si se acuerda realmente.
Los acuerdos de licencia de usuario final son importantes para proteger los derechos del propietario (licenciante) de la empresa y son imprescindibles para establecer las reglas de uso y gestionar las expectativas del usuario final.
En general, el EULA ayudará a establecer las condiciones de un acuerdo de licencia con el usuario, es decir, se encargará de explicar qué pueden y qué no pueden hacer con el software, las condiciones bajo las cuales su acceso podría ser limitado o cancelado, disposiciones de derechos de autor, etc.
No obstante, existen algunos casos adicionales en los que podría necesitarse un EULA como:
La respuesta a esta cuestión no está exenta de dificultad ya que, en cierto modo, sí que se parecen pero no terminan de ser lo mismo. La razón de esta respuesta tan imprecisa es porque los Términos de uso (también llamados Términos y condiciones y Términos de servicio) generalmente rigen la relación entre una empresa, sus ‘servicios y sus’ usuarios / consumidores; este amplio alcance puede incluir todo, desde derechos de autor y licencias hasta derechos del consumidor, políticas de devolución y establecer la ley que rige. Mientras que a pesar de que un Acuerdo de licencia de usuario final funciona de manera similar, lo cierto es que este último se centra principalmente en la licencia.
Luego, los términos de servicio y los acuerdos de licencia de usuario final operan de la mano para crear un contrato integral entre el proveedor de servicios y el usuario del servicio, mientras que un EULA otorga a los usuarios de software permiso para descargar, instalar o acceder a un software o aplicación y establece pautas sobre cómo pueden interactuar con el software. Además de que, los términos de servicio, por otro lado, son las pautas generales para el uso de un sitio web, aplicación, software o programa mientras que, los EULA a menudo se incorporan en los acuerdos de términos de servicio. Aunque, también se puede optar por crear un EULA por separado y vincularlo dentro de sus términos de servicio.
Sin embargo, los títulos «Términos y condiciones», «Términos de uso» y «EULA» significan lo mismo en relación con el software y las aplicaciones y, a menudo, se usan indistintamente.
La mayoría de las empresas de software hacen uso de EULA (Apple, Microsoft, McAfee, PayPal, Dell, Adobe, Netflix, Citrix) y en la mayoría de ocasiones los utilizan cada vez que se instala una de sus aplicaciones de software. Luego, no es de extrañar que esté tan extendido el uso de este tipo de contratos, como tampoco nos extraña que, en función de la finalidad del mismo se establezcan diferentes cláusulas, entre las que destacamos:
Un ejemplo de esto último fue el EULA de Claria (anteriormente llamado Gator). Claria era una empresa de anuncios emergentes que pagaba para que sus anuncios se empaquetaran en el programa de intercambio de archivos de Kazaa. Su EULA declaró:
«Usted acepta que no usará, ni alentará a otros a usar, ningún medio no autorizado para la eliminación de Gain ADServer […] Cualquier uso de un rastreador de paquetes u otro dispositivo para interceptar o acceder a las comunicaciones entre GP y GAIN AdServer Está estrictamente prohibido.»
– Los EULA también suelen contener cláusulas que declaran que el fabricante del software no será responsable de los daños causados a los ordenadores de los compradores por su software. Esta es quizás la cláusula más importante desde la perspectiva de la empresa de software, ya que le permite limitar su responsabilidad y protegerse de posibles reclamaciones en el futuro si algo sale mal con el software.
Por ejemplo, el EULA de Windows XP tiene una cláusula que establece que:
«Excepto por cualquier reembolso elegido por Microsoft, usted no tiene derecho a ningún daño, incluidos, entre otros, daños emergentes, si el Producto no cumple con la Garantía limitada de Microsoft y, en la medida máxima permitida por la ley aplicable, incluso si existe algún recurso falla en su propósito esencial «.
Ahora bien estos son solo algunos ejemplos de cláusulas estándar de EULA, de tal manera que, en función de la industria, la naturaleza de su aplicación y sus preferencias personales, se podrán añadir o eliminar aquellas que no se ajusten correctamente al caso concreto. Lo que en otras palabras quiere decir que es importante crear siempre un EULA personalizado para su programa de software.
Aunque los EULA varían, las cláusulas comunes para los acuerdos de licencia de usuario final son:
No obstante, no podemos obviar el hecho de que existe cierta controversia en lo que respecta a la aplicabilidad de este tipo de acuerdos. De tal manera que, la ejecución o no de un EULA depende de varias cosas, una de las cuales es el tribunal en el que se escucha el caso. Por ejemplo, los tribunales de los Estados Unidos no se han puesto de acuerdo sobre si los EULA son válidos o no. Por lo general, las decisiones hasta el momento se toman caso por caso y se basan en los términos y disposiciones específicos de los acuerdos en cuestión. Estamos, pues, ante opiniones contrapuestas, en donde los defensores de los consumidores han argumentado que tales acuerdos son ilegales y que, concretamente, aquellos acuerdos largos y confusos que contienen una gran cantidad de lenguaje legal son especialmente inválidos.
Aunque, una solución viable para solventar esa problemática sería redactar el acuerdo en un un lenguaje fácil de entender y de la forma más breve posible, haciéndolo fácilmente accesible para sus usuarios antes, durante y después de la instalación. Además de que, evidentemente, sería necesario usar un clickwrap para asegurarse de que los usuarios estén de acuerdo claramente con los términos del EULA.
Al redactar un Acuerdo de licencia de usuario final básico, debemos asegurar de al menos:
Hasta el momento ya hemos visto como los acuerdos de usuario final son valiosos para cualquier desarrollador de software o licenciante. Sin embargo, un EULA puede ser particularmente útil si:
Además de esta publicación, te recomendamos leer las siguientes publicaciones:
Fuentes utilizadas:
https://termly.io/resources/articles/what-is-eula/#who-needs-an-eula
https://www.iubenda.com/en/help/22363-what-is-an-eula
https://www.termsfeed.com/blog/what-are-eula-agreements/
A pesar del uso cotidiano y asiduo del término “patente de software”, lo cierto es que este es un concepto erróneo. De hecho, el término correcto utilizado por la Oficina Europea de Patentes es el de invenciones implementadas en el ordenador. Con esto último, se pretende hacer referencia a aquellas invenciones que implican el uso de una red informática u otro aparato programable en el que una o más funciones se llevan a cabo mediante un ordenador.
Sin embargo, como ya hemos hecho referencia en otros artículos del presente portal web, o cierto es que en virtud de lo establecido por el Convenio de la Patente Europea (CPE), un programa de ordenador reivindicado “como tal” no es una invención patentable según lo establecido en su artículo 52 (2) (c) y (3) CPE).
De tal manera que, todas aquellas invenciones con programas de ordenador que implementan métodos de actividades económicas, matemáticos o similares, pero que no aportan ningún “efecto técnico adicional” no pueden ser objeto de una patente según lo dispuesto en CPE. Lo que quiere decir que, el simple hecho de que impliquen el uso de un programa de ordenador no significa que dichas invenciones sean patentables automáticamente.
No obstante, ello no implica que un software no puede ser patentado, de hecho, pueden concederse patentes para invenciones implementadas en ordenador que resuelvan un problema técnico de forma inventiva, siempre y cuando se cumplan con los estrictos criterios de patentabilidad. Entre estos requisitos destacan que deben tener un carácter técnico, ser nuevas y realizar una contribución técnica inventiva al conocimiento disponible en la fecha en que se presentó la primera solicitud. Evidentemente, en la práctica, el cumplimiento de estos requisitos son imprescindibles. De ahí, la necesidad de que las invenciones pasen por el correspondiente examen.
La realidad es que, en la actualidad, estamos rodeados de tecnología y sin un software asociado no hay ordenadores, ni smartphones, ni otros dispositivos electrónicos. Por ello, no es de extrañar que su protección sea imprescindible y abarque mucho más que el simple interés económico de las grandes empresas. Tal es la importancia del desarrollo del software que no es posible concebir la existencia de ningún dispositivo tecnológico sin el mismo, con independencia de las distintas áreas de conocimiento. De hecho, de los más de tres millones de patentes que se presentan anualmente en el mundo, una mayoría corresponde ya a la protección de tecnologías informáticas y comunicación digital.
El hecho de que, en general, el software en sí mismo se considere excluido de patentabilidad hace de las invenciones implementadas por ordenador un grupo único dentro de las solicitudes de patentes y por tanto estas invenciones requieren de un cuarto requisito, el carácter técnico. No obstante, esta definición no termina de ser lo suficientemente clara en algunos supuestos y es variable en función del territorio. De hecho, cada oficina de patentes alrededor del mundo ha desarrollado una práctica diferente, la cual además ha ido evolucionando con el paso del tiempo y la jurisprudencia generada en cada uno de ellos.

Como ya hemos hecho alusión, las invenciones implementadas en ordenador se usan cada vez más en todos los ámbitos de la tecnología y la gran cantidad de solicitudes de patentes presentadas ante la OEP están relacionadas con áreas en las que se usan. Sin embargo, existen muchas otras tecnologías que han aumentado su funcionalidad y eficiencia gracias a invenciones implementadas en ordenador. De hecho, el impacto de estas invenciones en nuestra vida diaria está aumentando, así como las ventajas tanto para el individuo como para la sociedad en conjunto.
Además de que, el desarrollo de las patentes promueven la innovación de dos formas
En lo que respecta a los pasos a seguir para la concesión de una patente de software. Lo cierto es que antes de que pueda concederse una patente europea, cada solicitud se somete a una búsqueda meticulosa y a un riguroso proceso de examen por parte de tres Examinadores de la OEP altamente cualificados. Este hecho tiene como principal objetivo garantizar que solo se concedan las solicitudes que cumplen los estrictos requisitos del CPE, y solo se patenten las invenciones auténticas susceptibles de protección. Además, junto con el informe de búsqueda europeo, la OEP también publica una opinión de búsqueda europea, en la que el examinador expresa sus objeciones a la solicitud.
Otra cuestión que debemos tener en cuenta es la de si deben las solicitudes de patentes incluir el código fuente del programa de ordenador.
En este sentido, cabe destacar que no existe disposición legal alguna en virtud del CPE que obligue a los solicitantes a presentar el código fuente de un programa; de hecho, la OEP tampoco lo pide, ni examina los códigos ni los publica como anexos a los documentos de solicitud de patente. Lo que en otras palabras quiere decir que el código fuente no es necesario para la descripción suficiente de una invención implementada en ordenador. De tal manera que, a los efectos de examen y publicación, el concepto inventivo debe describirse en la solicitud de manera suficientemente clara y completa como para que un experto sobre la materia pueda ejecutar la invención.
Con todo y a pesar de que el CPE establece con cierto detalle los requisitos para la novedad, la actividad inventiva y la aplicación industrial, no recoge una definición concreta de lo que debe entenderse por “invención”. No obstante, el hecho de que la protección mediante patente quede reservada a las creaciones técnicas ha formado parte de la tradición jurídica europea desde los primeros días del sistema de patentes y como consecuencia de ello, el objeto para el cual se busca protección debe tener carácter técnico o, para ser más precisos, debe incluir una enseñanza técnica; entendiendo por esto último como una instrucción dirigida a un experto técnico sobre cómo resolver un problema técnico particular mediante el uso de medios técnicos particulares.

Por otra parte, según la jurisprudencia y la práctica adoptada por la OEP las invenciones implementadas en ordenador pueden patentarse si incluyen una contribución técnica inventiva al estado anterior de la técnica, independientemente de si se implementan mediante hardware o software. De tal manera que, las invenciones con programas de ordenador que implementan métodos comerciales, matemáticos o similares, pero que no aportan ningún “efecto técnico adicional” (por ejemplo porque resuelven un problema en el área de las actividades económicas y no uno técnico) no son patentables en virtud del CPE. Un ejemplo claro de “efectos técnicos adicionales” podría ser la comunicación más rápida entre dos teléfonos móviles con calidad mejorada en la transmisión de la voz o una gestión de la memoria más eficiente. No obstante, aunque los programas de ordenador pueden ser sumamente complejos, esto por sí solo no es indicativo del carácter técnico, ni de la existencia de un efecto técnico adicional.
En este sentido, en términos legales, cabe destacar la Directiva de la Unión Europea sobre patentabilidad de invenciones implementadas por ordenador, esto es, una propuesta para armonizar el sistema de registro de patente en los Estados miembros de la Unión Europea.
Evidentemente, como consecuencia de su naturaleza de Directiva, estamos una norma de obligado cumplimiento para todos los países de la UE. Entre los objetivos de la Directiva destacan, en primer lugar, disponer de un marco legislativo común a toda la Unión y, en segundo lugar, permitir que cada país pueda armonizar esta Directiva con su legislación nacional. Sin embargo, este proyecto de Directiva sobre patentes de software no terminó de salir adelante y se dio por finalizado en julio del año 2005, dejando a un lado el desarrollo de un sistema de patentes de software de un modo similar al sistema desarrollado en los Estados Unidos.
Finalmente, debemos tener en cuenta los siguientes ejemplos que han podido obtener la patente europea:
Además de esta publicación, te recomendamos leer las siguientes publicaciones:
Fuentes utilizadas:
https://cincodias.elpais.com/cincodias/2020/06/30/legal/1593534052_868228.html

PARA LOS QUE ESTAMOS FUERA DEL MUNDO DE LA PROGRAMACIÓN O DEL DISEÑO DE PROGRAMAS DE PÁGINAS WEB, SOLO VEMOS EL RESULTADO FINAL DE UN SISTEMA, UNA PÁGINA WEB, UNA APLICACIÓN, UN PROGRAMA O JUEGO. NO OBSTANTE, SON POCAS LAS PERSONAS LAS QUE SE PREGUNTAN QUÉ HAY DETRÁS DE ESE SISTEMA. ESTAMOS HABLANDO DE LAS LARGAS Y MUY COMPLEJAS INSTRUCCIONES QUE SE LE DAN AL ORDENADOR. AL TEXTO QUE INCLUYE TODOS LOS COMANDOS SE LE DENOMINA «CÓDIGO FUENTE» O «SOURCE CODE» EN INGLÉS.
Este lenguaje se basa en un determinado lenguaje de programación, en el cual los programadores establecen todas las normas para las aplicaciones ejecutables por ordenador. Un ejemplo claro de su funcionamiento, es que si el autor inserta un error imperceptible en su trabajo y este contraviene las normas del lenguaje de programación, el programa no funciona o se bloquea al realizar determinados procesos.
Un definición muy básica del código fuente, es que se entiende como todo texto legible por un ser humano y redactado en un lenguaje de programación determinado. El objetivo del código fuente es crear normas y disposiciones claras para el ordenador y que este sea capaz de traducirlas a su propio lenguaje. De este modo, el texto fuente es la base de los programas y de las páginas web.
En otras palabras, el denominado código fuente, es todo lo que no vemos de las páginas web y los programas. Todos los comandos que confroman un sistema, ese es el código fuente. Un simil para comprender mejor este elemento de la informática es el de un edificio. Imaginemos, que el código fuente es toda la estructura que está detrás de la fachada. Es decir, las cabillas, los ladrillos, las tuberías, y el cemento. Mientras que lo que ven los espectadores, es la pintura, la fachada, los vidrios y adornos, que vendrían siendo el programa tal cual lo vemos.
En informática, se denomina Código Fuente a cualquier colección de código, con o sin comentarios, escrito utilizando el lenguaje de programación legible y entendible por humanos, generalmente, como texto sin formato. Concretamente, el código fuente está diseñado para facilitar el trabajo de los programadores de ordenadores, que son quienes especifican y determinan las acciones que debe realizar un dispositivo.
Lo que, en otras palabras quiere decir que, el código fuente es la fuente de un programa de ordenador, el cual contiene declaraciones, instrucciones, y funciones que actúan como base para que el programa funcione. De hecho, los programas pueden contener uno o más archivos de texto de código fuente, que pueden almacenarse en el disco duro del propio ordenador, en una base de datos o imprimirse en libros de fragmentos de código. Además, los programadores pueden agregar comentarios a su código fuente para ayudar a otros desarrolladores a comprenderlo.
Si bien los programas grandes a menudo hacen referencia a cientos o miles de archivos, no es raro que los programas pequeños usen solo un código fuente. De tal manera que, si hay muchos archivos fuente, el programa puede estar organizado en diferentes secciones, mientras que si un solo archivo contiene todas las variables y funciones del programa, puede resultar difícil localizar las secciones específicas del código.
El Proyecto de información de Linux define el código fuente cómo: La versión del software tal como fue escrito originalmente por un humano en texto plano (es decir, caracteres alfanuméricos legibles por humanos).
Sin embargo, este concepto puede abarcar mucho más. Tal es así que la noción de código fuente puede incluir código de máquina y notaciones en lenguajes gráficos, ninguno de los cuales es de naturaleza textual. En aras de la claridad, se entiende por «código fuente» cualquier descripción completamente ejecutable de un sistema de software.
Ahora bien, parece lógico que con asiduidad se lleve a cabo la minificación de programas entre el código fuente original escrito por un humano y un programa ejecutable, a pesar de que algunos, como la FSF, argumenten que un archivo intermedio «no es un código fuente real y no cuenta como código fuente”. Con todo, la mayoría considera necesario y encuentran recomendable referirse a cada archivo intermedio como el código fuente para los siguientes pasos.
Cada acción que se lleva a cabo en el ordenador está gestionado por un archivo que permite dar instrucciones a los programas para ejecutar una acción. Luego, este archivo al que venimos refiriéndonos es el que viene incluido en el sistema operativo y que resulta imprescindible para que el usuario pueda utilizar un programa sin ningún tipo de problemas. Además de que está elaborado por los desarrolladores del software e incluido en el sistema operativo a través de un lenguaje de programación, del cual hablaremos con un mayor detenimiento en los siguientes apartados.
Los primeros programas de ordenador con programas almacenados se ingresaron en binario a través de los interruptores del panel frontal del propio ordenador. Y, lo curioso es que, por aquel entonces, el lenguaje de programación de primera generación no distinguía entre código fuente y código máquina.
El código fuente es en realidad un programa informático, que también se puede identificar bajo el concepto de software y, a nivel digital, se presenta como uno o varios archivos ejecutables o sobre los que se puede ejecutar una determinada acción. No obstante, de igual forma, el código fuente también puede hacer referencia al código fuente de otros elementos del software, como el de una página web.
Ahora bien, como ya hemos hecho referencia con anterioridad, el código fuente lo desarrolla un programa, sobre uno de los muchos lenguajes de programación que existen. Sin embargo, en el estado en el que está presente no es ejecutable. Lo que, en otras palabras quiere decir que, debe ser traducido a otro lenguaje o a código binario, para que el equipo informático pueda utilizar su hardware y ejecutar las instrucciones que se indiquen en él. Esta traducción se realiza mediante compiladores, intérpretes, ensambladores o bien otros sistemas de traducción. Por tanto, la compilación es una parte ineludible de acción sobre el código fuente, para que este pueda tener algún uso práctico en el equipo informático sobre el que se ejecute.
En sus inicios y durante décadas, IBM distribuyó el código fuente con sus licencias de productos de software, hasta 1983; en donde la mayoría de las primeras revistas de informática publicaron el código fuente como programas de escritura. Y, ocasionalmente, todo el código fuente de un programa grande se publicaba como un libro de tapa dura, como Computers and Typesetting , vol. B: TeX, el programa de Donald Knuth.
El código fuente consiste en el archivo de instrucciones que todo ordenador contiene y realiza a través del lenguaje de programación. En este artículo podrás conocer un poco más sobre este interesante tema.
El lenguaje de programación también llamado Lenguaje C, es muy extenso y parecido a los comandos que se utilizaban en los primeros ordenadores, en donde cada lenguaje está orientado a crear diversos tipos de instrucciones y programas.
En lo que respecta al lenguaje HTLM, este tipo de lenguaje de programación se utiliza mucho para relacionar y crear el sistema informático en páginas web, junto con la aplicación java. De hecho, cuando abrimos una página web a su lado se puede ver un menú donde si se desea se puede observar el lenguaje de programación o código fuente pagina web. Evidentemente, para el usuario común lo que aparece no es más que un conjunto de letras, números y códigos que no son comprensibles. Sin embargo resulta interesante para los que están comenzando en el mundo de la informática y a programación, ya que el lenguaje HTML consiste en una serie de códigos que definen el contenido de las páginas web.
En definitiva, son etiquetas que se utilizan para definir textos y elementos diversos como imágenes, videos, fotos entre otros tipos de contenido. Sin embargo el lenguaje de programación y código fuente representan el conjunto de textos con pasos a seguir, todo ello con la finalidad última de ejecutar un programa.
Pero, ¿cuál es su importancia?. Se trata de un elemento de acción que ayuda enormemente a realizar acciones diversas en los sistemas operativos. Tal es así que todos los equipos ya sean dispositivos móviles o tablets presentan un lenguaje elaborado por los desarrolladores del sistema operativo que permite llevar a cabo las acciones.
De tal manera que, el código fuente realmente agrupa el software a través de ciertas órdenes que se realizan en el código de fuente HTML. Estamos, pues, ante una herramienta que es usada primordialmente para la creación de programas de ordenador, conformada por muchos elementos que deben ser conocidos por los programadores.
Asimismo, contiene tres secciones que permiten estructurar todo el sistema programático. Esas partes son .data .bss y .text, conforman una serie de comandos que al colocarlos delante de una acción o códigos específicos, ordenan realizar la operación solicitada. El código fuente también cuenta con un lenguaje específico que ayuda comunicar la acción de manera directa y específica.
En definitiva, lo interesante del código fuente HTML es que ha sido desarrollado para ser leído y editado por cualquier tipo de usuarios sin que realmente sea necesario tener instalado en el sistema un software específico para programarlo o compilar dicho código. Este puede ser desarrollado o abierto en herramientas tan sencillas como un editor de texto básico como el ‘bloc de notas’, el editor de textos más elemental que se puede encontrar en Windows. No obstante, pese a que se puede crear en cualquier procesador de textos no es la mejor plataforma para escribir o editar un código HTML, debido a que es posible que no se reconozcan determinados símbolos para el uso de dicho código como pueda ser el caso de las comillas, que puede provocar un problema de funcionamiento de la página desarrollada con dicho código
La cuestión que nos planteamos una vez que ya hemos analizado qué es el famoso código fuente es si el código fuente tiene licencias de uso.
La respuesta a esta cuestión es un rotundo “sí”. De hecho, según esta licencia, el código puede estar disponible para que otros usuarios lo consulten, lo reutilicen o incluso lo puedan llegar a modificar. Por ese motivo, en informática se distingue el software de código abierto, que está disponible para todo el mundo (software libre) y el denominado software privativo, sobre el que solo tiene permisos su desarrollador o propietario.
Por su parte, no debemos obviar el hecho de que el código fuente al tratarse de un lenguaje más en la programación informática siempre está en constante actualización lo que permite aumentar sus funciones. De hecho, una de las ventajas que cuenta con el código fuente escrito es el HTML, por lo que puede ser editado por los usuarios sin que tenga que tener instalado todo el sistema un programa determinado, lo que genera que sea un código recomendable porque puede ser abierto por muchas herramientas que permiten el texto básico.
Asimismo, existen programas que no se guían por las directrices del derecho de autor en lo que respecta a su código fuente, permitiendo, como ya hemos hecho alusión, que sus usuarios lo modifiquen, lo editen y lo compartan más o menos libremente, conformando una especie de comunidad de usuarios especializada.
Estos programas se llaman de “código abierto”, ya que cualquiera puede intervenir sus instrucciones esenciales y crear versiones propias o individuales del programa original, llamadas a su vez “distribuciones”. Ejemplos de dicho software son los programas operativos Unix y Linux, entre muchos otros.
El NFT, traducido al castellano como «Token No Fungible», es un token criptográfico que se ha hecho muy popular, ya que en el mundo de Internet permite decirnos qué archivo es único y cuales son una copia, y esto tiene mucho valor cuando hablamos de la propiedad de algo digital, ya sea un diseño, fotografía, o en este caso concreto, tener en propiedad del código fuente de la World Web (WWW), y el NFT simplemente acredita que algo digital es sólo tuyo y que todo lo demás que existe son meras copias.
El token no fungible (NFT, por sus siglas en inglés) del código fuente de Internet está conformado por, aproximadamente, 9.555 líneas, cuyo contenido incluye implementaciones de los tres lenguajes y protocolos inventados por Berners-Lee; como es el caso de HTML (lenguaje de marcado de hipertexto), HTTP (protocolo de hiper transferencia) y URI (identificadores uniformes de recursos). Además de que el token también recoge los documentos HTML originales que trataban de enseñar a los primeros usuarios de la web a emplear el servicio.
Tim Berners-Lee, el inventor de las tres ‘w’ (‘World Wide Web’) que nos dan acceso a Internet, ha conseguido vender el código fuente de su invento por 5,4 millones de dólares. El vencedor de la subasta, que ha sido llevada a cabo por la casa Sotheby’s, se ha convertido en propietario del código en forma de token no fungible un activo digital único en el mundo.
Ahora bien, la venta del código fuente de Internet no quiere decir que su comprador sea el dueño de la red. De hecho:
«Los códigos centrales y los protocolos de la web están libres de derechos, como siempre lo han sido. No estoy vendiendo la web, no tendrás que empezar a pagar dinero para seguir enlaces», señaló recientemente el propio Berners-Lee en declaraciones a ‘ The Guardian’ a este respecto.
La creación del código fuente siempre está ligada a un problema. Precisamente, los desarrolladores escriben programas para ofrecer soluciones, pero no se establece cuál es el camino para ello. Cuando dos programadores se ocupan del mismo problema, puede ocurrir que ambos textos fuentes difieran significativamente entre sí, incluso a pesar de que se trabaje como el mismo lenguaje.
A pesar de que en muchos casos no hay una solución única, todas las tareas de programación tienen algo en común. Un buen texto fuente debe prescindir de los códigos innecesarios, pues estos harían que los programas fueran más complejos, lentos y propenso a errores. Al código fuente que es poco claro, que ni siquiera los programadores profesionales lo pueden comprender, se denomina como «código espagueti», pues su estructura es tan confusa como un montón de espaguetis en un plato.
Al final, el código fuente es el que hará que el programa o el sistema sea realmente amigable para los usuarios. Los programadores, lejos de todos los códigos de utilicen en el diseño del programa, deben pensar en cómo hacer que el usuario no lo vea ni lo sienta tan complicado.

Hasta hace relativamente poco, las patentes de software en los Estados Unidos representaban casi la mitad de todas las patentes de servicios públicos dadas por la USPTO. Concretamente, el desarrollo de un caso de la Corte Suprema de EE UU del año 2014, el denominado Alice v. CLS Bank, supuso el cierre de la puerta a esta práctica tan habitual.
Tal fue la importancia de esta decisión que, del mismo modo, las patentes de software emitidas antes de la misma han sido anuladas por los tribunales considerándose como inválidas; permitiéndose únicamente un pequeño número de patentes de software de utilidad a expensas de argumentos matizados. Sin embargo, existe una variedad de métodos cuando se usan en combinación que posiblemente pueden brindar una protección legal más amplia con numerosas ventajas prácticas para la industria del software.
La estrategia implica dividir el software en niveles y proteger cada nivel de manera diferente, aprovechando la legislación federal recientemente aprobada que protege a una empresa a nivel nacional y en el extranjero. De hecho, la mayor parte de los software se puede dividir en varios niveles, incluida una interfaz de usuario, interfaces de programación de aplicaciones (API), algoritmos y estructuras de datos. Veamos, pues, cada uno por separado:
El nivel uno hace referencia a cómo el usuario interactúa con el programa. Por lo que, parece obvio que el éxito de la mayoría del software dependa de la estética de su interfaz de usuario, es decir, cómo se muestra.
Se puede utilizar una patente de diseño para proteger el diseño de la interfaz de usuario lo que proporciona una clara ventaja sobre la protección exclusiva del código fuente, ya que el código fuente se puede redactar fácilmente de varias maneras diferentes para lograr el mismo aspecto o uno similar.
El nivel dos hace alusión a cómo otro programa utiliza el software. La API puede estar protegida por dos áreas legales, en donde una de esas áreas hace referencia a los ya mencionados derechos de autor según una decisión de 2014 del Circuito Federal, Oracle America Inc. v. Google Inc; mientras que la otra área implica el secreto comercial. Sin embargo, debido a que las API generalmente no exponen el programa sustantivo subyacente y algunas partes de un envío de derechos de autor pueden estar redactadas, registrar una API en la oficina de derechos de autor es una buena estrategia.
El nivel tres abarca las características fundamentales del software. Este nivel puede estar protegido por la ley de secretos comerciales. De hecho, en el año 2016, se aprobó la Ley de Defensa de Secretos Comerciales (DTSA) dando una causa civil de acción en un tribunal federal por violaciones de secretos comerciales. Anteriormente, las acciones de secretos comerciales se regían por leyes estatales variadas e inconexas, sin embargo, con la aprobación de la DTSA se permite a los propietarios de software demandar a los infractores nacionales y extranjeros, a la vez que brinda protección instantánea a los secretos comerciales debidamente guardados.
Además, al proteger el algoritmo subyacente, los propietarios de software obtienen una protección más amplia sobre la funcionalidad en lugar de simplemente proteger el código fuente escrito de forma restringida. No obstante, no debemos obviar el hecho de que para proteger adecuadamente un secreto comercial, las empresas deben utilizar acuerdos de no divulgación cuidadosamente redactados, controlar el acceso a sus programadores y limitar la cantidad de tiempo que los documentos electrónicos permanecen activos después de la transmisión.
Ahora bien, una vez hemos visto a grosso modo las patentes del software en Estados Unidos, debemos tener en cuenta que, actualmente, los tribunales de EEUU continúan aprobando patentes de software, en donde los patrones en lo que se basan la apropiación por parte de los tribunales muestran qué tipos de software tienen más probabilidades de obtener una patente y éstas incluyen:
Cabe destacar que una patente de software no es un tipo especial de patente, sino que las patentes de software son patentes regulares, pero en lugar de inventar una máquina o una fórmula química, protegen un programa de ordenador.
Y, evidentemente, no todo el software puede recibir una patente. De hecho, para obtener la patente el software debe cumplir con ciertos estándares, los cuales provienen de la Oficina de Marcas y Patentes de los Estados Unidos (USPTO) y de fallos de la Corte Suprema sobre casos de patentes. Además de que, lejos de lo que podamos haber apreciado a priori, lo cierto es que averiguar si el software cumple con los estándares de «materia patentable» es difícil, más incluso que con otras invenciones. Razón por la cual no es de extrañar que las patentes de software hayan atraído tanto enfoque legal.
Muchas empresas emergentes crean software para ejecutar sus negocios y quieren saber si su software puede ser objeto de protección a través de una patente. Y lo cierto es que en muchas ocasiones la respuesta a esta cuestión tiene que hacer frente a numerosos obstáculos ya que no existe una respuesta única sobre si un software cumplirá con los estándares de una patente. A lo que hay que añadir que tampoco existe una forma mágica de hacer que su aplicación garantice que su software vaya a obtener una patente.
Sin embargo, los estándares existen. De hecho, ya hemos hecho alusión al principio que en 2014, la Corte Suprema falló en un caso (Alice Corporation Pty. Ltd. contra CLS Bank International, et al., Generalmente abreviado como «Alice») que cambió los estándares de patentes. Tanto a la Corte Suprema como a la Corte de Apelaciones del Circuito Federal de los Estados Unidos son partidarias de definir las invenciones tecnológicas de manera específica y estas definiciones suelen contener algún tipo de máquina o hardware, aunque el software no siempre necesita hardware para ser una invención única. Sin embargo, el software que afecta al hardware suele tener más suerte en las solicitudes de patentes.
Con el paso de los años, la USPTO ha creado mejores definiciones para las patentes de software en dos documentos:
El primero, el de Orientación provisional de 2014 sobre la elegibilidad de la materia objeto de la patente y el segundo hace referencia a la actualización de julio de 2015 la cual contiene ejemplos de software que podrían patentarse. Aunque utiliza software hipotético para sus ejemplos, crea una guía para los inventores y abogados que solicitan patentes de software.
No obstante, existen algunas personas que consideran que las patentes de software no son una buena idea. De hecho, hay quienes consideran que el permitir o fomentar la existencia de este tipo de patentes desembocará en la creación de muchos «programas incorrectos”.
Una idea en contra de las patentes de software es que el software cambia rápidamente. Y, aunque esta afirmación sea en parte cierta dada la volatilidad y los sucesivos cambios tecnológicos, en realidad, algunos de los programas de software más conocidos existen desde hace varias décadas. De hecho ls empresas actualizan el software para mejorarlo, pero no lo reinventan.
Otro argumento en contra de las patentes de software es que la gente seguirá inventando diferentes software incluso sin patentes. Aunque, a nadie le puede extrañar que cuando las grandes empresas invierten millones de dólares en investigación y desarrollo de software, quieran poder patentar sus hallazgos. Y, a pesar de que, las leyes de derechos de autor y secretos comerciales pueden proteger cierto software, éstas no ofrecen la misma protección que ofrece una patente.
No obstante, a pesar de estas críticas, lo cierto es que los casos judiciales no han dictaminado que el software no se pueda patentar; a pesar de que los detalles sobre cómo patentar software todavía son confusos.
Lo que sí sabemos es que no se pueden patentar algoritmos, códigos o fórmulas matemáticas, se puede registrar su código con derechos de autor, pero no se puede patentar al igual que tampoco se puede patentar las piezas que componen el software, lo que se puede patentar es el proceso en sí. Ahora bien, destacamos que las patentes de software relacionadas con la tecnología tienen más posibilidades de ser aprobadas y las áreas que tienen más éxito incluyen:
No obstante, para averiguar cómo patentar el software, debemos buscar otro software similar; este hecho ayudará a identificar lo que es único en el software. Luego, no es de extrañar que algunos programadores de software piensen en los requisitos de las patentes e investigen software similar antes de terminar de crear el suyo.
Enfish LLC contra Microsof: Enfish Corporation fue fundada en 1993 en California por un ejecutivo anterior de Gemstar, que buscaba una forma más inteligente de ordenar y rastrear archivos, correos electrónicos y otros datos. En 2000, la fundadora de Enfish, Louise Wannier, apareció en Los Angeles Times y la empresa tenía 45 empleados más 20 millones de dólares en capital. Incluso con eso, no fue rentable. La compañía tenía una herramienta de búsqueda de escritorio y otros productos que tenían buenas críticas en PC World, y eso resultó en que más de 200,000 usuarios los descargaran. Esto aún no fue suficiente y Enfish cerró en 2005, aunque las patentes de Enfish continuaron vigentes. Posteriormente, en 2012, Wannier estableció Enflish LLC y demandó a algunas grandes empresas de software, incluidas Sage Software, Microsoft, Fiserv y Jack Henry. & Asociaciones e Inuit. La demanda declaró que Microsoft infringió dos de sus patentes con su .NET Framework. Sin embargo, el tribunal de distrito no estuvo de acuerdo y afirmó que una tabla era solo una tabla. El uso de términos como «indexación» y «memoria no contigua» no fueron suficiente para salvar las patentes de Enfish. No obstante, en 2016, tomando como referencia los casos de de Alice y Bilski las cinco solicitudes de patente volvieron a ser elegibles y el caso se envió al tribunal inferior para volver a ser estudiado.Finalmente, vamos a destacar dos ejemplos actuales de patentes del software, el primero es el de Amazon One-Click (Patente de EE. UU. No. 5,960,411) el cual permite a los compradores de Internet evitar el carrito de compras en línea, de tal manera que si los usuarios tienen guardada su información de pago, facturación y envío, pueden comprar algo con un solo clic y el ejemplo de Cadtrak XOR (Patente de EE. UU. No. 4,197,590) el cual se ocupa de mostrar imágenes que se han almacenado en la memoria.
Fuentes utilizadas:
https://www.upcounsel.com/software-patent-examples
SI QUIERES SABER MÁS SOBRE EL SOFTWARE, TE RECOMENDAMOS:
PROTECCIÓN LEGAL DEL SOFTWARE 1
PROTECCIÓN LEGAL DEL SOFTWARE 2

El software es un conjunto de, principalmente, datos o programas que se utilizan para ejecutar tareas específicas a través de un ordenador. Estamos, por tanto, ante un término bastante genérico que se usa para hacer alusión a aplicaciones, scripts y programas que se ejecutan en un dispositivo. De hecho, se puede considerar como la parte variable de un ordenador.

En este sentido cabe destacar que existen dos categorías principales de software , que son el conocido como software de aplicación y el software de sistema. En donde, concretamente, una aplicación es un software que satisface una necesidad específica o realiza tareas, mientras que el software del sistema está diseñado para ejecutar el hardware de un ordenador, a la vez que proporciona una plataforma para que las aplicaciones se ejecuten.
No obstante, existen otros tipos de software, los cuales incluyen el software de programación, el cual proporciona las herramientas de programación que los desarrolladores de software necesitan; el conocido como middleware, que se encuentra entre el software del sistema y las aplicaciones; y software de controlador, que opera dispositivos y periféricos del ordenador.
En sus inicios, el software se creó para determinados ordenadores y se vendió con el hardware en el que se ejecutaba. No fue hasta la década de los ochenta cuando el software empezó a comercializare en disquetes y, más tarde, en CD´s y DVD´s. Sin embargo, hoy en día, el software se compra y se descarga directamente a través de Internet, de hecho, se puede encontrar en diferentes sitios web de proveedores.
Como ya hemos mencionado con anterioridad, entre las diversas categorías de software, los tipos más comunes incluyen los siguientes:
Que es el tipo de software más común, el cual hace alusión a un paquete de software que realiza una función específica para un usuario o, en algunos casos, para otra aplicación. Esta aplicación puede ser autónoma o puede ser un grupo de programas que ejecutan la aplicación para el usuario. Algunos ejemplos de aplicaciones modernas incluyen suites de oficina, software de gráficos, bases de datos y programas de administración de bases de datos, navegadores web, procesadores de texto, herramientas de desarrollo de software, editores de imágenes y plataformas de comunicación.
Estos programas de software están diseñados para ejecutar programas de aplicación y de hardware. De tal manera que, se encarga de coordinar las actividades y funciones del hardware y el software y de, además, controlar las operaciones del hardware del ordenador y proporcionar un entorno o plataforma para que funcionen todos los demás tipos de software. El sistema operativo es el mejor ejemplo de software de sistema ya que es el que gestiona todos los demás programas informá Otros ejemplos de software del sistema incluyen el firmware , los traductores de idiomas informáticos y las utilidades del sistema .
Este software a menudo se considera un tipo de software del sistema.Los controladores dirigen y manejan los dispositivos y periféricos conectados al ordenador, lo que les permite realizar sus tareas especí Cada dispositivo que está conectado a un ordenador el cual necesita al menos un controlador de dispositivo para funcionar. Los ejemplos incluyen software que viene con cualquier hardware no estándar, incluidos controladores de juegos especiales, así como el software que habilita un hardware estándar, como dispositivos de almacenamiento USB, teclados, auriculares e impresoras.
El término middleware describe el software que media entre la aplicación y el software del sistema o entre dos tipos diferentes de software de aplicación. Por ejemplo, el middleware permite que Microsoft Windows se comunique con Excel y Word. También se utiliza para enviar una solicitud de trabajo remoto desde una aplicación en un ordenador que tiene un tipo de sistema operativo, a una aplicación de otro ordenador con un sistema operativo diferente y también permite que las aplicaciones más nuevas funcionen con las heredadas.
Los programadores de ordenadores utilizan el software de programación para escribir el có El software de programación y las herramientas de programación permiten a los programadores desarrollar, escribir, probar y depurar otros programas de software.
Llegados a este punto y una vez sabemos qué es y qué tipos hay, no es de extrañar que la siguiente cuestión que nos planteemos sea la de: ¿cómo funciona?
Todo software proporciona las instrucciones y los datos que los ordenadores requieren para funcionar y satisfacer las necesidades de los usuarios. Sin embargo, los dos tipos diferentes (software de aplicación y software de sistema) funcionan de formas claramente diferentes.
Por una parte, el software de aplicación abarca muchos programas que realizan funciones específicas para los usuarios finales, como redactar informes y navegar por sitios web. De hecho, existen aplicaciones que también pueden realizar tareas para otras aplicaciones. Sin embargo, las aplicaciones insertas en un ordenador no pueden ejecutarse solas, por lo que, requieren de un sistema operativo, que junto con otros programas de software del sistema de apoyo, permite su funcionamiento.
Con respecto a las conocidas como aplicaciones de escritorio, tenemos que tener en cuenta que estas se instalan en el ordenador de un usuario y utilizan la memoria del ordenador para realizar tareas específicas para las que fueron creadas. Ocupan espacio en el disco duro del ordenador y no necesitan una conexión a Internet para funcionar. Sin embargo, las aplicaciones de escritorio deben cumplir con los requisitos de los dispositivos de hardware en los que se ejecutan.
Mientras que, en lo que respecta a las aplicaciones web, solo requieren acceso a Internet para funcionar y, por tanto, no dependen del hardware ni del software del sistema para ejecutarse. En consecuencia, los usuarios pueden iniciar aplicaciones web desde dispositivos que tienen un navegador web. Luego, dado que los componentes responsables de la funcionalidad de la aplicación se encuentran en el servidor, los usuarios pueden iniciar la aplicación desde Windows, Mac, Linux o cualquier otro sistema operativo.
Por otra parte, en lo relativo al ya mencionado software del sistema éste se encuentra entre el hardware de la computadora y el software de la aplicación. De tal manera que, los usuarios no interactúan directamente con el mismo, ya que se ejecuta en segundo plano, y maneja las funciones básicas del ordenador. Este software es el encargado de coordinar el hardware y el software de un sistema para que los usuarios puedan ejecutar software de aplicación de alto nivel y así realizar acciones específicas. Luego, el software del sistema se ejecuta cuando se inicia un sistema informático y continúa funcionando mientras el sistema esté encendido.
Estas son las diferencias clave entre el sistema y el software de aplicación.
En lo que respecta al proceso de implementación del software, y a su correspondiente diseños, debemos tener en cuenta los siguientes pasos:
Lo primero que debemos saber es que el ciclo de vida del desarrollo de software es un marco que los gerentes de proyecto utilizan para describir las etapas y tareas asociadas con el diseño de software. Los primeros pasos en el ciclo de vida del diseño son:
Planificar el esfuerzo.El siguiente paso es la implementación, donde se completa el trabajo de desarrollo y luego se realizan las correspondientes pruebas de software. En este sentido, debemos tener en cuenta que la denominada fase de mantenimiento incluye todas las tareas necesarias para mantener el sistema en funcionamiento.
Por su parte, el diseño del software incluye la descripción de la estructura del software que se implementará, los modelos de datos, las interfaces entre los componentes del sistema y, potencialmente, los algoritmos que utilizará el ingeniero de software. De tal manera que, el proceso de diseño de software transforma los requisitos del usuario en una forma que los programadores pueden usar para realizar la codificación e implementación del software. De ahí que los ingenieros de software sean los encargados de desarrollar el diseño de software de forma interactiva, agregando detalles y corrigiendo el diseño a medida que lo desarrollan.
Así pues, el software abarca los siguientes tipos de diseño:
Ahora bien, todos los ámbitos relativos al software que hemos tratado hasta el momento nos lleva a plantearnos la siguiente cuestión: ¿Cómo se mantiene la calidad del software?
La calidad del software determina si el software cumple con sus requisitos funcionales y no funcionales. En donde los requisitos funcionales son aquellos encargados de identificar lo que debe hacer el software, por lo que, incluyen los detalles técnicos, la manipulación y el procesamiento de datos, cálculos o cualquier otra función que especifique lo que una aplicación pretende lograr. Mientras que los requisitos no funcionales, también conocidos como atributos de calidad, determinan cómo debe funcionar el sistema, por lo que, incluyen la portabilidad, la recuperación ante desastres, la seguridad, la privacidad y la usabilidad.
Evidentemente, son las pruebas de software las que van a detectar y, en todo caso, resolver, los problemas técnicos en el código fuente del software, a la vez que serán las que evalúen la usabilidad, el rendimiento, la seguridad y la compatibilidad generales del producto para garantizar que cumpla con sus requisitos.
Finalmente, debemos destacar que las dimensiones de la calidad del software incluyen las siguientes características:
Ahora bien, cuando se trata de realizar el mantenimiento, debemos destacar que hay cuatro tipos de cambios que los programadores pueden realizar, que incluyen:
No obstante, no podemos obviar el hecho de que, para mantener la calidad del software una vez implementado, los programadores deben ser capaces de adaptarlo constantemente para cumplir con los nuevos requisitos de los clientes, a la vez que deben ser capaces de hacer frente a las diversas vicisitudes y obstáculos que pueden surgir como consecuencia de los cambios en el contexto social. Esto incluye mejorar la funcionalidad, corregir errores y ajustar el código del software para evitar problemas, ya que como sabemos, la duración de un producto en el mercado depende de la capacidad de los programadores para cumplir con estos requisitos de mantenimiento.
Además de esta publicación, te recomendamos leer las siguientes publicaciones:
LA PROTECCIÓN LEGAL DE LA MÚSICA DE LOS VIDEOJUEGOS 1
LA PROTECCIÓN LEGAL DE LA MÚSICA DE LOS VIDEOJUEGOS 2
DERECHO DE LOS VIDEOJUEGOS – ¿QUÉ INCLUYE?
DERECHOS DE AUTOR DE LOS VIDEOJUEGOS – PARTE 1
LOS DERECHOS DE AUTOR DE LOS VIDEOJUEGOS – PARTE 2
DERECHOS DE AUTOR Y VIDEOJUEGOS – PARTE 3
Las fuentes utilizadas para este artículo son las siguientes:
https://searchapparchitecture.techtarget.com/definition/software
