Éstas incluyen:
- Redistribución de software
- Disponibilidad de código fuente
- Distribución de licencias
- Propiedades de licencia
- Anti-discriminación
Licencias
Las diferentes licencias permiten a los programadores modificar el software con varias condiciones adjuntas. El 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 Knowledgebase son:
- Licencia MIT
- Licencia pública general de GNU (GPL) 2.0
- Apache License 2.0
- Licencia pública general de GNU (GPL) 3.0
- Licencia BSD 2.0 (cláusula 3, nueva o revisada)
Cuando cambia el código fuente, uno de los requisitos de OSS es la inclusión de lo que ha cambiado, así como sus métodos. El software creado después de las modificaciones del código puede o no estar disponible de forma gratuita.
La diferencia entre software libre y comercial
El software disponible comercialmente o el software propietario no da acceso a su código fuente porque el software es propiedad intelectual de otra persona.
Como resultado, los usuarios a menudo pagan por ello.
OSS, por otro lado, es un esfuerzo colaborativo: el software es propiedad intelectual compartida entre todos los que han ayudado a desarrollarlo o modificarlo.
Software de código abierto vs. Software libre
Contrariamente a la creencia popular, ninguno se centra en el costo, o la falta de eso, de los programas.
Open Source implica la disponibilidad gratuita de código fuente y distribución. El software libre, de la misma manera, incluye la modificación del código pero enfatiza las libertades que disfrutan los usuarios para hacer lo que les gusta con el software. La Free Software Foundation describe 4 condiciones para que el software se considere completamente gratuito.
Además, el software se puede clasificar como freeware. Esto significa que los usuarios descargan el software sin costo alguno, pero no pueden realizar ningún cambio en su código fuente.
Ventajas del software de código abierto
Si bien el costo es un factor determinante, OSS tiene varios beneficios adicionales:
- Resultados de alta calidad cuando el código fuente se pasa, se prueba y se repara.
- Es una valiosa oportunidad de aprendizaje para los programadores . Pueden aprender y aplicar habilidades a 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 solucionan rápidamente.
- Como el software de código abierto es de dominio público, hay pocas posibilidades de que no esté disponible. Esto es importante para los proyectos a largo plazo que dependen de estas herramientas durante la duración del proyecto.
- La mayoría del software es gratis. Sin embargo, los costos pueden surgir más tarde, como las suscripciones o las tarifas de soporte.
Tipos populares de software de código abierto
Las tecnologías de código abierto ayudaron a establecer 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 se basan en el kernel y las tecnologías de código abierto Unix / BSD, respectivamente.
Otro popular software de código abierto es:
- El navegador web Firefox de Mozilla
- Cliente de correo electrónico Thunderbird
- Lenguaje de scripting PHP
- Lenguaje de programación Python
- Servidor HTTP Apache HTTP
- sistema de bases de datos
Código abierto y desarrolladores
Los proyectos OSS son oportunidades de colaboración que mejoran las habilidades y construyen conexiones en el campo. Los desarrolladores deben ser competentes con las herramientas estándar de desarrollo de código abierto.
- Herramientas de comunicación : el correo electrónico, la mensajería en tiempo real, los foros y los wikis ayudan a los desarrolladores a encontrar soluciones o intercambiar ideas entre ellos.
- Sistemas de control de revisión distribuidos : cuando varios desarrolladores en diferentes ubicaciones geográficas modifican datos y archivos, estos sistemas administran las diferentes versiones y actualizaciones.
- Seguimiento de errores y listas de tareas : permite que los proyectos a gran escala supervisen los problemas y realicen un seguimiento de sus correcciones.
- Herramientas de prueba y depuración : automatice las pruebas durante la integración del sistema y depure otros programas.
Conclusión
Miles de proyectos de código abierto son alternativas al software propietario. Trabajar en un proyecto OSS como una vía para construir una carrera en el desarrollo de software. Además, los programadores pueden perfeccionar sus habilidades trabajando en los programas de software más grandes del mundo. Facebook, Google y el software de lanzamiento de LinkedIn como de código abierto, para que los desarrolladores puedan compartir conocimiento, innovar soluciones y contribuir a productos estables y funcionales.