¿Por qué deberías compartir código si eres desarrollador de software?

Compartir código fuente

Seguro que más de una vez has acudido a repositorios como GitHub, GitLab o Bitbucket para obtener código que de una forma u otra necesitabas para uno de tus proyectos, o simplemente porque como a mi, te gusta leer código fuente de otros desarrolladores para seguir aprendiendo y ver otras formas de enfrentar los mismos desafíos que encuentras en tus proyectos. Casi cualquier cosa relacionada con el mundo de la programación que puedas necesitar existe en estos repositorios o en herramientas tipo Codepen, Plunker y Koding a las que encontramos incontables referencias desde StackOverflow (no os imagináis lo que hubiese agradecido este sitio web cuando empecé a programar).

Pero pese a que cada día se comparte más y más código, aún no es una práctica común entre las empresas. Uno de los problemas con los que nos encontramos a la hora de compartir código es que muchos desarrolladores exigen un apoyo técnico o correctivo, incluso adaptativo para poder utilizarlo en un proyecto concreto sin tener en cuenta que es un código proporcionado de manera totalmente gratuita. Es cierto que cuando se comparte código fuente se suele tener un plan de mantenimiento para el mismo pero los tiempos que se manejan no suelen ser como los dedicados al soporte de software comercial debido a que en la mayoría de las ocasiones es este último el que da soporte económico para poder mantener de manera altruista el primero.

Frente a este primer inconveniente nos encontramos con una ventaja muy importante y es que el compartir parte de nuestro código puede facilitar la detección de errores y la realización de mejoras.

Las excusas más habituales a la hora de decidir no compartir paquetes, librerías o simplemente rutinas por parte de las empresas son:

¿Por qué voy a invertir tiempo en pulir el código?

Si vas a vender un software deberías preocuparte de que todo el código sea limpio, claro, autodocumentado y que cumpla las buenas prácticas de cada framework o tecnología, es lo mínimo que merece un cliente. Si se trata de un proyecto propio tampoco deberías descuidar todo lo mencionado anteriormente.

¿Cómo voy a compartir este código que vale una fortuna?

(déjame que lo dude)

¿Crees que tienes la gallina de los huevos de oro? Es cierto que hay librerías o paquetes que valen millones pero la gran mayoría de las empresas y desarrolladores no poseen un proyecto de tal envergadura. Si este es el caso, suele ser un código lo suficientemente complejo como para necesitar de un soporte “premium” y raramente suele compensar prescindir de este soporte, además no hay que olvidar que hay distintos tipos de licencias que pueden protegernos más o menos a la hora de compartir nuestro código.

¡Es un riesgo exponer todos los posibles bugs!

Si te da miedo exponer los posibles bugs, has de saber que seguramente el compartir tu código te permita detectarlos y corregirlos con mayor celeridad, a no ser que ya los conozcas pero no quieras invertir tiempo en solucionarlos.

Desde SquareetLabs tomamos la determinación de compartir partes de nuestro código que puede resultar útil a otros desarrolladores porque nos dimos cuenta de que cuando necesitábamos alguna funcionalidad genérica ya había una solución desarrollada por Spatie, una empresa belga que tiene gran número de paquetes disponibles  en github listos para su uso. Estos desarrollos, que cubrían en gran parte nuestras necesidades nos permitía ahorrar tiempo y costes que repercutían de manera directa sobre nuestros clientes. Y qué decir de SpringBoot, que facilita enormemente la configuración inicial de un proyecto Java con Spring y que también comparte su código en Github.

Salvando las distancias con ambas empresas, que son en distinta medida más grandes y fuertes que la nuestra, en SquareetLabs quisimos ofrecer parte de nuestras soluciones para que estén disponibles para su uso por parte de cualquier desarrollador y la verdad es que el feedback no podía ser mejor, hasta el momento no nos hemos encontrado con ningún usuario exigente y si con muchos que aportan correcciones, sugerencias y mejoras que han hecho que compartir este código repercuta de manera positiva en el mantenimiento de los proyectos de nuestros clientes.

Algunos de los desarrollos a medida en los que usamos estos repositorios son un sistema de peritación digital y plataforma de gestión de eventos online así como en varios desarrollos de aplicaciones para móviles  desarrolladas en los últimos meses.

Por qué creemos que no deberías compartir código si eres desarrollador de software

El único motivo por el que creemos que no se debe de compartir código es cuando este haya sido desarrollado gracias al know-how proporcionado por el cliente o cuando aún no siendo así, la publicación del código pueda suponer algún tipo de perjuicio para él. 

Mantengámonos en contacto

Llámanos o escríbenos en cualquier momento, nos esforzamos por responder a todas las consultas en 24 horas en días hábiles.

Somos tu empresa de desarrollo de aplicaciones y software a medida.

Estamos seguros de que podremos dar respuesta a tus necesidades y empezar a crecer contigo ayudante a hacer despegar tu idea o negocio

Convierte tu idea en realidad

Adelante, escríbenos, quizá este mensaje sea un punto de inflexión para tu proyecto.

Le informamos que los datos personales que nos proporcione rellenando el presente formulario serán tratados por SquareetLabs S.L. como responsable de esta web. Estos datos podrán ser usados para gestiones relacionadas con la resolución de su consulta. Marcando la casilla de aceptación de nuestros Términos y condiciones de uso, usted otorga su consentimiento expreso para la recogida y el tratamiento de sus datos personales exclusivamente con estos fines. Los datos que nos facilite serán almacenados en servidores propios de SquareetLabs ubicados dentro de la UE.