Atención: mensaje largo. Quien tenga interés que se tome su tiempo (disculpas de antemano)
Hola, ya puse mi interés sobre la mesa de colaborar con el desarrollo de esta web. Di además una serie de sugerencias y pasos a seguir para intentar llevar esto a buen puerto, cómo comunicarnos o cómo atraer gente para que termine colaborando. (
link). La verdad,
tu respuesta me dejó un poco a cuadros... me dijiste no se qué de la vida y que "si la abuela fuma". Me dio la sensación de que pensaste que te intentaba dar algún tipo de lección o estaba desacreditando tu trabajo o yo que sé) así que dejé el tema pasar diciendo que "si se va a hacer algo entre todos aquí hay uno interesado en ver el percal". Aunque ya sabía que no se iba a hacer nada.
En fin, a mi me sigue apeteciendo colaborar pero no de cualquier manera. A ver... antes de nada, me gustaría que mis comentarios no se tomarán como criticas destructivas o como "ya ha llegado el listo / el visionario" porque no es mi intención. Solo aporto lo que pienso y sin intención de faltar a nada ni nadie. Si suenan a críticas (y no estoy en plan cachondeo) pues seguramente sean buenas críticas, constructivas, o tal fin.
Dicha la chapa anterior, chuloyo te digo lo que haría si fuese a pedir colaboración para un proyecto propio. Y te las digo porque serían condiciones para que por ejemplo a mí me interesara colaborar (y a lo mejor a más gente, no sé). Ojo, que te lo digo con toda la humildad del mundo y sin querer criticarte ni nada. Seguramente ya habías pensado en todo lo que voy a decir, estarás o no de acuerdo con ello, pero joder me voy a tomar el tiempo para ponértelo por si te pudiera servir de ayuda:
1. Libera el código de una vez. Déjate de grupos limitados con acceso al código actual o copias de un estado concreto del mismo. ¿Se quiere aumentar las probabilidades de que la gente (cualquiera) se interesa en colaborar aportando cosas? No preguntes a la gente, libera el código y permite así que la gente venga a ti.
2. Separa el proyecto en dos páginas/sitios. Una es ésta (aprendeprogramacion.net) que conforma la comunidad oficial. Otra que sea una página del proyecto de desarrollo del software (gAp), orientada a desarrolladores y que informe de qué es el proyecto de software gAp, cómo está hecho, cómo participar, acceso al repositorio, a seguimiento de bugs, e información del proyecto (si lo hubiere) en torno al producto (infomación de iteraciones, historias, tareas asignadas, tareas pendientes sin asignar/lista de cosas por hacer, etc.). Para el sitio de desarrolladores usa un CMS para tal fin, o algún servicio tipo lauchpad/sorceforge. Quiero decir, que no hace falta reinventar la rueda: centrarse en dedicar cuanto más tiempo a la información y documentación del sitio mucho mejor, y no en el sitio en sí. Cuanto menor sea la curva de entrada al proyecto, más probabilidades habrá de que surjan nuevos interesados en colaborar.
3. Sigue haciendo el buen trabajo que haces con gAp pero actualizando el sitio de desarrolladores. Es decir: móntalo como si ya fueras varias personas aunque al principio estarás tu solo. Lo digo por si ahora nadie de aquí tiene tiempo, que eso no te impida comenzar el proyecto de desarrollo en grupo aunque estés tu solo. Ya se irá uniendo gente (en eso tienes que confiar).
4. No pidas "colaboraciones esporádicas", haz que la gente se implique de verdad: sienta el proyecto suyo también. Dicho de otro modo: permite que gAp deje de ser un proyecto personal y pase a ser un proyecto en equipo y que pertenece a éste. Así aumentará las posibilidad de que aquellos que aporten colaboraciones esporádicas continúen visitando el sitio de desarrollo y aprendiendo más de cómo funciona gAp por dentro. Entonces obtendrás desarrolladores/incrementarás el equipo de desarrollo y mejorarás el proyecto.
5. No temas de que liberando el código (y haciendo todo lo que estoy diciendo) te lo van a robar, que van a salir comunicades de programación con tu código como setas, vas a perder la propiedad del proyecto. En cuanto al robo del código te hago una pregunta ¿cuàntos proyectos has robado tú? ¿y cualquiera de aquí? ¿y yo? Ya te respondo: ninguno. Así que el que te roben las posibilidades son remotas. En cuanto a posibles nuevas comunidades de programación usando tu proyecto ¿a caso no sería COJONUDO que algo así ocurriera? ¿y qué es lo importante, el sitio o el contenido? por muchas comunidades que surgieran, lo importante es el contenido así que se lo tendrían que currar para igualar o mejorar en contenido con esta web y eso exige sacrificio con lo que hay pocas posibilidades. Y en cuanto a perder la propiedad del proyecto, no es posible porque tu nombre seguirá figurando en la lista de autores y en primer lugar pero ahora encima saldrán otros nombres porque ya no has creado un simple proyecto personal, ahora es algo más (y más motivo de orgullo en mi opinión) así que yo me dejaría de chorradas de ese tipo pero bueno.
6. No repartas trabajo. Por contra marca una línea de desarrollo a seguir: haz una pila enorme de requisitos que debe estar implementada en el proyecto. Organízalas por "release candidate". En resumen, ten claro todo lo que hay que hacer y todo lo que está hecho (todo lo que consiste gAp), lístalo y define un roadmap para que otras personas puedan verlo y si se ven capaces o con ganas de encargarse de alguna cosa que se apunten ellos.
7. Permite que cualquiera del equipo que participa en el desarrollo envíe los cambios al repositorio por él mismo. No obligues a que te envíen a ti los cambios y tú luego eres el único que puede tocar el código "trunk" del proyecto. Lo repito: permite que gAp sea de todo el equipo y no solo un proyecto propio. Dicho de otra forma: estructuras de jerarquía horizontal porque agilizan el desarrollo del proyecto, minimizan "papeleo" (emails, envío de parches de un sitio a otro, etc. en este caso), sientan mejor al equipo y éste se implica más.
Y por ahora se me ocurre eso.
Ahora con respecto a mi interés por colaborar. Sigue en pie, ya dije que me gustaría trabajar en equipo en un proyecto web y joder gAp mola. Problema actual: ahora no tengo tanto tiempo como hace unos meses, y sigo estando igual de verde/oxidado en PHP y desarrollo web (pero ahora tengo muy poco tiempo para ponerme las pilas) así que iría poco a poco, lo siento.
Y tampoco quiero "colaborar", me gustaría encontrarme con un proyecto libre
en el que pueda formar parte del grupo de gente que lo lleva a cabo. "Encontrarme" quiere decir que ya está todo hecho y yo me apunto (no es el caso) o que cojamos y ahora montamos todo el tinglado (nuestro caso). Es decir, que yo solo voy a aportar si:
- Técnicamente soy capaz de ello. Puede que sí, puede que no. En principio me veo capaz pero tengo que ver el código, tengo que estudiarlo/probarlo/entenderlo, tengo que ver si tendré tiempo para ponerme a vuestro nivel y si me resulta interesante porque sino ¿para que voy a colaborar en algo que no me parece interesante?
- Es un proyecto de software libre y no un proyecto de una sola persona. Te lo digo de otra manera más clara y contundente (y sin ánimo de ofender): a mí tu proyecto me da igual, no voy a enviarte parches como quien encuentra una falta de ortografía o un link roto y te envía un mail "colaborando a arreglar el fallito". Que va, yo de eso paso y ya te lo digo bien clarito. Eso sí, ¿esto se va a convertir en un proyecto colectivo? Perfecto, en tal caso me encantaría formar parte. Mis razones son: me gusta el desarrollo web y me gusta php, no se si seré capaz de adaptarme a un proyecto como este ya hecho y me quiero probar, me gustaría mejorar gAp (es decir, tu proyecto no es que me de igual tan rotundamente como he dicho antes
) eso sí siempre y cuando me pueda sentirme parte del tinglado.
Y dicho todo este rollaco, vuelvo a repetir que no tengo intención de dármelas de nada. Son solo ideas y condiciones para que yo personalmente (o gente que piense como yo, si la hubiera claro XD) termine [strike]colaborando[/strike] participando en "gAp-dev"
Saludos!