Developers/Projects/lang-es
Please copy/paste "{{Translationlist | xx | origlang=en | translated={{{translated}}}}}" (where xx is ISO 639 language code for your translation) to Developers/Projects/lang-es/translations | HowTo [ID# 256912] +/- |
Esta sección intenta ayudar a contestar tus preguntas "Donde debo empezar?". La OLPC es un proyecto enorme con miles de personas trabajando en el, ya sea directamente, o en un proyecto que se alimenta de este. Ya que estas leyendo este documento asumiremos que quieres trabajar directamente en el proyecto de la OLPC, en vez de que uno de los proyectos que dependen de este.
Muchos de los nuevos desarrolladores que probablemente quieran trabajar en una Actividad (una aplicación individual) para el desarrollo a usuarios finales (normalmente niños). Siempre estamos buscando ayuda para el sistema core (ejemplo Sugar, Journal, Bitfrost, School Server), particularmente para programadores avanzados de Python y gente interesada en la documentación y traducciones.
Proyectos existentes
Los proyectos de software describen los proyectos activos que quizas necesiten ayuda. Nota que esta lista esta mantenida por los dueños de los proyectos, asi que decir que esta "activa" puede ser una sobreestimación. Si quieres contactar a un dueño del proyecto, y no responde o indica que no esta activamente trabajando en el proyecto. Avísanos en la lista de desarrollo e intentaremos darle continuidad al proyecto.
Si estas buscando unirte a un proyecto maduro, existen varias Actividades las cuales tienen un publico (hijos) buscando lanzamientos. Arreglo de bugs, pruebas y documentación son algunas de las actividades que los contribuidres siempre buscan en estos proyectos maduros.
Nuevos Proyectos
Si estas viendo como comenzar tu propio proyecto, existen muchos requisitos que aun no se han cubierto. O quizas ya tienes una idea que quieras hacer. De cualquier forma, leer esta discusión de como integrar tu proyecto dentro del proyecto de OLPC.
Proyectos bases
Existen solo cierto espacio en una laptop OLPC-XO (o cualquier laptop similar), y la opción de que Actividades deben ser incluidas en la imagen base esta involucrada. Las metas para una actividad del cual forma parte de la base entregada a todos los hijos que de ser así:
- Impacto epistemológico — a que grado esta actividad impacta positivamente el aprendizaje? (Esta desde luego el criterio mas importante.)
- Divertido—esto es invertido? envolvente o adictivo?
- Calidad—Es la actividad lo suficientemente robusta, o su implementación, no compromete la integridad y capacidades del sistema? Es la calidad global de la implementación la adecuada y que llegue a nuestros estándares? Puedes involucrar a la comunidad en el proceso de pruebas y "garantizar" el mantenimiento de la actividad?
- Sugarizado—a que medida la actividad ha sido integrado dentro de Sugar, incluyendo UI, Diario, seguridad, internacionalización, etc? La actividad requiere la dependencia de sus librerías dentro librerías y recursos? (Este tiene impacto de robustes-positiva y negativo-soporte, inflado, y la usabilidad general, estética, y percepción de calidad en la maquina.)
- FOSS—es la actividad y todas las dependencias abiertas y libres?
- Extensibles—si la actividad algo que la comunidad pueda extender? Atiende a múltiples necesidades? (Y tiene-o el potencial de tener- el soporte de una comunidad con el tiempo?)
- Singularidad—si la actividad agrega una mejora única a la base?
- Expectativa—does the activity meet the expectations of (children, teachers, parents, G1G1 audience, etc.)?
- Discoverable—is the core activity discoverable? (This is not to say that it shouldn't be hard work to fully exploit the power of an activity, but it should have a low barrier to entry.)
If you are interested in eventually making your activity a core component of the OLPC, you should keep these targets in mind throughout your development process.
Ver: Hilo original
Registrando una idea
Si tienes una buena idea para un nuevo proyecto, seria genial que la agregaras a la zona de ideas de Software o hardware, para que no se pierda. Considera la opción de añadir información de contacto para que la gente interesada pueda ponerse en contacto contigo y comparta ideas o haga preguntas.
Intenta describir tu proyecto en una linea o dos. Si se necesita más espacio, se puede publicar en una nueva pagina del wiki, en donde se puede describir mas detalles. Si quieres trabajar en un proyecto, este puede ser el sitio principal de tu proyecto.
Al registrar la idea antes de empezar el trabajo, podemos asegurar que no se pierde porque "la vida la puso en el camino"
Encontrando ideas
El resultado evidente de almacenar una gran idea de proyecto en la página de Software ideas es de que si estas buscando una nueva idea de proyecto, hay muchas allí.
Si encuentras una idea en la página de ideas de software, recuerda que muchas otras personas probablemente leen esa misma página y pueden también tener intenciones de trabajar en el mismo proyecto. Asegúrate de dar a conocer tus intenciones de trabajar en el proyecto con ruido, para que puedas conocer a cualquiera que este trabajándola en silencio desde su taller.
Si los requerimientos no son claros, considera contactar a la persona que escribió la petición para obtener mas información acerca de lo que intentaban hacer. Incluso si los requerimientos parecen claros, considera contactar a la persona. Incluso si "tu" escribiste los requerimientos, considera discutir los requerimientos en público para que puedas obtener retroalimentación en que/como/si podría o debería hacerse el proyecto.
Escogiendo/Refinando tu Idea
OLPC is not just a fancy hardware platform for kids to use — it is also a rethinking about how to use a computer as an educational tool. To that end, there are several design principles to keep in mind as you think about your activity. In particular, activities should include:
- Discoverability — Is the activity intuitive to learn? Long instruction manuals are boring to read and hard to translate. The more intuitive you can make your activity's interface, the better. That means using an interaction model that encourages experimentation, using evocative images on buttons rather than text, etc.
- Extensibility — Can the activity be easily edited by teachers and kids to expand its use? For example, does your quiz activity give teachers the ability to change the questions, so that they can use it for any type of quiz question, not just the ones you thought of?
- Collaboration — Can your activity be used by more than one child at a time? Great activities should have both a single-user mode and a multi-user mode, if that makes sense with the activity. Is your game multiplayer? Does your word processor let two people write the same document?
These are core principles in the XO's Sugar user interface; it is worth looking at the OLPC human interface guidelines and the educational activity guidelines for more detailed discussions of what type of activity we are looking for.
Also, look at existing activities to find out what is already going on and what type of software is being developed.
Comenzando un proyecto
There are some basic steps you should take to start your new project and get it to the point where children are using it on their laptops:
- Announce your project before you even start work
- So that people know what you are working on and can potentially help you out
- In case someone else is already working on a similar project
- Add your project to Software projects
- Add your contact information so that potential collaborators can reach you
- Homepage (e.g. a page on the wiki with a full description of the project)
- Write a few lines of Code (say 10)
- Set up Source Code Control and Bug Tracker (See: #Project Hosting below)
- Be sure you have a public bug tracker available somewhere, think millions of users, there will be bug reports!
- Code
- Remember to use source control, lost work sucks
- Distribute under these licenses (where possible)
- Test your application in an official image (preferably on a physical laptop) before publishing broadly
- People will often test new code on their OLPC-XO if you don't have one
- When ready to face real users (children) add your activity to the Activities page to allow for easy download and installation
Hospedaje de proyecto
The OLPC Developers Program can provide Project hosting for OLPC-compatible projects, especially XO-specific projects. These services allow you to run your entire OLPC development project off of the OLPC servers.
For more general Sugar-based projects, see the resources at http://wiki.sugarlabs.org/Activity_Team and http://git.sugarlabs.org.
You are not required to use the OLPC's project hosting services, there are numerous other hosting services, such as:
or you can host your code on your own or your project's servers. Please keep in mind, though, that having your source code and ticket tracking engines publicly available is very important.
Note the OLPC servers are public and anyone can see anything you put on them. Do not put anything into your project repository (or the wiki, or the ticket tracker) which is proprietary, security-sensitive, or for which you do not hold the rights required to release publicly!
Espacio de Wiki
The main OLPC Wiki can be used to set up your project's home page. This allows you to collaborate on the layout and setup of your project with both other members of your team and the wider OLPC community.
Control de código fuente
Source Code Control (SCC) is critically important for any software project. The Developer's Program can provide you with GIT-based SCC. While GIT is neither familiar nor particularly friendly, it is used heavily by the Linux kernel developers, and is correspondingly robust. It allows for a distributed repository (similar to the Linux Kernel) or a central tree (like traditional SCC systems).
Users familiar with more traditional SCC systems should read the Git-SVN crash course, do not expect to be able to "work it out" just by trying to do things, GIT does not try to be user-friendly and does a very good job of not being intuitive.
Siguiendo tickets
Ticket Tracking is similarly important in any software project. You need a way for users to report problems in a way that prevents issues from being lost or ignored. The Developer's Program provides a Trac-based ticket-tracking system which is reasonably straightforward to use.
See: Importing your project for a detailed description of how to use the Project hosting facilities