Distribuir tu Actividad
Elige una licencia
Antes de dar tu Actividad a cualquier persona, necesitas elegir bajo que licencia será distribuida. Comprar software es como comprar un libro. Hay ciertos derechos que tú tienes con un libro y que otras personas no tienen. Si tú compras un ejemplar de “El código Da Vinci” tienes el derecho a leerlo, a prestarlo, venderlo a una tienda de libros usados, o a quemarlo. Tú no tienes el derecho a hacer copias de él o hacer una película sobre él. Con el software pasa lo mismo, pero a veces es peor. Los acuerdos de licencia rutinariamente se aceptan haciendo clic en un botón, pero podrían no permitirte vender el software cuando hayas terminado con él, o incluso regalarlo. Si vendes tu computadora es posible que el software que compraste sólo es bueno para ese equipo, y sólo mientras seas tu el dueño de la computadora. (Tú puedes conseguir buenas ofertas en computadoras reacondicionadas sin ningún sistema operativo instalado por esa misma razón).
Si estás en el negocio de la venta de software, podrías tener que contratar a un abogado para redactar un acuerdo de licencia, pero si estás regalando el software hay varias licencias estándar que puedes elegir de forma gratuita. El más popular, por lejos, se llama la General Public License (en español, Licencia Pública General) o GPL. Al igual que las licencias que Microsoft utiliza, permite que las personas que reciben tu programa puedan hacer algunas cosas con ellos pero no otras. Lo más interesante no es lo que les permite hacer (que es prácticamente todo), sino lo que les prohibe hacer.
Si alguien distribuye un programa licenciado bajo la GPL, es también necesario poner el código fuente del programa a disposición de cualquiera que lo desee. Esa persona puede hacer lo que quiera con el código, con una restricción importante: si se distribuye un programa basado en el código ese, también debe licenciar aquel código usando la licencia GPL. Esto hace que sea imposible que alguien tome un trabajo con licencia GPL, lo mejore y lo venda a alguien sin darle el código fuente de la nueva versión.
Mientras que la licencia GPL no es la única licencia disponible para las Actividades que se distribuyen en http://activities.sugarlabs.org, todas las licencias exigen que alguien que recibe la Actividad también obtenga el código fuente completo de ella. Tu ya has cumplido con esta obligación al poner tu código fuente en Gitorious. Si has utilizado código de una Actividad existente con licencia GPL, debes licenciar tu propio código de la misma manera. Si has utilizado una gran cantidad de código de este libro (que también está bajo licencia GPL) puede ser necesario que uses la GPL también.
¿Debes preocuparte por las licencias? En realidad no. La única razón por la que querrías usar una licencia distinta de la GPL es si quisieras vender tu Actividad en lugar de regalarla. Considera lo que tendrías que hacer para que eso sea posible:
- Tendrías que usar algún otro lenguaje que no sea Python, para que puedas dar a alguien el programa, sin darle el código fuente.
- Tendrías que tener tu propio repositorio de código fuente no disponible al público en general y hacer arreglos para que los datos se respladen regularmente.
- Tendrías que tener tu propio sitio web para la distribución de la Actividad. El sitio web debería ser configurado para aceptar pagos de alguna manera.
- Tendrías que anunciar ese sitio web de alguna manera o nadie sabría que tu Actividad existe.
- Tendrías que tener un abogado para que elabore una licencia para tu Actividad.
- Tendrías que idear un mecanismo para impedir a tus clientes distribuir copias de tu Actividad.
- Tendrías que crear una actividad tan increíblemente inteligente que nadie más pueda hacer algo similar y regalarlo.
- Tendrías que lidiar con el hecho de que tus "clientes" serían los niños, sin dinero o tarjetas de crédito.
En resumen, activities.sugarlabs.org no es el iPhone App Store. Es un lugar donde los programadores comparten y construyen sobre el trabajo de otro y dan los resultados a los niños de forma gratuita. La GPL fomenta a que eso pase, y recomiendo que elijas esa como tu licencia.
Agrega la licencia como comentario en tu código Python
En la parte superior de cada archivo de código fuente Python de tu proyecto (excepto setup.py, que ya está comentado) pon comentarios como este:
# nombredelarchivo descripción # # Copyright (C) 2011 Tu Nombre Aquí # # This program is free software; you can redistribute it # and/or modify it under the terms of the GNU General # Public License as published by the Free Software # Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will # be useful, but WITHOUT ANY WARRANTY; without even # the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public # License for more details. # # You should have received a copy of the GNU General # Public License along with this program; if not, write # to the Free Software Foundation, Inc., 51 Franklin # St, Fifth Floor, Boston, MA 02110-1301 USA
Si el código está basado en el código de otra persona, debes mencionarlo como una cortesía.
Crea un archivo .xo
Asegúrate de que el archivo activity.info tiene el número de versión que deseas dar a tu Actividad (en la actualidad debe ser un entero positivo) y ejecuta el siguiente comando:
./setup.py dist_xo
Esto creará una carpeta dist si no existe y pondrá un archivo llamado algo así como ReadETextsII-1.xo en ella. El "1" indica la versión 1 de la Actividad.
Si has hecho todo bien, este .xo debe estar listo para distribuir. Puedes copiarlo a una unidad de disco USB (pendrive) e instalarlo en una XO o en otra unidad de disco USB corriendo Sugar on a Stick. Probablemente deberías hacerlo antes de distribuirla por cualquier inconveniente. Me gusta vivir con las nuevas versiones de mis actividades durante aproximadamente una semana antes de ponerlas en activities.sugarlabs.org.
Ahora sería un buen momento para añadir dist a tu archivo .gitignore, y después, hacer un commit y ponerlo en Gitorious. Tú no quieres tener copias de tus archivos .xo en Git. Otra buena cosa para hacer en este momento sería asignar etiquetas a tu repositorio Git con el número de versión, para que puedas identificar que código va con que versión.
git tag -m "Version 1" v1 HEAD git push --etiquetas
Agrega tu Actividad a ASLO
Cuando estés listo para enviar el archivo .xo a ASLO necesitarás crear una cuenta como se hace con otros sitios web. Cuando hayas entrado allí puedes encontrar un enlace a Tools (Herramientas) en la esquina superior derecha de la página. Has clic allí y verás un menú con una opción para: Developer Hub (Centro de Desarrolladores), en la que deberás hacer clic. Eso te llevará a la página donde puedes agregar nuevas Actividades. Lo primero que te piden a la hora de establecer una nueva Actividad es la licencia que vas a utilizar. Después de eso, no deberías tener problemas para dejar tu Actividad establecida.
Tienes que crear un ícono para la Actividad como un archivo .gif y crear capturas de pantalla de la Actividad en acción. Puedes hacer ambas cosas con GIMP (GNUImage Manipulation Program). Para el ícono todo lo que necesitas hacer es abrir el archivo .svg con el GIMP e ir a Save as (Guardar como) y elegir el formato .gif.
Para las capturas de pantalla usa el emulador de Sugar para mostrar tu Actividad en acción, a continuación, utiliza la opción de pantalla del submenú Create (Crear) del menú File (Archivo) con las siguientes opciones:

Esto le indica a GIMP que espere 10 segundos y luego tome una captura de pantalla de la ventana en la que hayas hecho clic con el ratón. Sabrás que los 10 segundos se terminan porque el puntero del ratón cambiará de forma a un signo de más (+). También le dice que no incluya la decoración de la ventana (esto es, la barra de título y el borde). Como las ventanas de SUGAR no tienen decoraciones, esto eliminará las decoraciones utilizadas por el emulador de Sugar y te dará una captura de pantalla que se ve exactamente como una Actividad corriendo en Sugar.
Cada Actividad necesita una captura de pantalla, pero puedes tener más si lo deseas. Las capturas ayudan a promocionar la Actividad y enseñan a aquellos que la utilizarán lo que la Actividad puede hacer. Por desgracia, ASLO no puede mostrar imágenes en una secuencia predecible, por lo que no es apropiada para mostrar los pasos a llevar a cabo.
Otra cosa que debes proporcionar es una página para tu actividad. Para Read Etexts es esta:
http://wiki.sugarlabs.org/go/Activities/Read_Etexts
Sí, un sitio web más para obtener una cuenta. Una vez hecho puedes especificar un vínculo a /go/Activities/algun_nombre y al hacer clic en ese enlace de la Wiki se va a crear una página para ti. El software utilizado para el wiki es MediaWiki, el mismo que utiliza la Wikipedia. Tu página no tiene por qué ser tan complicada como la mía, pero definitivamente debería proporcionar un enlace a tu código fuente en Gitorious.
- Traducido Alan Aguiar, Uruguay^





