Cuando se trata de adoptar un nuevo producto de software para un proyecto, hay muchas opciones que uno debe hacer. Hay que tener en cuenta muchos factores, dependiendo de las funciones que se espera que realice el nuevo software. Una de esas preguntas que debe responderse antes de que pueda tomar una decisión es:
"Entre el software de código abierto y el software propietario, ¿Cuál sería mejor para mí?"
Propietario se refiere al software que es propiedad de la persona o empresa que lo ha publicado. El código abierto se refiere al software que está disponible para que cualquiera pueda acceder a él o modificar el código.
Open source (o código abierto) es un código diseñado de manera que sea accesible al público: todos pueden ver, modificar y distribuir el código de la forma que consideren conveniente.
Se desarrolla de manera descentralizada y colaborativa, así que depende de la revisión entre compañeros y la producción de la comunidad. Además, suele ser más económico, flexible y duradero que sus alternativas propietarias, ya que las encargadas de su desarrollo son las comunidades y no un solo autor o una sola empresa.
El open source se convirtió en un movimiento y una forma de trabajo que trasciende la producción del software. Este movimiento utiliza los valores y el modelo de producción descentralizada del software open source para hallar nuevas maneras de solucionar problemas en las comunidades y los sectores
La historia del open source va de la mano con la historia del internet
En las décadas de 1950 y 1960, los investigadores que desarrollaron las primeras tecnologías de Internet y los protocolos de redes de telecomunicaciones dependían de un entorno de investigación colaborativo y abierto. La red Advanced Research Projects Agency Network (ARPANET), que luego se convertiría en la base para el Internet moderno, incentivó la revisión entre compañeros y el proceso de retroalimentación abierta.
Quiero más
Por supuesto! gracias al apoyo que se ha conseguido por todos ustedes (comentando, suscribiéndote y compartiendo) se agregaron nuevos videos, en esta ocasión iniciamos el curso de testing en angular, curso de node, curso mongo y mucho más
Los grupos de usuarios compartían el código fuente de los demás y se basaban en él. Los foros facilitaban las conversaciones y el desarrollo de estándares para la colaboración y la comunicación abiertas. Para el momento en que se originó el Internet, a principios de la década de 1990, los valores de colaboración, revisión entre compañeros, comunicación y cultura abierta ya formaban parte de sus cimientos.
Una buena manera de comenzar con el aprendizaje de software libre es a través de las formaciones colaborativas de la comunidad
¿Qué es el Software de propietario?
El software propietario consiste en aquellos programas de autor definido que nieguen de alguna forma el libre acceso al código fuente, ya sea para modificarlo, estudiarlo o distribuirlo.
El software patentado es propiedad del creador y es propiedad legal de ellos.
El software propietario ofrece una visión restringida de su funcionamiento técnico. El código está oculto y el software en sí también a menudo debe comprarse.
¡Hay condiciones muy estrictas con respecto a su uso, que violan lo que incluso puede ocasionarle problemas legales graves! A menudo, la distribución de este tipo de software también está prohibida.
Origen del Software de propietario
Los comienzos del software propietario se dieron entre la década de los 70’ y los 80’. Fueron IBM y Microsoft las empresas que impulsaron las prácticas de creación y desarrollo de programas con restricciones al acceso del código o, dicho de otra forma, de código cerrado.
Fue en esa misma época en la que surgieron los movimientos a favor del software libre, que hasta el alzamiento del software privativo era el modus operandi de colaboración, desarrollo y distribución de software más extendido. Nos encontramos entonces con dos figuras totalmente distintas en su forma de concebir el software. Por un lado, tenemos a Richard Matthew Stallman, creador de la ‘Free Software Foundation’. Por otra parte, tendríamos a Bill Gates, fundador de Microsoft.
El software propietario es con diferencia el tipo de software que más se ha distribuido. Sin ir más lejos el sistema operativo más utilizado del mundo, Windows, supera con creces al número de usuarios que utilizan Linux o alguna de sus variantes.
Diferencias entre Open Source y propietary
Durante muchos años, el software open source se conoció con el nombre de "software libre".
En 1983, Richard Stallman estableció oficialmente el movimiento del software libre en el Proyecto GNU. El movimiento del software libre se organizó en torno a la idea de la libertad del usuario: la libertad para ver el código fuente, modificarlo y redistribuirlo; es decir, ponerlo a disposición de los usuarios y adaptar su funcionamiento de forma que satisficiera sus necesidades.
El software libre es la contraparte del software propietario o de "código cerrado".
El software de código cerrado está altamente protegido. Solo los propietarios del código fuente tienen el derecho legal de acceder a él. La modificación o la copia del código fuente cerrado están prohibidas por ley, y el usuario solo paga por el uso del software tal y como está; no puede modificarlo para usos nuevos ni compartirlo con la comunidad.
Sin embargo, la denominación "software libre" ha generado mucha confusión. El software libre no implica necesariamente que sea gratuito, sino que los usuarios pueden utilizarlo como lo deseen. La comunidad ha intentado explicar que el término "libre" hace referencia a la libertad y no significa "libre de costo". Christine Peterson, quien acuñó la expresión "open source", intentó abordar este problema reemplazando "software libre" por "open source":
"el problema con la denominación principal anterior, 'software libre', no eran sus connotaciones políticas, sino que su aparente enfoque en el precio suponía una distracción para los usuarios nuevos. Se necesitaba un término que se enfocara en el aspecto principal del código fuente, y que no confundiera inmediatamente a aquellos que no estaban familiarizados con el concepto".
¿Cómo funciona el modelo de desarrollo open source?
El modelo de desarrollo open source es el proceso que se utiliza en los proyectos de la comunidad open source para desarrollar sistemas de software de este tipo. El software se lanza bajo una licencia open source, la cual permite que cualquier persona pueda ver o modificar el código fuente.
Muchos proyectos open source se alojan en GitHub. Desde allí, puede acceder a los repositorios o participar en los proyectos de la comunidad. Linux®, Ansible y Kubernetes son claros ejemplos de proyectos open source populares.
Te dejo enlace por si quieres aprender un poco más sobre el manejo de proyectos colaborativos o sobre Github
Características del software privado
Si bien es cierto que el manifiesto y las reglas que rodean al software libre son inclusivas y no discriminan por poder adquisitivo, existen ciertas ventajas a destacar que caracterizan al software propietario:
Atención al cliente: Consiste en el soporte especializado que provee la empresa propietaria del software a sus usuarios con actualizaciones y mantenimiento del mismo.
Especialización y focalización: Cuando una empresa crea y desarrolla un software concentra sus recursos en hacer que la utilidad y el valor añadido de este sea un elemento diferenciador frente a otras alternativas de software, sean de carácter privativo o de uso libre.
Control a favor del autor y el uso malintencionado: Esto es quizás el factor más importante del software propietario, ya que establece una autoría y por ende, un crédito a favor del autor. Por otra parte, el control de un uso fraudulento o no ético del software se asegura al cerrar el código. Si bien el software libre se rige por el copyleft, un software puede tener características propias del privativo y del libre.
Un ejemplo sería un programa que sólo permitiera el acceso a su código para su estudio y fuera además de libre distribución, pero no fuera de libre modificación.
¿Cuáles son los valores del open source?
Hay muchas razones por las que las personas eligen el software open source en lugar del software propietario, pero estas son las más conocidas:
Revisión entre compañeros: Dado que se puede acceder al código fuente libremente y que la comunidad open source es muy activa, los colegas programadores verifican y mejoran el open source.
Considérelo un código vivo, en lugar de un código privado y estancado.
Transparencia: ¿Necesita saber exactamente qué tipos de datos se trasladan y a dónde, o qué clase de cambios se aplicaron en el código? Con el open source, usted mismo puede verificar esta información y realizar un seguimiento, sin tener que depender de las promesas de los proveedores.
Confiabilidad: El código propietario depende de un solo autor o una sola empresa que lo controlan para mantenerlo actualizado, con parches y en funcionamiento. El open source sobrevive a sus autores originales porque las comunidades open source activas lo actualizan constantemente.
Los estándares abiertos y la revisión entre compañeros garantizan que el open source se evalúa de manera regular y adecuada.
Flexibilidad: De acuerdo al énfasis del open source en la modificación, puede utilizarlo para abordar los problemas específicos de su empresa o comunidad. No está obligado a usar el código de una manera específica, y puede contar con la ayuda de la comunidad y la revisión entre compañeros al momento de implementar soluciones nuevas.
Menor costo: Con el open source, el código en sí es gratuito. Cuando utiliza una empresa como Red Hat, paga por el soporte, el refuerzo de la seguridad y la ayuda para gestionar la interoperabilidad.
Si estás buscando un hosting donde alojar tus proyectos te dejo el siguiente código de descuento
Sin dependencia de un solo proveedor: La libertad para el usuario significa que puede trasladar el open source a cualquier parte y usarlo para lo que sea en cualquier momento.
Colaboración abierta: Las comunidades open source activas brindan la posibilidad de buscar ayuda, recursos y puntos de vista que trascienden el interés de un grupo o una empresa.
Realizando una comparativa entre open source versus propietary podemos decir que:
El software de código abierto puede ser propiedad de una entidad o estar disponible gratuitamente para la comunidad de desarrolladores. Esta comunidad es responsable de la evolución del código.
No hay restricciones con respecto a su uso o distribución, siempre que se cumplan las condiciones documentadas en la licencia de código abierto.
La propiedad funciona de manera diferente para el software propietario a medida. Por ejemplo, si le pide a GoodCore , una conocida empresa de desarrollo de software , que cree un producto de software dedicado para su organización, entonces será el único propietario de ese producto.
Independencia Con el software de código abierto, tienes la libertad de trabajar con otros codificadores de la comunidad de desarrolladores. Puedes elegir las partes del software que desea modificar para su uso personal. Sin embargo, es un proceso muy exigente.
En el caso del software propietario, puedes confiar en el proveedor de software para todo, desde el desarrollo hasta el soporte. Pero entonces no tendrá la libertad de realizar modificaciones en el software.
Facilidad de uso Con una mayor independencia, los desarrolladores de código abierto a veces se dejan llevar, lo que hace que el proyecto se vuelva innecesariamente complejo o desordenado. Esto hace que el software sea más fácil de desarrollar pero menos fácil de usar, lo que lo hace especialmente difícil de usar para personas con poco o ningún conocimiento técnico.
El software propietario, en cambio, está especialmente desarrollado teniendo en cuenta a los usuarios finales. Se pone mucho pensamiento y esfuerzo en su desarrollo, de modo que sea fácil e intuitivo para los usuarios. No importa cuán compleja sea la ideología detrás del código del software, la interfaz se prueba y se prueba, y se mantiene lo más simple posible para proporcionar la máxima usabilidad.
Seguridad Cuando elige una nueva aplicación de software para implementarla con un propósito especial, necesita que sea altamente segura. Por lo tanto, debemos abordar las preocupaciones de seguridad que rodean el software de código abierto frente al software propietario.
Hacer que todo el código fuente de una aplicación esté disponible públicamente abre una gran cantidad de vulnerabilidades.
El propósito de compartir el código es permitir que la comunidad pruebe el código en busca de errores y posibles riesgos de seguridad para que pueda mejorarse aún más. Esto mejora enormemente la calidad del software. Sin embargo, algunas personas pueden aprovechar la situación y explotar los sistemas de código abierto sobre la base de ese código.
Por otro lado, el software propietario tiene todo su código oculto. Esto evita que la infraestructura del software quede expuesta a los ciberdelincuentes. Sin embargo, esto no hace que el software sea completamente inmune a los riesgos de seguridad; ¡y ni siquiera puedes verificarlo porque no puedes ver el código!
Actualizaciones, soporte y mantenimiento A menudo, los usuarios no desean actualizar sus productos de software una vez que se ha implementado correctamente una versión estable. El software de código abierto no tiene que ser actualizado a la fuerza, sin embargo, requiere tiempo y esfuerzo constantes si desea mantenerlo actualizado.
Si se encuentra con un problema, siempre puede preguntar a otros desarrolladores que forman parte de la comunidad. Ellos felizmente te ayudarán; después de todo, esta fue una de las principales razones por las cuales se introdujo el concepto de software de código abierto.
¿Qué harás si inviertes años de esfuerzo en un proyecto particular de código abierto solo para verlo 'olvidado'? Por lo tanto, dependiendo del código abierto, el apoyo comunitario conlleva cierto nivel de riesgo e incertidumbre.
Este problema a menudo se evita con software propietario. La mayoría de las licencias vienen con paquetes de soporte posventa, actualizaciones periódicas y mantenimiento por parte del proveedor. Aquí está el truco: ¡al proveedor puede no importarle si desea que se implemente una actualización particular o no! Costos
Para aquellos de ustedes que buscan una solución de software rentable para implementar en su organización, este es un punto crucial de discusión en el debate de código abierto vs propietario.
Debe pensar en los costos de cada tipo de software como una compensación entre los dos recursos clave: tiempo y costo.
El software propietario sería una excelente elección si no tiene el tiempo para experimentar con nuevas tecnologías, o si tiene el tiempo y el dinero para invertir en una licencia que requiere un aporte y un esfuerzo mínimos de su parte.