Código abierto abierto. Qué es el código abierto y por qué es importante para las criptomonedas y la cadena de bloques abierta. Suite ofimática abierta

Cómo se crean los programas de computadora

Un programa de computadora es una lista de instrucciones dadas a una computadora para que realice una tarea específica o una serie de tareas. Las computadoras no entienden inglés, por lo que los programadores deben comunicar estas instrucciones a la computadora en un idioma que la computadora entienda. Sin embargo, las computadoras solo pueden trabajar con números, lo que hace que el lenguaje informático sea muy difícil de entender para los humanos.

La solución a este problema es crear un lenguaje intermedio que tanto los humanos como las computadoras puedan entender. Estos son los llamados lenguajes de programación. Los programadores crean una lista de instrucciones para una computadora en un lenguaje de programación como C, Pascal o Fortran. Esta lista de instrucciones se conoce como código fuente. Es de naturaleza textual y es legible por personas, aquellos que hablan el idioma. Los programadores hacen todo su trabajo en este código fuente, modificando las instrucciones para corregir errores, agregar funciones o cambiar apariencia programas

Cuando un programador cree que ha perfeccionado las instrucciones de su programa, utiliza un programa especial llamado compilador para traducir sus textos legibles por humanos en números legibles por máquina que corresponden a esas mismas instrucciones. El archivo resultante se puede usar en computadoras, pero es incomprensible para los humanos. Esto se llama código objeto. El ejecutable resultante a menudo se denomina binario, por el sistema numérico utilizado por la computadora. Esta traducción del código fuente al código objeto binario es un proceso unidireccional. No es posible volver a traducir un ejecutable binario al código fuente.

Ejecutable- lo que necesita si desea ejecutar y utilizar el programa. Esto suele ser lo que obtiene cuando compra software empaquetado en una tienda minorista. El código fuente es lo que necesita si desea comprender cómo funciona internamente el programa, o si desea cambiar, agregar o mejorar el programa. Si tiene el código fuente y el compilador apropiado, puede crear un ejecutable binario, pero lo contrario no es cierto.

¿Qué es código abierto?

El software que solo está disponible en un formato ejecutable binario es propietario.

El software de código abierto es un software protegido por derechos de autor que se distribuye como código fuente bajo un acuerdo de licencia que otorga derechos especiales a los usuarios. software, derechos normalmente reservados por el autor. Esta licencia permite a todos los usuarios realizar y distribuir copias binarias del software y el código fuente sin autorización expresa del autor. Además, permite a los usuarios modificar el código fuente y redistribuir las copias modificadas.

Qué significa esto

Te estarás preguntando por qué es importante el Open Source, la importancia de esto radica en que cualquier programador en cualquier parte del mundo puede visualizar el código fuente, corregir errores, agregar nuevas funcionalidades y personalizar el sistema sin restricciones. Así es como se diseñó Linux desde el principio, y es por eso que Linux es un sistema muy estable con pocos errores, amplio soporte de hardware y un conjunto de funciones que crece tan rápido que los proveedores de sistemas operativos propietarios están celosos. El hecho de que el código fuente esté abierto a la revisión de expertos de todo el mundo garantiza que cualquier problema se encuentre y resuelva rápidamente, y que las soluciones se puedan distribuir sin restricciones. Esto es mucho más eficiente y efectivo que depender de una corporación para incluir un "paquete de servicio" en algún lugar de su apretado programa de lanzamiento. Después de todo, no se les paga por los paquetes de servicios.

Lo que realmente importa es que el software de código abierto sea propiedad de la comunidad.. Es un software mantenido por una comunidad de personas (o empresas) que lo utilizan. Está disponible gratuitamente en Internet y cualquiera puede utilizarlo. Más importante aún, se alienta a los usuarios a mejorarlo. Al compartir nuestras mejoras e ideas y aunar nuestros recursos con miles e incluso millones de personas en todo el mundo a través de Internet, la comunidad de código abierto puede crear un software poderoso, estable y confiable a un costo muy bajo.

Pero la comunidad de código abierto es mucho más que gente que escribe software. Todos los que usan el software participan en una comunidad real y tienen voz. No necesitas ser programador. Simplemente informando de un error al autor del programa o escribiendo un sencillo artículo de instrucciones, contribuye a la comunidad y ayuda a mejorar el software. El software de código abierto está escrito, documentado, distribuido y mantenido por las personas que lo usan. Esto significa que es sensible a sus necesidades y no a las necesidades de la corporación que intenta vendérselo.

Por supuesto, muchas empresas también contribuyen al desarrollo de software de código abierto al poner su trabajo a disposición de toda la comunidad porque conocen los beneficios del código abierto. El software que cuenta con el respaldo de toda una comunidad es inherentemente mejor y más estable, y cada vez más empresas comienzan a apreciar este hecho.

La conclusión es que el software de código abierto está escrito por personas que lo usan todos los días, personas que tienen un interés personal en hacer que funcione y funcione bien. No están tratando de agregar características de palabras de moda, están tratando de mejorar la calidad. No gastan tiempo y dinero tratando de convencer a la gente de que su software es excelente, lo gastan tratando de hacer que su software sea excelente.

Recursos

"Código abierto" es una frase de marca registrada que describe las licencias de software que cumplen con la definición de código abierto. La marca registrada es administrada por Open Source Initiative, una organización colaborativa que lanzó Linux y el movimiento de software libre. Solo el software que cumple con los criterios descritos en la definición de código abierto puede llamarse código abierto.

Mucho antes de que se usara el término "código abierto", había una comunidad de personas comprometidas con la idea de "Software Libre", una frase que no se refiere al costo, sino a la libertad de usarlo y modificarlo (piense en libertad como en "libertad de expresión", no "cerveza gratis"). Esta comunidad sigue promoviendo activamente los ideales del software libre. Para obtener más información al respecto, puede visitar The Free Software Foundation https://www.fsf.org/.

Para una discusión detallada de cómo y por qué se desarrolla el software de código abierto, lea el excelente ensayo "La catedral y el bazar" de Eric S. Raymond.

Si está considerando el software de código abierto para su empresa, debe visitar la Iniciativa de código abierto para obtener más información. Eche un vistazo de todos modos y descubra cómo la comunidad de código abierto puede aumentar la estabilidad, la escalabilidad y el poder de su negocio al mismo tiempo que reduce los costos.


La mayor parte del software utilizado se distribuye en formato compilado. Esto sugiere que el código fuente de dichos programas pasa por un compilador especial que lo convierte en un lenguaje comprensible para la computadora. A su vez, el software que utiliza fuente abierta, es todo lo contrario.

Dicho código, por regla general, se distribuye junto con la versión compilada del programa, lo que permite modificarlo o mejorarlo en todos los sentidos para poder realizar una gama más amplia de tareas. Los desarrolladores de dichos programas creen que, con el tiempo, el código abierto permitirá que el producto de software sea más útil y lo elimine de una gran cantidad de errores.

Hay varios criterios de elegibilidad para programas de código abierto:

  • distribución gratuita del paquete de software, pero al mismo tiempo puede ser parte de un proyecto comercial;
  • aplicación obligatoria del código fuente;
  • la posibilidad de que cualquier persona edite el código fuente;
  • la capacidad de distribuir versiones modificadas de programas;
  • no debe haber ningún requisito para excluir otro software o interferir con su funcionamiento.

Consideremos uno de los ejemplos más llamativos de software que acompaña al código fuente abierto que ha recibido distribución mundial. A principios de la década de 1990, el estudiante finlandés Linus Torvalds desarrolló un nuevo Sistema operativo, basado en Unix, que hoy se conoce como linux. El sistema fue lanzado bajo un acuerdo de licencia. Licencia Pública General GNU, que contenía una definición de fuente abierta desde un punto de vista legal. Suficiente un gran número de Los programadores comenzaron a utilizar y mejorar este sistema operativo. Habiendo recopilado mejoras de programadores de todo el mundo en un solo todo, en 1994 Linus Torvalds lanza la versión 1.0 de Linux. Previo a esto, la numeración de versiones se realizaba a partir de cero.

Con el tiempo, hubo cierta preocupación general de los consumidores con respecto a la falta de garantía, así como de soporte técnico para dicho software. Entonces, Red Hat Software crea un paquete de software oficial de Red Hat Linux que logran vender. La característica más significativa de un sistema operativo tan comercializable fue garantia y soporte tecnico, lo que no es menos importante.

Varias otras empresas también estaban desarrollando nuevas versiones de Linux para la venta, y estos paquetes fueron adicionalmente equipado con varios software, entre los cuales: el navegador de Internet Mozilla, creado sobre el kernel de Netscape, el servidor web Apache, el lenguaje para preparar scripts web Perl, el formato gráfico archivos PNG y muchos otros. Además, hay versiones de los paquetes de software enumerados desarrollados para el sistema operativo. sistemas Windows y androide Esto sugiere que los programas de código abierto están disponibles no solo para computadoras, sino también para dispositivos móviles.

Resumiendo, vale la pena decir que los programas que vienen con su código fuente abierto tienen una serie de desventajas. En primer lugar, esto variedad de versiones, como resultado de lo cual el perfeccionamiento de un programa puede dar lugar a la creación de un nuevo paquete de software independiente. Lo segundo a destacar es uso del usuario programas obsoletos , en los que algunos errores pueden no corregirse, no es posible trabajar con nuevos formatos de archivo, etc. Un ejemplo de tal caso es el programa Microsoft Word y Open Office. Si alguna fórmula compleja está escrita en el primer paquete, entonces el segundo simplemente no puede leerla.

Además, entre el software de código abierto no existen los llamados paquetes especiales para la contabilidad y la elaboración de informes. Otro inconveniente está directamente relacionado con el hardware, el hecho es que al cambiar de Windows a Linux, se debe tener en cuenta que los controladores de Linux no existen para todos los modelos de dispositivos informáticos, lo que provocará un mal funcionamiento del sistema.

Sin embargo, no olvidemos los aspectos positivos de dicho software, porque El código abierto tiene muchos beneficios.. En primer lugar, todo el software de código abierto se distribuye gratis. En segundo lugar, tal los programas aparecen mucho más rápido a veces comercial debido al hecho de que varios miles de personas están involucradas en el desarrollo a la vez, y no todas las empresas pueden pagar el trabajo de varios miles de programadores. Lo último que hay que tener en cuenta es la preocupación opciones de solución rápida de problemas, gracias a la cual los programas de código abierto funcionan de forma más estable que los comerciales.

El software de código abierto (OSS) es software de computadora distribuido con su código fuente disponible para su modificación. Generalmente, el software incluye una licencia para que los programadores modifiquen el software de cualquier forma. Pueden corregir errores, mejorar funciones o adaptar el software para satisfacer sus necesidades. La Open Source Initiative (OSI) es el organismo líder en el campo del OSS; su definición de software de código abierto cumple con las reglas de 10 criterios.

Éstos incluyen:

  • distribución de software
  • Disponibilidad del código fuente
  • Distribución de licencias
  • Propiedades de licencia
  • Anti-discriminación

Licencias

Diferentes licencias permiten a los programadores modificar el software con diferentes términos. OSI aprueba licencias que cumplen con su definición de software de código abierto. 5 de las licencias más populares según Black Duck Knowledge Base:

  1. licencia MIT
  2. Licencia Pública General GNU (GPL) 2.0
  3. Licencia Apache 2.0
  4. Licencia Pública General GNU (GPL) 3.0
  5. Licencia BSD 2.0 (cláusula 3, nueva o revisada)

Cuando cambia el código fuente, uno de los requisitos de OSS es incluir lo que ha cambiado, así como sus métodos. El software creado después de la modificación del código puede ser freeware o freeware.

Diferencia entre código abierto y software comercial

El software disponible comercialmente o el software propietario no proporciona acceso a su código fuente porque el software es propiedad de otra persona. propiedad intelectual.

Como resultado, los usuarios a menudo pagan por ello.

OSS, por otro lado, es un esfuerzo de colaboración: el software es una propiedad intelectual común entre todos los que ayudaron a desarrollarlo o modificarlo.

Software de código abierto vs. Software libre

Contrariamente a la creencia popular, ninguno de ellos se enfoca en el costo o la desventaja de estos programas.

El código abierto implica la disponibilidad gratuita del código fuente y la distribución. El software libre, de la misma manera, incluye la modificación del código, pero enfatiza que a los usuarios que les gusta el software libre les gusta hacer lo que les gusta. La Free Software Foundation establece 4 condiciones para que el software se considere completamente libre.

Además, el software se puede clasificar como freeware. Esto significa que los usuarios descargan el software de forma gratuita, pero no pueden realizar ningún cambio en su código fuente.

Beneficios del software de código abierto

Si bien el costo es la fuerza impulsora, el OSS tiene varios beneficios adicionales:

  • Resultados de alta calidad cuando el código fuente se comparte, prueba y corrige.
  • Esta es una valiosa oportunidad de aprendizaje para los programadores. Pueden aprender y aplicar habilidades para los programas más populares disponibles en la actualidad.
  • Muchos consideran que el software de código abierto es más seguro que el software propietario porque los errores se identifican y corrigen rápidamente.
  • Dado que el software de código abierto es de dominio público, hay pocas posibilidades de que se vuelva inaccesible. Esto es importante para proyectos a largo plazo que dependen de estas herramientas durante la duración del proyecto.
  • La mayor parte del software es gratuito. Sin embargo, pueden surgir costos más adelante, como suscripciones o tarifas de soporte.

Tipos populares de software de código abierto

Las tecnologías de código abierto han ayudado a crear gran parte de Internet.

Además, muchos de los programas que usted y yo usamos todos los días se basan en tecnologías de código abierto. Por ejemplo, Android OS y Apple OS X están basados ​​en kernel y son Unix/BSD de código abierto, respectivamente.

Otro software popular de código abierto:

  • navegador web Mozilla Firefox
  • cliente de correo Thunderbird
  • Lenguaje de secuencias de comandos PHP
  • Lenguaje de programación pitón
  • servidor servidor web apache
  • > Código Abierto y Desarrolladores

Los proyectos OSS son oportunidades de colaboración que mejoran las habilidades y crean conexiones en el campo. Los desarrolladores deben estar familiarizados con las herramientas de desarrollo estándar de código abierto.

Herramientas de comunicación

  • - Correo electrónico, mensajes en tiempo real, foros y wikis ayudan a los desarrolladores a encontrar soluciones o compartir ideas entre sí. Sistemas de control de versiones distribuidos
  • - Cuando varios desarrolladores en diferentes ubicaciones geográficas cambian datos y archivos, estos sistemas administran diferentes versiones y actualizaciones. Seguimiento de errores y listas de tareas
  • - Permita que los proyectos a gran escala supervisen los problemas y realicen un seguimiento de sus soluciones. Herramientas de prueba y depuración
  • - Automatización de pruebas durante la integración del sistema y depuración de otros programas. Conclusión

Miles de proyectos de código abierto ofrecen alternativas al software propietario. Trabajar en el proyecto OSS como un camino hacia una carrera en desarrollo de software. Además, los programadores pueden perfeccionar sus habilidades trabajando en los productos de software más grandes del mundo. Facebook, Google y LinkedIn como Open Source, para que los desarrolladores puedan compartir conocimientos, implementar soluciones y contribuir a productos estables y funcionales.

Muchas personas compran varios programas o usan versiones pirateadas pirateadas. Los usuarios ven la interfaz gráfica del programa, pero el código de este producto suele estar oculto. En este sentido, es casi imposible cambiar el software, lo que garantiza la protección del autor de aquellos que quieren copiar el código del programa y asignárselo a sí mismos. Pero, a pesar de esto, cada vez hay más programas denominados "Open Source" en mundo moderno. Comprendamos qué son los programas de código abierto y cuáles son sus aspectos positivos y negativos.

¿Qué se puede considerar de código abierto?

Casi todo el software llega al usuario final ya como software listo para usar. Estos son programas bastante funcionales con una interfaz agradable y fáciles de usar. Si el código de este producto está abierto, cualquiera puede cambiarlo, ofrecer sus propias opciones para corregir los errores encontrados o hacer algún tipo de innovación. Por lo tanto, la calidad de este producto mejora con el tiempo. Ejemplos de sistemas operativos de código abierto son linux, Unix, ubuntu.

Todo el mundo está familiarizado con oficina de microsoft , cuyo análogo, pero ya de código abierto, es oficina abierta. Navegadores Mozilla Firefox y Google Chrome también son software de código abierto. Hay una gran cantidad de productos similares, muchos usan una gran cantidad de software y no sospechen que ninguno de estos puede ser un programa de código abierto.

Funciones de código abierto

Para que un software se llame programa, no basta con que su código esté abierto a todo el mundo. Tal programa debería ser absolutamente libre. Además, con un uso posterior y un intento de cambiar el código, el usuario tampoco tiene que pagar nada. Cualquiera tiene derecho a distribuir libremente este producto y, como se mencionó anteriormente, cambiarlo. Dichos programas no tienen restricciones en cuanto al alcance y las condiciones de uso. Se pueden utilizar para hacer negocios, investigación, educación, uso para sus propios fines una cantidad ilimitada de tiempo.

Licencia de software de código abierto

La licencia de dichos programas también es gratuita. No hay absolutamente ninguna restricción en la aplicación, modificación, distribución, uso con otro software compatible. Además, es tecnológicamente neutral para todos los demás programas existentes.

Pros y contras de los programas de código abierto

A diferencia del clásico programas con licencia, están desarrollados por un grupo de programadores libres, por lo que son gratuitos.

La segunda ventaja importante es que podemos actualizar los datos del programa. Un buen programador, habiendo entendido el código, puede agregar nuevas opciones al programa o mejorar el trabajo de las funciones existentes. Por ejemplo, usuario Mac OS no puede cambiar su sistema operativo, a diferencia de linux, que todos pueden no solo personalizar a su discreción, sino también agregar funciones individuales. Como resultado, obtendrá un producto completamente nuevo, que es muy conveniente de usar. Si el programa resultante es realmente bueno, puede patentarse e incluso venderse (!)

Otra ventaja indiscutible de los programas es su protección contra virus. Casi todos los virus están escritos para aplicaciones ventanas y malware en el mismo linux cantidad insignificante. Por lo tanto, la probabilidad de contraer un virus utilizando un sistema operativo de código abierto es muy pequeña.

Hoy en día, muchas organizaciones se están moviendo hacia el uso de software de código abierto. Esto reduce los costos y minimiza la posibilidad de un hackeo del sistema.

Pero cualquier medalla, como sabes, tiene dos caras, te lo diremos. sobre los contras del código abierto programas

Si tiene algún problema con el software, normalmente se pone en contacto con el soporte técnico. El software de código abierto no tiene uno. Este problema surge porque el programa ha sido modificado por diferentes programadores de todo el país o incluso del mundo. Así que tendrás que buscar una solución al problema en los espacios abiertos de la red. Internet o descúbrelo tú mismo.

El segundo inconveniente surge nuevamente debido al hecho de que cualquiera puede cambiar el código del programa. A menudo, las opiniones de las personas pueden no coincidir y esto provoca conflictos en la modificación del producto. Esto puede llevar al colapso de un proyecto en el que muchas personas han estado trabajando durante mucho tiempo.

también bajo fuente abierta a menudo disfrazado malware, distinguirlos del software seguro real a veces puede ser muy difícil.

A pesar de que estos programas tienen algunos inconvenientes, cada vez más usuarios se interesan por ellos. Hoy en día, cada vez más productos se crean con código abierto. Esto significa que tales programas tienen futuro y vale la pena prestarles atención.