Mostrando las entradas con la etiqueta Software. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Software. Mostrar todas las entradas

jueves, agosto 27, 2009

¿De quién es el código fuente?

En mi época de universitario (1997 - 2002) tuve profesores de diferentes pensamientos respecto a la forma de administrar el código fuente en un proyecto de software, los antiguos defendían que ningún sistema debe ser perfecto, se deben dejar defectos en el software, logrando que el cliente siga autorizando trabajo con respecto al mantenimiento, idea aberrante e incluso poco ética (Código de Etica de la Ingeniería de Software); un servidor defiende la idea que el ser llamado nuevamente por un cliente para dar continuidad a un proyecto o para llevar a cabo otro, debe ser únicamente por el nivel de servicio otorgado y por el grado de éxito logrado en proyectos anteriores, es tan cierto que en las empresas de Servicios, la recomendación de "boca a boca" es la mejor y peor publicidad que existe, he perdido oportunidades de trabajo por una mala recomendación de un cliente que tuvo mala experiencia con Creando Sistemas, he logrado proyectos de años por la recomendación de un ex-alumno o por clientes que le cumplimos el tiempo y presupuesto inicial.

¿De quién es el código fuente de un proyecto? No existe una verdad absoluta en esta respuesta, pero si existen parámetros para poder aclarar esta situación. En primera instancia debemos entender que el código fuente es un concepto intangible, lleno de prejuicios intelectuales, sentimentales y técnicos, todos parte de la naturaleza humana, escribir código fuente es sobre todas las cosas, una forma de expresión y una actividad que genera un valor por sí mismo, escribimos código por pasión, por lograr mayor conocimiento, reconocimiento, motivaciones personales antes que las materiales... nos gusta estudiar otro código, mejorarlo, compartir métodos y clases, explicar algoritmos y lograr que el usuario piense por varios días que eres algo parecido a un Semi-Dios, aunque nunca faltarán momentos de objeción por parte de los usuarios finales de nuestro ilimitado talento... esto quiere decir que es una labor complicada permitir que nos impongan lineamientos formales de trabajo para todas nuestras líneas de código, que concebimos de nuestra propiedad, la analogía completa nos llevaría a exigir que las obras literarias o producciones filmicas, entregarán junto con la versión final de la obra: bosquejos, apuntes, capítulos no publicados y demás conceptos invaluables para el autor... sé que el ejemplo no es exacto, porque la naturaleza del desarrollo de sofware es única, es incomparable, al ser una ciencia joven, tenemos la oportunidad de definir la mejor forma de llevarlo a cabo, define lineamientos para el código fuente de tus proyectos, sé capaz de controlar diversos contextos.

Los derechos sobre el código fuente depende de las políticas contractuales o laborales que se definan para el proyecto, en 5 años de experiencia realizando proyectos de software para las PyME's puedo afirmar que no existe cultura de software en los empresarios, hablar de código fuente, jaja, hablemos de tiempo y dinero, esos son los parámetros para negociar proyectos, ¿Lo tendrás para mañana? ¿Cuánto es lo más barato que me lo dejas?... es responsabilidad obligatoria y única del grupo de desarrollo, informar al cliente acerca de los derechos del código fuente, cuales serán los entregables, derechos de modificación, derechos de comercialización, políticas de mantenimiento posterior a la liberación del proyecto, expliquemos al cliente de que se trata el proceso de desarrollo de software, ¿Somos arquitectos y entregamos planos o somos médicos y damos la medicina para que se cure el paciente?.

Hasta ahora solo me he referido a los fuentes de codificación, sin embargo, las políticas que se definen para cada proyecto deben alcanzar fuentes de diseño gráfico (Photoshop, Corel, etc.), multimedia (Flash, Vídeo, Audio, etc.), análisis (diagramas por ejemplo)... un cliente que paga el desarrollo outsourcing de 3 años de su sistema empresarial, supone que el sistema es de su propiedad, pero nadie le aclaro que los fuentes son del grupo de desarrollo y no serán entregados, el cliente se encontraría en clara desventaja, conozco decenas de casos en empresas de la región; cuando se le pregunta al cliente si le dieron fuentes o alguna documentación, el cliente solo responde, pues creo que todo lo dejaron ahi en la máquina del sistema, esa que esperamos la llamen Servidor.

Actualmente tenemos proyectos de diferente índole respecto a los derechos del código fuente, estamos abiertos a entregar código fuente, esa es la primera idea, la segunda es que deben existir derechos y obligaciones bien definidos para el cliente y el grupo de desarrollo, la tercera idea es utópica, espero que nuestro código fuente caiga en manos de mejores desarrolladores, para que logren éxito y beneficio para la comunidad que atienden, a lo mejor no es tan irreal, todos los días hacemos un poco de eso en Internet...

El código fuente debería ser libre, en ocasiones también gratuito, solo debe ser liberado aquel código fuente en el que todas las partes que aportaron para su creación estén de acuerdo.

Gracias por tu tiempo, espero tus comentarios, salud! lector...

domingo, agosto 24, 2008

Un mes después

Un mes después logre sentarme a escribir una entrada...

Estoy en una etapa de adaptación, de toma de decisiones rápidas a nivel personal, académico y laboral, de largas juntas donde entendemos el mundo que queremos "desarrollar" y describimos los proyectos que podemos hacer realidad; mi hijo mayor ha tomado una dinámica positiva, se han implementado de manera gradual opciones incompletas que traíamos arrastrando y hemos cumplido con los requerimientos de manera satisfactoria las últimas 7 semanas; mi segundo hijo que ha tenido una vida estable y pasiva hasta cierto punto, ha encontrado de nuevo la oportunidad de crecer, para empezar serán unos 20 requerimientos, esta semana que inicia debe quedar cerrado ese trato; por otra parte se han cumplido de manera aceptable, aunque no óptima, el avance en "esos proyectos" que debemos acabar, sigo aprendiendo en esa plataforma grandiosa de Microsoft (hay un poco de sárcasmo), prefiero el entorno WEB, aunque aún no descarto C# como un lenguaje de programación que me dará algunos éxitos; he revisado código de algunos ex-colaboradores, eso ha dado sonrisas, mentadas de madre, aplausos, "bocas abiertas" y por supuesto horas de escribir código.

Hemos identificado los clientes, próximamente llamados cuentas, que debemos terminar de cimentar este año, en todos tenemos proyectos activos y los consideramos áreas de oportunidad; el soporte técnico se ha movido de manera positiva estas últimas semanas, me parece que desde ahora es un reto hacer crecer esta área, es realmente grande el número de clientes potenciales, las actividades son repetitivas y pocas exigen un alto grado de investigación, así que para este pequeño último fragmento del 2008, ventas y soporte tomarán su rumbo nuevamente, la planeación de hace un año no fue en su totalidad como lo esperaba un servidor, esta de más platicar las razones, lo importante es que las tengo bien claras; el punto más complicado a tratar es la parte de ofrecer créditos, hemos encontrado varias situaciones negativas, de hecho aún tenemos una lista de "nuestros queridos deudores", realmente la situación financiera es díficil, pero la mayor parte de esas personas que han dejado de pagar han dejado también de contestar el celular... jejeje

Estas últimas 3 semanas he atendido un proyecto en Tlaxcala, he hablado del mismo en este blog, de hecho estuve en aquella ciudad 9 días (en dos semanas) trabajando con JV, gracias a su familia por la hospitalidad, estamos a punto de terminar la segunda parte del primer proyecto; si todo sale conforme lo planeado, Creando Sistemas estará colaborando la última semana de Octubre en un congreso en Chihuahua, Chihuahua; en este proyecto hemos empezado a utilizar Ajax, ahora debo aprender en donde es oportuno implementarlo y no hacerlo un requisito necesario... si van por Tlaxcala deben pasar a probar las micheladas con camarón, también probé el pulque por primera vez, no todo es desarrollar, salud.

Iniciamos la semana pasada de manera formal, los trabajos del proyecto DyL, trabajamos en conjunto con un publicista, desde ahora llamado DG, ya tenemos nuestros primeros clientes y seguramente habrá resultados positivos en las próximas semanas, armamos el equipo poco a poco, ha sido muy interesante revisar vitaes, conocer otra forma de ver el arte en una computadora, recuerda que para mi el software es un arte.

Para inicios de Octubre estará listo nuestro hijo, lo hemos llamado por el momento EMO, y no se peina con el pelo hacia delante ni sufre de depresiones emocionales, ya se trabaja en el diseño, la funcionalidad en un entorno WEB y la estrategia de venta, no más por el momento.

Debí haber iniciado clases de doctorado ayer sábado, pero no será sino hasta el jueves de 6 a 9 pm; el miércoles me escape al Estadio Azteca a ver como la selección mexicana sufrió de más contra Honduras, espectacular el ambiente.

Hoy terminaron las olimpiadas, eso merece una entrada, será la 101, gracias lector.

martes, octubre 02, 2007

Muere WindowsUE

Escribo textualmente lo encontrado hace unos momentos en www.windowsue.com, me disponia a bajar la última versión, en fin, palabras para reflexionar...

Todo tiene un principio y todo tiene un final.

Han sido más de dos años de existencia, de duro trabajo y de ilusiones compartidas.

He hecho todo lo posible para intentar hacer un poco más fáciles las cosas.

Quizás lo haya logrado, siempre gracias a vosotros.

He hecho lo inimaginable para seguir en pie, para continuar con este proyecto, pero ha sido imposible.

Muchos de vosotros comprenderéis éstas palabras y sabréis que tarde o temprano ese ilusionante principio del que os hablaba, se convertiría en este amargo final.

Pero también comprenderéis que irremediablemente, el contenido de esta Página era una cruzada diaria con el Gran Hermano.

He de ser lógico y coherente y reconocer que lo que aquí he compartido de una manera libre y sin ánimo de lucro, era un reclamo para los defensores de sus derechos.

Aunque nos pese, la realidad es esa.

Me sobran palabras para agradeceros a todos el apoyo que me habéis prestado y echaré de menos muchos buenos momentos y sobre todo a muchos amigos.

Pero todo se ha tornado irremediablemente inviable.

Los avisos que he recibido me han hecho reflexionar y valorar la situación.

He de retirarme, porque una retirada a tiempo es una victoria personal.

Lamento este momento, pero no me arrepiento de lo que he hecho ni de todos los sentimientos que conmigo me llevo.

Muchísimas gracias a todos por brindarme dos años inolvidables y por mostrarme vuestra fidelidad.

WindowsuE.com llega a su fin, pero deja un legado que espero perdure largos años.


SIN PALABRAS...

lunes, febrero 05, 2007

SISE volvio a nacer, encoding la palabra mágica

Por fin pude hacerme un buen tiempo para cambiar de servidor al SISE, para los que desconozcan, hablo del Sistema Integral de Servicios Escolares implementado en la Universidad del Valle de Orizaba (UniVO), el SISE es el primer sistema en donde tuve participación en desarrollo de software, actualmente me encargo de administrarlo: base de datos, requerimientos nuevos, adaptación de opciones, configuración de plataforma, terapias con los usuarios, comidas con los jefes, bla, bla, bla, actividades que me agradan realizar. La historia alrededor del SISE ciertamente requiere un blog entero, asi que solo mencionare aspectos generales y me centrare en lo que hice el día de hoy.

SISE inicio como un proyecto presentado por 3 egresados en el primer trimeste del 2002 a la UniVO para desarrollar un sistema que integrara las actividades de la universidad, entramos a laborar el 15 de mayo del 2002, el SISE empezo a operar el 6 de enero del 2003, llevo casi 2 años de manera individual administrando y mejorando el sistema.

Después de dos discos duros "quemados" y de la insistencia de cambio de máquina para el SISE, basta decir que no corría sobre un servidor, sino sobre una computadora con características básicas, pero con mucha voluntad, nadie puede criticar la voluntad de la computadora, nadie; hace algunos meses se hizo la compra de equipo y colaborando con el departamento de cómputo de la UniVO por fin el SISE podría tener un servidor, aunque este colaborador no había traspasado el sistema al nuevo equipo, hace como 2 meses me lo traje a casa para instalarle el sistema operativo, el equipo es DELL (Pentium 4 2.8, 512 MB, 73 GB HD SCSI), le instale Fedora 5, yo era feliz con Red Hat 9, ¿porque cambiar?, lo mejor no es lo nuevo, sino lo que funciona (punto), pero me conectaron un disco SCSI, el cual no es soportado por Red Hat.

Segui al pie de la letra mi bitácora de migración (documento en Word con chingo de sentencias e instrucciones para ingenieros), en cierto momento tenía mi código fuente respaldado (claro, SISE es software libre para UniVO), la base de datos (un archivo ascii de 63 MB), el servidor nuevo configurado, todo en su lugar.

Copie el código fuente, cambie permisos, cree usuarios de linux (algunos egresados UniVO colaboran con la creación de nuevos módulos), cree usuarios de postgres con sus respectivas contraseñas, edite el archivo de configuración de apache, de postgres (para los accesos remotos), mi carpeta de trabajo, todo era excelente, faltaba el paso final, nunca me había dado errores una restauración de base de datos, entonces escribi:

psql -d sise -f /zize/LunesFeb05.out

Se creaban las tablas, me fascina ver los mensajes de esa restauración, todo en orden... bueno, no todo, comenzo a fallar por que me faltaban 2 usuarios de postgres por crear, maldita bitácora de migración, no estaba completa :(.

Volvi a intentarlo, ahora comenzo a fallar de manera drástica la copia de datos, muchos errores, demasiados para ser verdad, aunque todo se resumía en acentos y ñ's, pendejos gringos que no las usan. Pense en editar mi archivo de datos, pero me di cuenta que tenia mas de un millón de renglones, así que la idea se convirtió en la ultima alternativa

Lei 10 minutos el Internet, nadie me dio la respuesta concreta, encontre casos muy especificos con el mismo problema, la solución se resumía en estandarizar el código de carácteres para insertar y extraer los datos, elemental señor ingeniero, elemental, así que solo era cuestión de decirle a postgresql y a php que iban hablar el mismo lenguaje, con los mismos caracteres...

Supuse que tenía que volver a generar el respaldo de base de datos, pero no fue necesario, lo que hice se resume en lo siguiente:

Al crear la base de datos le indique el tipo de codificación:

CREATE DATABASE sise ENCODING 'LATIN1'

Edite el archivo de configuración de postgresql con lo siguiente:

client_encoding = latin1

La copia de datos fue satisfactoria, el primer paso estaba dado, al probar el sistema en el navegador, no se mostraban de manera correcta los mensajes, adivinaron los acentos y las ñ's, asi que en el archivo de configuración del apache edite lo siguiente:

AddDefaultCharset LATIN1

150 minutos despues el cambio estaba hecho, reinicie el servidor para probar el acceso de nuevo y funciono bien, mañana regresa a labores el SISE, esperemos no tener sonando mi celular a las 8:30 am...