Cómo convertir un programa sencillo para uso personal en un programa comercial

En este artículo te hablamos de qué pasos habría que dar para convertir un programa de uso personal en un programa para uso comercial. Para ello en primer lugar, debemos diferenciar entre los dos tipos de programas. Una vez hecho esto, podemos pasar a enumerar los pasos a dar para convertir un programa para uso personal en un programa para uso comercial.

 

¿Cómo se define que es un programa no comercial y qué es un programa comercial

Programa no comercial vs programa comercial:

  • Programa no comercial:
  • Llamamos programa no comercial a un programa hecho para uso académico (por ejemplo una prácticas de programación, un programa hecho para aprender a manejar un lenguaje, o un programa hecho para preparar un examen) o a un programa hecho para uso personal (un programa para resolver un problema cotidiano o para ayudar a una afición/hobby que tengamos).

  • Programa comercial
  • Un programa comercial o programa de licencia propietaria o privativa es aquel que se comercializa en el mercado y qué tiene unas funcionalidades le dan un beneficio a su usuario y por cuyo uso y/o mantenimiento la compañía u organización que las desarrollo pide una cantidad económica. Quedan excluidos por tanto de esta definición los programas de código abierto que pueden desarrollar comunidades técnicas de muy diverso tipo.
    Debemos aclarar que existen muchos tipos de licencias de software, entre otros: Software Libre o Free Software, Copyleft, Licencia Pública General GNU (GNU General Public License GPL), Debian, Open Source, BSD, org, Software con Dominio Público, Software Semi-libre, Freeware, Shareware, Software Propietario, Adware, Trial, Demo, Crippleware, Donationware, Abandonware. De todas ellas nosotros abordaremos las de Software Propietario, a las que identificamos con las que porta todo programa comercial, si bien en algunos casos un programa de tipo comercial pueda venir bajo otros tipos de licencia.

Las diferencias que encontramos entre los programas no comerciales y los comerciales son pocas pero muy importantes:

  • Ánimo de lucro del comercializador del programa
  • Mejor terminación del programa (este punto le desarrollamos luego mejor)
  • Se espera que el usuario obtenga un beneficio económico
  • Responsabilidad del usuario: Si un usuario emplea una copia pirata del programa con ánimo de lucro, la empresa o entidad comercializadora/desarrolladora le puede exigir responsabilidad legal porque no se ha cumplido el convenio de licencia.

Las similitudes que encontramos en los los programas no comerciales y los comerciales son muchas, por supuesto:

  • Todos se ejecutan en un ordenador o un dispositivo móvil o similar, según el caso
  • Todos se ejecutan en un determinado sistema operativo, como Windows 10, 9, 8, IOS, android, etc
  • Todos deberían tener al menos un pequeño manual de uso, que puede llegar a ser un breve TXT en algunos casos
  • Todos pueden proporcionar algún tipo de beneficio al usuario ya sea económico o no
  • Todos pueden tener errores a corergir en las próximas versiones
  • La mayoría son susceptibles de portar algún virus o troyano, en casos puntuales

Los puntos de vista del usuario deben ser tenidos en cuenta cada vez más. Nadie quiere desarrollar un programa más o menos complejo para recibir un montón de críticas o para que no lo use nadie.

 

¿Qué diferencias existen entre un programa no comercial y un programa comercial para el usuario?

En algunos casos, el usuario podría no encontrar apenas diferencias entre dos programas con funciones similares, pero cada uno procedente de un origen distinto: uno de uso no comercial y otro de uso comercial. Pero son casos raros, en los que el usuario es avanzado y el programa realiza una función muy simple.

  • La existencia de una documentación más completa y cuidada sobre el uso del programa
  • Una mayor usabilidad. La facilidad de uso es muy valorada por muchos usuarios
  • Ayuda en línea. Siguiendo con la idea anterior, un programa no comercial en principio no tiene ayuda en línea mientras que un programa comercial que se precie debe proporcionar ayuda en todo momento al usuario.
  • Interface de usuario. Un programa no comercial en muchas ocasiones se maneja en línea de comandos o con una interfaz gráfica parca, a diferencia de un programa comercial que puede tener un interfaz de usuario muy compleja para facilitar el uso rápido y eficiente del programa o para ofrecerle una enorme cantidad de opciones.
  • Permisos de usuario. Un programa no comercial en principio es de libre acceso, mientras que un programa comercial puede tener un sistema de gestión de permisos de usuario, con perfiles tipo administrador, técnico avanzado, técnico medio y usuario genérico o básicos.
  • Compatibilidad de formatos. Un programa no comercial puede usar formatos propios en muchas ocasiones porque es lo más fácil de programas, pero este programa que tendrá más valor para los usuarios si puede importar datos de diversos formatos propietarios o de código abierto existentes en el mercado. Esto es lo que hacen los programas comerciales.
  • Continuidad. Un programa no comercial es desarrollado en un momento dado por un usuario con un cometido muy concreto. Es posible que cuando le encuentre el usuario, este programa haya sido abandonado por su desarrollador y la última versión sea muy antigua y dé problemas de compatibilidad. A diferencia, un programa comercial se supone que va a tener una vida útil larga, con lo que se irá sucediendo una serie de versiones a lo largo del tiempo.
  • Conectividad. Un programa comercial puede manejar sólo datos locales o incluso tomar los datos en su propio código. En general, de un programa comercial se espera que tenga una buena conectividad para actualizar versiones, perfiles, idiomas, etc.
  • Soporte . Anque un programa no comercial puede dar un cierto nivel de soporte por parte de su programador, debe tenerse encuenta que en general los programas comerciales suelen dar un soporte mucho más amplio. Es cierto que en muchos casos este soporte podrá ser juzgado como insuficiente por muchos usuarios, pero eso es otra historia.
  • Plataformas. Un programa no comercial, en principio se hace para una plataforma concreta como puede ser el entorno Wintel de Windows 10, si bien hay casos de programas no comerciales compilados para diversas plataformas. Un programa comercial lo normal es que esté disponible para 32 y 64 bits para entorno Windows y quizás también como aplicación en la nube, o incluso para dispositivos móviles android o IOS.

Los programas deben ser cada vez más automatizados, autoconfigurables y versátiles. Es lo que se espera de ellos en la actualidad. A través de Internet se pueden auto-actualizar para ir adquiriendo más características o corregir errores.

¿Qué diferencias existen entre un programa no comercial y un programa comercial para el programador?

Esencialmente la diferencia consiste en la existencia de un número mucho mayor de horas de trabajo dedicadas por el programador o más frecuentemente por el equipo de programadores, así como en el empleo de una filosofía distinta. Para salvar la distancia existente entre un programa no comercial y otro que sí lo es, se de añadir y cambiar lo siguiente:

  • Orientación al usuario básico. Este cambio lo cambia todo respecto a muchos programas no comerciales, porque requiere que el programa sea «más listo» entre comillas.
  • Criterios comerciales. Se deben considerar las necesidades del cliente tipo al que está dirigido el programa.
  • Detección de errores. Es necesario programar gran cantidad de funciones/rutinas que verifiquen continuamente que los datos y procesos se están realizando de forma correcta. La versión no comercial en principio tiene una detección de errores muy limitada, y asume que su usuario tiene un conocimiento muy completo de la información que debe proporcionar al programa y de los procesos que debe seguir, mientras que un programa comercial está pensado para usuarios que pueden cometer muchos errores al insertar datos, configurar opciones, elegir archivos, etc.
  • Integración de nuevas librerías y compatibilidad con otros programas. Fruto de las mayores opciones y posibilidades que debe ofrecer un programa comercial, los programadores deben añadir numerosas capas de software sobre el programa base hasta dotarle de toda la funcionalidad extra necesaria.

 

¿Qué diferencias existen entre un programa no comercial y un programa comercial para la organización desarrolladora/comercializadora?

En casos simples, puede coincidir el programador con la organización desarrolladora/comercializadora.

Las diferencias son claras:

  • Necesidad de satisfacer una necesidad o demanda del usuario
  • Necesida de invertir en sistemas de protección anticopia
  • Necesidad de invertir en dar soporte al usuario
  • La existencia de un contrato de licencia que estipule todos los aspectos legales a seguir por el usuario del programa
  • Necesidad de amortizar la inversión

Hasta aquí estas consideraciones basadas en la teoría y en la práctica. En ocasiones los usuarios pueden encontrar ejemplos puntuales de programas no comerciales que sean mejores que otros programas comerciales, porque tengan detrás organizaciones sin ánimo de lucro que persiguen resolver una necesidad de un amplio grupo de usuarios.

En muchos otros casos, un usuario acostumbrado a un determinado programa comercial para resolver o realizar una serie de tareas y procesos, cuando se vé obligado a tener que buscar un equivalente no comercial, encuentra como se le complica la vida sobremaners porque lo que antes hacía con un sólo programa ahora lo tiene que hacer con varios y aún así le supone más trabajo que antes y el proceso general realmente no es igual.

No siempre es fácil alcanzar conclusiones con una temática como la actual. Es difícil generalizar en un contexto donde conviven programas para múltiples plataformas, con diversos tipos de funciones (editores, grabadores, descarga, análisis, etc) y diversos tipos de usuarios (ama de casa, estudiante, autónomo, empresario, Administración, etc).

 

Conclusiones

La complejidad de los procesos que realizan profesionales y empresas es creciente y la necesidad de ahorrar costes y mejorar en competitividad obliga a que la mejora del software sea continua. En muchas ocasiones las soluciones comerciales disponibles no son suficientes y requieren adaptaciones o personalizaciones muy complejas de desarrollar y con un alto coste de tiempo y dinero, con lo que en muchos casos no se llevan a cabo en su integridad.

Es muy importante que el usuario tenga claro o pueda llegar a tener claro qué es lo que quiere hacer, de qué archivos/formatos/fuentes de datos parte y cuáles quiere llegar y de qué modo. Sin eso jamás será posible ni encontrarle un programa comercial adecuado ni desarrollarle un programa a medida en el caso de que no exista nada en el mercado como lo que necesita.

Por todo lo anterior desde aquí, podemos considerar a modo de conclusión, que es importante valorar bien la labor de los programadores tanto los técnicos como los jefes de proyecto, porque hacer bien un programa requiere tiemp y recursos, no es nada fácil y después del esfuerzo hecho muchas veces el programa puede quedar obsoleto o superado por el dinamismo del mercado o ser víctima de una piratería excesiva e injusta.