Hospedaje
Última actualización: 2023-04-27 | Mejora esta página
Hoja de ruta
Preguntas
- ¿Dónde debería alojar mis repositorios de control de versiones?
Objetivos
- Explicar diferentes opciones para realizar trabajos científicos.
La segunda gran pregunta para los grupos que quieren liberar su trabajo es dónde hospedar su código y datos. Una opción es que el laboratorio, departamento o la universidad provean un servidor, gestionen cuentas y respaldos, etc. El principal beneficio de esto es que clarifica quién es dueño de qué, lo cual es particularmente importante si algún material es sensible (es decir, se relaciona a experimentos que involucran sujetos humanos o pueden ser usados en una patente). Las principales desventajas son el costo de proveer el servicio y su longevidad: un científico que ha pasado diez años colectando datos quisiera asegurarse de que estos estarán disponibles en diez años más, pero eso está más allá del tiempo de vida de muchos de los subsidios que financian la infraestructura académica.
Otra opción es comprar un dominio y pagar a un Proveedor de Servicios de Internet (ISP por sus siglas en inglés) para hospedarlo. Esto da al individuo o grupo mayor control, y le da la vuelta a problemas que pueden surgir cuando se cambien de una institución a otra, pero requiere más tiempo y esfuerzo para configurar que la opción anterior o siguiente.
La tercera opción es utilizar un servicio de hospedaje público como
GitHub, GitLab, BitBucket o SourceForge. Cada uno de estos
servicios provee una interfaz web que permite a las personas crear, ver
y editar sus repositorios de código. Estos servicios también proveen
herramientas de comunicación y gestión de proyectos que incluyen
seguimiento de problemas
, páginas wiki, notificaciones de
correo electrónico y revisiones de código. Estos servicios se benefician
de economías de escalamiento y efectos de redes: es más fácil correr un
servicio grande bien que correr varios pequeños servicios al mismo
estándar. También es más fácil para la gente colaborar. Usando un
servicio popular puede ayudar a conectar tu proyecto con una comunidad
que ya está usando el mismo servicio.
Como un ejemplo, Software Carpentry está en GitHub, donde puedes encontrar el código fuente para esta página. Cualquiera con una cuenta de GitHub puede sugerir cambios a este texto.
Usando servicios grandes y bien establecidos puede también ayudarte a
tomar ventaja rápidamente de herramientas poderosas tales como la
Integración Continua (CI por sus siglas en inglés). CI puede
automaticamente construir el ejecutable a partir del codigo fuente y
probar el software automáticamente cada vez que se hace un
commit
o se somete un pull request
. La
integración directa de CI con un servicio de hospedaje en línea
significa que esta información está presente en cualquier
pull request
y ayudar a mantener la integridad y estándares
de calidad del código. Si bien CI está disponible en situaciones de
auto-hospedaje, hay menos configuración y mantenimiento al usar un
servicio en línea. Más aún, estas herramientas son proporcionadas sin
costo alguno para proyectos de código abierto y están también
disponibles para repositorios privados por una cuota.
Barreras Institucionales
Compartir es el ideal de la ciencia, pero muchas instituciones imponen restricciones al compartir, por ejemplo para proteger propiedad intelectual potencialmente patentable. Si encuentras tales restricciones, pudiera ser productivo indagar acerca de las motivaciones ya sea para solicitar una excepción para un proyecto específico o dominio, o para impulsar una reforma institucional más amplia para el apoyo de la ciencia abierta.
¿Mi Trabajo Puede Ser Público?
Averigua si tienes permitido hospedar tu trabajo abiertamente en un repositorio público. ¿Puedes hacer esto unilateralmente, o necesitas permiso de alguien en tu institución? Si ese es el caso, ¿de quién?
Puntos Clave
- Los proyectos pueden alojarse en servidores de la universidad, en dominios personales o públicas.
- Las reglas con respecto a la propiedad intelectual y el almacenamiento de información confidencial se aplican sin importar dónde se alojan el código y los datos.