Add spanish translations
This commit is contained in:
parent
6ba463bede
commit
de519badef
171 changed files with 5378 additions and 0 deletions
9
content/b/contents+es.lr
Normal file
9
content/b/contents+es.lr
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Enlaces rápidos
|
||||||
|
---
|
||||||
|
hide_from_index: no
|
||||||
|
---
|
||||||
|
_discoverable: no
|
||||||
|
---
|
||||||
|
_hidden: no
|
||||||
9
content/bee/contents+es.lr
Normal file
9
content/bee/contents+es.lr
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Enlaces rápidos
|
||||||
|
---
|
||||||
|
hide_from_index: no
|
||||||
|
---
|
||||||
|
_discoverable: no
|
||||||
|
---
|
||||||
|
_hidden: no
|
||||||
25
content/community/behavior/changes/contents+es.lr
Normal file
25
content/community/behavior/changes/contents+es.lr
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Cambios
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
La siguiente es una lista y una explicación de los cambios principales en las políticas de comportamiento del proyecto BeeWare.
|
||||||
|
|
||||||
|
4 de julio de 2016
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Se agregaron instrucciones y pautas para reportar incidentes.
|
||||||
|
|
||||||
|
5 de diciembre de 2015
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Código de conducta inicial adoptado.
|
||||||
|
---
|
||||||
|
gutter: Sólo aquí se enumeran los principales cambios sustantivos; Para obtener una lista completa de todos los cambios, consulte `el registro de cambios del repositorio de GitHub <https://github.com/pybee/pybee.github.io/commits/master/content/community/behavior>`__.
|
||||||
|
---
|
||||||
|
sort_key: 3
|
||||||
|
---
|
||||||
|
summary: Un historial de los cambios en las políticas de comportamiento del proyecto BeeWare
|
||||||
|
---
|
||||||
|
_slug: cambios
|
||||||
37
content/community/behavior/code-of-conduct/contents+es.lr
Normal file
37
content/community/behavior/code-of-conduct/contents+es.lr
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Código de Conducta
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Como colaboradores y mantenedores de este proyecto, y en el interés de fomentar una comunidad abierta y acogedora, nos comprometemos a respetar a todas las personas que contribuyen a través de tiquetes de problemas, publicando solicitudes de características, actualizando documentación, presentando *Pull Requests* o parches y otras actividades.
|
||||||
|
|
||||||
|
Estamos comprometidos a hacer de la participación en este proyecto una experiencia libre de acoso para todos, independientemente del nivel de experiencia, género, identidad y expresión de género, orientación sexual, discapacidad, apariencia personal, tamaño corporal, raza, etnia, edad, religión o nacionalidad.
|
||||||
|
|
||||||
|
Ejemplos de comportamiento inaceptable de los participantes incluyen:
|
||||||
|
|
||||||
|
* El uso de lenguaje o imágenes sexualizadas
|
||||||
|
* Ataques personales
|
||||||
|
* Trolling/Bullying o comentarios insultantes/despectivos
|
||||||
|
* Acoso público o privado
|
||||||
|
* Publicar información privada de otros, como direcciones físicas o electrónicas, sin permiso explícito
|
||||||
|
* Otra conducta poco ética o poco profesional
|
||||||
|
|
||||||
|
Los mantenedores del proyecto tienen el derecho y la responsabilidad de eliminar, editar o rechazar comentarios, comisiones, códigos, ediciones wiki, ediciones y otras contribuciones que no están alineadas con este Código de Conducta, o prohibir temporalmente o permanentemente a cualquier colaborador con otros comportamientos que se consideren inapropiados, amenazantes, ofensivos o dañinos.
|
||||||
|
|
||||||
|
Al adoptar este Código de Conducta, los responsables de los proyectos se comprometen a aplicar de manera justa y consistente estos principios a todos los aspectos de la gestión de este proyecto. Los mantenedores de proyectos que no sigan o apliquen el Código de Conducta pueden ser retirados permanentemente del equipo del proyecto.
|
||||||
|
|
||||||
|
Este código de conducta se aplica tanto en los espacios del proyecto como en los espacios públicos cuando un individuo está representando el proyecto o su comunidad.
|
||||||
|
|
||||||
|
Para reportar un problema, por favor vea `Cómo presentar una queja de código de conducta </es/comunidad/comportamiento/reportar-una-queja>`__
|
||||||
|
---
|
||||||
|
summary: Se espera que todos los participantes en la comunidad de BeeWare se adhieran a un Código de Conducta
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
Créditos
|
||||||
|
------------
|
||||||
|
|
||||||
|
Este Código de Conducta se ha adaptado del `"Contributor Covenant", versión 1.3.0 <http://contributor-covenant.org/version/1/3/0/>`__
|
||||||
|
---
|
||||||
|
_slug: codigo-de-conducta
|
||||||
11
content/community/behavior/contents+es.lr
Normal file
11
content/community/behavior/contents+es.lr
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Comportamiento
|
||||||
|
---
|
||||||
|
sort_key: 1
|
||||||
|
---
|
||||||
|
summary: Como nos aseguramos de que la comunidad de BeeWare sea acogedora y amistosa.
|
||||||
|
---
|
||||||
|
body: Para asegurarnos de que BeeWare sea una comunidad abierta y comunitaria, tenemos un número de políticas para hacer que las expectativas de la comunidad sean claras.
|
||||||
|
---
|
||||||
|
_slug: comportamiento
|
||||||
|
|
@ -0,0 +1,73 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Cómo presentar una queja
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Si cree que alguien está violando el `Código de Conducta del Proyecto BeeWare </es/comunidad/comportamiento/codigo-de-conducta/>`__ le pedimos que lo reporte al Proyecto BeeWare enviando un correo electrónico a uno o más de los mantenedores del proyecto (listados en la barra lateral). Todos los informes serán confidenciales. En algunos casos podemos determinar que se necesitará hacer una declaración pública. Si ese es el caso, las identidades de todas las víctimas y quienes reportan los hechos permanecerán confidenciales a menos que esas personas nos indiquen lo contrario.
|
||||||
|
|
||||||
|
**Si cree que alguien está en peligro físico, por favor notifique primero a la policía**. Si no está seguro de qué agencia de aplicación de la ley es la apropiada, incluye esto en tu informe e intentaremos notificarlos.
|
||||||
|
|
||||||
|
En su informe incluya:
|
||||||
|
|
||||||
|
* **Tu información de contacto** (para que podamos ponernos en contacto contigo si necesitamos hacer un seguimiento)
|
||||||
|
* **Nombres (reales, apodos o seudónimos) de cualquier persona involucrada**. Si hubiera otros testigosa, trata de incluirlos también.
|
||||||
|
* **Cuando y donde ocurrió el incidente**. Por favor se lo más específico posible.
|
||||||
|
* **Tu recuento de lo que ocurrió**. Si hay un registro disponible públicamente (por ejemplo, un archivo de listas de correo o un registrador de IRC público), incluye un vínculo.
|
||||||
|
* **Cualquier contexto extra** que creas que exista para el incidente.
|
||||||
|
* Si crees que este incidente está en curso.
|
||||||
|
* Si crees que algún miembro del equipo central tiene un conflicto de intereses al decidir el incidente.
|
||||||
|
* ¿Qué respuesta correctiva crees que sería apropiada?
|
||||||
|
* Cualquier otra información que creas que debemos tener.
|
||||||
|
|
||||||
|
Los miembros del equipo central están obligados a mantener la confidencialidad con respecto al quien reporta el hecho y los detalles del incidente.
|
||||||
|
|
||||||
|
¿Qué sucede después de presentar un informe?
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Recibirás un correo electrónico acusando recibo de la queja. Prometemos acusar recibo en un plazo de 24 horas (y trataremos de que sea mucho más aprisa que eso).
|
||||||
|
|
||||||
|
El equipo central se reunirá inmediatamente para revisar el incidente y determinar:
|
||||||
|
|
||||||
|
* Que pasó.
|
||||||
|
* Si este evento constituye una violación de código de conducta.
|
||||||
|
* Quién era el actor actuando indebidamente.
|
||||||
|
* Si se trata de una situación en curso, o si hay una amenaza a la seguridad física de nadie.
|
||||||
|
* Si se determina que es un incidente continuo o una amenaza para la seguridad física, la prioridad inmediata de los grupos de trabajo será proteger a todos los involucrados. Esto significa que podemos demorar una respuesta "oficial" hasta que creamos que la situación ha terminado y que todos están físicamente seguros.
|
||||||
|
|
||||||
|
Si un miembro del equipo principal es una de las partes nombradas, no serán incluidos en ninguna discusión, y no se proporcionarán con ningún detalle confidencial del quien reporta el hecho.
|
||||||
|
|
||||||
|
Si alguien en el equipo central cree que tiene un conflicto de intereses al decidir sobre un asunto reportado, informará a los otros miembros del equipo central y se rechazará de cualquier discusión sobre el asunto. Después de esta declaración, quien reporta el hecho no les proporcionará ningún detalle confidencial.
|
||||||
|
|
||||||
|
Una vez que el grupo de trabajo tenga una cuenta completa de los eventos, tomará una decisión sobre cómo responder. Las respuestas pueden incluir:
|
||||||
|
|
||||||
|
* Nada (si determinamos que no ocurrió ninguna infracción).
|
||||||
|
* Una reprimenda privada del grupo de trabajo a las personas involucradas.
|
||||||
|
* Una amonestación pública.
|
||||||
|
* Vacaciones impuestas (es decir, pedirle a alguien que tome "una semana libre" de una lista de correo o IRC).
|
||||||
|
* Una prohibición permanente o temporal de algunos o todos los espacios de BeeWare (repositorios GitHub, salas Gitter, etc.)
|
||||||
|
* Una solicitud de una disculpa pública o privada.
|
||||||
|
|
||||||
|
Responderemos dentro de una semana a la persona que presentó el informe con una resolución o una explicación de por qué la situación aún no se ha resuelto.
|
||||||
|
|
||||||
|
Una vez que hayamos determinado nuestra acción final, nos pondremos en contacto con quien reportó el hecho originalmente para hacerles saber qué acción (si es que hay acciones) vamos a tomar. Tomaremos en cuenta los comentarios de la persona que reporta sobre la conveniencia de nuestra respuesta, pero no garantizamos que actuaremos sobre ello.
|
||||||
|
|
||||||
|
Finalmente, dependiendo de los detalles del incidente y del potencial de daño continuo, el equipo central puede optar por hacer un reporte público del incidente en `El Zumbido`_, el blog de BeeWare.
|
||||||
|
|
||||||
|
.. _El Zumbido: /es/noticias/zumbido/
|
||||||
|
---
|
||||||
|
summary: ¿Hay algo o alguien en el BeeWare que te hizo sentir incómodo? A continuación, le indicamos como reportar el problema.
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
Contactos para reportes
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
* `Russell Keith-Magee <mailto: russell@pybee.org>`__
|
||||||
|
* `Katie McLaughlin <mailto: katie@pybee.org>`__
|
||||||
|
* `Philip James <mailto: philip@pybee.org>`__
|
||||||
|
|
||||||
|
Créditos
|
||||||
|
~~~~~~~~~
|
||||||
|
Esta guía de reporte se basa en gran medida en la `Guía de Informes del Código de Conducta de la Fundación de Software de Django <https://www.djangoproject.com/conduct/reporting/>`__. El Proyecto BeeWare agradece al DSF y al Comité de Código de Conducta del DSF por su trabajo en la redacción de este documento.
|
||||||
|
---
|
||||||
|
_slug: reportar-una-queja
|
||||||
13
content/community/consulting/contents+es.lr
Normal file
13
content/community/consulting/contents+es.lr
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Consultoría
|
||||||
|
---
|
||||||
|
sort_key: 8
|
||||||
|
---
|
||||||
|
summary: ¿Necesitas ayuda con tu proyecto comercial BeeWare? Aquí es donde puedes mirar.
|
||||||
|
---
|
||||||
|
body: Para toda información de consultorías, te puedes poner en contacto con `Russell Keith-Magee <mailto: russell@pybee.org>`__.
|
||||||
|
---
|
||||||
|
hide_from_index: yes
|
||||||
|
---
|
||||||
|
_slug: consultoria
|
||||||
17
content/community/contents+es.lr
Normal file
17
content/community/contents+es.lr
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
_template: community.html
|
||||||
|
---
|
||||||
|
title: Comunidad
|
||||||
|
---
|
||||||
|
sort_key: 3
|
||||||
|
---
|
||||||
|
summary: Es un mundo pequeño, después de todo ...
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
Opciones comerciales
|
||||||
|
---------------------
|
||||||
|
A pesar de que BeeWare es un proyecto de código abierto, hay empresas y personas que pueden proporcionar apoyo, formación y consultoría de pago.
|
||||||
|
---
|
||||||
|
_slug: comunidad
|
||||||
13
content/community/development/contents+es.lr
Normal file
13
content/community/development/contents+es.lr
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Desarrollo a la medida
|
||||||
|
---
|
||||||
|
sort_key: 8
|
||||||
|
---
|
||||||
|
summary: ¿Quieres obtener una aplicación desarrollada? Aquí puedes mirar.
|
||||||
|
---
|
||||||
|
body: Para todas las consultas de desarrollo personalizadas, te puedes poner en contacto con `Russell Keith-Magee <mailto: russell@pybee.org>`__.
|
||||||
|
---
|
||||||
|
hide_from_index: yes
|
||||||
|
---
|
||||||
|
_slug: desarrollo
|
||||||
30
content/community/getting-help/contents+es.lr
Normal file
30
content/community/getting-help/contents+es.lr
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Obtener ayuda
|
||||||
|
---
|
||||||
|
sort_key: 3
|
||||||
|
---
|
||||||
|
summary: ¿Estás atascado mientras usas una herramienta BeeWare? A continuación, te indicamos como puedes obtener ayuda.
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Tenemos varios canales de comunicación si necesitas ponerte en contacto.
|
||||||
|
|
||||||
|
Chat en tiempo real
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Utilizamos `el canal pybee/general en Gitter.im <https://gitter.im/pybee/general>`__ para la comunicación en tiempo real. Si prefiere IRC, Gitter proporciona un `puente IRC <https://irc.gitter.im/>`__.
|
||||||
|
|
||||||
|
Discusiones y reportes de errores
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
Una gran cantidad de comunicación específica del proyecto ocurre en los temas para el proyecto específico. Revise la lista `Proyecto </es/proyecto>`__ para enlaces de proyectos específicos.
|
||||||
|
|
||||||
|
Utilizamos el rastreador de problemas tanto para el seguimiento de errores tradicionales, como también como foro de debate. Si tienes alguna pregunta acerca de cómo utilizar una herramienta BeeWare, abre un tiquete en el repositorio de esa herramienta.
|
||||||
|
|
||||||
|
Preguntas directas a los colaboradores principales
|
||||||
|
---------------------------------------------------
|
||||||
|
|
||||||
|
Si necesitas ayuda directa y no te siente cómodo usando un foro público, por favor, no dudes en ponerte en contacto con cualquier `Colaborador Principal </es/comunidad/equipo/>`__, ya sea por correo electrónico, Twitter o Gitter.
|
||||||
|
---
|
||||||
|
_slug: obtener-ayuda
|
||||||
23
content/community/keep-informed/contents+es.lr
Normal file
23
content/community/keep-informed/contents+es.lr
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Mantente informado
|
||||||
|
---
|
||||||
|
_template: keep-informed.html
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Twitter
|
||||||
|
=======
|
||||||
|
|
||||||
|
Sigue a `@PyBeeWare <https://twitter.com/pybeeware/>`__ en Twitter para obtener actualizaciones diarias del proyecto BeeWare.
|
||||||
|
|
||||||
|
Entusiastas de BeeWare
|
||||||
|
=======================
|
||||||
|
|
||||||
|
¿Quieres recibir actualizaciones, sugerencias, consejos y anuncios relacionados con BeeWare? Inscríbete en la lista de distribución de Entusiastas BeeWare:
|
||||||
|
---
|
||||||
|
summary: ¿Quieres estar en contacto con los desarrollos del proyecto BeeWare?
|
||||||
|
---
|
||||||
|
sort_key: 4
|
||||||
|
---
|
||||||
|
_slug: mantente-informado
|
||||||
17
content/community/members/3a61928e/contents+es.lr
Normal file
17
content/community/members/3a61928e/contents+es.lr
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
name: Carol Willing
|
||||||
|
---
|
||||||
|
uid: 3a61928e
|
||||||
|
---
|
||||||
|
email: willingc@******.com
|
||||||
|
---
|
||||||
|
level: bronze
|
||||||
|
---
|
||||||
|
join_date: 2017-06-11
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
Carol Willing es Directora de la Fundación del Software (PSF), desarrolladora principal del Proyecto Jupyter e Ingeniera de Software de Investigación de Cal Poly San Luis Obispo.
|
||||||
|
|
||||||
|
También es una *Geek-In-Residence* en Fab Lab San Diego y co-organiza PyLadies San Diego y San Diego Python. Es colaboradora activa de proyectos de código abierto, una mantenedor de OpenHatch y los proyectos de código abierto del Instituto Anita Borg. Combinando un amor por la naturaleza, las artes y las matemáticas con una Bachelor en Ingeniería Eléctrica de Duke y una Maestría en Administración del MIT, ella ha disfrutado creando y enseñando a otros por más de 20 años.
|
||||||
|
|
||||||
|
Recientemente habló en PyCon US 2016, PyCon Filipinas 2016, Write/Speak/Code 2016, SciPy 2016, PyData Carolinas 2016 y PyCon Taiwán 2017.
|
||||||
15
content/community/members/contents+es.lr
Normal file
15
content/community/members/contents+es.lr
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
_model: members
|
||||||
|
---
|
||||||
|
title: Miembros
|
||||||
|
---
|
||||||
|
sort_key: 6
|
||||||
|
---
|
||||||
|
summary: Los miembros hacen girar el mundo.
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
BeeWare no habría sido posible sin el apoyo financiero y en especie de las siguientes empresas e individuos. Toda la comunidad BeeWare les agradece por su apoyo.
|
||||||
|
|
||||||
|
¿Por qué no `convertirse usted mismo en un miembro del proyecto BeeWare? </es/contribuir/membresia />`__
|
||||||
|
---
|
||||||
|
_slug: miembros
|
||||||
11
content/community/members/github/contents+es.lr
Normal file
11
content/community/members/github/contents+es.lr
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
contribution: Github proporcionó financiamiento para el primer acuñado de las monedas del desafío *Pastor de Yak de BeeWare*.
|
||||||
|
---
|
||||||
|
join_date: 2017-04-01
|
||||||
|
---
|
||||||
|
level: adhoc
|
||||||
|
---
|
||||||
|
name: GitHub
|
||||||
|
---
|
||||||
|
url: https://github.com
|
||||||
|
---
|
||||||
|
description: `GitHub <https://github.com>`__ es como los desarrolladores construyen software. Apoya a una comunidad donde más de 21 millones de personas aprenden, comparten y trabajan juntas para construir software.
|
||||||
13
content/community/members/maxcdn/contents+es.lr
Normal file
13
content/community/members/maxcdn/contents+es.lr
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
contribution: MaxCDN proporcionó la financiación para la primera acuñada de las monedas de desafío BeeWare.
|
||||||
|
---
|
||||||
|
join_date: 2016-02-01
|
||||||
|
---
|
||||||
|
level: adhoc
|
||||||
|
---
|
||||||
|
name: MaxCDN
|
||||||
|
---
|
||||||
|
url: https://maxcdn.com
|
||||||
|
---
|
||||||
|
description: `MaxCDN <https://www.maxcdn.com>`__ es un proveedor de distribución de contenidos, con sede en Los Angeles, California. La empresa enfatiza la reducción de la latencia de entrega de contenido web.
|
||||||
|
---
|
||||||
|
end_date: 2016-08-31
|
||||||
17
content/community/members/revsys/contents+es.lr
Normal file
17
content/community/members/revsys/contents+es.lr
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
contribution: Revolution Systems proporcionó el financiamiento para el segundo acuñado de monedas de desafío BeeWare.
|
||||||
|
---
|
||||||
|
join_date: 2016-09-02
|
||||||
|
---
|
||||||
|
level: adhoc
|
||||||
|
---
|
||||||
|
name: RevSys
|
||||||
|
---
|
||||||
|
url: http://www.revsys.com/
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
El enfoque principal de `Revolution Systems <http://www.revsys.com>`__ es la construcción y mantenimiento de aplicaciones web personalizadas, consultoría y soporte técnico para una variedad de tecnologías de código abierto. Su principal experiencia se encuentra en la consultoría `Python <http://www.python.org/>`__, `Django <http://www.djangoproject.com/>`__, PostgreSQL, devops y el rendimiento a escala. Para obtener una lista completa de servicios, visita la página `servicios <http://www.revsys.com/services/>`__.
|
||||||
|
|
||||||
|
El software y los diversos niveles de soporte necesarios para administrar un negocio en el mundo actual no necesitan ser costoso de adquirir, mantener y personalizar. Revolution Systems trabaja con las empresas para reducir sus costos y hacer que sus sistemas sean más fáciles de entender y usar. Esto se hace exclusivamente con software de código abierto y se pide la ayuda de expertos externos como sea necesario.
|
||||||
|
|
||||||
|
¿No estás convencido aún? `Lee lo que dicen los clientes de Revolution Systems <http://www.revsys.com/testimonials/>`__ sobre ellos.
|
||||||
15
content/community/members/stickermule/contents+es.lr
Normal file
15
content/community/members/stickermule/contents+es.lr
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
contribution: Stickermule aportó US $ 300 en patrocinio de pegatinas.
|
||||||
|
---
|
||||||
|
join_date: 2017-02-07
|
||||||
|
---
|
||||||
|
end_date: 2017-06-30
|
||||||
|
---
|
||||||
|
level: inkind
|
||||||
|
---
|
||||||
|
name: Etiqueta engomada
|
||||||
|
---
|
||||||
|
url: https://www.stickermule.com
|
||||||
|
---
|
||||||
|
description: `Stickermule <https://www.stickermule.com>`__ proporcionó pegatinas personalizadas que *patean culos*. Pedido en línea fácil, 4 días de entrega y pruebas en línea gratuitas. Envío gratis.
|
||||||
|
---
|
||||||
|
_slug:
|
||||||
15
content/community/members/travis-ci/contents+es.lr
Normal file
15
content/community/members/travis-ci/contents+es.lr
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
contribution: Travis CI proporcionó servidores adicionales para los sprints de PyCon US 2017.
|
||||||
|
---
|
||||||
|
join_date: 2017-05-19
|
||||||
|
---
|
||||||
|
end_date: 2017-05-30
|
||||||
|
---
|
||||||
|
level: inkind
|
||||||
|
---
|
||||||
|
name: Travis CI
|
||||||
|
---
|
||||||
|
url: https://travis-ci.com
|
||||||
|
---
|
||||||
|
description: `Travis CI <https://travis-ci.com>`__
|
||||||
|
---
|
||||||
|
_slug: travisci
|
||||||
38
content/community/related/contents+es.lr
Normal file
38
content/community/related/contents+es.lr
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Proyectos relacionados
|
||||||
|
---
|
||||||
|
sort_key: 7
|
||||||
|
---
|
||||||
|
summary: Porque a veces, otras personas tienen buenas ideas (un pensamiento impactante, lo sabemos!)
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
La serie de proyectos de BeeWare no fue sacada del aire. Hay una serie de proyectos que utilizamos como base, y estamos agradecidos de ser capaz de pararnos encima de los hombros de estos gigantes.
|
||||||
|
|
||||||
|
Cookiecutter
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
`CookieCutter (Cortador de galletas) <https://github.com/audreyr/cookiecutter>`__ es una utilidad de línea de comandos que crea proyectos de cookiecutters (plantillas de proyectos), e.g., creando un paquete Python desde una plantilla de proyecto de paquete Python.
|
||||||
|
|
||||||
|
|
||||||
|
Django
|
||||||
|
----------
|
||||||
|
`Django <https://www.djangoproject.com/>`__, es un framework web para perfeccionistas con plazos.
|
||||||
|
|
||||||
|
|
||||||
|
Lektor
|
||||||
|
----------
|
||||||
|
Este sitio web ha sido creado usando `Lektor <https://www.getlektor.com/>`__, un sistema de gestión de contenido estático flexible y potente para la creación de complejos y hermosos sitios web a partir de archivos planos - para las personas que no quieren hacer un compromiso entre un manejador de contenido (CMS, por sus siglas en inglés) y un motor de blog estático.
|
||||||
|
|
||||||
|
|
||||||
|
check-manifest
|
||||||
|
----------------------
|
||||||
|
¿Eres un desarrollador de Python? ¿Has subido paquetes al índice de paquetes de Python? ¿Has subido accidentalmente paquetes rotos con algunos archivos que faltan? Si es así, `check-manifesto <https://github.com/mgedmin/check-manifest>`__ es para ti.
|
||||||
|
|
||||||
|
|
||||||
|
octohatrack
|
||||||
|
----------------
|
||||||
|
Todas las contribuciones cuentan, no sólo el código. `octohatrack <https://github.com/LABHR/octohatrack>`__ permite ver todos los colaboradores a un repositorio de GitHub, no solo los que GitHub dice son 'colaboradores'. También está disponible en un `sitio web increíble <https://labhr.github.io/hatrack/>`__.
|
||||||
|
---
|
||||||
|
_slug: relacionados
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
title: 500 líneas: Un intérprete de Python escrito en Python
|
||||||
|
---
|
||||||
|
description: Byterun es un intérprete de Python implementado en Python. A través de mi trabajo en Byterun, me sorprendió y me encantó descubrir que la estructura fundamental del intérprete Python se ajusta fácilmente a una restricción de tamaño de 500 líneas. Este capítulo mostrará la estructura del intérprete y le dará suficiente contexto para explorarlo más a fondo. El objetivo no es explicar todo lo que hay que saber acerca de los intérpretes -como tantas áreas interesantes de programación e informática-, podría dedicar años a desarrollar una comprensión profunda del tema.
|
||||||
|
---
|
||||||
|
editors_pick: yes
|
||||||
|
---
|
||||||
|
resource_type: article
|
||||||
|
---
|
||||||
|
url: http://aosabook.org/en/500L/a-python-interpreter-written-in-python.html
|
||||||
|
---
|
||||||
|
pub_date: 2016-7-12
|
||||||
|
---
|
||||||
|
author: Allison Kaptur
|
||||||
|
---
|
||||||
|
_slug: 500-lineas-un-interprete-de-python-en-python
|
||||||
27
content/community/resources/contents+es.lr
Normal file
27
content/community/resources/contents+es.lr
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
_model: resources
|
||||||
|
---
|
||||||
|
title: Recursos
|
||||||
|
---
|
||||||
|
sort_key: 5
|
||||||
|
---
|
||||||
|
summary: Videos, blogs y otros recursos de la comunidad que pueden encontrar útiles.
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
---
|
||||||
|
incomplete: yes
|
||||||
|
---
|
||||||
|
gutter_top:
|
||||||
|
|
||||||
|
Archivo
|
||||||
|
--------
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
Destacados
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Hay un montón de gran contenido aquí, pero si no tienes tiempo para consumir todo, aquí está nuestra selección de lo mejor de lo mejor:
|
||||||
|
---
|
||||||
|
gutter_bottom: Si escribes un artículo, registra un screencast o publica algo que creas que podría ser de interés para la comunidad de BeeWare, por favor, `ponte en contacto <mailto: russell@beeware.org>`__.
|
||||||
|
---
|
||||||
|
_slug: recursos
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
title: Cubierto en abejas! Implementación de una aplicación para 6 plataformas en 20 minutos
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
¿Alguna vez ha querido escribir una aplicación graáfica que pueda ejecutarse en tu computadora portátil? ¿Qué pasa con una aplicación que pueda ejecutarse en tu teléfono? Históricamente, esto ha sido difícil de lograr con Python, e imposible de lograr sin aprender una API diferente para cada plataforma. Pero no más.
|
||||||
|
|
||||||
|
BeeWare es una colección de herramientas y bibliotecas que le permiten crear aplicaciones gráficas nativas multi-plataforma en Python puro, dirigidas a plataformas de escritorio, móviles y web. En esta charla, se te presentará el conjunto de herramientas y bibliotecas de BeeWare y verás cómo puedes usarlas para desarrollar, desde cero, una sencilla aplicación gráfica que se puede implementar como una aplicación de escritorio independiente, una aplicación de teléfono móvil, y una aplicación web de una sola página, sin realizar cambios en la base de código de la aplicación.
|
||||||
|
---
|
||||||
|
editors_pick: yes
|
||||||
|
---
|
||||||
|
event_name: PyCon AU 2017
|
||||||
|
---
|
||||||
|
event_url: https://2017.pycon-au.org
|
||||||
|
---
|
||||||
|
pub_date: 2017-08-05
|
||||||
|
---
|
||||||
|
resource_type: video
|
||||||
|
---
|
||||||
|
url: https://www.youtube.com/embed/xezYYBL7nk0
|
||||||
|
---
|
||||||
|
_slug: cubierto-en-abejas-desplegar-una-aplicacion-a-6-plataformas-en-20-minutos
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
title: Más allá de la Web 2.0 - Django y Python en el ecosistema web moderno
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
Django tiene más de 10 años de edad; pero la web para la que fue construida, el mundo de la "Web 2.0", ya no existe. Sí, todavía necesitamos desarrollar rápidamente sitios web respaldados por bases de datos, habilitados para AJAX, pero la web moderna se enfrenta a nuevos problemas y nuevos desafíos. Muchos de esos desafíos implican interactuar con dispositivos que no son computadores de escritorio y plataformas que no son un navegadores tradicionales, lugares en los que Python no es un ciudadano de primera clase.
|
||||||
|
|
||||||
|
¿Significa esto que tenemos que abandonar Django y Python para otros frameworks e idiomas? ¿Podemos seguir usando Python y Django en el lado del servidor e interactuar con frameworks independientes del lado del cliente? ¿O podemos empujar a Python y Django a estos nuevos entornos?
|
||||||
|
|
||||||
|
En esta charla, el Dr. Russell Keith-Magee explorará los problemas y las posibles soluciones a estos problemas.
|
||||||
|
---
|
||||||
|
url: http://fast.wistia.net/embed/iframe/w5dpd2z3ym?canonicalUrl=https%3A%2F%2Fopbeat.com%2Fevents%2Fdjangocon-eu-2016%2F&canonicalTitle=DjangoCon%20Europe%202016%2C%20Budapest%20%7C%20Opbeat
|
||||||
|
---
|
||||||
|
event_name: DjangoCon Europe 2016
|
||||||
|
---
|
||||||
|
event_url: https://2016.djangocon.eu/speakers/5
|
||||||
|
---
|
||||||
|
pub_date: 2016-04-01
|
||||||
|
---
|
||||||
|
resource_type: video
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
_slug: djangocon-europe-2016-mas-alla-de-la-web-2
|
||||||
15
content/community/resources/djangocon-us-2013/contents+es.lr
Normal file
15
content/community/resources/djangocon-us-2013/contents+es.lr
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
title: Anunciando Bugjar
|
||||||
|
---
|
||||||
|
description: Una charla relámpago en DjangoCon US 2013, donde Russell Keith-Magee anunció Bugjar
|
||||||
|
---
|
||||||
|
event_name: DjangoCon US 2013
|
||||||
|
---
|
||||||
|
event_url: http://2013.djangocon.us/
|
||||||
|
---
|
||||||
|
pub_date: 2013-09-4
|
||||||
|
---
|
||||||
|
resource_type: video
|
||||||
|
---
|
||||||
|
url: https://www.youtube.com/embed/M-pGfGf7zkY?t=1932
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
title: Cómo me convertí en un desarrollador de código abierto
|
||||||
|
---
|
||||||
|
description: El colaborador de BeeWare, Ankush Thakur, describe cómo obtuvo su primer compromiso en el proyecto BeeWare.
|
||||||
|
---
|
||||||
|
pub_date: 2016-2-16
|
||||||
|
---
|
||||||
|
resource_type: article
|
||||||
|
---
|
||||||
|
url: https://ankushthakur.com/blog/how-i-became-an-open-source-contributor/
|
||||||
|
---
|
||||||
|
author: Ankush Thakur
|
||||||
|
---
|
||||||
|
_slug: como-me-converti-en-un-desarrollador-de-codigo-abierto
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
title: ¿Cómo escribir un transpilador de Python?
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
Todos sabemos que Python es un lenguaje de programación potente y expresivo. Lo que no usted puede no saber es cuánto de los mecanismos internos de Python están expuestos para que usted pueda utilizarlos y manipularlos.
|
||||||
|
|
||||||
|
En esta charla, se presentarán las herramientas y librerías que Python proporciona para manipular la compilación y ejecución del código Python. También veremos cómo se pueden utilizar estas herramientas para apuntar a entornos de ejecución distintos de la máquina virtual CPython.
|
||||||
|
---
|
||||||
|
event_name: PyCon US 2017
|
||||||
|
---
|
||||||
|
event_url: https://us.pycon.org/2017/
|
||||||
|
---
|
||||||
|
pub_date: 2017-05-20
|
||||||
|
---
|
||||||
|
resource_type: video
|
||||||
|
---
|
||||||
|
url: https://www.youtube.com/embed/9c4DEYIXYCM
|
||||||
|
---
|
||||||
|
_slug: como-escribir-un-trasnpilador-de-python
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
title: Implementación de mktime en Batavia o por qué CPython es una mejor opción para la construcción de una máquina del tiempo
|
||||||
|
---
|
||||||
|
author: Jacob Stoebel
|
||||||
|
---
|
||||||
|
description: La función de Python `mktime` nos indica cuántos segundos tiene una fecha y hora desde un punto de referencia (*epoch*). Se basa en una función en C del mismo nombre y mientras esto hace que se ejecute rápidamente, también significa que es dependiente de la plataforma. El objetivo de Batavia es llevar a Python al navegador web, lo que significa que las dependencias de plataformas deben ser eliminadas.
|
||||||
|
---
|
||||||
|
pub_date: 2016-10-16
|
||||||
|
---
|
||||||
|
resource_type: article
|
||||||
|
---
|
||||||
|
url: http://www.jstoebel.com/implementing-mktime-in-batavia/
|
||||||
|
---
|
||||||
|
_slug: implementando-mktime
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
title: Los hijos de los zapateros no tienes zapatos: Herramientas de desarrollo y la filosofía de Unix
|
||||||
|
---
|
||||||
|
pub_date: 2014-01-17
|
||||||
|
---
|
||||||
|
resource_type: video
|
||||||
|
---
|
||||||
|
url: https://www.youtube.com/embed/KgSbsrhrBlc
|
||||||
|
---
|
||||||
|
description: En esta charla, Russell Keith-Magee describe cómo las herramientas de desarrollo han carecido de la progresión de las aplicaciones hechas con ellos.
|
||||||
|
---
|
||||||
|
event_name: Linux Australia 2014 - Mini conferencia de programación abierta
|
||||||
|
---
|
||||||
|
event_url: http://lca2014.linux.org.au/
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
_slug: linux-conf-au-2014-herramientas-de-desarrollo-y-la-filosofia-unix
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
title: Cómo hacer un control remoto de TV en Python
|
||||||
|
---
|
||||||
|
author: Anthony Shaw
|
||||||
|
---
|
||||||
|
description: Anthony Shaw nos muestra el proceso de uso de Briefcase, Toga y las herramientas de soporte de Python en iOS para crear una aplicación de control remoto para su TV.
|
||||||
|
---
|
||||||
|
pub_date: 2017-02-04
|
||||||
|
---
|
||||||
|
resource_type: article
|
||||||
|
---
|
||||||
|
url: https://hackernoon.com/making-a-tv-remote-in-python-ef1dd5409524#.vk3neoxfx
|
||||||
|
---
|
||||||
|
_slug: como-hacer-un-control-remoto-en-python
|
||||||
13
content/community/resources/podcast__init__/contents+es.lr
Normal file
13
content/community/resources/podcast__init__/contents+es.lr
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
title: Podcast .__ init__
|
||||||
|
---
|
||||||
|
description: Tobias Macey y Chris Patti reciben a Russell Keith-Magee en Podcast.__init__, donde hablan sobre el pasado y el futuro de BeeWare, juegos de té y salud mental.
|
||||||
|
---
|
||||||
|
editors_pick: yes
|
||||||
|
---
|
||||||
|
pub_date: 2016-7-2
|
||||||
|
---
|
||||||
|
resource_type: podcast
|
||||||
|
---
|
||||||
|
url: http://pythonpodcast.com/russell-keith-magee-beeware.html
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
13
content/community/resources/pybee-is-awesome/contents+es.lr
Normal file
13
content/community/resources/pybee-is-awesome/contents+es.lr
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
title: Pybee es increible
|
||||||
|
---
|
||||||
|
author: Elias Dorneles
|
||||||
|
---
|
||||||
|
description: Elias Dorneles escribe sobre por qué piensa que BeeWare es increíble y por qué deberías ayudar a construirlo.
|
||||||
|
---
|
||||||
|
pub_date: 2016-10-28
|
||||||
|
---
|
||||||
|
resource_type: article
|
||||||
|
---
|
||||||
|
url: http://eliasdorneles.github.io/2016/10/28/pybee-is-awesome.html
|
||||||
|
---
|
||||||
|
_slug: pybee-es-genial
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
title: Un cuento de dos teléfonos móviles
|
||||||
|
---
|
||||||
|
description: Python está disfrutando de un aumento en popularidad debido a sus características como lenguaje de programación. Sin embargo, en los últimos 10 años, las plataformas móviles han aumentado en importancia, y Python no tiene una buena historia en estas plataformas. En esta charla, el Dr. Russell Keith-Magee dará una inmersión técnica en el trabajo que el proyecto BeeWare ha estado haciendo para que Python sea tan fácil de usar en plataformas móviles como en otras plataformas.
|
||||||
|
---
|
||||||
|
url: https://www.youtube.com/embed/NqdpK9KjGgQ
|
||||||
|
---
|
||||||
|
event_name: PyCon 2016
|
||||||
|
---
|
||||||
|
event_url: https://us.pycon.org/2016/schedule/presentation/1994/
|
||||||
|
---
|
||||||
|
pub_date: 2016-05-31
|
||||||
|
---
|
||||||
|
editors_pick: yes
|
||||||
|
---
|
||||||
|
resource_type: video
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
_slug: pycon-2016-un-cuento-de-dos-telefonos-móviles
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
title: Jugando con Tkinter
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
Tkinter - la librería puente entre Python y la biblioteca de gráficos Tk - ha sido parte de la biblioteca estándar de Python desde muy temprano. Sin embargo, esa inclusión no se ha traducido en un uso extensivo.
|
||||||
|
|
||||||
|
Había una muy buena razón para esto. La documentación de Tk era más que horrible. Y si lograste superar ese obstáculo, las aplicaciones de Tkinter parecían terribles. Tenían un conjunto de widgets lamentablemente inadecuado, diseñado con el mejor de la habilidad gráfica de código abierto de mediados de los 90.
|
||||||
|
|
||||||
|
Y entonces, el mundo se obsesionó con los marcos web, y el escritorio fue declarado como muerto.
|
||||||
|
|
||||||
|
Sin embargo, en los últimos años, muchas de las razones por las que Tkinter fue ignorado se han fijado en silencio. Tk 8.4 mejoró masivamente la apariencia visual de Tk. tkdocs.com ha surgido, abordando muchos de los problemas con la documentación de Tk.
|
||||||
|
|
||||||
|
En esta charla, obtendrás una re-introducción a un viejo amigo, y una explicación de por qué, en un mundo web y móvil, debería importarte.
|
||||||
|
---
|
||||||
|
url: https://www.youtube.com/embed/yI7NYgP54sw
|
||||||
|
---
|
||||||
|
event_name: PyCon AU 2013
|
||||||
|
---
|
||||||
|
event_url: http://2013.pycon-au.org/schedule/30033/view_talk
|
||||||
|
---
|
||||||
|
pub_date: 2013-07-10
|
||||||
|
---
|
||||||
|
resource_type: video
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
title: Liberen el Yak
|
||||||
|
---
|
||||||
|
description: En esta charla relámpago, el Dr. Russell Keith-Magee presenta Toga, una librería/kit de widgets multi-plataforma.
|
||||||
|
---
|
||||||
|
url: https://www.youtube.com/embed/W0W0s0-Ryc0?t=790
|
||||||
|
---
|
||||||
|
event_name: PyCon Australia 2014
|
||||||
|
---
|
||||||
|
event_url: http://2014.pycon-au.org/
|
||||||
|
---
|
||||||
|
pub_date: 2014-08-08
|
||||||
|
---
|
||||||
|
resource_type: video
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
_slug: pycon-australia-2014-libreren-el-yak
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
title: Python en Movimiento: El estado de Python en dispositivos móviles
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
En los últimos 5-10 años, a la división entre "escritorio/servidor" que dominó la informática en los años 80, 90 y principios de 2000 se ha unido un tercer jugador: dispositivos móviles como teléfonos y tabletas.
|
||||||
|
|
||||||
|
Entonces, ¿cuál es la historia para ejecutar Python en estos dispositivos? Aunque no ha habido mucho que decir en el pasado, la buena noticia es que en el último año, ha habido algunos cambios significativos en el paisaje, y Python para dispositivos móviles ahora se tambalea al borde de ser una genuina realidad.
|
||||||
|
|
||||||
|
En esta charla, Russell Keith-Magee examinará el estado actual del uso de Python en dispositivos móviles, el trabajo que se está realizando actualmente, las áreas donde se requiere más trabajo y las perspectivas para el futuro.
|
||||||
|
---
|
||||||
|
event_name: PyCon Australia 2015
|
||||||
|
---
|
||||||
|
event_url: https://2015.pycon-au.org
|
||||||
|
---
|
||||||
|
pub_date: 2015-08-02
|
||||||
|
---
|
||||||
|
resource_type: video
|
||||||
|
---
|
||||||
|
url: https://www.youtube.com/embed/Cbkcr3ofBmk
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
_slug: pycon-australia-2015-python-en-movimiento
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
title: Pythoniza todas las cosas
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
description: Estamos familiarizados con Python como un lenguaje de scripting, como un lenguaje de servidores web, como un lenguaje de aprendizaje, como un lenguaje de análisis de datos, y como un lenguaje de enseñanza. ¿Pero es ese el límite de donde se puede usar Python? ¿Cuál es el futuro de Python en otras plataformas? ¿Es la perspectiva de usar Python en esas plataformas una novedad, o una manera viable de defenderse de una amenaza existencial para el lenguaje? ¿Y cómo esta amenaza se cruza con otras amenazas que tenemos con nuestra comunidad y con nuestra industria?
|
||||||
|
---
|
||||||
|
editors_pick: yes
|
||||||
|
---
|
||||||
|
event_name: PyCon Australia 2016
|
||||||
|
---
|
||||||
|
event_url: http://2016.pycon-au.org
|
||||||
|
---
|
||||||
|
pub_date: 2016-08-14
|
||||||
|
---
|
||||||
|
resource_type: video
|
||||||
|
---
|
||||||
|
url: https://www.youtube.com/embed/1sDyVJm3Ht0
|
||||||
|
---
|
||||||
|
_slug: pythoniza-todas-las-cosas
|
||||||
17
content/community/resources/talk-python-79/contents+es.lr
Normal file
17
content/community/resources/talk-python-79/contents+es.lr
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
title: Hablemos Python #79
|
||||||
|
---
|
||||||
|
author: Michael Kennedy
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
¿Podría escribirme una aplicación de Python para la amplia gama de plataformas por ahí? Oh, espera, quiero que sean aplicaciones gráficas, nativas. Y las necesito en móviles (Android, iOS, tvOS y watchOS), así como las principales aplicaciones de escritorio. También necesito que sean indistinguibles de las aplicaciones nativas (sea una aplicación en macOS, .exe en Windows, etc.).
|
||||||
|
|
||||||
|
¿Qué tecnología usarías para esto? Esta semana les presentaremos un amplio conjunto de herramientas pequeñas, enfocadas y poderosas que hacen que todo esto, y más, sea posible. Estamos hablando con Russell Keith-Magee, fundador del proyecto Beeware.
|
||||||
|
---
|
||||||
|
pub_date: 2016-10-09
|
||||||
|
---
|
||||||
|
resource_type: podcast
|
||||||
|
---
|
||||||
|
url: https://talkpython.fm/episodes/show/79/beeware-python-tools
|
||||||
|
---
|
||||||
|
_slug: hablemos-python-79
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
title: Hacia tu primera aplicación para iPhone, en Python
|
||||||
|
---
|
||||||
|
author: Tennessee Leeuwenburg
|
||||||
|
---
|
||||||
|
description: Una guía paso a paso para escribir una aplicación para iPhone utilizando Python.
|
||||||
|
---
|
||||||
|
pub_date: 2016-08-16
|
||||||
|
---
|
||||||
|
resource_type: article
|
||||||
|
---
|
||||||
|
url: https://myownhat.blogspot.com.au/2016/08/towards-your-first-iphone-app-in-python.html
|
||||||
|
---
|
||||||
|
_slug: hacia-tu-primer-iphone-app-en-python
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
title: ¿Qué hace que el proyecto de código abierto BeeWare sea 'pegajoso' para patrocinadores y colaboradores
|
||||||
|
---
|
||||||
|
description: Robert Gibb de `MaxCDN <https://maxcdn.com>`__ discute por qué se convirtieron en patrocinadores del Proyecto BeeWare.
|
||||||
|
---
|
||||||
|
pub_date: 2016-4-26
|
||||||
|
---
|
||||||
|
resource_type: article
|
||||||
|
---
|
||||||
|
url: https://www.maxcdn.com/blog/beeware-be-sticky/
|
||||||
|
---
|
||||||
|
author: Robert Gibb
|
||||||
|
---
|
||||||
|
_slug: que-hace-al-proyecto-beeware-pegajoso-para-patrocinadores-y-colaboradores
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
title: Cuál es el ruido: Python está lleno de herramientas y librerías
|
||||||
|
---
|
||||||
|
description: Paul Krill, de Infoworld, describe a BeeWare.
|
||||||
|
---
|
||||||
|
pub_date: 2016-6-8
|
||||||
|
---
|
||||||
|
resource_type: article
|
||||||
|
---
|
||||||
|
url: http://www.infoworld.com/article/3081324/application-development/whats-the-buzz-python-gorges-on-tools-and-libraries.html
|
||||||
|
---
|
||||||
|
author: Paul Krill
|
||||||
|
---
|
||||||
|
_slug: cual-es-el-ruido-python-gorges-en-herramientas-y-librerías
|
||||||
21
content/community/team/cflee/contents+es.lr
Normal file
21
content/community/team/cflee/contents+es.lr
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
name: Chiang Fong Lee
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
Chiang Fong ha estado pretendiendo ser un administrador de sistemas desde los días de Mandriva Linux, y recientemente se ha empezado a actuar como si supiera escribir software.
|
||||||
|
|
||||||
|
Cuando no juega con código para eliminar el estrés, se pasa el tiempo jugando con plumas estilográficas y teclados mecánicos.
|
||||||
|
|
||||||
|
Todavía no ha aprendido la lección de no mezclar dedos untados de tinta con teclas bonitas.
|
||||||
|
---
|
||||||
|
email: myself@cflee.net
|
||||||
|
---
|
||||||
|
github_handle: cflee
|
||||||
|
---
|
||||||
|
twitter_handle: cflee
|
||||||
|
---
|
||||||
|
join_date: 2017-03-11
|
||||||
|
---
|
||||||
|
summary: cflee
|
||||||
|
---
|
||||||
|
superpower: voc
|
||||||
11
content/community/team/contents+es.lr
Normal file
11
content/community/team/contents+es.lr
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
_model: team
|
||||||
|
---
|
||||||
|
sort_key: 2
|
||||||
|
---
|
||||||
|
title: El equipo Bee
|
||||||
|
---
|
||||||
|
summary: El equipo principal detrás del desarrollo de BeeWare
|
||||||
|
---
|
||||||
|
body: Entonces, ¿quiénes son las personas detrás de BeeWare? Bueno, hay un gran grupo de colaboradores, pero el proyecto es administrado por el Equipo Bee.
|
||||||
|
---
|
||||||
|
_slug: equipo
|
||||||
19
content/community/team/elias/contents+es.lr
Normal file
19
content/community/team/elias/contents+es.lr
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
name: Elias Dorneles
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
Elias es una máquina de afeitar de yaks certificada. Le gusta jugar con Python y proyectos de código abierto. En casa, le gusta leer, cocinar y tocar canciones de los Beatles en su guitarra.
|
||||||
|
|
||||||
|
Elias logra sobrevivir con un poco de ayuda de sus amigos.
|
||||||
|
---
|
||||||
|
email: eliasdorneles@gmail.com
|
||||||
|
---
|
||||||
|
github_handle: eliasdorneles
|
||||||
|
---
|
||||||
|
join_date: 2017-03-01
|
||||||
|
---
|
||||||
|
summary: Rasurador de Yaks
|
||||||
|
---
|
||||||
|
twitter_handle: eliasdorneles
|
||||||
|
---
|
||||||
|
superpower: voc, android
|
||||||
15
content/community/team/flowerncsu/contents+es.lr
Normal file
15
content/community/team/flowerncsu/contents+es.lr
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
description: Charlotte ha estado escribiendo código por más años de lo que le gustaría admitir, y tiene una pasión por construir cosas geniales y ayudar a otras personas a aprender a construir cosas geniales. Ella está entre los organizadores de PyLadies RDU, y a menudo se le puede encontrar haciendo cosas con hilo cuando no haciendo cosas con código.
|
||||||
|
---
|
||||||
|
name: Charlotte Mays
|
||||||
|
---
|
||||||
|
twitter_handle: charlottecodes
|
||||||
|
---
|
||||||
|
summary:
|
||||||
|
---
|
||||||
|
join_date: 2017-08-17
|
||||||
|
---
|
||||||
|
github_handle: flowerncsu
|
||||||
|
---
|
||||||
|
email: charlotte@charlottemays.me
|
||||||
|
---
|
||||||
|
superpower: cricket
|
||||||
15
content/community/team/freakboy3742/contents+es.lr
Normal file
15
content/community/team/freakboy3742/contents+es.lr
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
description: El Dr. Russell Keith-Magee es un veterano con más de 10 años en el equipo principal de Django, y durante 5 años, fue presidente de la Fundación de Software Django (DSF). También es el fundador del proyecto BeeWare, desarrollando herramientas gráficas para apoyar el desarrollo del software con Python. Cuando no está contribuyendo a la proyectos de código abierto, es ingeniero en Zapier.
|
||||||
|
---
|
||||||
|
name: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
twitter_handle: freakboy3742
|
||||||
|
---
|
||||||
|
summary: Apicultor fundador
|
||||||
|
---
|
||||||
|
join_date: 2013-09-05
|
||||||
|
---
|
||||||
|
github_handle: freakboy3742
|
||||||
|
---
|
||||||
|
email: russell@pybee.org
|
||||||
|
---
|
||||||
|
superpower: bdfn
|
||||||
21
content/community/team/glasnt/contents+es.lr
Normal file
21
content/community/team/glasnt/contents+es.lr
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
name: Katie McLaughlin
|
||||||
|
---
|
||||||
|
join_date: 2016-04-02
|
||||||
|
---
|
||||||
|
twitter_handle: glasnt
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
Katie ha usado muchos sombreros diferentes a lo largo de los años. Anteriormente ha sido desarrolladora de software para muchos lenguajes, administradora de sistemas para múltiples sistemas operativos y oradora en muchos temas diferentes.
|
||||||
|
|
||||||
|
Cuando no está cambiando el mundo, le gusta cocinar, hacer tapices, y ver lo bien que diferentes aplicaciones manejan el uso de emoji.
|
||||||
|
---
|
||||||
|
github_handle: glasnt
|
||||||
|
---
|
||||||
|
email: katie@pybee.org
|
||||||
|
---
|
||||||
|
superpower: batavia, lektor, senior
|
||||||
|
---
|
||||||
|
summary: Vaquera de demonios de Tasmania
|
||||||
|
---
|
||||||
|
_slug: glasta
|
||||||
23
content/community/team/hawkowl/contents+es.lr
Normal file
23
content/community/team/hawkowl/contents+es.lr
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
description:
|
||||||
|
|
||||||
|
Amber Brown pretende ser un búho en Internet. Cuando no está liberando código o trabajando en Twisted, trabaja en desarrollo software para varias compañías comerciales y sin fines de lucro.
|
||||||
|
|
||||||
|
Ella es tan buena hablando sin fin sobre Twisted que incluso Russell una vez la invitó a hablar sobre el tema.
|
||||||
|
|
||||||
|
Además, le gusta que la gente le escriba tweets con imágenes de búhos.
|
||||||
|
---
|
||||||
|
name: Amber Brown
|
||||||
|
---
|
||||||
|
twitter_handle: hawkieowl
|
||||||
|
---
|
||||||
|
summary: Simulador de widgets de Toga con un tema de búho
|
||||||
|
---
|
||||||
|
join_date: 2016-10-13
|
||||||
|
---
|
||||||
|
github_handle: hawkowl
|
||||||
|
---
|
||||||
|
email: hawkowl@atleastfornow.net
|
||||||
|
---
|
||||||
|
superpower: toga, lektor
|
||||||
|
---
|
||||||
|
_slug: halcon
|
||||||
15
content/community/team/phildini/contents+es.lr
Normal file
15
content/community/team/phildini/contents+es.lr
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
name: Philip James
|
||||||
|
---
|
||||||
|
description: Philip escribe código para computadoras y para humanos. Su primer amor informático es Python, pero es obligado demasiado a menudo a escribir JavaScript y Swift. Cuando no está escribiendo código por dinero o para proyectos de código abierto o por sus propios proyectos, da charlas en conferencias. Philip vive en Alameda, California, con su esposa y su gato. Philip cree en la web.
|
||||||
|
---
|
||||||
|
join_date: 2016-06-03
|
||||||
|
---
|
||||||
|
summary:
|
||||||
|
---
|
||||||
|
twitter_handle: phildini
|
||||||
|
---
|
||||||
|
github_handle: phildini
|
||||||
|
---
|
||||||
|
email: philip@pybee.org
|
||||||
|
---
|
||||||
|
superpower: batavia, senior
|
||||||
23
content/community/team/swenson/contents+es.lr
Normal file
23
content/community/team/swenson/contents+es.lr
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
description:
|
||||||
|
|
||||||
|
El Dr. Christopher Swenson es un ingeniero de software, informático y matemático ocasional. Swenson ha estado trabajando con Python desde 2004, e involucrado en código abierto desde antes de saber lo que realmente era Open Source.
|
||||||
|
|
||||||
|
A Swenson le gusta mucho ordenar y mantiene una biblioteca de clasificación en C de alto rendimiento y de código abierto. Swenson ha vendido su mano de obra a empresas grandes y pequeñas, como Simple, Google y el Gobierno de los Estados Unidos, y ha escrito un libro sobre criptografía.
|
||||||
|
|
||||||
|
Swenson es un organizador de PyDX.
|
||||||
|
|
||||||
|
Swenson es un *cupcake*.
|
||||||
|
---
|
||||||
|
name: Christopher Swenson
|
||||||
|
---
|
||||||
|
twitter_handle: chris_swenson
|
||||||
|
---
|
||||||
|
summary: Cupcake
|
||||||
|
---
|
||||||
|
join_date: 2016-09-07
|
||||||
|
---
|
||||||
|
github_handle: swenson
|
||||||
|
---
|
||||||
|
email: swenson@pybee.org
|
||||||
|
---
|
||||||
|
superpower: batavia
|
||||||
13
content/community/training/contents+es.lr
Normal file
13
content/community/training/contents+es.lr
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Entrenamiento
|
||||||
|
---
|
||||||
|
sort_key: 7
|
||||||
|
---
|
||||||
|
summary: ¿Necesitas aprender acerca de BeeWare? ¿Necesitas enseñar a tu personal? Así es cómo...
|
||||||
|
---
|
||||||
|
body: Para consultas de formación, te puedes poner en contacto con `Russell Keith-Magee <mailto: russell@pybee.org>`__
|
||||||
|
---
|
||||||
|
hide_from_index: yes
|
||||||
|
---
|
||||||
|
_slug: entrenamiento
|
||||||
23
content/contact/contents+es.lr
Normal file
23
content/contact/contents+es.lr
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Contacto
|
||||||
|
---
|
||||||
|
summary: ¿Quieres hablar con alguien del proyecto BeeWare?
|
||||||
|
---
|
||||||
|
sort_key: 5
|
||||||
|
---
|
||||||
|
incomplete: no
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Si tienes una pregunta general sobre el uso de BeeWare, tenemos una serie de `canales de comunicación comunitarios <es/comunidad/obtener-ayuda/>`__ donde puede solicitar ayuda.
|
||||||
|
|
||||||
|
Si necesitas asesoramiento sobre cómo contribuir, tiene preguntas sobre la gestión del proyecto, cualquier persona en el `equipo central </es/comunidad/equipo>`__ podrá ayudarle.
|
||||||
|
|
||||||
|
Si deseas reportar un problema de seguridad con una de las herramientas de BeeWare, te puedes poner en contacto con el `equipo principal </es/comunidad/equipo>`__.
|
||||||
|
|
||||||
|
Si has tenido una mala experiencia en un espacio comunitario de BeeWare, o deseas reportar un problema de comportamiento con alguien que es un miembro de la comunidad de BeeWare, el `equipo principal </es/comunidad/equipo>`__ estará feliz de manejar tu informe de acuerdo con nuestra `Guía de información sobre el código de conducta </es/comunidad/comportamiento/reportar-una-queja/>`__.
|
||||||
|
|
||||||
|
Para cualquier otra pregunta, te puedes poner en contacto con el apicultor fundador, `Russell Keith-Magee <mailto:russell@pybee.org>`__.
|
||||||
|
---
|
||||||
|
_slug: contacto
|
||||||
82
content/contact/media/contents+es.lr
Normal file
82
content/contact/media/contents+es.lr
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Medios de comunicación
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Breve descripción
|
||||||
|
==================
|
||||||
|
|
||||||
|
BeeWare es una colección de herramientas y librerías para ayudar en la escritura de interfaces de usuario de aplicaciones en Python.
|
||||||
|
|
||||||
|
Descripción larga
|
||||||
|
==================
|
||||||
|
|
||||||
|
BeeWare es una colección de herramientas y bibliotecas para ayudar en la escritura de interfaces de usuario de aplicaciones en Python. Permite a los desarrolladores escribir aplicaciones para iPhone, Android, Linux, macOS y Windows que son indistinguibles de las aplicaciones escritas de forma nativa.
|
||||||
|
|
||||||
|
|
||||||
|
Logos
|
||||||
|
=====
|
||||||
|
|
||||||
|
Logo de BeeWare
|
||||||
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. image:: /contact/media/beeware-150.png
|
||||||
|
:alt: BeeWare logo
|
||||||
|
|
||||||
|
* `Small </contact/media/beeware-150.png>`__
|
||||||
|
* `Medium </contact/media/beeware-519.png>`__
|
||||||
|
* `Vector </contact/media/beeware.eps>`__
|
||||||
|
|
||||||
|
Logo (ancho) de BeeWare
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. image:: /contact/media/beeware-wide-143.png
|
||||||
|
:alt: BeeWare logo (wide)
|
||||||
|
|
||||||
|
* `Small </contact/media/beeware-wide-143.png>`__
|
||||||
|
* `Medium </contact/media/beeware-wide-600.png>`__
|
||||||
|
* `Large </contact/media/beeware-wide-2028.png>`__
|
||||||
|
* `Vector </contact/media/beeware-wide.eps>`__
|
||||||
|
|
||||||
|
Logo de Entusiastas de BeeWare
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. image:: /contact/media/beeware-enthusiasts-150.png
|
||||||
|
:alt: BeeWare Enthusiasts logo
|
||||||
|
|
||||||
|
* `Small </contact/media/beeware-enthusiasts-150.png>`__
|
||||||
|
* `Medium </contact/media/beeware-enthusiasts-600.png>`__
|
||||||
|
* `Large </contact/media/beeware-enthusiasts-2000.png>`__
|
||||||
|
* `Vector </contact/media/beeware-enthusiasts.eps>`__
|
||||||
|
|
||||||
|
Brutus la abeja
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. image:: /contact/media/brutus-128.png
|
||||||
|
:alt: Brutus the Bee
|
||||||
|
|
||||||
|
* `Small </contact/media/brutus-32.png>`__
|
||||||
|
* `Medium </contact/media/brutus-128.png>`__
|
||||||
|
* `Large </contact/media/brutus-256.png>`__
|
||||||
|
* `X-large </contact/media/brutus-1024.png>`__
|
||||||
|
* `Vector </contact/media/brutus.eps>`__
|
||||||
|
|
||||||
|
---
|
||||||
|
summary: ¿Perteneces a una organización de medios de comunicación y quieres escribir algo sobre BeeWare? Estos son algunos recursos que puede ser útiles.
|
||||||
|
---
|
||||||
|
incomplete: no
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
Contacto
|
||||||
|
=========
|
||||||
|
|
||||||
|
Para todas las preguntas de los medios de comunicación, comuníquese con:
|
||||||
|
|
||||||
|
* **Dr. Russell Keith-Magee**, apicultor fundador: `russell@pybee.org <mailto: russell@pybee.org>`__.
|
||||||
|
* **Philip James**, Apiarist: `philip@pybee.org <mailto: philip@pybee.org>`__.
|
||||||
|
---
|
||||||
|
sort_key: 2
|
||||||
|
---
|
||||||
|
_slug: medios-de-comunicacion
|
||||||
159
content/contents+es.lr
Normal file
159
content/contents+es.lr
Normal file
|
|
@ -0,0 +1,159 @@
|
||||||
|
_model: home
|
||||||
|
---
|
||||||
|
_template: home.html
|
||||||
|
---
|
||||||
|
title: Las herramientas de desarrollo para Python
|
||||||
|
---
|
||||||
|
summary:
|
||||||
|
---
|
||||||
|
description: BeeWare es una colección de proyectos que pueden utilizarse para ayudar a desarrollar, depurar y ejecutar software Python. Cada herramienta sigue la filosofía Unix de hacer una cosa bien. Cada herramienta se puede utilizar de forma aislada, o se pueden encadenar para proporcionar un conjunto enriquecido de herramientas de programación.
|
||||||
|
---
|
||||||
|
header:
|
||||||
|
|
||||||
|
#### button-block ####
|
||||||
|
label: Cuéntame más
|
||||||
|
----
|
||||||
|
link: /es/proyecto/beeware/
|
||||||
|
----
|
||||||
|
icon:
|
||||||
|
----
|
||||||
|
type: primary
|
||||||
|
----
|
||||||
|
size: lg
|
||||||
|
----
|
||||||
|
is_block: no
|
||||||
|
#### button-block ####
|
||||||
|
label: Quiero contribuir
|
||||||
|
----
|
||||||
|
link: /es/contribuir/
|
||||||
|
----
|
||||||
|
icon:
|
||||||
|
----
|
||||||
|
type: primary
|
||||||
|
----
|
||||||
|
size: lg
|
||||||
|
----
|
||||||
|
is_block:
|
||||||
|
#### button-block ####
|
||||||
|
label: Quiero donar
|
||||||
|
----
|
||||||
|
link: /es/contribuir/membresia/
|
||||||
|
----
|
||||||
|
icon:
|
||||||
|
----
|
||||||
|
type: primary
|
||||||
|
----
|
||||||
|
size: lg
|
||||||
|
----
|
||||||
|
is_block:
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
#### text-block ####
|
||||||
|
title: ### Herramientas nativas para Python...
|
||||||
|
----
|
||||||
|
text: Python ha demostrado ser un lenguaje altamente capaz - accesible para los novatos, pero muy potente en manos de expertos. ¿Por qué no deberíamos ser capaces de **utilizar Python en todas partes** cada vez que necesitamos decirle a la computadora que haga algo? ¿Y no deberían nuestras herramientas **aprovechar todas las capacidades de Python** como lenguaje, no sólo los bits que se correlacionan bien con un enlace al lenguaje C?
|
||||||
|
----
|
||||||
|
image: python.png
|
||||||
|
----
|
||||||
|
image_alignment: right
|
||||||
|
#### text-block ####
|
||||||
|
title: ### ...en móvil y en el escritorio...
|
||||||
|
----
|
||||||
|
text: La informática moderna no ocurre en una ventana de consola de 80x25. Sucede en **teléfonos, tabletas y máquinas de escritorio** con interfaces de usuario. ¿No deberíamos poder usar Python en todas esas ubicaciones, y **aprovechar las capacidades únicas de esas plataformas**?
|
||||||
|
----
|
||||||
|
image: cross-platform.png
|
||||||
|
----
|
||||||
|
image_alignment: left
|
||||||
|
#### text-block ####
|
||||||
|
title: ### ...comportamiento nativo.
|
||||||
|
----
|
||||||
|
text: Los usuarios finales no deberían tener que preocuparse por el lenguaje en el que están escritas sus herramientas. Y esto comienza con **herramientas completamente nativas que se ven y s comportarse como tal**. Apariencia nativa, comportamiento nativo, desplegado en la forma en que se utiliza una aplicación nativa. ¿Por qué nuestras herramientas de Python no deberían encajar tan bien como lo hace una herramienta nativa?
|
||||||
|
----
|
||||||
|
image: native.png
|
||||||
|
----
|
||||||
|
image_alignment: right
|
||||||
|
#### text-block ####
|
||||||
|
title: ## Esto es BeeWare.
|
||||||
|
----
|
||||||
|
text: Esto es lo que ofrece BeeWare. Herramientas para ayudarte a escribir código de Python con una **interfaz de usuario enriquecida nativa**; y las librerías y el código de soporte necesarios para que tu código se ejecute en **iOS, Android, macOS, Linux, Windows, tvOS y más**.
|
||||||
|
----
|
||||||
|
image: brutus-97.png
|
||||||
|
----
|
||||||
|
image_alignment: left
|
||||||
|
#### text-block ####
|
||||||
|
title: ### Código abierto
|
||||||
|
----
|
||||||
|
text: El proceso de desarrollo Open Source ha demostrado ser la forma más confiable de desarrollar software robusto y confiable. Es por eso que todo el conjunto de herramientas de BeeWare está licenciado como BSD, y **está disponible para que todos lo utilicen y modifiquen**.
|
||||||
|
----
|
||||||
|
image: opensource.png
|
||||||
|
----
|
||||||
|
image_alignment: right
|
||||||
|
#### text-block ####
|
||||||
|
title: ### Todas las contribuciones son bienvenidas
|
||||||
|
----
|
||||||
|
text: Pero no se trata sólo de código. Un proyecto de software exitoso requiere documentación, diseño, comentarios e informes de errores. La comunidad de BeeWare reconoce que **todas las contribuciones son importantes** - no sólo las que vienen como un *pull request* en GitHub.
|
||||||
|
----
|
||||||
|
image: labhr.png
|
||||||
|
----
|
||||||
|
image_alignment: left
|
||||||
|
#### text-block ####
|
||||||
|
title: ### De la diversidad viene la fuerza
|
||||||
|
----
|
||||||
|
text: Una comunidad diversa es una comunidad fuerte. Esto significa aceptar a personas de todos los niveles de experiencia, de todos los orígenes, de todas las razas, credos, orientaciones y expresiones. El proyecto BeeWare se compromete a **desarrollar y mantener una comunidad diversa y acogedora**. Tenemos una **oferta abierta para enseñar a cualquiera** que quiera involucrarse como colaborador, respaldado por un `Código de Conducta <es/comunidad/comportamiento /codigo-de-conducta/>`__ que se aplica rigurosamente.
|
||||||
|
----
|
||||||
|
image: diversity.png
|
||||||
|
----
|
||||||
|
image_alignment: right
|
||||||
|
#### text-block ####
|
||||||
|
title: Contribuye!
|
||||||
|
----
|
||||||
|
text: Todo esto suena interesante, pero ¿por qué no echar un vistazo a los proyectos de BeeWare y ver cómo puedes utilizarlos para desarrollar aplicaciones Python? O bien, si deseas contribuir y nunca has contribuido a la creación de código abierto, comienza con nuestra 'guía para colaboradores por primera vez'. Si ya te sientes listo para sumergirte directamente, echa un vistazo a las `páginas del proyecto </es/proyecto/proyectos/>`__ o a nuestra guía sobre `lo que puedes hacer para ayudar </es/contribuir/como-ayudar/>`__.
|
||||||
|
----
|
||||||
|
image:
|
||||||
|
----
|
||||||
|
image_alignment:
|
||||||
|
#### button-block ####
|
||||||
|
label: Contribuye a BeeWare
|
||||||
|
----
|
||||||
|
link: /es/contribuir/
|
||||||
|
----
|
||||||
|
icon: code-fork
|
||||||
|
----
|
||||||
|
type: primary
|
||||||
|
----
|
||||||
|
size: lg
|
||||||
|
----
|
||||||
|
is_block: yes
|
||||||
|
#### text-block ####
|
||||||
|
title: ### Permanece en contacto!
|
||||||
|
----
|
||||||
|
text: Sigue a `@PyBeeWare <https://twitter.com/PyBeeWare/>`__ en Twitter o únete a la lista de correo de `entusiastas de BeeWare </es/comunidad/mantente-informado/>`__ para obtener actualizaciones, sugerencias, consejos y anuncios relacionados con el proyecto.
|
||||||
|
----
|
||||||
|
image:
|
||||||
|
----
|
||||||
|
image_alignment:
|
||||||
|
#### button-block ####
|
||||||
|
label: Mantente en contacto
|
||||||
|
----
|
||||||
|
link: /es/comunidad/mantente-informado/
|
||||||
|
----
|
||||||
|
icon: envelope
|
||||||
|
----
|
||||||
|
type: success
|
||||||
|
----
|
||||||
|
size: lg
|
||||||
|
----
|
||||||
|
is_block: yes
|
||||||
|
#### text-block ####
|
||||||
|
title: ### Miembros
|
||||||
|
----
|
||||||
|
text: BeeWare es patrocinado y soportado por usuarios como tú! Cada pequeña contribución ayuda: `haz clic aquí para contribuir </es/contribuir/membresia/>`__.
|
||||||
|
----
|
||||||
|
image:
|
||||||
|
----
|
||||||
|
image_alignment:
|
||||||
|
---
|
||||||
|
gutter_top: ### Muchas gracias a
|
||||||
|
---
|
||||||
|
gutter_bottom: ### [... y muchos más](/es/proyecto/proyectos/)
|
||||||
47
content/contributing/challenge-coins/contents+es.lr
Normal file
47
content/contributing/challenge-coins/contents+es.lr
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
sort_key: 2
|
||||||
|
---
|
||||||
|
title: Monedas de desafío
|
||||||
|
---
|
||||||
|
summary: ¿Qué es una moneda de desafío, y por qué querrías una?
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Las monedas de desafío son una tradición militar, que se dice que se originó a principios del siglo pasado. Se distribuyeron según el mérito en los eventos o por otras razones, y tienen un valor personal profundo.
|
||||||
|
|
||||||
|
Para obtener más información sobre las monedas de desafío, puedes escuchar el podcast `99% Invisible`_ sobre ellas, o leer sobre ellas en `Wikipedia`_.
|
||||||
|
|
||||||
|
.. figure:: challenge-coin.jpg
|
||||||
|
:alt: El frente y la parte posterior de la moneda del desafío de BeeWare.
|
||||||
|
|
||||||
|
*El frente y la parte posterior de la moneda del desafío BeeWare.*
|
||||||
|
|
||||||
|
Las monedas Desafío de BeeWare son de fundición a presión, 4,5 cm (1 3/4") de diámetro, y están hechas de una aleación de níquel/zinc con resaltes de esmalte.
|
||||||
|
|
||||||
|
Cualquier contribución al proyecto BeeWare te permite ganar una moneda.
|
||||||
|
|
||||||
|
No tiene que ser una contribución de código: una actualización de documentación cuenta. Una entrada en el blog. Ayudar a alguien durante un sprint con su contribución.
|
||||||
|
|
||||||
|
Y como un incentivo adicional, para aquellas personas que ayudan a otros a obtener sus monedas de desafío, tenemos una segunda moneda: el Pastor de Yaks
|
||||||
|
|
||||||
|
.. figure:: yak-herder-coin.jpg
|
||||||
|
:alt: La parte delantera y trasera de la moneda Pastor de Yaks de BeeWare.
|
||||||
|
|
||||||
|
*El frente y la parte posterior de la moneda BeeWare Yak Herder.*
|
||||||
|
|
||||||
|
El primer prensado de 100 monedas de desafío de BeeWare se realizaron gracias al apoyo financiero de `MaxCDN`_. También escribieron un `artículo sobre BeeWare`_ en su blog.
|
||||||
|
|
||||||
|
`Revolution Systems`_ proporcionó el financiamiento para el segundo prensado de las monedas de desafío BeeWare.
|
||||||
|
|
||||||
|
`Github`_ proporcionó el financiamiento para la primera prensada de las monedas de desafío BeeWare Yak Herder.
|
||||||
|
|
||||||
|
|
||||||
|
.. _99% Invisible: http://99percentinvisible.org/episode/coin-check/
|
||||||
|
.. _Wikipedia: https://en.wikipedia.org/wiki/Challenge_coin
|
||||||
|
.. _artículo sobre BeeWare: https://www.maxcdn.com/blog/beeware-be-sticky/
|
||||||
|
.. _MaxCDN: /es/comunidad/miembros/maxcdn/
|
||||||
|
.. _Revolution Systems: /es/comunidad/miembros/revsys/
|
||||||
|
.. _GitHub: /es/comunidad/miembros/github/
|
||||||
|
---
|
||||||
|
_slug: monedas-de-desafio
|
||||||
11
content/contributing/contents+es.lr
Normal file
11
content/contributing/contents+es.lr
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Contribuir
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
---
|
||||||
|
summary: ¿Quieres contribuir con BeeWare? Cualquier persona es bienvenida a ayudar!
|
||||||
|
---
|
||||||
|
sort_key: 4
|
||||||
|
---
|
||||||
|
_slug: contribuir
|
||||||
85
content/contributing/core-team/contents+es.lr
Normal file
85
content/contributing/core-team/contents+es.lr
Normal file
|
|
@ -0,0 +1,85 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Equipo principal y responsabilidades
|
||||||
|
---
|
||||||
|
sort_key: 3
|
||||||
|
---
|
||||||
|
summary: ¿Qué es el equipo principal y qué hacen?
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Aquellas abejas ocupadas en el `equipo principal </es/comunidad/equipo>`_ tienen un número de responsabilidades para asegurar que la colmena de BeeWare se mueva. Se trata de una proyecto, por lo que esta página está sujeta a cambios.
|
||||||
|
|
||||||
|
Estos incluyen, pero no se limitan a, responder a los problemas, revisar y emerger código, servir de mentores a nuevos colaboradores, y definir la arquitectura del BeeWare proyecto en su conjunto.
|
||||||
|
|
||||||
|
Hay gente en la que confiamos para tomar decisiones de código; hay gente en la que confiamos tomar decisiones de código y de organización; y hay una persona que guía al visión de toda la organización, y se le confía para tomar una decisión final si la comunidad no puede llegar a un consenso.
|
||||||
|
|
||||||
|
Estos niveles se pueden describir como sigue:
|
||||||
|
|
||||||
|
Abeja o abeja trabajadora:
|
||||||
|
- Cualquier miembro de la comunidad BeeWare. Teniendo en cuenta que trabajamos en código abierto en GitHub, cualquier persona puede sugerir cambios en el código y tener su código incluido. El único límite de su capacidad de contribuir es tener su trabajo incluido en el repositorio por un miembro del equipo con los permiso para hacerlo.
|
||||||
|
|
||||||
|
Apicultor:
|
||||||
|
- Una abeja que ha sido reconocida como un contribuyente de confianza. Estas abejas tienen capacidad demostrada en relación con una parte específica del proyecto BeeWare un período de tiempo. Esto podría ser en un nivel técnico (JavaScript, Python, Experiencia de Objective-C; GTK +, conocimientos macOS), o en otro nivel (comunidad gestión, revisión de código). Los apicultores también pueden tener el "bit de commit" para el proyecto donde se reconoce su experiencia.
|
||||||
|
|
||||||
|
Apicultor Senior:
|
||||||
|
- Apicultores con acceso elevado en GitHub, y también un nivel añadido de responsabilidad de supervisar el proyecto en su conjunto. Ellos son capaces de tomar decisiones de arquitectura, pero en última instancia responder a la *BDFN*.
|
||||||
|
|
||||||
|
Apicultor fundador: `Russell Keith-Magee <https://twitter.com/freakboy3742>`_
|
||||||
|
- El hombre que primero se paró en una colina y vio un yak que necesitaba ser afeitado
|
||||||
|
- Este papel nunca cambia, y continúa ad infinitum
|
||||||
|
- Este papel es diferente al papel de la BDFN
|
||||||
|
|
||||||
|
Dicatdor benevolente por ahora - BDFN (por sus siglas en inglés): `Russell Keith-Magee <https://twitter.com/freakboy3742>`_
|
||||||
|
- Similar al `Dictador Benevolente de por Vida <https://es.wikipedia.org/wiki/Benevolent_Dictator_for_Life>`_, la responsabilidad de la dirección y la toma de las decisiones del proyecto en última instancia recae en el BFDN. El uso de "Por Ahora" en contraposición a "Por la Vida" es referencia al tema de Django de no someter las responsabilidades del mantenedor principal para toda la vida natural de una persona. La vida existe fuera del código abierto, y el equilibrio entre código y vida y bienestar general es una cosa muy importante a tener en cuenta.
|
||||||
|
|
||||||
|
Directrices (no las reglas actuales)
|
||||||
|
--------------------------------------------
|
||||||
|
|
||||||
|
Como con cualquier proyecto con más de una persona con permisos de *commit*, hay un número de directrices generales que el equipo debe seguir:
|
||||||
|
|
||||||
|
* **Ser una buena representación del proyecto para la comunidad más amplia**
|
||||||
|
|
||||||
|
* **Tratar cada consulta y contribución a cualquier proyecto BeeWare con respeto.**
|
||||||
|
|
||||||
|
* **Suponer que todos tienen buenas intenciones, incluso si no han elegido su palabras bien**
|
||||||
|
|
||||||
|
* **Suponer que si alguien ha hecho algo de la manera "equivocada", es porque hemos fallado en el proceso de comunicación**
|
||||||
|
|
||||||
|
* **Suponer que cualquier expresión de enojo o frustración proviene de un lugar genuino de desear utilizar una herramienta/librería de BeeWare**
|
||||||
|
|
||||||
|
* **Alentar a otros miembros de la comunidad a reflejar estos ideales en su propias comunicaciones, tanto dentro como fuera de la comunidad BeeWare**
|
||||||
|
|
||||||
|
* Ningún apicultor debe empujar su propio código
|
||||||
|
- Excepción: "Algo está muy roto y debe arreglarse ahora"
|
||||||
|
- Excepción: BDFN (esto puede cambiar en el futuro)
|
||||||
|
|
||||||
|
* Todo el código sometido a revisión por un miembro del equipo central debe ser revisado por otro miembro del equipo
|
||||||
|
- Excepción: BDFN (esto puede cambiar en el futuro)
|
||||||
|
|
||||||
|
* Todo el código debe pasar pruebas de integración continua antes de ser emergido
|
||||||
|
- Excepción: código que se sabe que está roto y debe ser emergido por otras razones
|
||||||
|
- Excepción: código en un repositorio con pruebas insuficientes de CI
|
||||||
|
- Excepción: Código trabajando y emergido es mejor que código perfecto y no emergido
|
||||||
|
|
||||||
|
* Los procesos de aceptación deben automatizarse siempre que sea posible
|
||||||
|
- Esto significa pruebas, linting, corrección ortográfica, cobertura, y más.
|
||||||
|
- Este es un `trabajo en curso </es/proyecto/proyectos/herramientas/beefore/>`_
|
||||||
|
|
||||||
|
Convertirse en apicultor
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
La inclusión de un nuevo apicultor en el equipo es a la sola discreción de los existentes. Aunque en la actualidad no existen reglas sólidas en general, alguien será invitado a ser apicultor en un proyecto BeeWare si ellos han demostrado sólidas contribuciones al proyecto. Esto también puede extenderse a alguien con conocimiento de dominio específico (por ejemplo, iOS/macOS) que podría faltar en el equipo existente. Tampoco tiene que basarse en número de *commits*. Cualquier persona que sea capaz de demostrar un interés en el proyecto en general pueden pedir permiso para comprometerse con el proyecto.
|
||||||
|
|
||||||
|
Todos los nuevos apicultores serán "inducidos" (por falta de una palabra mejor) en el núcleo valores y directrices del proyecto. Se puede encontrar un resumen de los valores fundamentales `en la página acerca de </es/proyecto/acerca-de/>`_. De quien se une al equipo se espera que defienda esos valores y contribuya a las discusiones sobre la evolución de esos valores en el tiempo.
|
||||||
|
|
||||||
|
No se espera de cualquier apicultor, nuevo o viejo, que sea el único mantenedor de cualquiera cosa. Hay muchos apicultores, y muchos más al lado que pueden ofrecer ayuda, consejos y ser mentores.
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
"bit de commit"?
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
En los sistemas Unix, un solo bit en un archivo se utiliza para denotar el permiso para ejecutar un archivo. En los sistemas de control de origen, existe un bit similar para indicar la capacidad de emerger código. Para decir que alguien tiene el "bit de commit" significa que tienen acceso de escritura a una base de código. En términos GitHub, esto significa que tienen la capacidad de emerger Pull Request y enviar código directamente al proyecto.
|
||||||
|
---
|
||||||
|
_slug: equipo-central
|
||||||
58
content/contributing/how/contents+es.lr
Normal file
58
content/contributing/how/contents+es.lr
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
_template: leaf-page.html
|
||||||
|
---
|
||||||
|
sort_key: 1
|
||||||
|
---
|
||||||
|
title: ¿Qué puedes hacer para ayudar?
|
||||||
|
---
|
||||||
|
summary: ¿Quieres contribuir con BeeWare? Cualquier persona es bienvenida a ayudar!
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Hay muchas maneras de ayudar con BeeWare.
|
||||||
|
|
||||||
|
`Principiantes`_
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
Nunca has colaborado a un proyecto de código abierto antes? ¡Déjanos ayudarte! Todo el mundo puede contribuir al código abierto, y estamos aquí para mostrarle cómo.
|
||||||
|
|
||||||
|
.. _Principiantes: /es/contribuir/como-ayudar/principiantes/
|
||||||
|
|
||||||
|
Contribuciones de código
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
Si estás buscando algo para trabajar y no sabes dónde concentrar tus esfuerzos, trata de mirar el rastreador de tiquete de algún proyecto de tu interés. Normalmente habrá un par de entradas con problemas; cualquier tiquete es un candidato para ser arreglado. Algunos tiquetes en particular se etiquetan `[up-for-grabs] <https://github.com/search?q=user%3Apybee+label%3Aup-for-grabs+is%3Aopen&type=Issues>`__ - esto indica que son áreas de especial interés donde el proyecto necesita contribuciones.
|
||||||
|
|
||||||
|
Si eres un colaborador principiante, algunos tiquetes también se etiquetan como `[first-timers-only] <https://github.com/search?q=user%3Apybee+label%3Afirst-timers-only+is%3Aopen&type=Issues>`__. Estos son temas especiales que han sido seleccionados porque representan introducciones relativamente sencillas al proyecto, y el equipo PyBee servirá de mentor de cualquier colaborador principiante que realice un *Pull Request* una de estos tiquetes.
|
||||||
|
|
||||||
|
Plataforma de trabajo
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
¿Utilizas Windows o varios sabores de Linux? ¿Puedes instalar un proyecto o una aplicación en tu sistema? ¿Tuviste algún problema?
|
||||||
|
|
||||||
|
Si es así, actualiza la documentación para mostrar cómo lograste que funcionara o registra un tiquete si has encontrado un error que no pudiste arreglar.
|
||||||
|
|
||||||
|
Documentación
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
¿Está actualizada la documentación? ¿Crees que las cosas podrían ser redactadas de una manera diferente? ¿Hay secciones incompletas? ¿Tienes una idea para un tutorial que podría ser escrito? Por favor, envía una solicitud de un *Pull Request*!
|
||||||
|
|
||||||
|
Este sitio web
|
||||||
|
------------------
|
||||||
|
|
||||||
|
¿Hay algo malo o incompleto en este sitio web? Por favor, sientete libre de `hacer ediciones <https://github.com/pybee/pybee.github.io>`__ y enviar una solicitud con un *Pull Request*!
|
||||||
|
|
||||||
|
Algo más
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Si tienes tu propia idea para algo, o si no ves ninguna tiquete al respeco o quieres ser mentor en un tiquete, o no estás seguro de cómo para continuar, puedes ponerte en contacto con `Twitter <http://twitter.com/pybeeware/>`__ o en `Gitter <http://gitter.im/pybee/general>`__. Los mantenedores del proyecto aman colaborar, especialmente con los nuevos colaboradores, y con mucho gusto resolverán cualquier pregunta o te ayudarán a través de cualquier problema que puedas encontrar.
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
Todas las contribuciones son bienvenidas
|
||||||
|
-------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Pero no se trata únicamente de código. Un proyecto de software exitoso requiere documentación, diseño, comentarios e reportes de errores. La comunidad BeeWare reconoce que todas las contribuciones son importantes - no sólo las que vienen como una solicitud de *Pull Request* en GitHub.
|
||||||
|
---
|
||||||
|
_slug: como-ayudar
|
||||||
9
content/contributing/how/dco/contents+es.lr
Normal file
9
content/contributing/how/dco/contents+es.lr
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Guía de `DCO` para principiantes
|
||||||
|
---
|
||||||
|
hide_from_index: yes
|
||||||
|
---
|
||||||
|
body: El proyecto BeeWare utiliza un mecanismo conocido como Certificado de Origen de Desarrollador (*Developer Certificate of Origin* por sus siglas en inglés `DCO </es/contribuir/como-ayudar/dco/que-es/>`__ para gestionar el proceso de asegurar que estamos legalmente autorizados a distribuir todo el código y los activos para el proyecto. Una declaración jurídicamente vinculante que afirma que usted es el creador de su contribución y que desea permitir que BeeWare utilice su trabajo.
|
||||||
|
---
|
||||||
|
summary: Porque a veces los abogados necesitan involucrarse ...
|
||||||
63
content/contributing/how/dco/copyright/contents+es.lr
Normal file
63
content/contributing/how/dco/copyright/contents+es.lr
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Sobre los derechos de autor
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
El derecho de autor es el derecho, creado en la ley, que otorga al creador de una obra original los derechos exclusivos para decidir cómo se utiliza y distribuye esa obra.
|
||||||
|
|
||||||
|
El derecho de autor se concede, de forma inmediata y por defecto, a la persona que crea una pieza de trabajo, cuando la crean. Si escribes una canción, escribes un libro o escribes algún software, eres el creador de ese trabajo. Y tienes el derecho de decidir cómo se usará esa creación.
|
||||||
|
|
||||||
|
¿Qué es un copyright?
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
Un copyright - usando la palabra como sustantivo - es propiedad. Es propiedad intelectual. Es algo que se puede comprar y vender. Sólo puede ser propiedad de una sola entidad legal en un momento dado. Si tengo un derecho de autor, y te lo vendo, ahora *tu* tienes los derechos de autor de la obra.
|
||||||
|
|
||||||
|
El derecho de autor no se concede indefinidamente. Se concede por un período de tiempo. En teoría, finalmente expira, y cuando lo hace, la obra vuelve al dominio público. Yo digo en teoría, porque las duraciones de los derechos de autor continúan extendiéndose - pero en teoría, todo trabajo finalmente revertirá al dominio público.
|
||||||
|
|
||||||
|
Si tienes una pieza tangible, física de la propiedad, hay limitaciones obvias en el uso. Éste es mi teléfono. Y si lo tomas sin mi permiso, lo estás robando, y eso es un acto criminal. Pero puedo darte permiso - puedo darte licencia para usar mi teléfono - y entonces que uses mi teléfono no es un acto criminal .
|
||||||
|
|
||||||
|
Dar licencia para usar mi teléfono generalmente no va acompañado de un papeleo legal. Generalmente. Pero podría ser. Si estuviera particularmente preocupado por, digamos, que alguien haga un tweet mientras tenías acceso a mi teléfono, podría hacer que firmaras un acuerdo legalmente vinculante que dice que no harás eso.
|
||||||
|
|
||||||
|
Si decido licenciarte mi teléfono, eso no te da intrínsecamente los derechos de propiedad sobre mi teléfono. Tu no obtienes el derecho de prestar el teléfono a otra persona - a menos que la licencia otorgue ese derecho. Todavía es de *mi* propiedad; solo lo utilizas *bajo licencia*.
|
||||||
|
|
||||||
|
Sin embargo, puedo *darte* o *venderte* mi teléfono - puedo transferirte mi derecho de propiedad. Pero hace una gran diferencia legal si estoy *dándote* mi teléfono, o *licenciándote* el uso de mi teléfono.
|
||||||
|
|
||||||
|
Con suerte, está claro que los términos "copyright" y "license" no son intercambiables - son piezas complementarias del mismo rompecabezas.
|
||||||
|
|
||||||
|
Un pedazo de software es propiedad intelectual. El copyright de una pieza de software es propiedad de alguien - por defecto, el creador. Si deseas utilizar una pieza de software, tienes que ser dado la propiedad - dado el derecho de autor - o concederte una licencia para utilizar el trabajo. Y hace una gran diferencia cuál consigas.
|
||||||
|
|
||||||
|
Copyleft
|
||||||
|
------------
|
||||||
|
Tradicionalmente, se otorgó el derecho de autor para dar a un creador la exclusividad de vender copias de su trabajo. La expectativa era que la gente licenciara copias de su trabajo a cambio de pago.
|
||||||
|
|
||||||
|
Pero a principios de los años 80, la Fundación de Software Libre diseñó un hack legal muy inteligente. Ellos escribieron una licencia de software que, en lugar de defender los derechos del creador, defendían los derechos del receptor.
|
||||||
|
|
||||||
|
El resultado fue copyleft. Copyleft *no* es un sustituto de los derechos de autor. Es un hack legal muy inteligente que *usa* la ley de copyright para hacer cumplir exactamente lo opuesto a lo que el copyright provee. Sin derechos de autor, copyleft no podría existir.
|
||||||
|
|
||||||
|
¿Por qué se requiere una licencia?
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
Si *no* proporcionas una licencia, los términos de la licencia predeterminados en su creación son "TODOS LOS DERECHOS RESERVADOS" - incluso si no se dice. Esto significa que nadie puede legalmente utilizar tu código. Y si ves código sin licencia claramente establecida, no puedes usar ese código legalmente.
|
||||||
|
|
||||||
|
Esto aplica a cualquier creación, no importa cuán grande o pequeña - cada mejora/contribución que envías a un proyecto para la inclusión es un trabajo creativo; y eso significa que se requiere una licencia.
|
||||||
|
|
||||||
|
Dominio publico
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Esto probablemente suena como más problemas de lo que se requiere. ¿Por qué no se puede simplemente decir "Bueno, estoy dando esto a la dominio público".
|
||||||
|
|
||||||
|
Como creador de una obra, en algunas jurisdicciones, ciertos derechos *no* pueden ser transferidos.
|
||||||
|
|
||||||
|
Las cuestiones de derecho de autor están estrechamente asociadas con un concepto conocido como Derechos Morales - derechos que se consideran innatos a la experiencia humana. El problema es que el área de los derechos morales es *muy* dependiente de la jurisdicción. Los derechos morales reconocidos por los tribunales europeos -y en particular por los alemanes- son mucho más fuertes que los derechos morales reconocidos por los tribunales de los Estados Unidos de América.
|
||||||
|
|
||||||
|
Por lo tanto, una declaración de que has publicado tu código en el dominio público es en realidad *ilegal* en Alemania. Los tribunales alemanes no reconocerán esa transferencia de propiedad - como tampoco reconocerían un acuerdo legal para vender a sí mismos en la esclavitud. Tu derecho moral a una compensación justa por tu esfuerzo creativo es un derecho moral que se considera inalienable. Y así, tu trabajo vuelve a tener una licencia por defecto: Todos los derechos reservados. Así que los alemanes no pueden usar tu código.
|
||||||
|
|
||||||
|
Certificados de origen del desarrollador
|
||||||
|
--------------------------------------------------
|
||||||
|
|
||||||
|
Hay varias maneras de administrar el proceso de licencias de contribuciones, pero el proyecto BeeWare utiliza un mecanismo conocido como `Certificados de origen del desarrollador -DCO (por sus siglas en inglés) </es/contribuir/como-ayudar/dco/que-es/>`__. Para más detalles sobre lo que es el DCO, y lo que significa, `puedes ver nuestra guía explicativa </es/contribuir/como-ayudar/dco/>`__. Si necesitas ayuda para configurar tu sistema para cumplir con nuestro DCO `tenemos algunas instrucciones paso a paso para ayudarle a realizarlo </es/contribuir/como-ayudar/dco/como-firmar>`__.
|
||||||
|
---
|
||||||
|
sort_key: 1
|
||||||
|
---
|
||||||
|
_slug: derechos-de-autor
|
||||||
21
content/contributing/how/dco/how/contents+es.lr
Normal file
21
content/contributing/how/dco/how/contents+es.lr
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: ¿Cómo firmar un 'DCO'?
|
||||||
|
---
|
||||||
|
sort_key: 3
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Para indicar que acepta los términos del Certificado de Origen de Desarrollador (por sus siglas en inglés DCO), simplemente agregue una línea a cada mensaje de envío de git:
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
Firmado por: Joe Smith <joe.smith@email.com>
|
||||||
|
|
||||||
|
Si configura su `user.name` y `user.email` como parte de su configuración git, puede firmar su commit automáticamente con `git commit -s`.
|
||||||
|
---
|
||||||
|
summary:
|
||||||
|
---
|
||||||
|
incomplete: yes
|
||||||
|
---
|
||||||
|
_slug: como-firmar
|
||||||
59
content/contributing/how/dco/what/contents+es.lr
Normal file
59
content/contributing/how/dco/what/contents+es.lr
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: ¿Qué es un DCO?
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
El proyecto BeeWare utiliza un mecanimo conocido como `Certificado de origen del Desarrollador - DCO (por sus siglas en inglés) </es/contribuir/como-ayudar/dco/>`__ para administrar este proceso. El DCO es una declaración jurídicamente vinculante que afirma que usted es el creador de su contribución y que desea permitir que BeeWare utilice su trabajo.
|
||||||
|
|
||||||
|
El acuso de recibo de este permiso se realiza mediante un proceso de inicio de sesión en Git. El *sign-off* es una línea simple al final de la explicación para el parche. El texto del DCO es bastante simple (de `developercertificate.org <http://developercertificate.org>`__)::
|
||||||
|
|
||||||
|
Certificado de origen del desarrollador
|
||||||
|
Versión 1.1
|
||||||
|
|
||||||
|
Copyright (C) 2004, 2006 La Fundación Linux y sus colaboradores.
|
||||||
|
660 York Street, Suite 102,
|
||||||
|
San Francisco, CA 94110 USA
|
||||||
|
|
||||||
|
Todo el mundo está autorizado a copiar y distribuir copias
|
||||||
|
documento de licencia, pero no se permite cambiarlo.
|
||||||
|
|
||||||
|
Certificado de origen del desarrollador 1.1
|
||||||
|
|
||||||
|
Al hacer una contribución a este proyecto, certifico que:
|
||||||
|
|
||||||
|
(a) La contribución fue creada total o parcialmente por mí y yo
|
||||||
|
tienen derecho a presentarlo bajo la licencia de código abierto
|
||||||
|
indicada en el expediente; o
|
||||||
|
|
||||||
|
(b) La contribución se basa en trabajos anteriores que, a la mejor
|
||||||
|
de mi conocimiento, está cubierto bajo una fuente abierta apropiada
|
||||||
|
licencia y tengo el derecho bajo esa licencia de presentar
|
||||||
|
trabajo con modificaciones, ya sean creadas en su totalidad o en parte
|
||||||
|
por mí, bajo la misma licencia de código abierto (a menos que sea
|
||||||
|
autorizada a presentar una licencia diferente), según se indica
|
||||||
|
en el archivo; o
|
||||||
|
|
||||||
|
(c) La contribución me fue proporcionada directamente por algún otro
|
||||||
|
persona que certificó (a), (b) o (c) y no he modificado
|
||||||
|
eso.
|
||||||
|
|
||||||
|
(d) Entiendo y estoy de acuerdo en que este proyecto y la contribución
|
||||||
|
pública y que el registro de la contribución (incluida toda la
|
||||||
|
información personal que envío con ella, e incluyendo mi firma) se
|
||||||
|
mantiene indefinidamente y puede ser redistribuida
|
||||||
|
con este proyecto o las licencias de código abierto involucradas.
|
||||||
|
|
||||||
|
Si está dispuesto a aceptar estos términos, simplemente añada una línea a cada mensaje de envío de git::
|
||||||
|
|
||||||
|
Firmado por: Joe Smith <joe.smith@email.com>
|
||||||
|
|
||||||
|
Si configura su ``user.name`` y ``user.email`` como parte de su configuración de git, puede firmar su commit automáticamente con ``git commit -s``.
|
||||||
|
|
||||||
|
Por desgracia, usted tiene que usar su nombre real (es decir, pseudónimos o contribuciones anónimas no se pueden hacer). Esto se debe a que el DCO es un documento jurídicamente vinculante, otorgando al proyecto BeeWare el uso de su trabajo.
|
||||||
|
---
|
||||||
|
sort_key: 2
|
||||||
|
---
|
||||||
|
incomplete: yes
|
||||||
|
---
|
||||||
|
_slug: que-es
|
||||||
9
content/contributing/how/first-time/contents+es.lr
Normal file
9
content/contributing/how/first-time/contents+es.lr
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
sort_key: 1
|
||||||
|
---
|
||||||
|
title: Colaborar por primera vez
|
||||||
|
---
|
||||||
|
summary: Nunca has contribuido a un proyecto de código libre? ¡Déjanos ayudarte!
|
||||||
|
---
|
||||||
|
_slug: principiantes
|
||||||
|
|
@ -0,0 +1,63 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Notificaciones de GitHub 101
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Una vez que comiences a contribuir a BeeWare, GitHub va a empezar a notificarte cosas.
|
||||||
|
|
||||||
|
¡Ésto es una cosa buena! Pero puede ser abrumador, así que aquí hay algunos consejos para ayudarte a combatir el diluvio.
|
||||||
|
|
||||||
|
- Si prefieres notificaciones por correo electrónico únicamente, deshabilita las notificaciones "Web".
|
||||||
|
- Si prefieres no recibir notificaciones por correo electrónico, deshabilita las notificaciones de "Correo electrónico".
|
||||||
|
|
||||||
|
Si prefieres las notificaciones por correo electrónico, hay un montón de maneras en que puedes manejar las cosas.
|
||||||
|
|
||||||
|
Configuración del Repositorio
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Cada repositorio tiene una serie de configuraciones de notificación:
|
||||||
|
|
||||||
|
- Watching (Mirando) - recibe notificaciones de __todo__. Cualquier problema, cualquier solicitud de PR, cualquier comentario. Esto es útil si realmente quieres prestar mucha atención a un repositorio
|
||||||
|
- Not Watching (No mirando) - solo recibirás notificaciones si eres mencionado, o cuando estás participando (por ejemplo, en tu propio Pull Request)
|
||||||
|
- Ignore (Ignorando) - nunca ser notificado.
|
||||||
|
|
||||||
|
Puedes comprobar qué repositorios estás viendo en GitHub desde la `página de observación <https://github.com/watching>`_
|
||||||
|
|
||||||
|
|
||||||
|
Filtros de correo electrónico
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Los correos electrónicos de GitHub son abundantes en información que pueden ayudarte a filtrar lo que te importa y lo que no.
|
||||||
|
|
||||||
|
Los correos electrónicos incluyen la línea de asunto del repositorio en cuestión
|
||||||
|
|
||||||
|
- Por ejemplo, ``[pybee/batavia]`` Añadir una nueva función` sería una notificación del repositorio de Batavia
|
||||||
|
|
||||||
|
Si te mencionan por tu nombre
|
||||||
|
|
||||||
|
- el correo electrónico será con copia a ``mention @noreply.github.com``
|
||||||
|
- el correo electrónico incluirá la frase ``Estás recibiendo esto porque te mencionaron.``
|
||||||
|
|
||||||
|
Si solo estás suscrito a un repositorio
|
||||||
|
|
||||||
|
- el correo electrónico será con copia a ``subscribed @noreply.github.com``
|
||||||
|
|
||||||
|
|
||||||
|
Ssshhhhhh
|
||||||
|
~~~~~~~~~~
|
||||||
|
|
||||||
|
Si deseas silenciar un hilo específico, puedes hacer clic en el botón `Unsubscribe` (Anular suscripción) en cualquier solicitud de PR.
|
||||||
|
|
||||||
|
Si recibes correo electrónico, puedes hacer clic en el botón `Mute this Thread` (Silenciar este hilo)
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
GitHub tiene un montón de recursos para ayudarte con las notificaciones.
|
||||||
|
|
||||||
|
- `Acerca de las notificaciones <https://help.github.com/articles/about-notifications/>`_
|
||||||
|
- `Gestión de notificaciones <https://help.github.com/articles/managing-notifications/>`_
|
||||||
|
---
|
||||||
|
summary: Así que ahora estás usando GitHub, y te está notificando. ¿Ahora que?
|
||||||
|
---
|
||||||
|
sort_key: 4
|
||||||
144
content/contributing/how/first-time/github/contents+es.lr
Normal file
144
content/contributing/how/first-time/github/contents+es.lr
Normal file
|
|
@ -0,0 +1,144 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Uso de GitHub
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Este tutorial de GitHub se basa amorosamente en el `DjangoGirls - Tutorial de Cómo Contribuir <https://github.com/DjangoGirls/tutorial/tree/master/es>`__ el cual está disponible bajo una licencia Creative Commons Atribución-CompartirIgual 4.0 licencia.
|
||||||
|
|
||||||
|
Para este tutorial, usaremos el repositorio de `VOC <https://github.com/pybee/voc>`__ como base para los enlaces y referencias
|
||||||
|
|
||||||
|
Introducción y requisitos previos
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
Para contribuir con BeeWare, lo siguiente es necesario para empezar:
|
||||||
|
|
||||||
|
- una cuenta `GitHub <https://github.com>`__
|
||||||
|
- en el caso de ediciones complejas familiaridad con `Git línea de comandos básicos <https://help.github.com/articles/set-up-git>`__ o familiaridad con una aplicación (`Windows <https://windows.github.com/>`__, `Mac <https://mac.github.com/>`__) para empujar las ediciones realizadas en su ordenador a GitHub.
|
||||||
|
|
||||||
|
Hacer un Fork del repositorio
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
Primero guarde el repositorio de `VOC <https://github.com/pybee/voc>`__ en su cuenta personal de GitHub:
|
||||||
|
|
||||||
|
|Fork button|
|
||||||
|
|
||||||
|
Edición de la documentación
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
Cambios sencillos
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
Para cambios simples como correcciones de errores, puede utilizar el editor en línea de GitHub:
|
||||||
|
|
||||||
|
- Abra su página de local en GitHub,
|
||||||
|
- ir al archivo *README.rst* en cualquier capítulo,
|
||||||
|
- presione el icono *Editar*
|
||||||
|
|
||||||
|
y puede editar el capítulo directamente en github.com.
|
||||||
|
|
||||||
|
|Edit button|
|
||||||
|
|
||||||
|
La sintaxis RST se utiliza para editar las páginas individuales de la documentación.
|
||||||
|
|
||||||
|
|GitHub editor|
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
La captura de pantalla anterior podría no reflejar lo que está actualmente en el GitHub repositorio. El repositorio en vivo cambiará de vez en cuando. Sin embargo, el proceso para enviar Pull Requests sigue siendo el mismo.
|
||||||
|
|
||||||
|
Guarde los cambios y cree un Pull Request como se explica a continuación.
|
||||||
|
|
||||||
|
Código nuevo y cambios complejos
|
||||||
|
--------------------------------------------
|
||||||
|
|
||||||
|
Para agregar código nuevo, extender clases o realizar cambios complejos, debe obtener una copia del código en su computadora local.
|
||||||
|
|
||||||
|
Utilice la aplicación GitHub para su sistema operativo (mencionada anteriormente) o ``git`` para obtener el repositorio localmente. Puedes obtener la direccioón del repositorio desde la primera página de su propio copia (fork) del repositorio en GitHub:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
git clone git@github.com:tunombredeusuario/voc.git
|
||||||
|
|
||||||
|
A continuación, crea una nueva rama para que tus nuevos cambios permanezcan separados de la rama principal. Nombra la rama algo relacionado con los cambios que va a hacer.
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
git checkout -b update_documentation
|
||||||
|
|
||||||
|
Realiza cambios en el código y asegúrate de que se prueban y se guarden localmente.
|
||||||
|
|
||||||
|
A continuación, confirme los cambios utilizando ``git`` y empuje los cambios a su repositorio remoto de GitHub.
|
||||||
|
|
||||||
|
Ejemplo:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
$ git status
|
||||||
|
On branch update_documentation
|
||||||
|
Untracked files:
|
||||||
|
(use "git add <file>..." to include in what will be committed)
|
||||||
|
|
||||||
|
README.md
|
||||||
|
|
||||||
|
$ git add README.md
|
||||||
|
|
||||||
|
$ git commit -m "Update README.md documentation for VOC"
|
||||||
|
[update_documentation fe36152] Added gitbook screenshot
|
||||||
|
1 file changed, 0 insertions(+), 0 deletions(-)
|
||||||
|
create mode 100644 README.md
|
||||||
|
|
||||||
|
$ git push
|
||||||
|
Counting objects: 11, done.
|
||||||
|
Delta compression using up to 8 threads.
|
||||||
|
Compressing objects: 100% (5/5), done.
|
||||||
|
Writing objects: 100% (5/5), 266.37 KiB | 0 bytes/s, done.
|
||||||
|
Total 5 (delta 1), reused 0 (delta 0)
|
||||||
|
To git@github.com:yourusername/voc.git
|
||||||
|
b37ca59..fe36152 update_documentation -> update_documentation
|
||||||
|
|
||||||
|
Realización de un Pull Request
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
Una vez que hayas terminado los cambios, necesitas crear `un pull request <https://help.github.com/articles/using-pull-requests>`__ en GitHub. PyBee será notificado sobre la solicitud de Pull Request, revisaremos tus cambios, sugeriremos cualquier corrección si es necesario y luego uniremos tus cambios con la versión maestra.
|
||||||
|
|
||||||
|
En tu propio repositorio en GitHub haz clic en *Compare and Pull Request*
|
||||||
|
|
||||||
|
|image4|
|
||||||
|
|
||||||
|
Rellena la información *por qué* este cambio se está realizando. El revisor puede ver los detalles del cambio real, por lo que no es necesario repetir el contenido del cambio.
|
||||||
|
|
||||||
|
A continuación, haz clic en *Create Pull Request*.
|
||||||
|
|
||||||
|
Los correos electrónicos de GitHub le notificarán el proceso de seguimiento.
|
||||||
|
|
||||||
|
---------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. |Fork button| image:: fork.png
|
||||||
|
:class: img-fluid
|
||||||
|
|
||||||
|
.. |Edit button| image:: edit.png
|
||||||
|
:class: img-fluid
|
||||||
|
|
||||||
|
.. |GitHub editor| image:: github_editor.png
|
||||||
|
:class: img-fluid
|
||||||
|
|
||||||
|
.. |image4| image:: pull_request.png
|
||||||
|
:class: img-fluid
|
||||||
|
|
||||||
|
---
|
||||||
|
summary: Cómo enviar un Pull Request mediante GitHub
|
||||||
|
---
|
||||||
|
sort_key: 3
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
Más información sobre el proceso con git
|
||||||
|
----------------------------------------------------
|
||||||
|
|
||||||
|
Hay muchos recursos útiles para ayudarte a aprender a registrar problemas/tiquetes y Pull Requests en GitHub:
|
||||||
|
|
||||||
|
* `Contribuyendo a un proyecto de Código Abierto <https://guides.github.com/activities/contributing-to-open-source/#contributing>`__
|
||||||
|
* `Cómo hacer un Fork de un Repositorio <https://help.github.com/articles/fork-a-repo/>`__
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Síndrome del Impostor
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Puede haber una pequeña voz dentro de tu cabeza que te está diciendo que no estás listo; que necesitas hacer un tutorial más; que no está listo para ser un colaborador de código abierto. Después de todo, eres un principiante. ¿Qué podrías ofrecer un proyecto como BeeWare?
|
||||||
|
|
||||||
|
Te lo aseguro ... la pequeña voz en tu cabeza está equivocada. Si puedes escribir código en absoluto, puedes aportar código en un proyecto de código abierto como BeeWare.
|
||||||
|
|
||||||
|
Tampoco eres la primera persona que tiene esos pensamientos. Incluso los miembros del equipo principal de este proyecto tienen estos pensamientos de vez en cuando. Se llama "síndrome del impostor", y es un problema muy común. La buena noticia es que estamos aquí para ayudarte a superarlo.
|
||||||
|
|
||||||
|
Este tutorial existe para asegurarnos de que sabes exactamente qué proceso tienes que seguir para obtener un Pull Request aceptado. Además de estas instrucciones de procedimiento, este proyecto tiene un Código de Conducta. Este Código de Conducta está ahí para darte confianza de que no importa qué errores cometas, serás tratado con respeto. Todo el mundo comete errores - eso es una parte natural del aprendizaje. Nuestra promesa es que estamos aquí para ayudarte a aprender, no para insultarte o menospreciarte en el aprendizaje.
|
||||||
|
|
||||||
|
Ser un colaborador de código abierto no significa sólo escribir código únicamente. Tu puedes ayudar escribiendo documentación, pruebas, o incluso dar comentarios sobre el proyecto (y sí - que incluye dar comentarios sobre el proceso de contribución). Algunas de estas contribuciones pueden ser las más valiosas para el proyecto como un todo, porque tu estás viniendo al proyecto con los ojos frescos, así que puedes ver los errores y los supuestos que los colaboradores experimentados han pasado por alto.
|
||||||
|
|
||||||
|
Tampoco puedes hacer ningún daño, ni a tu propia computadora, ni al proyecto como un todo. Los proyectos de BeeWare no tocan ninguna parte de tu computadora o sistema operativo que pueda causar daños serios. En el peor de los casos, terminarás con un par de archivos adicionales en tu disco duro, que pueden ser eliminados fácilmente después. Y todas las contribuciones que envías a BeeWare se revisan antes de integrarlas en el proyecto "oficial" y obtendrás retroalimentación para ayudarte a corregir cualquier problema que pueda existir.
|
||||||
|
|
||||||
|
Así que - no tengas miedo de contribuir. Si has llegado tan lejos, has demostrado que tienes interés en contribuir - y eso es todo lo que necesitas. Podemos ayudarle el resto del camino.
|
||||||
|
|
||||||
|
Ahora es el momento de subirnos las mangas, y `elegir un proyecto donde se puede colaborar`_.
|
||||||
|
|
||||||
|
.. _elegir un proyecto donde se puede colaborar: /es/contribuir/como-ayudar/principiantes/que-hacer/
|
||||||
|
---
|
||||||
|
sort_key: 1
|
||||||
|
---
|
||||||
|
summary: ¿No crees que estás listo para ser un colaborador de código abierto? Te equivocas.
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
Conectándote con auténtica confianza
|
||||||
|
--------------------------------------------
|
||||||
|
|
||||||
|
Aprende más sobre cómo combatir el síndrome del impostor: mira `"Hornea las Galletas, Usa el Vestido" <https://www.youtube.com/watch?v=6Uj746j9Heo>`__ de Adrienne Lowe
|
||||||
|
---
|
||||||
|
_slug: sindrome-del-impostor
|
||||||
22
content/contributing/how/first-time/more/contents+es.lr
Normal file
22
content/contributing/how/first-time/more/contents+es.lr
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Más recursos
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Estos recursos vienen de afuera de BeeWare, pero están llenos de información útil.
|
||||||
|
|
||||||
|
* `Cómo contribuir a Open Source - FreeCodeCamp <https://github.com/FreeCodeCamp/how-to-contribute-to-open-source>`_
|
||||||
|
* `Cómo contribuir a un proyecto de código abierto en GitHub - EggHead.io <https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github>`_
|
||||||
|
|
||||||
|
-----
|
||||||
|
|
||||||
|
¿Tienes otro enlace? `Añádelo a la lista! <https://github.com/pybee/pybee.github.io/edit/lektor/content/contributing/how/first-time/more/contents+es.lr>`_
|
||||||
|
---
|
||||||
|
summary: Hay muchos más recursos para los colaboradores que inician por primera vez
|
||||||
|
---
|
||||||
|
sort_key: 10
|
||||||
|
---
|
||||||
|
incomplete: no
|
||||||
|
---
|
||||||
|
_slug: mas
|
||||||
|
|
@ -0,0 +1,79 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Configuración de tu entorno
|
||||||
|
---
|
||||||
|
_slug: configuracion
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Con el fin de poder colaborar, vas a tener que configurar un **entorno de desarrollo** - un lugar donde puedes trabajar en el código donde se comporte igual que en el ambiente de todos los demás.
|
||||||
|
|
||||||
|
Muchas partes de BeeWare utilizan las mismas herramientas: una versión específica de Python y controles de entornos virtuales (virtualenvs).
|
||||||
|
|
||||||
|
Python
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Python es un lenguaje de scripting, que está disponible en una serie de diferentes sistemas operativos. Sin embargo, dependiendo del sistema que esté usando, tu versión de Python va a ser diferente. Debido a esta razón, especificamos exactamente qué versión de Python esperamos que el código utilice.
|
||||||
|
|
||||||
|
Para las siguientes instrucciones, vamos a suponer que tu sabes exactamente que versión de Python necesitas instalar. Normalmente esto está listado en el **README.md** o en la información del tutorial. Nuestro sistema de `integración continua </es/contribuir/como-ayudar/principiantes/que-es/ci/>`_ tienen que decir exactamente qué versión de Python se necesita. Así que si estás realmente atascado, prueba a mirar el :code:`.travis.yml` o :code:`circle.yml` para la versión específica que necesitas.
|
||||||
|
|
||||||
|
pyenv
|
||||||
|
~~~~~~
|
||||||
|
|
||||||
|
`pyenv <https://github.com/yyuu/pyenv>` _ es una forma de obtener múltiples versiones de Python trabajando en tu máquina al mismo tiempo. Te permite elegir que versión de Python utilizar para un proyecto en particular.
|
||||||
|
|
||||||
|
* MacOSX - Puedes instalar pyenv a través de `brew </es/contribuir/como-ayudar/principiantes/que-es/gestor-de-paquetes/>`_, ejecutando :code:`brew install pyenv`
|
||||||
|
* Otro - utiliza el `instalador automático <https://github.com/yyuu/pyenv-installer>`_.
|
||||||
|
|
||||||
|
Una vez :code: `pyenv` está instalado, necesitas instalar la versión específica de Python. Esta información se almacena en un archivo :code:`.python-version`, que significa que puede tener diferentes versiones de Python utilizadas en diferentes proyectos en tu computadora.
|
||||||
|
|
||||||
|
Para instalar y configurar la versión de Python:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ cd /path/to/your/project
|
||||||
|
$ pyenv install 3.5.1
|
||||||
|
$ pyenv local 3.5.1
|
||||||
|
|
||||||
|
Más información sobre pyenv está disponible en su `sitio web <https://github.com/yyuu/pyenv/blob/master/COMMANDS.md>`_
|
||||||
|
|
||||||
|
virtualenv
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Una vez que instales Python, vas a querer poder instalar diferentes Paquetes de Python. Puesto que puedes tener más de un proyecto en proceso, y más de una versión de Python, teniendo una manera de asegurarse de que sólo los Paquetes específicos de Python están disponibles en cualquier momento es útil.
|
||||||
|
|
||||||
|
Una forma de hacerlo es a través de `virtualenv <https://virtualenv.pypa.io/en/stable/>`_.
|
||||||
|
|
||||||
|
Utilizando `pip </es/contribuir/como-ayudar/principiantes/que-es/gestor-de-paquetes/>`_, podemos instalar virtualenv
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ pip install virtualenv
|
||||||
|
|
||||||
|
Entonces, queremos configurar un virtualenv que podemos activar. Tener más de un virtualenv está bien, pero sólo uno puede ser activado a la vez. Asegúrate de hacer la selección de Python con :code: `pyenv`, para que sepamos qué versión de Python vamos a usar
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ virtualenv -p $ (pyenv which python) env
|
||||||
|
|
||||||
|
Entonces, podemos activar el entorno virtual.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ source env/bin/activate
|
||||||
|
|
||||||
|
Esto dará lugar a una pequeña nota en su línea de comandos que le permite saber que está en un entorno virtual
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
(env) $
|
||||||
|
|
||||||
|
Para deshabilitar su virtualenv:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
deactivate
|
||||||
|
---
|
||||||
|
summary: Cómo obtener la configuración del sistema para poder contribuir
|
||||||
|
---
|
||||||
|
sort_key: 4
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: CI (Integración continua)
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
La integración continua (CI, por su sigla en inglés), es una manera que podemos probar código continuamente.
|
||||||
|
Estos sistemas monitorean automáticamente nuevos *Pull Request* y otros eventos,
|
||||||
|
y ejecutan automáticamente suites de prueba y otros chequeos automáticos, previamente configurados.
|
||||||
|
|
||||||
|
Utilizamos un número de diferentes sistemas de Integración Continua, como son `Travis CI <https://travis-ci.com/>`_ y `Circle CI <https://circleci.com/>`_. Normalmente, el estado *build* de un proyecto se muestra como una imagen en el archivo README del proyecto. Verde significa que las pruebas han sido exitosas, y rojo significa que no. Haciendo clic en la imagen se muestran los resultados de estas pruebas.
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
¿No está seguro de qué ambiente de CI se está utilizando?
|
||||||
|
----------------------------------------------------------
|
||||||
|
|
||||||
|
Compruebe el archivo de configuración. `.travis.yml` es Travis,` circle.yml` es Circle CI.
|
||||||
|
---
|
||||||
|
summary: ¿Qué es Integración continua?
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: ¿Qué es...?
|
||||||
|
---
|
||||||
|
_slug: que-es
|
||||||
|
---
|
||||||
|
summary: ¿Confundido sobre lo qué algo significa? Hemos descrito varias cosas aquí
|
||||||
|
---
|
||||||
|
sort_key: 5
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: git
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
:code:`git` is a `Sistema de Control de Versión
|
||||||
|
<https://es.wikipedia.org/wiki/Control_de_versiones>`_, que nos permite guardar, almacenar
|
||||||
|
y compartir los cambios en el código a lo largo del tiempo.
|
||||||
|
|
||||||
|
`GitHub <https://github.com>`_ is just :code:`git` bajo la superficie, pero incluye un montón de cosas útiles, como una interfaz web agradable para hacer solicitudes de inclusión de código (*Pull Request - PR*, por sus siglas en inglés) y un sistema de seguimiento de problemas.
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
---
|
||||||
|
summary: ¿Qué es git de todos modos?
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Gestor de paquetes
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Instalar el software en su computadora puede ser interesante. A veces tienes que
|
||||||
|
descargar un archivo y luego instalarlo tu mismo o copiar archivos en lugares específicos
|
||||||
|
en tu computador.
|
||||||
|
|
||||||
|
Sin embargo, los 'gestores de paquetes' ayudan a facilitar este proceso permitiendo
|
||||||
|
automatización de instalación de software.
|
||||||
|
|
||||||
|
Hay diferentes niveles de gestores de paquetes: para el nivel del sistema operativo,
|
||||||
|
así como uno específicamente para los paquetes de Python.
|
||||||
|
|
||||||
|
|
||||||
|
Mac OS X
|
||||||
|
-------------
|
||||||
|
|
||||||
|
`Homebrew <http://brew.sh/>`_ es el estándar para instalar software en su
|
||||||
|
Mac. Este es el sistema que se utiliza si ejecuta un comando :code:`brew install`.
|
||||||
|
|
||||||
|
Linux
|
||||||
|
--------
|
||||||
|
|
||||||
|
Dependiendo de la familia del sistema operativo que se ejecute, se utiliza
|
||||||
|
:code:`apt-get` (para Debian y Ubuntu) o :code:`yum` (para Red Hat y CentOS)
|
||||||
|
|
||||||
|
Python
|
||||||
|
----------
|
||||||
|
|
||||||
|
:code:`pip` es la forma en que puede instalar paquetes del software Python. En ejecución :code:`pip
|
||||||
|
install` utiliza el `Indice de Paquetes de Pyton <https://pypi.python.org/pypi>`_,
|
||||||
|
también conocido como `PyPI` (por sus siglas en inglés) o "La Tienda de quesos", es un repositorio central para paquetes de Python.
|
||||||
|
Muchos proyectos BeeWare se pueden instalar usando `pip`.
|
||||||
|
|
||||||
|
¿Por qué se llama "La Tienda de Quesos"? Es un `Referencia a Monty Python
|
||||||
|
<https://www.youtube.com/watch?v=cWDdd5KKhts>`_ :)
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
---
|
||||||
|
summary: Cómo gestionar los paquetes instalados
|
||||||
|
---
|
||||||
|
_slug: gestor-de-paquetes
|
||||||
|
|
@ -0,0 +1,54 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Tu primera contribución a Batavia
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Acerca de Batavia
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
La idea detrás de Batavia es tomar bytecode de Python, y enviarlo a un navegador donde se ejecuta en una implementación de Javascript de la máquina virtual Python.
|
||||||
|
|
||||||
|
Esto significa que es posible escribir aplicaciones web 100% en Python - para aquellos nuevas en el desarrollo web no necesiten aprender varios idiomas para desarrollar aplicaciones web.
|
||||||
|
|
||||||
|
Antes de que empieces
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
En las siguientes instrucciones, vamos a suponer que estás familiarizado con `Github y hacer Pull Requests </es/contribuir/como-ayudar/principiantes/ github>`__. También vamos a asumir un nivel de entrada de Python y JavaScript; si algo que describimos aquí no tiene sentido, no te preocupe - estamos más que felices de llenar las lagunas. En este punto, no sabemos lo que no sabes :-)
|
||||||
|
|
||||||
|
Este tutorial también se centrará en las contribuciones de código. Si tus intereses/habilidades están en otro lugar (por ejemplo, pruebas, documentación), nos los puedes hacer saber, y así podeos hacer algunas otras sugerencias.
|
||||||
|
|
||||||
|
Antes de hacer tu primera contribución, dale una prueba a Batavia. Las instrucciones de la guía `Primeros pasos <http://batavia.readthedocs.io/en/latest/intro/index.html>`__ *deberían* ser suficientes para empezar. Si te quedas atascado, nos puedes decir, y te ayudaremos. Si te quedas atascado, esto también apuntará a tu primera contribución - averiguar qué instrucciones te habrían hecho *no* quedarte atascado, y contribuir con una actualización al README.
|
||||||
|
|
||||||
|
Tu primera contribución
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
Una vez que tengas a Batavia trabajando, estarás listo para hacer tu primera contribución de código. La guía de contribución (http://batavia.readthedocs.io/en/latest/community/contributing.html) te guiará a través del proceso de configuración de tu entorno de desarrollo. Trabaja con esta guía hasta que puedas ejecutar la suite de pruebas de Batavia. Una vez que hayas podido ejecutar el conjunto de pruebas sin ningún fallo, estarás listo para agregar un nuevo código a la base de código de Batavia.
|
||||||
|
|
||||||
|
Para implementar una máquina virtual de Python completa, Batavia necesita implementar todas las excentricidades del comportamiento de Python. Por ejemplo, Python permite multiplicar una cadena por un número entero, lo que resulta en una cadena duplicada (por ejemplo, ``"foo" * 3`` => ``"foofoofoo"``). El comportamiento de Javascript puede ser muy diferente, dependiendo de las circunstancias - por lo que necesitamos proporcionar una librería que implemente el comportamiento de Python deseado.
|
||||||
|
|
||||||
|
Ese ejemplo particular (número de veces de cadena) ya está implementado - puedes ver `la definición de la función __mul __ () <https://github.com/pybee/batavia/blob/master/batavia/types/Str.js>`__. Esto implementa el operador multiplicador. Se implementa en Javascript, pero implementa el comportamiento de Python - para *algunos* tipos de datos.
|
||||||
|
|
||||||
|
Si luego examinas `tests/datatypes/test_str.py <https://github.com/pybee/batavia/blob/master/tests/datatypes/test_str.py>`__, verás las pruebas para este comportamiento . Ya hemos escrito una suite de pruebas que intenta realizar cada operación en cada tipo de datos. Sin embargo, todos los nombres enumerados en ese archivo son los ejemplos que se sabe que fallan (porque la implementación no existe todavía). Las pruebas funcionan escribiendo un programa corto que implementa una operación matemática, ejecutando el programa bajo Python normal y ejecutándolo de nuevo bajo Batavia. La prueba pasa cuando las dos ejecuciones producen la misma respuesta.
|
||||||
|
|
||||||
|
Por lo tanto, para tu primera contribución de código abierto: Elije una prueba que se encuentre actualmente en el archivo de prueba ``test_str.py`` (por ejemplo, ``test_multiply_float`` es la prueba de multiplicar una cadena por un flotante) y modifica la implementación de Str hasta obtener la misma repuesta del programa de CPython como lo de la versión de Batavia del mismo programa. Esto incluye mensajes de error - si CPython plantea un ``TypeError`` para una operación en particular (por ejemplo, ``"foo" * 3.1415``), entonces Batavia debería producir el mismo mensaje de error también, incluyendo hasta la puntuación del mensaje.
|
||||||
|
|
||||||
|
Antes de empezar a trabajar, visita el `tiquete #46 <https://github.com/pybee/batavia/issues/46>`_ y registra la función en la que está trabajando - de esa manera no vamos a terminar con 2 personas trabajando en el mismo problema.
|
||||||
|
|
||||||
|
Una vez que hayas escrito tu implementación, ejecuta las pruebas. Si obtienes un "éxito inesperado" en la suite de pruebas, y *no obtienes* ningún fallo, ¡lo has logrado! Elimina la línea del archivo ``test_str.py`` correspondiente a la prueba que has arreglado (porque ya no se espera que la prueba falle) y envía un Pull Request.
|
||||||
|
|
||||||
|
¡A celebrar!
|
||||||
|
----------------
|
||||||
|
|
||||||
|
A continuación, destapa una bebida de celebración de tu elección! ¡Eres un colaborador de código abierto!
|
||||||
|
|
||||||
|
Mucha suerte - y no puedo esperar para ver tu primera contribución!
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
Obtener ayuda
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Si tienes alguna dificultad con este tutorial, o si hay algo que no entiendes, no olvides - estamos aquí para ayudarte. `Puedes ponerte en contacto con </es/comunidad/obtener-ayuda/>`__ y te ayudaremos, ya sea dando una mejor explicación de lo que se requiere, ayudando a depurar un problema difícil o mostrándote tutoriales que tu puedas requerir.
|
||||||
|
---
|
||||||
|
summary: ¿Quieres contribuir a un proyecto de Código Abierto? Batavia es un gran lugar para comenzar.
|
||||||
53
content/contributing/how/first-time/what/contents+es.lr
Normal file
53
content/contributing/how/first-time/what/contents+es.lr
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: ¿Que debería hacer?
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Android y Java
|
||||||
|
---------------
|
||||||
|
|
||||||
|
El mejor lugar para empezar con cualquier contribución de código abierto es con algo que se adapte a tu área de interés. Si tienes un teléfono Android, o estás interesado en desarrollar código que necesite ejecutarse en la Máquina virtual de Java, VOC es un lugar fantástico para contribuir. Para que VOC funcione, toda la funcionalidad de CPython que se implementa en C necesita ser reintroducida en Java. Como resultado, hay un montón de tareas muy accesibles y bien contenidas adecuadas para los colaboradores principiantes.
|
||||||
|
|
||||||
|
Consulta la guía de tu `primera contribución con VOC </es/contribuir/como-ayudar/principiantes/que-hacer/voc/>`__ para obtener más detalles.
|
||||||
|
|
||||||
|
JavaScript y navegadores
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
Alternativamente, si eres un desarrollador web que desea utilizar Python en el navegador, Batavia puede ser para ti. Al igual que con VOC, Batavia requiere una implementación de toda la funcionalidad de CPython que se implementa en C; sin embargo, Batavia necesita esa implementación en JavaScript.
|
||||||
|
|
||||||
|
Una vez más, esto se traduce en un montón de tareas muy accesibles y bien contenidas adecuadas para los colaboradores principiantes.
|
||||||
|
|
||||||
|
Consulta la guía de `tu primera contribución con Batavia </es/contribuir/como-ayudar/principiantes/que-hacer/batavia/>`__ para más detalles.
|
||||||
|
|
||||||
|
Tutoriales
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Una de las mejores maneras de contribuir es asegurarnos de que nuestra documentación introductoria y tutorial sea sólida. Elije un proyecto de interés de la suite BeeWare, e intenta seguir la guía de introducción y el tutorial. Si no puedes encontrar la guía de inicio, entonces es lo primero que debe reportar.
|
||||||
|
|
||||||
|
A medida que trabajas a través del tutorial, toma nota de cualquier cosa que no tiene sentido, o no funciona. A continuación, abre un tiquete en el rastreador de reportes.
|
||||||
|
|
||||||
|
Windows
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Si eres un usuario de Windows, BeeWare puede *definitivamente* utilizar tu ayuda. El equipo principal utiliza Linux y macOS en su desarrollo diario, y como resultado, es muy fácil introducir incompatibilidades de Windows. Esto casi siempre es debido a una equivocación. Identificar - y tal vez incluso arreglar - problemas con la ejecución de herramientas de BeeWare en Windows es una ayuda inmensa.
|
||||||
|
|
||||||
|
Idiomas
|
||||||
|
------------
|
||||||
|
|
||||||
|
¿Hablas un idioma que no sea inglés? En la actualidad, el núcleo del equipo son todos hablantes nativos de Inglés. Proporcionar traducciones de documentación, o tutoriales o guías totalmente nuevas en tu idioma nativo es una gran manera de contribuir. Elije un proyecto que ya tenga documentación y traduce ese texto. Alternativamente, puedes empezar desde cero y escribir un tutorial completamente nuevo.
|
||||||
|
|
||||||
|
Si hablas un idioma con un juego de caracteres no latino (por ejemplo, ruso o chino), o un idioma con un script de derecha a izquierda (por ejemplo, hebreo o árabe) podrás señalar todos los lugares donde hemos asumido una codificación ASCII simple o convenciones de izquierda a derecha. Elije cualquiera de los proyectos BeeWare activos e intenta utilizarlo con tu idioma nativo. Si tienes algún problema, reporta esos problemas como errores; si te sientes particularmente aventurero, mira si puedes resolver y arreglar el error.
|
||||||
|
---
|
||||||
|
sort_key: 2
|
||||||
|
---
|
||||||
|
summary: Así que quieres ayudar, pero ¿por dónde empezar?
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
Sólo principiantes
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
¿Quieres comenzar pro algo pequeño? Echa un vistazo a las ediciones de BeeWare marcadas `[first-timers-only] <https://github.com/search?utf8=%E2%9C%93&q=org%3Apybee+is%3Aissue+is%3Aopen+label%3Aup- for-grabs & type = Problemas & ref = searchresults>`__
|
||||||
|
---
|
||||||
|
_slug: que-hacer
|
||||||
61
content/contributing/how/first-time/what/voc/contents+es.lr
Normal file
61
content/contributing/how/first-time/what/voc/contents+es.lr
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Tu primera contribución a VOC
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Acerca de VOC
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
La idea detrás de VOC es tomar el árbol de sintaxis abstracta de Python, y compilarlo directamente a bytecode de Java. Esto significa que su archivo .py se convertirá en un archivo .class que se puede ejecutar en una máquina virtual Java.
|
||||||
|
|
||||||
|
Esto es útil en una serie de formas posibles:
|
||||||
|
|
||||||
|
* Escribir aplicaciones de Android
|
||||||
|
* Escribir plugins para ElasticSearch/Lucene
|
||||||
|
* Escribir plugins para Minecraft
|
||||||
|
* Creación de aplicaciones web para situaciones en las que JavaEE es la única plataforma de implementación disponible.
|
||||||
|
|
||||||
|
Es similar a Jython en que te permite ejecutar Python en Java; pero es diferente porque no hay runtime "ejecutable" - no es un intérprete de Python escrito en Java; VOC genera bytecode Java que es indistinguible del código que se generó usando `javac`.
|
||||||
|
|
||||||
|
Antes de que empieces
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
En las siguientes instrucciones, vamos a suponer que está familiarizado con `Github y hacer Pull Requests </es/contribuir/como-ayudar/principiantes/github>`__. También vamos a asumir un nivel de Python y Java; si algo descrito aquí no tiene sentido, no te preocupes - estamos más que felices de llenar los vacíos. En este punto, no sabemos lo que no sabes :-)
|
||||||
|
|
||||||
|
También vamos a asumir que estás interesado en contribuir con código; si tus intereses/habilidades están en otro lugar (por ejemplo, pruebas, documentación), nos lo puedes hacer saber, y podemos hacer algunas otras sugerencias.
|
||||||
|
|
||||||
|
Antes de hacer tu primera contribución, prueba a VOC. Las instrucciones de la guía `Primero pasos <https://voc.readthedocs.io/en/latest/intro/index.html>`__ deberían ser suficientes para empezar. Si te quedas atascado, háznoslo saber y te ayudaremos. Y si te quedas atascado, eso también apuntará a tu primera contribución - averiguar qué instrucciones te habrían hecho *no* quedarte atascado, y contribuir con una actualización al README.
|
||||||
|
|
||||||
|
Tu primera contribución
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
Una vez que tengas VOC trabajando, estas listo para hacer tu primera contribución de código. La `guía de contribución <https://voc.readthedocs.io/en/latest/internals/contributing.html>`__ te guiará a través del proceso de configuración de tu entorno de desarrollo. Trabajar a través de esa guía hasta que puedas ejecutar la suite de pruebas VOC - una vez que hayas sido capaz de ejecutar el conjunto de pruebas sin ningún tipo de fallos, estás listo para añadir nuevo código a la base de código VOC.
|
||||||
|
|
||||||
|
Para que el bytecode de Java se comporte como Python, VOC necesita implementar todas las excentricidades del comportamiento de Python. Por ejemplo, Python permite multiplicar una cadena por un número entero, lo que resulta en una cadena duplicada (por ejemplo, ``"foo" * 3`` => ``"foofoofoo"``). Sin embargo, esto *no se* permite en Java; por lo que necesitamos proporcionar una librería de Java que implemente este comportamiento.
|
||||||
|
|
||||||
|
Ese ejemplo particular (número de veces de la cadena) ya está implementado - vea `el código fuente para Str.java <https://github.com/pybee/voc/blob/b35b133ae14843326ca09c77f2cd4cf96b6b8d7d/python/common/org/python/types/Str. java#L424>`__. Esto implementa ``__mul __ ()`` (el método de multiplicación de Python) en un objeto ``Str``. Se implementa en Java, pero implementa el comportamiento de Python.
|
||||||
|
|
||||||
|
Si luego miras el código de `test_str.py <https://github.com/pybee/voc/blob/master/tests/datatypes/test_str.py>`__, verás las pruebas para este comportamiento. Ya hemos escrito una suite de pruebas que intenta realizar cada operación en cada tipo de datos. Sin embargo, todos los nombres enumerados en ese archivo son los ejemplos que se sabe que fallan (porque la implementación no existe todavía). Las pruebas funcionan escribiendo un programa corto que implementa una operación matemática, ejecutando el programa bajo Python normal y luego ejecutándolo nuevamente bajo VOC/Java. La prueba pasa cuando las dos ejecuciones producen un resultado idéntica.
|
||||||
|
|
||||||
|
Por lo tanto, para tu primera contribución de código abierto: Escoge una prueba que esté actualmente en la lista del archivo de prueba ``test_str.py`` (por ejemplo, test_multiply_float es la prueba de multiplicar una cadena por un número de punto flotante), y modifica la implementación de Str hasta que obtengas la misma salida del programa CPython como lo hace desde la versión VOC compilada del mismo programa. Esto incluye mensajes de error - si CPython plantea un ``TypeError`` para una operación en particular (por ejemplo, ``"foo" * 3.1415``), entonces VOC debería también - y el mensaje de error debería ser el mismo hasta la puntuación.
|
||||||
|
|
||||||
|
Antes de comenzar a trabajar, visita el `Ticket # 36 <https://github.com/pybee/voc/issues/36>`__ y registra la función en la que estás trabajando - de esa manera no vamos a terminar con 2 personas trabajando en el mismo.
|
||||||
|
|
||||||
|
Una vez que hayas escrito tu implementación, ejecuta las pruebas. Si obtienes un "éxito inesperado" en la suite de pruebas, y *no obtienes* ningún fallo, ¡lo has logrado! Elimina la línea del archivo ``test_str.py`` correspondiente a la prueba que has arreglado (porque ya no se espera que la prueba falle) y envía un Pull Request.
|
||||||
|
|
||||||
|
¡A celebrar!
|
||||||
|
----------------
|
||||||
|
|
||||||
|
A continuación, destapa una bebida de celebración de tu elección! ¡Eres un colaborador de código abierto!
|
||||||
|
|
||||||
|
Mucha suerte - y no puedo esperar para ver tu primera contribución!
|
||||||
|
---
|
||||||
|
summary: ¿Quieres contribuir a un proyecto de Código Abierto? VOC es un gran lugar para comenzar.
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
Obtener ayuda
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Si tienes alguna dificultad con este tutorial, o si hay algo que no entiendes, no olvides - estamos aquí para ayudarte. `Puedes ponerte en contacto con </es/comunidad/obtener-ayuda/>`__ y te ayudaremos, ya sea dando una mejor explicación de lo que se requiere, ayudando a depurar un problema difícil o mostrándote tutoriales que tu puedas requerir.
|
||||||
32
content/contributing/how/process/contents+es.lr
Normal file
32
content/contributing/how/process/contents+es.lr
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
title: Proceso
|
||||||
|
---
|
||||||
|
sort_key: 2
|
||||||
|
---
|
||||||
|
summary: El proceso de desarrollo de BeeWare
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Aquí es donde la guía de contribución de BeeWare eventualmente irá. Todavía no tenemos un conjunto concreto de políticas y procedimientos, pero sabemos que son realmente importantes y tenemos la intención de escribirlos tan pronto tengamos la oportunidad.
|
||||||
|
|
||||||
|
Mientras tanto: Sigue a `PEP8 <https://www.python.org/dev/peps/pep-0008/>`__ (con una cuidadosa atención a la `Sección 2 <https://www.python.org/dev/peps/pep-0008/#a-foolish-consistency-is-the-hobgoblin-of-little-minds>`__), y procesos de bifurcación básico de Github. Trabajaremos el resto mientras vamos.
|
||||||
|
|
||||||
|
Firma tu trabajo
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Antes de poder emerger tu contribución en BeeWare, debes darnos permiso para hacerlo. Puesto que tu eres autor de un trabajo creativo (un pedazo de código o alguna documentación), automáticamente posees los derechos de autor de ese trabajo. BeeWare no puede utilizar legalmente esa contribución a menos que nos des permiso para hacerlo.
|
||||||
|
|
||||||
|
El proyecto BeeWare utiliza un mecansimo conocido como `Developer Certificate of Origin (DCO) </es/contribuir/como-ayudar/dco/>`__ para administrar este proceso. El DCO es una declaración jurídicamente vinculante que afirma que tu eres el creador de tu contribución y que deseas permitir que BeeWare utilice tu trabajo.
|
||||||
|
|
||||||
|
Para indicar que aceptas los términos del DCO, simplemente agrega una línea a cada mensaje de envío de git::
|
||||||
|
|
||||||
|
Firmado por: Joe Smith <joe.smith@email.com>
|
||||||
|
|
||||||
|
Si configuras tu ``user.name`` y tu ``user.email`` como parte de su configuración de git, puedes firmar tu commit automáticamente con ``git commit -s``.
|
||||||
|
|
||||||
|
Si tienes más preguntas acerca de los Certificados de Origen de Desarrollador, por qué son necesarios, qué significan y cómo configurar tu sistema para usarlos, consulta `La Guía para Principiantes de los DCO </es/contribuir/como-ayudar/dco/>`__ o `ponte en contacto con el equipo central </es/comunidad/equipo>`__.
|
||||||
|
---
|
||||||
|
incomplete: yes
|
||||||
|
---
|
||||||
|
_slug: proceso
|
||||||
104
content/contributing/membership/contents+es.lr
Normal file
104
content/contributing/membership/contents+es.lr
Normal file
|
|
@ -0,0 +1,104 @@
|
||||||
|
_model: page
|
||||||
|
---
|
||||||
|
sort_key: 4
|
||||||
|
---
|
||||||
|
_template: membership.html
|
||||||
|
---
|
||||||
|
title: Membresía
|
||||||
|
---
|
||||||
|
summary: Cómo apoyar a BeeWare financieramente
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Membresía de entusiasta
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Si deseas mostrar tu apoyo a la comunidad de BeeWare, te invitamos a convertirte en un **Miembro Entusiasta** de la comunidad BeeWare por $ 10/mes.
|
||||||
|
|
||||||
|
.. raw:: html
|
||||||
|
|
||||||
|
<a class="gumroad-button" href="https://gum.co/CRtHg" target="_blank">Conviértete en un miembro Entusiasta </a>
|
||||||
|
|
||||||
|
Los miembros entusiastas pueden tener su nombre en la `página de miembros </es/comunidad/miembros/>`__.
|
||||||
|
|
||||||
|
También tenemos un programa de becas que otorga membresías a personas que tienen el potencial de promover la comunidad BeeWare de manera nueva o interesante. Si deseas solicitar una beca, puedes ponerte en contacto con el `equipo de becas de BeeWare <mailto: scholarship@pybee.org>`__.
|
||||||
|
|
||||||
|
Membresia Profesional
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Si utilizas BeeWare en tu capacidad de profesional, te invitamos a convertirte en un **Miembro Profesional** de la comunidad BeeWare por $ 50/mes.
|
||||||
|
|
||||||
|
.. raw:: html
|
||||||
|
|
||||||
|
<a class="gumroad-button" href="https://gum.co/TenCq" target="_blank">Conviértete en un miembro profesional </a>
|
||||||
|
|
||||||
|
Los miembros profesionales pueden tener su nombre en la `página de miembros </es/comunidad/miembros />`__, junto con un pequeño avatar, fotografía o logotipo.
|
||||||
|
|
||||||
|
Membresia de Bronce
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Si eres una empresa de consultoría independiente, una empresa unipersonal u otra pequeña empresa, te invitamos a convertirte en **miembro de bronce** de la comunidad BeeWware por $ 200/mes.
|
||||||
|
|
||||||
|
.. raw:: html
|
||||||
|
|
||||||
|
<a class="gumroad-button" href="https://gum.co/WwhFn" target="_blank"> Conviértete en miembro de bronce </a>
|
||||||
|
|
||||||
|
Los miembros de bronce pueden tener su nombre en la `página de miembros </es/comunidad/miembros/>`__, junto con un logotipo de tamaño mediano, nombre y enlace a una página web de la empresa de tu elección.
|
||||||
|
|
||||||
|
Si la empresa miembro desea anunciar sus servicios de `consultoría </es/comunidad/consultoria/>`__, `entrenamiento </es/comunidad/entrenamiento/>`__ o `desarrollo de software </es/comunidad/desarrollo/>`__, recibirán una lista estándar de las páginas de servicios de su elección.
|
||||||
|
|
||||||
|
Membresía de Plata
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Si representas a una empresa de tamaño mediano, un proveedor de software independiente establecido u otra empresa de rango medio, te invitamos a convertirte en un **miembro de plata** por $ 1500/mes.
|
||||||
|
|
||||||
|
.. raw:: html
|
||||||
|
|
||||||
|
<a class="gumroad-button" href="https://gum.co/lQErX" target="_blank"> Conviértete en miembro de plata </a>
|
||||||
|
|
||||||
|
Los miembros de plata pueden tener su nombre en la página de miembros, el logotipo de la empresa, el enlace a la página de la empresa de su elección y un breve párrafo que describe lo que la empresa hace.
|
||||||
|
|
||||||
|
Si la empresa miembro desea anunciar sus servicios de `consultoría </es/comunidad/consultoria/>`__, `entrenamiento </es/comunidad/entrenamiento/>`__ o `desarrollo de software </es/comunidad/desarrollo/>`__, recibirán una lista estándar de las páginas de servicios de su elección.
|
||||||
|
|
||||||
|
El logotipo de la empresa también se pondrá en rotación en la página principal como parte del carrusel de patrocinadores.
|
||||||
|
|
||||||
|
Por último, a los miembros de Plata se les ofrecerá la opción de publicar un artículo de su elección en los medios sociales de BeeWare, por el período de membresía de 12 meses (sujeto a las directrices editoriales).
|
||||||
|
|
||||||
|
Membresía de Oro
|
||||||
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Si representas a una corporación o fundación grande que hace uso de BeeWare, te invitamos a convertirte en un **Miembro de Oro** por $ 5000/mes.
|
||||||
|
|
||||||
|
.. raw:: html
|
||||||
|
|
||||||
|
<a class="gumroad-button" href="https://gum.co/IeRyJ" target="_blank">Conviértete en miembro de oro </a>
|
||||||
|
|
||||||
|
Los miembros de oro pueden tener su nombre en la página de miembros, el logotipo de la bandera, el nombre de la empresa, el enlace a la página de la empresa de su elección y un breve párrafo que describe lo que la empresa hace.
|
||||||
|
|
||||||
|
El logotipo de la empresa también se pondrá en rotación en la página principal como parte del carrusel de patrocinadores.
|
||||||
|
|
||||||
|
Si la empresa miembro desea anunciar sus servicios de `consultoría </es/comunidad/consultoria/>`__, `entrenamiento </es/comunidad/entrenamiento/>`__ o `desarrollo de software </es/comunidad/desarrollo/>`__, recibirán una lista estándar de las páginas de servicios de su elección.
|
||||||
|
|
||||||
|
A los miembros de oro se les ofrecerá la opción de publicar dos artículos de su elección a los medios sociales de BeeWare por el período de membresía de 12 meses (sujeto a las directrices editoriales).
|
||||||
|
|
||||||
|
Por último, una vez al año, se ofrecerá a los miembros de oro una reunión de 1 hora (por teleconferencia o en persona) con un miembro del equipo central para discutir el proyecto BeeWare.
|
||||||
|
|
||||||
|
Contribuciones únicas
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Las mebresías son nuestra forma preferida de apoyar a BeeWare, ya que proporcionan estabilidad de ingresos a lo largo del tiempo. Sin embargo, entendemos que esto no siempre es compatible con algunos presupuestos o procesos de gastos corporativos.
|
||||||
|
|
||||||
|
Si no puedes (o no quieres) convertirte en un miembro del proyecto BeeWare, puedes hacer una contribución financiera única.
|
||||||
|
|
||||||
|
.. raw:: html
|
||||||
|
|
||||||
|
<a class="gumroad-button" href="https://gum.co/YilPM" target="_blank">Haz una contribución única </a>
|
||||||
|
|
||||||
|
Si el tamaño de una contribución única alcanza o supera el valor de una suscripción de 12 meses, serás elegible para los beneficios de ese nivel de suscripción.
|
||||||
|
|
||||||
|
Otras opciones
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Si deseas hablar con alguien sobre otras oportunidades de branding o patrocinio, o si deseas otras opciones de pago para tu membresía, por favor diríjete a `Russell Keith-Magee <mailto: russell@pybee.org>`__.
|
||||||
|
---
|
||||||
|
_slug: membresia
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
title: 2017 Google Summer of Code - Mejoras en Batavia
|
||||||
|
---
|
||||||
|
author: Adam Boniecki
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Con el programa Google Summer of Code 2017 llegando a su fin, es hora de resumir lo que hice durante el verano trabajando en Batavia.
|
||||||
|
|
||||||
|
Batavia es una parte de la colección de proyectos de BeeWare. Como todavía está en su primera etapa de desarrollo, por mi parte me ofreció implementar una serie de características que faltaban en Batavia, que van desde tipos de datos elementales, a través de la manipulación JSON y construcciones de lenguaje como generadores. Publiqué mi propuesta en `este hilo de GitHub <https://github.com/pybee/batavia/issues/483>`__ y lo mantuve actualizado con mi progreso semanalmente.
|
||||||
|
|
||||||
|
Ten en cuenta que al final de GSoC, hemos decidido divergir de la propuesta inicial y renunciar a la aplicación de `contextlib` en favor de la compatibilidad con Python 3.6, que usa op-codes de 2 bytes.
|
||||||
|
|
||||||
|
En general, fue una gran experiencia de aprendizaje y diversión. Muchas gracias a mis mentores Russell Keith-Magee y Katie McLaughlin, y a toda la comunidad de BeeWare.
|
||||||
|
|
||||||
|
Pull Requests
|
||||||
|
=============
|
||||||
|
|
||||||
|
Listas y diccionarios
|
||||||
|
--------------------------
|
||||||
|
- `Pop, remove and insert methods for lists <https://github.com/pybee/batavia/pull/518>`__
|
||||||
|
- `Pop, popitem, fromkeys and setdefault for dicts <https://github.com/pybee/batavia/pull/560>`__
|
||||||
|
|
||||||
|
Modulo JSON
|
||||||
|
------------
|
||||||
|
- `Encoding JSON (JSONEncoder, dump and dumps) <https://github.com/pybee/batavia/pull/577>`__
|
||||||
|
- `Decoding JSON (JSONDecoder, parse) <https://github.com/pybee/batavia/pull/586>`__
|
||||||
|
- `Bug fix regarding cricket and test generation for JSONEncoder <https://github.com/pybee/batavia/pull/589>`__
|
||||||
|
|
||||||
|
Generadores
|
||||||
|
---------------------
|
||||||
|
- `Fix numerous existing bugs in Batavia's generators <https://github.com/pybee/batavia/pull/590>`__
|
||||||
|
- `yield from implementation <https://github.com/pybee/batavia/pull/592>`__
|
||||||
|
- `Support for yield from in Python 3.5+ <https://github.com/pybee/batavia/pull/599>`__
|
||||||
|
- `Bug fix for yield from and Python 3.6+ <https://github.com/pybee/batavia/pull/646>`__
|
||||||
|
|
||||||
|
Manejadores de contexto (`with`)
|
||||||
|
------------------------------------------------
|
||||||
|
- `SETUP_WITH and WITH_CLEANUP opcodes <https://github.com/pybee/batavia/pull/594>`__
|
||||||
|
- `WITH_CLEANUP_START and WITH_CLEANUP_FINISH for Python 3.5+ <https://github.com/pybee/batavia/pull/620>`__
|
||||||
|
|
||||||
|
Compatibilidad con Python 3.6
|
||||||
|
------------------------------------
|
||||||
|
- `Support for 2-byte wide opcodes (Python 3.6+) <https://github.com/pybee/batavia/pull/621>`__
|
||||||
|
- `Fix discrepancies in numerous error messages across Python versions <https://github.com/pybee/batavia/pull/643>`__ (open PR)
|
||||||
|
|
||||||
|
Algunas otras correcciones de errores realizadas
|
||||||
|
----------------------------------------------------------------
|
||||||
|
- https://github.com/pybee/batavia/pull/566
|
||||||
|
- https://github.com/pybee/batavia/pull/597
|
||||||
|
- https://github.com/pybee/batavia/pull/623
|
||||||
|
- https://github.com/pybee/batavia/pull/565
|
||||||
|
---
|
||||||
|
pub_date: 2017-08-23
|
||||||
|
---
|
||||||
|
_slug: 2017-google-summer-of-code-informe-final-adam-boniecki
|
||||||
|
|
@ -0,0 +1,175 @@
|
||||||
|
title: 2017 Google Summer of Code - Portar Cricket a Toga, en lugar de Tkinter
|
||||||
|
---
|
||||||
|
author: Dayanne Fernandes
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Después de casi 4 meses de trabajo en `Google Summer of Code`_ 2017, finalmente estoy completando mi propuesta. Cada migración de widget y cada commit / PR / Issues / discusión con mis mentores sobre `Cricket`_, `Toga`_ y `rubicon-objc`_ fueron detallados en el `Issue 58`_.
|
||||||
|
|
||||||
|
"Comer su propia comida para perros"
|
||||||
|
-----------------------------------------------
|
||||||
|
|
||||||
|
La mejor manera de demostrar que un producto es confiable para los clientes es usarlo. Por lo tanto, la forma de demostrar que `Toga`_ es una herramienta eficaz para construir una interfaz gráfica de usuario es construir una aplicación completa que la utilice.
|
||||||
|
|
||||||
|
`Cricket`_ es una herramienta gráfica que le ayuda a ejecutar sus suites de prueba. Su versión actual se implementa utilizando `Tkinter`_ como el marco de la interfaz gráfica principal. Entonces, ¿por qué no probar `Toga`_ dentro de otro producto de `BeeWare`_? Eso es lo que he logrado durante mi trabajo de GSoC.
|
||||||
|
|
||||||
|
Resultados
|
||||||
|
----------------
|
||||||
|
|
||||||
|
La propuesta se centra no sólo en el puerto de `Tkinter`_ a `Toga`_, sino en la asignación de los widgets necesarios para una aplicación real utilizando `Toga`_. Para ayudarme a mapear esto he estudiado más sobre `Tkinter`_, `Toga`_, `Colosseum`_, `rubicon-objc`_, `Objective-C`_, `Cocoa`_ y `CSS`_.
|
||||||
|
|
||||||
|
.. _Objective-C: https://developer.apple.com/documentation/objectivec
|
||||||
|
.. _Cocoa: https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/Cocoa.html
|
||||||
|
|
||||||
|
.. _CSS: https://www.w3.org/Style/CSS/
|
||||||
|
|
||||||
|
El trabajo que hice durante GSoC se envió a través del `PR 65`_, el informe en el `Issue 58`_ y la demostración final se puede ver en este `link`_. Había widgets utilizados en `Cricket`_ que no estaban listos todavía en `Toga`_, por lo que era necesario hacer algunas mejoras en `Toga`_ para que pudiera usarlas en `Cricket`_. En resumen, aquí hay algunos PR que contribuí para hacer mi trabajo en `Cricket`_:
|
||||||
|
|
||||||
|
PR abierto enviado a `Toga`_:
|
||||||
|
|
||||||
|
* `PR 201`_ : [Core][Cocoa] Refactoring of the Tree widget
|
||||||
|
|
||||||
|
PRs emergidos enviados `Toga`_:
|
||||||
|
|
||||||
|
* `PR 112`_ : [Core][Cocoa] Enable/disable state for buttons, solved `Issue 91`_
|
||||||
|
* `PR 170`_ : [Cocoa] Content and retry status for stack trace dialog
|
||||||
|
* `PR 172`_ : [Cocoa] Window resize
|
||||||
|
* `PR 173`_ : [Core][Cocoa] Button color
|
||||||
|
* `PR 174`_ : [Doc] Examples folder and button features example
|
||||||
|
* `PR 178`_ : [Doc] Fix tutorial 2 setup
|
||||||
|
* `PR 180`_ : [Doc] Update `Toga`_ widgets roadmap
|
||||||
|
* `PR 182`_ : [Cocoa] Update the label of the Stack trace button for critical dialog
|
||||||
|
* `PR 184`_ : [Core][Cocoa] Hide/show boxes widget
|
||||||
|
* `PR 188`_ : [Cocoa] Fix error on MultilineTextInput widget, solved `Issue 187`_
|
||||||
|
* `PR 204`_ : [Core][Cocoa] Clear method to MultilineTextInput widget, solved `Issue 203`_
|
||||||
|
* `PR 206`_ : [Core][Cocoa] Readonly and placeholder for MultilineTextInput widget
|
||||||
|
* `PR 208`_ : [Cocoa] Fix apply style to a SplitContainer widget, solved `Issue 207`_
|
||||||
|
|
||||||
|
PRs emergidos enviados `Cricket`_:
|
||||||
|
|
||||||
|
* `PR 60`_ : Fix test coverage, solved `Issue 59`_
|
||||||
|
|
||||||
|
PRs emergidos enviados `rubicon-objc`_:
|
||||||
|
|
||||||
|
* `PR 34`_ : [Doc] Add reference to NSObject
|
||||||
|
|
||||||
|
Tiquetes abiertos enviados a `Toga`_:
|
||||||
|
|
||||||
|
* `Issue 175`_ : [Core] Add more properties for Label and Font widgets
|
||||||
|
* `Issue 176`_ : [Core] Add "rehint()" on the background of the widget after changing font size
|
||||||
|
* `Issue 186`_ : [Core] Set initial position of the divisor of a SplitContainer
|
||||||
|
* `Issue 197`_ : [Core] Get the id of the selected Tab View on the OptionContainer
|
||||||
|
|
||||||
|
Tiquetes cerrados en `Toga`_:
|
||||||
|
|
||||||
|
* `Issue 167`_ : [Cocoa] Addition of a SplitContainer on a Box doesn't show the SplitContainer, was fixed by `Russell Keith-Magee`_
|
||||||
|
* `Issue 168`_ : [Cocoa] Addition of 2 boxes on an OptionContainer emits Rubicon's error, was fixed by `Russell Keith-Magee`_
|
||||||
|
* `Issue 169`_ : [Cocoa] Addition of 2 empty boxes on an OptionContainer emits error from `Toga`_ Cocoa platform, was fixed by `Russell Keith-Magee`_
|
||||||
|
* `Issue 181`_ : [Core][Cocoa] "Hide" option for widgets, was solved by me
|
||||||
|
* `Issue 187`_ : [Cocoa] Errors on MultilineTextInput, was fixed by me
|
||||||
|
* `Issue 189`_ : [Cocoa] ProgressBar doesn't appears in a Box, was fixed by `Jonas Schell`_
|
||||||
|
* `Issue 194`_ : [Cocoa] The frame of the MultilineTextInput doesn't appear, was fixed by `Russell Keith-Magee`_
|
||||||
|
* `Issue 195`_ : [Cocoa] ProgressBar doesn't appear inside of a Box oriented by row, was fixed by `Russell Keith-Magee`_
|
||||||
|
* `Issue 196`_ : [Cocoa] Set max value and value on a ProgressBar doesn't make any effect on the layout, was fixed by `Russell Keith-Magee`_
|
||||||
|
* `Issue 203`_ : [Core][Cocoa] Clear text on MultilineTextInput widget, was solved by me
|
||||||
|
* `Issue 207`_ : [Cocoa] Set SplitContainer height doesn't update its size, was solved by me
|
||||||
|
|
||||||
|
Tiquetes cerrados que no reporté pero que resolví en `Toga`_:
|
||||||
|
|
||||||
|
* `Issue 91`_ : API to disable buttons?
|
||||||
|
* `Issue 205`_ : adding MultiviewTextInput results in TypeError
|
||||||
|
|
||||||
|
Tiquete cerrado que reporté a `Cricket`_:
|
||||||
|
|
||||||
|
* `Issue 59`_ : Run selected doesn't count/ runs every test selected in a test module, was fixed by me
|
||||||
|
|
||||||
|
Tiquete abierto que reporté a `rubicon-objc`_ `Jonas Obrist`_ repository:
|
||||||
|
|
||||||
|
* `Issue 1`_ : Seg Fault when iterate through a NSIndexSet using block notation
|
||||||
|
|
||||||
|
.. _link: https://youtu.be/5kz_CmQYFYE
|
||||||
|
|
||||||
|
.. _Issue 1: https://github.com/ojii/rubicon-objc/issues/1
|
||||||
|
|
||||||
|
.. _Issue 58: https://github.com/pybee/cricket/issues/58
|
||||||
|
.. _Issue 59: https://github.com/pybee/cricket/issues/59
|
||||||
|
|
||||||
|
.. _Issue 91: https://github.com/pybee/toga/issues/91
|
||||||
|
.. _Issue 167: https://github.com/pybee/toga/issues/167
|
||||||
|
.. _Issue 168: https://github.com/pybee/toga/issues/168
|
||||||
|
.. _Issue 169: https://github.com/pybee/toga/issues/169
|
||||||
|
.. _Issue 175: https://github.com/pybee/toga/issues/175
|
||||||
|
.. _Issue 176: https://github.com/pybee/toga/issues/176
|
||||||
|
.. _Issue 181: https://github.com/pybee/toga/issues/181
|
||||||
|
.. _Issue 186: https://github.com/pybee/toga/issues/186
|
||||||
|
.. _Issue 187: https://github.com/pybee/toga/issues/187
|
||||||
|
.. _Issue 189: https://github.com/pybee/toga/issues/189
|
||||||
|
.. _Issue 194: https://github.com/pybee/toga/issues/194
|
||||||
|
.. _Issue 195: https://github.com/pybee/toga/issues/195
|
||||||
|
.. _Issue 196: https://github.com/pybee/toga/issues/196
|
||||||
|
.. _Issue 197: https://github.com/pybee/toga/issues/197
|
||||||
|
.. _Issue 203: https://github.com/pybee/toga/issues/203
|
||||||
|
.. _Issue 205: https://github.com/pybee/toga/issues/205
|
||||||
|
.. _Issue 207: https://github.com/pybee/toga/issues/207
|
||||||
|
|
||||||
|
.. _PR 34: https://github.com/pybee/rubicon-objc/pull/34
|
||||||
|
|
||||||
|
.. _PR 60: https://github.com/pybee/cricket/pull/60
|
||||||
|
.. _PR 65: https://github.com/pybee/cricket/pull/65
|
||||||
|
|
||||||
|
.. _PR 112: https://github.com/pybee/toga/pull/112
|
||||||
|
.. _PR 170: https://github.com/pybee/toga/pull/170
|
||||||
|
.. _PR 172: https://github.com/pybee/toga/pull/172
|
||||||
|
.. _PR 173: https://github.com/pybee/toga/pull/173
|
||||||
|
.. _PR 174: https://github.com/pybee/toga/pull/174
|
||||||
|
.. _PR 178: https://github.com/pybee/toga/pull/178
|
||||||
|
.. _PR 180: https://github.com/pybee/toga/pull/180
|
||||||
|
.. _PR 182: https://github.com/pybee/toga/pull/182
|
||||||
|
.. _PR 184: https://github.com/pybee/toga/pull/184
|
||||||
|
.. _PR 188: https://github.com/pybee/toga/pull/188
|
||||||
|
.. _PR 201: https://github.com/pybee/toga/pull/201
|
||||||
|
.. _PR 204: https://github.com/pybee/toga/pull/204
|
||||||
|
.. _PR 206: https://github.com/pybee/toga/pull/206
|
||||||
|
.. _PR 208: https://github.com/pybee/toga/pull/208
|
||||||
|
|
||||||
|
.. _Tkinter: https://docs.python.org/2/library/tkinter.html
|
||||||
|
.. _BeeWare: /es/
|
||||||
|
.. _Colosseum: /es/proyecto/proyectos/librerias/colosseum/
|
||||||
|
|
||||||
|
|
||||||
|
Planes futuros
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Hay algunas características en `Cricket`_ que quiero ayudar a desarrollar en un futuro próximo, por ejemplo:
|
||||||
|
|
||||||
|
* Un botón para actualizar todo el árbol de pruebas
|
||||||
|
* Configuración de Cricket
|
||||||
|
|
||||||
|
Además, hay algunos problemas que quedaron después de la migración a `Toga`_. Estos problemas se arreglarán en `Toga`_ en un futuro próximo, por ejemplo:
|
||||||
|
|
||||||
|
* Una brecha entre la salida y los cuadros de error cuando no hay mensaje de salida
|
||||||
|
* Ejecutar una prueba si el usuario haga clic en ella
|
||||||
|
|
||||||
|
Realmente creo que `Toga`_ será el framework oficial en Python para construir GUI para aplicaciones multi-plataforma, así que seguiré contribuyendo a este proyecto porque quiero usar en todas las aplicaciones que necesitaría una GUI.
|
||||||
|
|
||||||
|
Consideraciones finales
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
Me gustaría agradecer a mis mentores `Russell Keith-Magee`_ y `Elias Dorneles`_ por guíarme y ayudarme tanto durante este período. La oportunidad de ser parte de esta comunidad fue un gran honor para mí, muchas gracias por aceptarme en este programa `Russell Keith-Magee`_. Además, quiero agradecer a `Philip James`_ que hizo algunas reseñas en mis PRs y `Jonas Schell`_ quienes arreglaron un tema que envié a `Toga`_.
|
||||||
|
|
||||||
|
.. _Russell Keith-Magee: https://github.com/freakboy3742
|
||||||
|
.. _Elias Dorneles: https://github.com/eliasdorneles
|
||||||
|
.. _Philip James: https://github.com/phildini
|
||||||
|
.. _Jonas Schell: https://github.com/Ocupe
|
||||||
|
.. _Jonas Obrist: https://github.com/ojii
|
||||||
|
|
||||||
|
.. _Google Summer of Code: https://developers.google.com/open-source/gsoc/
|
||||||
|
.. _Cricket: https://pybee.org/project/projects/tools/cricket/
|
||||||
|
.. _Toga: https://pybee.org/project/projects/libraries/toga/
|
||||||
|
.. _rubicon-objc: https://pybee.org/project/projects/bridges/rubicon/
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
pub_date: 2017-08-25
|
||||||
|
---
|
||||||
|
_slug: 2017-google-summer-of-code-informe-final-dayanne-fernandes
|
||||||
|
|
@ -0,0 +1,70 @@
|
||||||
|
title: 2017 Google Summer of Code - Probando Toga / API de configuración
|
||||||
|
---
|
||||||
|
author: Jonas Schell
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Google Summer of Code 2017 está llegando a su fin. Después de tres meses de trabajo en el proyecto BeeWare, quisiera resumir mi trabajo y compartir mis experiencias.
|
||||||
|
|
||||||
|
"Ningún plan de batalla sobrevive al primer contacto".
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
Esta fue una de las primeras cosas que Russell me dijo después de que decidimos fundamentalmente reestructurar mi `calendario y metas de GSoC propuestos <https://github.com/pybee/toga/issues/118>`__. Durante el período inicial con la comunidad descubrimos que Toga era aún más difícil de probar como esperábamos. El estrecho acoplamiento entre el código independiente de la plataforma en Toga-Core y las implementaciones dependientes de la plataforma para (Windows, MacOS, iOS, Linux, Android, Django, ...) nos estaba dando problemas para escribir pruebas significativas.
|
||||||
|
|
||||||
|
Esperamos que Toga se convierta en un proyecto de tamaño decente, por lo tanto queremos que tenga una base sólida y bien probada. Por esta razón, decidimos que pasaría la mayor parte de GSoC para reestructurar Toga para que ejecutar pruebas resultara más fácil de hacer. Además de eso, también añadiría pruebas de implementación para comprobar si un backend dado se implementa de la manera correcta. Si terminara antes del final del verano, empezaría con mi propuesta de proyecto original.
|
||||||
|
|
||||||
|
La gran reestructuración de Toga
|
||||||
|
------------------------------------------
|
||||||
|
Con los nuevos objetivos y una nueva rama comencé el viaje para reestructurar el proyecto Toga para hacerlo más fácil de probar.
|
||||||
|
|
||||||
|
Después de hackear y probar diferentes cosas en una `rama separada <https://github.com/Ocupe/restruc_toga>`__. Identifiqué que las dependencias entrelazadas de la plataforma son el problema principal. Para separar el módulo Toga-Core de sus implementaciones de backend decidimos usar el patrón de fábrica en lugar del modelo de herencia que teníamos antes. Ahora cada backend tiene su propia fábrica que produce los widgets adecuados para la plataforma en la que se está ejecutando. De esta manera tenemos una clara separación entre Toga-Core y el nivel de implementación. Las dependencias de la plataforma ahora están incluidas en el nivel de implementación.
|
||||||
|
|
||||||
|
Después de que la nueva estructura fuera clara porté Toga-Core así como los backends para el Cocoa, iOS y GTK. Hice esto en la rama de Toga `(La gran reestructuración de Toga [WIP] # 185) <https://github.com/pybee/toga/pull/185>`__.
|
||||||
|
|
||||||
|
En la práctica, esto significaba que tenía que tocar manualmente casi todos los widgets de todos los backends para conectarlos al nuevo patrón de fábrica.
|
||||||
|
|
||||||
|
Desafíos
|
||||||
|
------------
|
||||||
|
Toga habla con los frameworks nativos GUI, por lo tanto tuve que tener un buen entendimiento acerca de los principios y conceptos detrás de cada uno de estos marcos. A veces me sentía abrumado por la complejidad combinada de todas las partes que componen Toga. La siguiente es la lista:
|
||||||
|
|
||||||
|
* Cada backend de Toga se envuelve alrededor de un marco existente y único. Para envolver el marco que tiene que entender el marco.
|
||||||
|
* "Me encanta Python, ¿por qué tengo que entender Objetive C"? Para trabajar eficazmente en los backends de iOS y macOS, tenía que aprender los conceptos básicos del Objetivo C, aunque sólo fuera para leer los documentos de Apple.
|
||||||
|
* Toga tiene un montón de partes móviles. Hay backends, marcos, librerías para hablar con backends, librerías para realizar el diseño de la interfaz de usuario y más. Me tomó una buena cantidad de tiempo para entender todas estas partes. Lo siguiente es sólo una visión general de los conocimientos recién adquiridos durante GSoC:
|
||||||
|
|
||||||
|
* `Rubicon-ObjC <https://github.com/pybee/rubicon-objc>`__ para hablar con los backends de iOS y macOS.
|
||||||
|
* `Colosseum <https://pybee.org/project/projects/libraries/colosseum/>`__ para entender y solucionar problemas de diseño.
|
||||||
|
* `Módulo AST <https://docs.python.org/3.6/library/ast.html>`__ para realizar las pruebas de implementación.
|
||||||
|
* El uso de patrones de diseño
|
||||||
|
* Cómo estructurar grandes proyectos.
|
||||||
|
* Leer y entender grandes y complejos pedazos de código.
|
||||||
|
|
||||||
|
Otro trabajo que realicé
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
* PR: Translated part of the pybee.org webpage into german. `(PR #173) <https://github.com/pybee/pybee.github.io/pull/173>`__
|
||||||
|
* Helped newcomers on Gitter and GitHub.
|
||||||
|
* Tested if Toga would profit from static typing `(toga/static_typing) <https://github.com/Ocupe/toga/tree/static_typing>`__.
|
||||||
|
* Created an implementation test suite based on the AST module.
|
||||||
|
* Added test for Toga-Core.
|
||||||
|
* Updated and extended documentation on Toga-Core as well as the macOS and iOS Backend.
|
||||||
|
* Created a toga-dummy backend.
|
||||||
|
* First draft of the Settings API and working backend implementation for macOS.
|
||||||
|
* Many small and big fixes on Toga-Core, cocoa, iOS, and GTK backends. All in the main PR `pybee/toga The Big Restructure of Toga [WIP] <https://github.com/pybee/toga/pull/185>`__
|
||||||
|
* PR: `pybee/toga fix for getting the length of the filenames array <https://github.com/pybee/toga/pull/171>`__
|
||||||
|
* PR: `pybee/toga Fixed #189 cocoa.progressbar with rehint <https://github.com/pybee/toga/pull/193>`__
|
||||||
|
* PR: `pybee/briefcase-template Fix for spaces in app name. Issue #2 <https://github.com/pybee/briefcase-template/pull/3>`__
|
||||||
|
* PR: `pybee/toga Toga Settings API [WIP] <https://github.com/pybee/toga/pull/222>`__
|
||||||
|
|
||||||
|
Futuro trabajo por hacer
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
* Todo mi trabajo se encuentra en el PR `"La gran reestructuración de Toga [WIP]" <https://github.com/pybee/toga/pull/185>`__. Después de que los backends que faltan, a saber, Windows y Android, se incluyan, todo se puede emerger con la rama master. Tenemos que esperar a los backends que faltan, porque el nuevo esquema es incompatible con las versiones antiguas y no pueden coexistir.
|
||||||
|
|
||||||
|
* La API de configuración de mi propuesta original no se ha terminado debido a las razones mencionadas anteriormente. Tengo un primer borrador de trabajo y seguiré trabajando en él después de GSoC en `este Pull Request <https://github.com/pybee/toga/pull/222>`__.
|
||||||
|
|
||||||
|
"Shout out"
|
||||||
|
---------------
|
||||||
|
Me gustaría dar las gracias a Russell Keith-Magee por ser un Mentor impresionante y por todo el tiempo que invirtió en mí durante GSoC. También quiero agradecer a la comunidad BeeWare por ayudarme cuando alguna vez tuve un problema. ¡Gracias!
|
||||||
|
---
|
||||||
|
pub_date: 2017-08-22
|
||||||
|
---
|
||||||
|
_slug: 2017-google-verano-de-codigo-final-informe-jonas-schell
|
||||||
27
content/news/buzz/2017-google-summer-of-code/contents+es.lr
Normal file
27
content/news/buzz/2017-google-summer-of-code/contents+es.lr
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
title: BeeWare en el Google Summer of Code de 2017
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
¿Eres estudiante en la universidad? ¿Estás interesado en Python? ¿Te gustaría escribir aplicaciones de Python que puedas ejecutar en tu teléfono, tableta o reloj? ¿Te gustaría obtener experiencia al contribuir a un proyecto de Código abierto? ¿Te gustaría ser asesorado por miembros experimentados de la comunidad de Código abierto?
|
||||||
|
|
||||||
|
¿Y qué tal si ganas US $ 6400 por 12 semanas de trabajo mientras haces todo esto?
|
||||||
|
|
||||||
|
*The Summer of Code* es un programa de Google en el que los estudiantes universitarios actualmente matriculados reciben un programa de tutoría de 12 semanas en el que contribuyen a proyectos bien conocidos de código abierto, bajo la dirección de miembros de esos proyectos. Se ejecuta durante el verano del norte, aproximadamente durante el descanso de la universidad de verano (aunque las fechas exactas pueden variar dependiendo de su institución)
|
||||||
|
|
||||||
|
Este año, el proyecto BeeWare ha sido seleccionado como una organización de mentores para la GSoC - y TE NECESITAMOS!.
|
||||||
|
|
||||||
|
Hay un número limitado de espacios disponibles, pero nos *encantaría* tener un PyLady o DjangoGirl como nuestro estudiante.
|
||||||
|
|
||||||
|
Si te gustaría participar, aquí hay una `guía para empezar: <https://github.com/pybee/pybee.github.io/wiki/So-you-want-to-be-a-BeeWare-GSoC-student%3F>`__.
|
||||||
|
|
||||||
|
Si tienes alguna pregunta, envía un correo electrónico a `russell@pybee.org <mailto: russell@pybee.org>`__ o visita nuestra sala de chat `Gitter <https://gitter.im/pybee/general>`__ ¡y pregunta!
|
||||||
|
|
||||||
|
¡Esperamos verte este verano!
|
||||||
|
---
|
||||||
|
pub_date: 2017-03-01
|
||||||
|
---
|
||||||
|
twitter_handle: freakboy3742
|
||||||
|
---
|
||||||
|
_slug:
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
title: Un nuevo yak para el rebaño: BeeKeeper
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Escribir suites de pruebas es una habilidad que es una parte vital del entrenamiento de los programadores. Aprender a escribir buenas pruebas le ayuda a escribir un código más robusto y asegura que cuando haya escrito un código que funcione, siga trabajando durante mucho tiempo en el futuro. También puede ayudarle a escribir mejor código en primer lugar. Resulta que el código bien diseñado, con alta cohesión y bajo acoplamiento, también es fácil de probar - por lo que escribir código que sea fácil de probar casi siempre dará como resultado una mejor calidad total del código.
|
||||||
|
|
||||||
|
Un paso importante en la "nivelación" de su experiencia de pruebas es comenzar a usar un servicio de integración continua o CI. Un servicio de CI es una herramienta que ejecuta automáticamente su suite de pruebas cada vez que alguien realiza un cambio o cada vez que alguien propone un cambio en forma de una solicitud de PR. El uso de un servicio de CI garantiza que su código *siempre* pase su suite de pruebas - no puede introducirse accidentalmente en un cambio que rompe una prueba, porque obtendrá una notificación de advertencia roja grande.
|
||||||
|
|
||||||
|
Un CI es un servicio tan importante que muchas empresas sólo existen para proporcionar CI-as-a-service. El proyecto BeeWare ha utilizado, para diversos proyectos, TravisCI y https://circleci.com. Ambas herramientas proporcionan niveles gratuitos para proyectos de código abierto y han patrocinado generosamente BeeWare con actualizaciones de capacidad en varias ocasiones.
|
||||||
|
|
||||||
|
Sin embargo, BeeWare ha tenido una relación interesante con los servicios comerciales de CI. Esto es por dos razones.
|
||||||
|
|
||||||
|
En primer lugar, nuestros conjuntos de pruebas, especialmente para `VOC </es/proyecto/proyectos/puentes/voc>`__ y `Batavia </es/proyecto/proyectos/puentes/batavia>`__ - toman mucho tiempo para ejecutarse. Estos dos proyectos requieren pruebas que inician y cierran repetidamente las máquinas virtuales (para Java y JavaScript, respectivamente), y no importa cuánto se optimice el código que se está probando, el tiempo de inicio y apagado de una máquina virtual eventualmente se acumula. También necesitamos ejecutar nuestras suites de prueba en múltiples versiones de Python - en la actualidad, soportamos Python 3.4, 3.5 y 3.6, con 3.7 en el horizonte. También hay cambios sutiles en versiones micro que pueden requerir pruebas.
|
||||||
|
|
||||||
|
Hemos sido capaces de acelerar las prueba, dividiendo la suite de pruebas y ejecutando partes de la suite en paralelo, pero eso nos obliga a enfrentarnos al segundo problema. Los servicios comerciales de CI suelen operar en un modelo de suscripción; mayores suscripciones que proporcionan más recursos simultáneos. Sin embargo, nuestro patrón de uso es muy inusual. La mayor parte del año, recibimos un goteo lento de solicitudes de PRs que requieren pruebas. Sin embargo, un par de veces al año, tenemos un gran sprint, y tenemos una avalancha de contribuciones durante un corto período de tiempo. En PyCon EE.UU., hemos tenido grupos de 40 personas presentando parches - y todos ellos necesitan sus PRs probados por CI. Y el tiempo es un factor - los sprints sólo duran un par de días, por lo que un rápido cambio en las pruebas es esencial.
|
||||||
|
|
||||||
|
Si tuviéramos que suscribir a los niveles de suscripción de nivel superior de CircleCi y TravisCI, todavía no tendríamos suficientes recursos para soportar un sprint - pero estaríamos *masivamente* sobre abastecidos en recursos durante el resto del año. También tendríamos que pagar $ 750 o más por mes por este servicio, que es un presupuesto que no podemos permitirnos.
|
||||||
|
|
||||||
|
Así que tuvimos un problema. Para ejecutar nuestra suite de pruebas de manera eficaz, necesitábamos recursos paralelizados masivamente para ejecutar una suite de pruebas rápidamente; y en ciertas épocas del año, necesitamos un número extremadamente grande de estos recursos.
|
||||||
|
|
||||||
|
También teníamos otras tareas automatizadas que queríamos realizar. Queríamos hacer linting del código (comprobación automatizada de estilo de código) antes de que se probara un PR. Queríamos verificar la ortografía de la documentación. Y queríamos que estas tareas se retroalimentaran en GitHub como comentarios automatizados y marcadores de estado de revisión de código específicos, informando a los colaboradores no sólo de que se había producido un problema, sino de qué problema y dónde estaban en su código.
|
||||||
|
|
||||||
|
También queríamos administrar las compilaciones de pipeline - no tiene sentido hacer una prueba completa de varias versiones de Python una vez que haya establecido que las pruebas están fallando en una versión. Y no hay punto en hacer pruebas *en absoluto* si hay problemas de estilo de código.
|
||||||
|
|
||||||
|
También queríamos hacer cosas que no eran sólo pruebas. Queríamos verificar que se firmaron acuerdos de contribución. Queríamos automatizar el despliegue de sitios web y documentación.
|
||||||
|
|
||||||
|
Lo que teníamos no era sólo un problema de CI. Era un problema donde queríamos ejecutar automáticamente código arbitrario, de manera segura, en respuesta a un evento GitHub.
|
||||||
|
|
||||||
|
He estado tratando de encontrar un servicio de CI que pueda satisfacer nuestras necesidades durante más de un año. Pero durante el último año, algunos pensamientos comenzaron a congelarse en mi cabeza.
|
||||||
|
|
||||||
|
* Amazon proporciona una API (EC2) que le permite arrancar máquinas de complejidad variable (hasta 64 CPUs, con casi 500 GB de RAM) y pagar por minuto para ese uso.
|
||||||
|
* Docker proporciona las herramientas para configurar, lanzar y ejecutar código de manera aislada
|
||||||
|
* Amazon también proporciona una API (ECS) para controlar la ejecución de los contenedores Docker.
|
||||||
|
|
||||||
|
No hay nada específico acerca de AWS EC2 o ECS tampoco - se podría utilizar Linode y Kubernetes, o Docker Swarm o Microsoft Azure ... simplemente se necesita tener la capacidad de filtrar fácilmente las máquinas y ejecutar un contenedor Docker. Después de todo: un conjunto de pruebas es sólo un contenedor Docker que ejecuta un script que inicia su suite de pruebas. Una revisión de linting es un contenedor de Docker que ejecuta un script que lints su código. Una verificación de acuerdo de contribuyente es un contenedor de Docker que comprueba los metadatos asociados con una solicitud de extracción.
|
||||||
|
|
||||||
|
Todo lo que necesita es un sitio web que puede recibir las notificaciones de eventos de GitHub e iniciar los contenedores de Docker en respuesta.
|
||||||
|
|
||||||
|
A principios de julio, me encontré entre trabajos, y pronuncié la fatídica pregunta: "¿Cuán difícil podría ser?" Y así, hoy, estoy anunciando `BeeKeeper <http://pybee.org/beekeeper>`__ - el propio servicio de CI de BeeWare.
|
||||||
|
|
||||||
|
BeeKeeper se despliega como un sitio web de Heroku, escrito con Django. Después de configurarlo con las credenciales de Github y AWS, escucha los webhooks de Github. Cuando se detecta una solicitud de pull o Push, BeeKeeper crea una solicitud de generación; que la solicitud de construcción inspecciona el código en el repositorio en busca de un archivo de configuración ``beekeeper.yml``. Ese archivo de configuración describe el pipeline de tareas que se van a realizar, y para cada tarea, el tipo de máquina que se debe usar, las variables de entorno que se requieran y la imagen de Docker que se utilizará.
|
||||||
|
|
||||||
|
BeeKeeper también permite al administrador del sitio describir qué recursos se utilizarán para satisfacer las compilaciones. Una tarea puede decir que necesita una instancia de "Alta CPU"; pero la instancia BeeKeeper puede determinar lo que significa "alta CPU" - ¿es 4 CPUs o 32? ¿Cuándo esas máquinas son coladas hacia arriba, cuánto tiempo se les permitirá sentarse inactivo antes de ser apagado de nuevo? ¿Cuántas máquinas deben estar permanentemente en el grupo de trabajo? ¿Y cuál es el límite superior de las máquinas que se iniciará?
|
||||||
|
|
||||||
|
Una herramienta complementaria para BeeKeeper es `Waggle <https://pybee.org/waggle>`__. Waggle es una herramienta que prepara una definición local de una tarea para que pueda ser utilizada por BeeKeeper - compila la imagen de Docker y la carga en ECS para que pueda ser referenciada por tareas. (Se llama "Waggle" porque cuando las abejas obreras descubren una buena fuente de néctar, regresan a la colmena y hacen una 'danza' que le dice a otras abejas cómo hacer para encontrar esa fuente).
|
||||||
|
|
||||||
|
También hemos proporcionado un repositorio llamado `Comb <https://github.com/pybee/comb>`__ (nombrado después del peine de miel, las abejas del lugar almacenan todo el néctar que encuentran) que define las configuraciones de la tarea que una instancia de BeeKeeper puedo usar. Hemos proporcionado algunas definiciones simples como parte del repositorio base de Comb; cada implementación de BeeKeeper debe tener uno de estos repositorios propios.
|
||||||
|
|
||||||
|
Todavía hay mucho trabajo por hacer, pero ya estamos usando BeeKeeper con Batavia y VOC, y la próxima `PyCon AU sprints <https://pycon-au.org/program/sprints/>`__ será nuestra primera en condiciones de alta carga. Algunos cálculos de respaldo prevén que por alrededor de $50, podremos proporcionar suficientes recursos de CPU para cada ejecución de prueba para completar su ejecución en 10 minutos o menos, soportando un sprint de decenas de personas.
|
||||||
|
|
||||||
|
Aunque BeeKeeper fue escrito para satisfacer las necesidades del proyecto BeeWare, es una herramienta de código abierto disponible para cualquier persona. Si desea tomar BeeKeeper para darle una prueba, vaya a los sprints, o `revise el código en GitHub <https://github.com/pybee/beekeeper>`__.
|
||||||
|
|
||||||
|
BeeKeeper también es un ejemplo del tipo de producto que vería más si el desarrollo de BeeWare se financiara a tiempo completo. Fui capaz de construir BeeKeeper porque tenía un par de semanas de descanso entre los trabajos. No hay fin para las herramientas y bibliotecas como BeeKeeper y Waggle que podrían ser construidas para soportar el proceso de desarrollo de software - todo lo que falta son los recursos necesarios para desarrollar esas herramientas. Si desea ver más herramientas como BeeKeeper en el mundo, considere la posibilidad de unirse al proyecto BeeWare como `miembro financiero </es/contribuir/membresia/>`__. Cada pedacito ayuda, y si podemos alcanzar a una masa crítica de patrocinadores, podré comenzar a trabajar en BeeWare a tiempo completo.
|
||||||
|
---
|
||||||
|
pub_date: 2017-07-31
|
||||||
|
---
|
||||||
|
twitter_handle: freakboy3742
|
||||||
|
---
|
||||||
|
_slug: un-nuevo-yak-para-la-manada-beekeper
|
||||||
56
content/news/buzz/a-request-for-your-help/contents+es.lr
Normal file
56
content/news/buzz/a-request-for-your-help/contents+es.lr
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
title: Una solicitud de ayuda
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
Hace unos 4 años, hice el primer *commit* con `Cricket`_ - la primera herramienta que eventualmente se convertiría en parte de la suite BeeWare. Desde entonces, el proyecto BeeWare ha crecido para abarcar soporte para plataformas móviles, dos implementaciones alternativas de Python y un conjunto de widgets multi-plataforma, así como las herramientas de desarrollo que iniciaron el proyecto originalmente.
|
||||||
|
|
||||||
|
.. _Cricket: http://pybee.org/cricket
|
||||||
|
|
||||||
|
Durante la mayor parte de este tiempo, BeeWare ha sido un esfuerzo voluntario. Inicialmente, fue un proyecto en solitario; sin embargo, en el último año en particular, el número de personas que han contribuido a BeeWare ha crecido rápidamente. Más de 300 personas han hecho contribuciones a las diversas herramientas y librerías de BeeWare, debido, al menos en parte, a las `Monedas de Desafío`_ que hemos estado ofreciendo en los sprints.
|
||||||
|
|
||||||
|
.. _Monedas de desafío: /es/contribuir/monedas-de-desafio/
|
||||||
|
|
||||||
|
Cabe destacar el `equipo de 7 personas`_ que se han unido al proyecto como apicultores, ayudando a compartir la carga de mantenimiento del proyecto. No puedo agradecer a estas personas lo suficiente - sin su ayuda, no se habría logrado tanto progreso durante el último año.
|
||||||
|
|
||||||
|
.. _equipo de 7 personas: /es/comunidad/equipo/
|
||||||
|
|
||||||
|
Tu debes haber notado que en los últimos meses, el progreso ha sido especialmente rápido. Esto se debe a que, durante los últimos seis meses, el desarrollo de BeeWare ha sido parcialmente financiado por empleadores muy complacientes en `Jambon Software`_. Mi contrato con Jambon me permitió pasar largos periodos de tiempo pagados para trabajar en BeeWare - y, no es sorprendente, es posible hacer un enorme progreso como resultado. Los últimos 6 meses han visto:
|
||||||
|
|
||||||
|
* Amplias mejoras a Batavia y VOC;
|
||||||
|
* Un backend Android para Toga;
|
||||||
|
* Un backend de Django para Toga, permitiendo que las aplicaciones de Toga se implementen como aplicaciones web;
|
||||||
|
* Un backend de Winforms para Toga, permitiendo que las aplicaciones de Toga funcionen en Windows con un aspecto moderno;
|
||||||
|
|
||||||
|
.. _Jambon Software: https://jambonsw.com
|
||||||
|
|
||||||
|
Desafortunadamente, mi contrato con Jambon está llegando a su fin - lo que significa que mis contribuciones a BeeWare volverán a ser lo que mi tiempo libre permite.
|
||||||
|
|
||||||
|
Esto también significa que la tasa de progreso también se ralentizará. Todavía hay mucho por hacer: hay un montón de la librería estándar de Python para portar a Batavia y VOC; Toga necesita un mucho más amplio soporte de widgets; Colosseum necesita ser extendido para que sea compatible con el modelo de caja CSS completo, no sólo CSS3 Flexbox; y las herramientas que lo iniciaron todo - Cricket, Bugjar, Duvet, y otros - todos necesitan ser portados a Toga.
|
||||||
|
|
||||||
|
Me *gustaría* poder trabajar en BeeWare a tiempo completo. Sin embargo, la simple realidad es que a menos que pueda encontrar una manera de pagar por este trabajo, sólo será capaz de contribuir en mi tiempo libre.
|
||||||
|
|
||||||
|
Así que - esto es un llamado para ti - la comunidad de Python. Si estás entusiasmado con la perspectiva de tener acceso a Python en plataformas móviles, o te gustaría escribir aplicaciones en Python que tengan interfaces de usuario completamente nativas - **Necesito tu ayuda**.
|
||||||
|
|
||||||
|
Por sólo **US $ 10 al mes**, puedes `unirte al proyecto BeeWare como miembro`_ y ayudar a que este sueño se convierta en realidad. Si puedo encontrar 1000 personas en la comunidad de Python que quieran estas herramientas y estén dispuestos a apoyar financieramente su desarrollo, puedo comenzar a trabajar en BeeWare a tiempo completo. Por supuesto, este objetivo es aún más fácil si las empresas se involucran y patrocinan en los niveles más altos.
|
||||||
|
|
||||||
|
.. _unirte al proyecto BeeWare como miembro: /es/contribuir/membresia/
|
||||||
|
|
||||||
|
Si puedo encontrar a *más* de 1000 personas, entonces mucho más es posible. La opción obvia sería contratar a otros desarrolladores con experiencia para ayudar con el trabajo. La idea de tener a otros para compartir ideas durante el proceso de desarrollo es muy atractiva. Sin embargo, también podemos usar esto como una oportunidad para hacer un bien social.
|
||||||
|
|
||||||
|
Durante algún tiempo, he tenido una `oferta abierta para ser mentor`_ a cualquiera que quiera involucrarse con la contribución de Coódigo Abierto usando el proyecto BeeWare. Sin embargo, no mucha gente ha podido tomar seriamente esta oferta, porque el tiempo requerido para tomar seriamente la oferta es prohibitivo. Me gustaría poder extender mi oferta a algo más que una relación casual de tutoría. Me gustaría poder contratar - y pagar - uno o más desarrolladores junior para el proyecto BeeWare, y enfocarme en dar esa oportunidad a personas de demografía subrepresentada.
|
||||||
|
|
||||||
|
.. _oferta abierta para ser mentor: https://twitter.com/PyBeeWare/status/784545607402852352
|
||||||
|
|
||||||
|
Aún son los primeros días para BeeWare. El apoyo financiero significa un progreso más rápido. Más widgets. Mejor documentación. Más de todo lo que has visto hasta ahora de BeeWare. Si puedo encontrar financiación a tiempo completo para mí -o mejor aún, para mí y para un equipo pequeño-, no tengo dudas de que la suite BeeWare se convertirá en una alternativa viable para proyectos comerciales en muy poco tiempo. Lo mejor de todo, seremos capaces de hacer esto sin tener que renunciar a los ideales del movimiento de código abierto.
|
||||||
|
|
||||||
|
Estoy emocionado por lo que le depara el futuro a BeeWare. Espero que nos acompañes en este viaje.
|
||||||
|
|
||||||
|
(Y si tu estás pensando en registrarte, y vienes a PyCon US en Portland este mes de mayo, déjame dejar una pista suave ... inscríbete ahora. Vale la pena #cryptic)
|
||||||
|
---
|
||||||
|
pub_date: 2017-04-05
|
||||||
|
---
|
||||||
|
twitter_handle: freakboy3742
|
||||||
|
---
|
||||||
|
_slug: una-solicitud-de-ayuda
|
||||||
|
|
@ -0,0 +1,64 @@
|
||||||
|
title: Ven al sprint con nosotros en PyCon US 2017
|
||||||
|
---
|
||||||
|
author: Katie McLaughlin
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
**Los boletos para PyCon US 2017 han sido regalados. ¡Esperamos ver a todos los que lleguen a la conferencia en el stand 103!**
|
||||||
|
|
||||||
|
-------
|
||||||
|
|
||||||
|
|
||||||
|
*¿Quieres ir al @PyCon, no puede permitírselo? @PyBeeWare tiene 2 entradas para regalar. Envía un correo electrónico a contact@pybee.org y cuéntanos por qué quiere estar allí!*
|
||||||
|
|
||||||
|
— PyBee (@PyBeeWare) 30 e Enero, 2017
|
||||||
|
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
`PyCon US 2017 <https://us.pycon.org/2017/>`__ se está llevando cabo en Portland, Oregon del 17 al 25 de mayo, y está destinado a ser otra increíble conferencia.
|
||||||
|
|
||||||
|
Por segundo año consecutivo, el equipo `BeeWare <http://pybee.org>`__ estará en el sitio con un `stand en el salón de exhibiciones <https://twitter.com/PyBeeWare/status/737043373953978368>`__, junto con otros proyectos de Código Abierto del mundo Python.
|
||||||
|
|
||||||
|
Con este stand, tenemos dos entradas para la conferencia. Esto incluye:
|
||||||
|
|
||||||
|
- acceso a la recepción de apertura
|
||||||
|
- 3 días de conferencias, salón de exposiciones/feria de trabajo
|
||||||
|
- desayunos, pausas, almuerzos y bolsa de *swag*
|
||||||
|
|
||||||
|
La cosa es que tanto `Russell <https://twitter.com/freakboy3742>`__ como yo, ya nos hemos registrado.
|
||||||
|
|
||||||
|
Por lo tanto, queremos darte un boleto.
|
||||||
|
|
||||||
|
Sí **a ti.**
|
||||||
|
|
||||||
|
Si tu puedes llegar a Portland en los días de la conferencia, queremos darte nuestro boleto gratis.
|
||||||
|
|
||||||
|
¿Qué queremos a cambio?
|
||||||
|
|
||||||
|
Sólo un poco de tu tiempo.
|
||||||
|
|
||||||
|
El `equipo Bee </es/comunidad/equipo/>`__ estará ayudando al personal de nuestro stand, pero también nos gustaría ver (y dar!) charlas, así que ayudarnos mientras estamos corriendo fuera del puesto sería encantador. (Además, y estoy segura de que Russell estaría de acuerdo, sólo ayudando en la cabina te ganas una `moneda </es/contribuir/monedas-de-desafio>`__)
|
||||||
|
|
||||||
|
Además, nos encantaría que te quedaras a los famosos Sprints de código. Estos se celebran en los cuatro días posteriores al evento, mientras las personas se encuentran aun en la ciudad. Tomaremos café, almorzaremos y tendremos acceso a una habitación llena de mesas, sillas y cantidad copiosa de tomas de corriente, y escribiremos código para los diferente proyectos. Estaremos haciendo un `sprint de BeeWare <https://twitter.com/PyBeeWare/status/738400648614449152>`__ donde estaremos asesorando y ayudando a los colaboradores principiantes a ganar su primera `moneda brillante de desafío <https://twitter.com/PyBeeWare/status/738425474754314240>`__
|
||||||
|
|
||||||
|
¿Esto suena como algo que te interesa?
|
||||||
|
|
||||||
|
Por favor, `envíanos un correo electrónico! <mailto: contact@pybee.org>`__
|
||||||
|
|
||||||
|
¡Cuéntanos acerca de tí! Quién eres, qué haces, por qué quieres ir a PyCon y lo que te interesa de Python.
|
||||||
|
|
||||||
|
Necesitamos asignar nuestras entradas con anticipación, así que envíanos un correo electrónico **antes del 12 deFebrero, 2017**
|
||||||
|
|
||||||
|
Si tiene alguna pregunta solo pregunta `a mi <https://twitter.com/glasnt>`__ o a `Russell <https://twitter.com/freakboy3742>`__!
|
||||||
|
|
||||||
|
¡Nos encantaría verte allí! ✨
|
||||||
|
|
||||||
|
[Este artículo ha sido publicado en
|
||||||
|
`glasnt.com/blog <http://glasnt.com/blog/2017/02/01/come-sprint-with-beeware.html>`__]
|
||||||
|
---
|
||||||
|
pub_date: 2017-02-01
|
||||||
|
---
|
||||||
|
twitter_handle: glasnt
|
||||||
|
---
|
||||||
|
_slug: ven-al-sprint-con-nosotros-en-pycon-us-2017
|
||||||
14
content/news/buzz/contents+es.lr
Normal file
14
content/news/buzz/contents+es.lr
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
_model: blog
|
||||||
|
---
|
||||||
|
title: El Zumbido
|
||||||
|
---
|
||||||
|
summary: Blog oficial de BeeWare
|
||||||
|
---
|
||||||
|
gutter_top:
|
||||||
|
|
||||||
|
`RSS Feed </news/buzz/atom.xml>`__
|
||||||
|
|
||||||
|
Archivo
|
||||||
|
--------
|
||||||
|
---
|
||||||
|
_slug: zumbido
|
||||||
32
content/news/buzz/hello-website/contents+es.lr
Normal file
32
content/news/buzz/hello-website/contents+es.lr
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
title: Hola sitio web
|
||||||
|
---
|
||||||
|
pub_date: 2016-07-04
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
¡Bienvenido al nuevo sitio web del proyecto BeeWare!
|
||||||
|
|
||||||
|
El sitio web original BeeWare fue escrito hace un par de años, cuando BeeWare era todavía un proyecto altamente experimental. El viejo sitio web era un asunto de una sola página, con proyectos individuales que mantenían su propia identidad web. Con el tiempo, el número de colaboradores ha crecido, el número de subproyectos ha crecido y el número de miembros del equipo central se ha triplicado.
|
||||||
|
|
||||||
|
A medida que el proyecto BeeWare crecía en complejidad, el antiguo sitio web ya no estaba a la altura de las necesidades del proyecto, por lo que el equipo central se tomó un tiempo fuera de trabajar en BeeWare, y reescribió el sitio.
|
||||||
|
|
||||||
|
El nuevo sitio web utiliza `Lektor`_, una herramienta generadora de sitios web estáticos escrita por el conocido Pythonista`Armin Ronacher`_. Esto nos permite seguir hospedando el sitio web con Github Pages, pero nos da la flexibilidad para definir una base de datos clara para los muchos tipos de contenido que necesitamos administrar.
|
||||||
|
|
||||||
|
Aunque estamos lanzando el sitio hoy, no está completo. Todavía hay contenido que necesita ser escrito, y el estilo que necesita ser arreglado. Sin embargo, creemos que el nuevo sitio es mejor que el anterior, y por lo tanto no vale la pena retrasar el lanzamiento por más tiempo.
|
||||||
|
|
||||||
|
Esto también le da a la comunidad BeeWare una gran oportunidad de contribuir. Si encuentras algo que falta en el sitio, o algo que crees que podría ser mejor expresado o diseñado mejor, todo el sitio está `disponible en GitHub`_. Haz un Fork (Bifurca) el repositorio, realiza el cambio que piensas que se necesita y envía un *Pull Request* (contra la rama `Lektor` - no `master`). Todas las contribuciones son bienvenidas, y al igual que con todas las contribuciones de BeeWare, las contribuciones del sitio web hacen que el solicitante sea elegible para recibir una exclusiva `Modena de Desafío de BeeWare`_.
|
||||||
|
|
||||||
|
Esperamos que disfrutes del nuevo sitio; si tienes algún comentario, nos lo puedes hacer saber `con un ticket`_ o `en nuestro canal Gitter`_.
|
||||||
|
|
||||||
|
.. _Lektor: http://www.getlektor.com
|
||||||
|
.. _Armin Ronacher: http://lucumr.pocoo.org/
|
||||||
|
.. _disponible en GitHub: https://github.com/pybee/pybee.github.io/tree/lektor
|
||||||
|
.. _Modena de Desafío de BeeWare: /es/contribuir/monedas-de-desafio/
|
||||||
|
.. _con un ticket: https://github.com/pybee/pybee.github.io/issues/
|
||||||
|
.. _en nuestro canal Gitter: http://gitter.im/pybee/general
|
||||||
|
---
|
||||||
|
twitter_handle: freakboy3742
|
||||||
|
---
|
||||||
|
_slug: hola-sitio-web
|
||||||
318
content/news/buzz/money-money-money/contents+es.lr
Normal file
318
content/news/buzz/money-money-money/contents+es.lr
Normal file
|
|
@ -0,0 +1,318 @@
|
||||||
|
title: Dinero, dinero, dinero
|
||||||
|
---
|
||||||
|
summary: Transcripción de la charla presentada por Russell Keith-Magee sobre el financiamiento de código abierto
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
pub_date: 2016-12-10
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
En PyCon AU 2015, y de nuevo en DjangoCon US 2015, di una charla titulada "Dinero, dinero, dinero: Escribiendo software, en un mundo de hombres ricos". La charla fue un resumen de los problemas relacionados con uno de los mayores problemas que veo frente a la comunidad de código abierto: cómo proporcionar los recursos que se necesitan para desarrollar y mantener el software del que nosotros, como comunidad, dependemos. Esto significa proporcionar mantenimiento y apoyo a proyectos establecidos, grandes y pequeños; sino que también proporciona un ecosistema donde las nuevas ideas pueden ser incubadas, desarrolladas y maduradas hasta que presenten alternativas atractivas o beneficios significativos sobre las ofertas de fuentes cerradas.
|
||||||
|
|
||||||
|
Han pasado casi 18 meses desde que presenté esta charla, pero el problema persiste. No he estado solo al notar y llamar la atención sobre este asunto, tampoco. `Nadia Eghbal <https://twitter.com/nayafia>`_ fue encargada de redactar un libro para la Fundación Ford titulado `Caminos y puentes <http://www.fordfoundation.org/library/reports-and-studies/roads-and-bridges-the-unseen-labor-behind-our-digital-infrastructure>`__ resaltando las necesidades crónicas en infraestructura que subyacen a gran parte de la economía moderna. Eric Holscher (mantenedor de `Read the Docs <http://readthedocs.com>`_) `escribió sobre los problemas que tuvo para recaudar fondos <http://ericholscher.com/blog/2016/aug/31/funding-oss-marketing-money/>`_, a pesar de que el servicio que él ofrece corresponde a una parte ampliamente utilizada - posiblemente indispensable - del ecosistema Python.
|
||||||
|
|
||||||
|
Sin embargo, a pesar de esta atención, todavía no llega a estar tan cerca de la atención que debería tener. Y es una cuestión que es de gran importancia para mí, ya que el proyecto BeeWare está buscando formas de financiar el desarrollo necesario para pasar de una "interesante demostración técnica" a una "solución técnica convincente".
|
||||||
|
|
||||||
|
Hace unos meses, se sugirió que publicara una entrada en el blog para acompañar la presentación del video. Me arrastré los pies al hacer esto, hasta que el trabajador colaborador de BeeWare y simpático chico 'Elias Dorneles' se ofreció a tomar mis notas y convertirla en una transcripción.
|
||||||
|
|
||||||
|
Así que aquí está. Dinero, Dinero, Dinero: Escribiendo software, en un mundo de hombres ricos. Si tienes alguna pregunta, desacuerdo, peticiones para presentar esto en tu conferencia, o simplemente una oferta genérica de una bolsa de dinero en efectivo, puedes contactarme en: `russell@keith-magee.com <mailto: russell@keith-magee.com>`_.
|
||||||
|
|
||||||
|
.. raw:: html
|
||||||
|
|
||||||
|
<iframe width="560" height="315" src="https://www.youtube.com/embed/Jw6wnIopVVg" frameborder="0" allowfullscreen></iframe>
|
||||||
|
|
||||||
|
|
||||||
|
Transcripción
|
||||||
|
==============
|
||||||
|
|
||||||
|
Hola, soy Russell Keith-Magee, si ya has oído hablar de mí, probablemente sea por mi trabajo en el proyecto Django; He sido un miembro del equipo central durante casi 10 años, y presidente de la Fundación de Software Django desde 2011.
|
||||||
|
|
||||||
|
Uno de los grandes retos del proyecto Django - y cualquier gran proyecto para el caso - ha sido asegurar la seguridad de su desarrollo futuro.
|
||||||
|
|
||||||
|
Mi trabajo diario es como CTO y co-fundador de TradesCloud. Somos un software como servicio para los comerciantes - plomeros, electricistas, carpinteros y similares. TradesCloud depende de una serie de proyectos de código abierto - Django, Apache, memcache, muchos otros. Así que tengo un interés comercial en la continuidad de estos proyectos de código abierto - pero ciertamente no tengo los recursos para financiarlos a *todos* por mí mismo.
|
||||||
|
|
||||||
|
También tengo un interés declarado en los problemas de interfaces gráficas, especialmente en lo que se refiere a las herramientas de desarrollo. Tengo grandes visiones de lo que *me gustaría* hacer con este proyecto, y he recibido algunas grandes contribuciones de la comunidad, pero todavía es en gran medida mi propio trabajo. Mi start-up sería capaz de hacer un gran uso de estas herramientas si estuvieran maduras.
|
||||||
|
|
||||||
|
También soy un mantenedor de algunos proyectos más pequeños, como el envoltorio Python para la API Xero. Comencé el proyecto porque tenía una picazón. Pero ahora he abierto el proyecto, lo que significa que he heredado una tarea de mantenimiento. He aceptado la ayuda de un par de personas - sobre todo Matthew Schinkel y Aidan Lister, que han hecho un gran trabajo. Pero si soy honesto, la carga de mantenimiento de PyXero excede el tiempo que puedo dedicarle razonablemente.
|
||||||
|
|
||||||
|
Entonces, tengo intereses creados en el software libre. Tengo un interés como productor de un proyecto exitoso con un alto perfil; como productor de un pequeño proyecto con muchos usuarios pero poco incentivo personal; y como productor de proyectos más pequeños con casi ningún perfil pero grandes planes. Todos estos proyectos tienen diferentes necesidades de recursos, reflejando su madurez como proyectos.
|
||||||
|
|
||||||
|
También tengo intereses como consumidor de software libre, tanto en términos de software en el que confío para desarrollar mis propios proyectos, como en términos de mi interés comercial en el mantenimiento a largo plazo de herramientas y plataformas. Necesito estos proyectos para seguir desarrollándose, sobrevivir y prosperar.
|
||||||
|
|
||||||
|
Sobre la base de mi experiencia, me gustaría hacer una audaz afirmación:
|
||||||
|
|
||||||
|
.. pull-quote::
|
||||||
|
|
||||||
|
A falta de otras limitaciones, dados recursos equivalentes, el enfoque de software libre produce resultados de ingeniería mucho mayores que el enfoque de código cerrado.
|
||||||
|
|
||||||
|
La frase clave es "dado recursos equivalentes". La mayoría de los proyectos de software libre no se desarrollan usando nada cercano a recursos "equivalentes".
|
||||||
|
|
||||||
|
En algunos casos, esto es una bendición disfrazada - sin importar el proyecto, tener escasos recursos es un excelente crisol para quemar lo innecesario y dejar sólo el metal base. Pero no siempre es una bendición.
|
||||||
|
|
||||||
|
El camino moral alto está lleno de cadáveres de nuestros aliados
|
||||||
|
---------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Hable con cualquier desarrollador de software libre prominente, y entre las historias de éxito, también escuchará algunos problemas consistentes - que tienen grandes ideas y grandes planes, pero no hay tiempo para ejecutarlas; que están a punto de quemarse debido a las presiones de mantener su proyecto; o que han tenido otra discusión de lista de correo con alguien que no entiende por qué no dejo todo para ayudarles a solucionar su problema. Y hay muchos ejemplos.
|
||||||
|
|
||||||
|
OpenSSL es el software que maneja prácticamente todas las conexiones "seguras" en Internet, y sin embargo, solo hasta el descubrimiento de Heartbleed -una vulnerabilidad crítica que envió a Internet en un remolino - pudo encontrar financiación para pagar a los mantenedores.
|
||||||
|
|
||||||
|
Otro ejemplo - GnuPG - Werner Koch casi se declaró en bancarrota tratando de apoyar a GPG - un proyecto que muchos otros dependen de la confianza en su proceso de lanzamiento. Fue rescatado, en la puerta de las muerte, por la iniciativa Infraestructura principal de la fundación linux.
|
||||||
|
|
||||||
|
Estos son ejemplos que terminaron con fondos; pero no todos los finales felices.
|
||||||
|
|
||||||
|
Tomemos el ejemplo de Capistrano. Herramienta de gestión de configuración muy popular alrededor de 2007-8, mantenido por Jamis Buck. En 2008, citando el agotamiento y el mantenimiento general, él renunció a apoyar a Windows, diciendo que "Windows puede ser el gorila de 800 libras en la habitación, pero no es mi gorila, y no está en mi habitación". Este fue un movimiento increíblemente impopular; pero incluso con esa reducción, Jamis se quemó en 2009, abandonando Capistrano, y una serie de otros proyectos, sin mantenedores.
|
||||||
|
|
||||||
|
.. raw:: html
|
||||||
|
|
||||||
|
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">"Hi I'm an engineer at a well-funded company and we need this feature can someone implement it for free?" -- Every FOSS mailing list.</p>— Christophe (@Xof) <a href="https://twitter.com/Xof/status/622113231218192384">July 17, 2015</a></blockquote>
|
||||||
|
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||||||
|
|
||||||
|
|
||||||
|
La cosa es - que esta es una comunidad que tiene un montón de dinero en efectivo. En el gran esquema de cosas, el desarrollo de software es una industria bien financiada. Si las empresas pueden encontrar dinero para mesas de futbolín y bolas de bolas meditativas, deben ser capaces de encontrar recursos para ayudar a mantener el software en el que han basado su éxito. Y si estás en el extremo receptor del problema - un desarrollador de software libre - puede ser realmente frustrante.
|
||||||
|
|
||||||
|
Para mí, esta es la gran pregunta sin respuesta del movimiento del software libre: cómo reconciliar la discrepancia entre la clara demanda de un producto de software y la capacidad de convertir esa demanda en el tiempo y los recursos necesarios para atender esa demanda.
|
||||||
|
|
||||||
|
Software libre: Sueño vs Realidad
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
Aunque la teoría dice que cualquier persona puede contribuir a un proyecto de software libre, en realidad, cada proyecto de cualquier significado tiene líderes. En el nivel más básico, es quien tiene el "bit de commit". Y usted necesita ese liderazgo, especialmente cuando se trata de algo relacionado con el diseño. La mordaza corriente es que un camello es un caballo diseñado por comité. Las peores API que tratamos diariamente son las que fueron diseñadas por comité. Necesitas a alguien con gusto corriendo el espectáculo.
|
||||||
|
|
||||||
|
Pero hay un problema más grande - la extensión del compromiso que los usuarios tienen con un proyecto. Aquí hay un experimento para probar mi punto. Estamos en una habitación llena de usuarios de Python. Django es un proyecto de software libre.
|
||||||
|
|
||||||
|
* ¿Quién en esta sala ha encontrado un error en Django, o tiene una pequeña cosa que les gustaría ver arreglada en la API de Django?
|
||||||
|
* ¿Quién ha convertido esa pequeña cosa un informe de error de Django?
|
||||||
|
* ¿Quién ha enviado un parche a Django para esa arreglo?
|
||||||
|
* De aquellos, quienes han tenido ese parche emergido?
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Cuando esto se hace delante de una audiencia en vivo, en cada pregunta, hay menos gente levantando sus manos
|
||||||
|
|
||||||
|
Productos vs Proyectos
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
Entonces, ¿qué está pasando aquí? Bueno, refleja 2 maneras diferentes de mirar un pedazo de software - proyectos y productos. Y es una cuestión de perspectiva personal - mi proyecto puede ser su producto, y viceversa.
|
||||||
|
|
||||||
|
Cuando veo algún código como un proyecto, es un cuerpo de código en el que estoy contribuyendo a un objetivo mayor. Estoy dispuesto a gastar recursos enfocados en las necesidades de otras personas con la esperanza de que sus necesidades ayudarán a mejorar el proyecto como un todo. Estoy dispuesto a hacer esto porque obtengo ganancias personales, como un perfil público mejorado; o si la herramienta está muy cerca de mi trabajo; o donde sé que puedo hacer una contribución sustantiva.
|
||||||
|
|
||||||
|
Pero cuanto más lejos me alejo de mi "trabajo", y cuanto más difícil es hacer una contribución, menos inclinado estoy a *querer* contribuir al proyecto. La mayoría de las veces, es un producto que estoy usando, con las verrugas y todo. Si un producto tiene errores, trabajaré alrededor de ellos, o encontraré una alternativa, en vez de navegar por el proceso de contribución y contribuir con un parche.
|
||||||
|
|
||||||
|
En el caso de un producto, las libertades proporcionadas por el software libre son un poco como la libertad de expresión - es una libertad que definitivamente quiero, es reconfortante saber que está ahí, pero no paso todos los días asegurándome de explotar plenamente esas libertades. Hay personas que lo hacen - manifestantes, defensores de posiciones sociales controvertidas - y un día, dadas las circunstancias adecuadas, podría unirme y ayudarles. Pero la mayoría de las veces, sólo quiero ser pragmático, y seguir con la vida.
|
||||||
|
|
||||||
|
Esta dicotomía entre la teoría y la práctica es también la razón por la que comentarios como "Parches bienvenidos" se hacen en las listas de correo de software libre. Por un lado, es completamente correcto. Cualquiera *puede* contribuir, y en la mayoría de los proyectos los *parches* son bienvenidos. Pero la mayoría de la gente no mira un nuevo proyecto de código abierto como una oportunidad para participar y contribuir. La mayoría de la gente sólo quiere usar el maldito software.
|
||||||
|
|
||||||
|
Y se puede argumentar que es porque la gente se está centrando en la interpretación equivocada de "libre", y no han "capturado el espíritu del software libre". Lo cual es 100% cierto, pero totalmente contraproducente como una posición. Cualquier persona que ha hecho cualquier trabajo de diseño UX sabe que si los usuarios están cometiendo un error consistentemente, culpar al usuario no te lleva a ninguna parte. Usted estaba a cargo de lo que el usuario experimentó, y cometieron el "error" debido a una desconexión cognitiva fundamental.
|
||||||
|
|
||||||
|
E incluso si todo el mundo *obtuvo* el mensaje correcto - vamos a ser realistas - no funcionaría de todos modos. `El mítico hombre-mes <https://es.wikipedia.org/wiki/El_M%C3%ADtico_Hombre-Mes>`__ nos mostró que no podemos entregar un proyecto más rápidamente o mejor, arrojando más personas en él. 9 mujeres no pueden hacer un bebé en 1 mes - un proyecto no sólo necesita recursos - que necesita los recursos *adecuados*, en las cantidades adecuadas. Y en última instancia, eso significa que los proyectos deben encontrar una manera de obtener los recursos que necesitan para ser autosostenibles.
|
||||||
|
|
||||||
|
Por lo tanto, eso significa que si queremos que el software libre se mantenga y mantenga bien, necesitamos encontrar una manera de financiar su mantenimiento.
|
||||||
|
|
||||||
|
|
||||||
|
Valor de uso vs Valor de venta
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
Hace 18 años, Eric S Raymond publicó un ensayo titulado "La Catedral y el Bazar". Este ensayo catalizó el inicio del movimiento de código abierto - una redefinición del "software libre" para dejar claro que la apertura, no el precio, era la propiedad importante. Lo que no es tan bien recordado es que "La Catedral y el Bazar" no es el único ensayo escrito por Raymond en ese momento. Publicó otros 2 ensayos poco después - "Homesteading the Noosphere", sobre la organización social y las motivaciones detrás de los proyectos de software libre, y "The Magic Cauldron", sobre la *economía* del software libre.
|
||||||
|
|
||||||
|
Una de las distinciones clave que Raymond destaca en ese ensayo es la diferencia entre el valor de uso y el valor de venta.
|
||||||
|
|
||||||
|
El valor de venta de un producto es su valor como un producto vendible - literalmente, por lo que usted lo vende.
|
||||||
|
|
||||||
|
El valor de uso de un producto es su valor económico como herramienta, como multiplicador de productividad. Este es el beneficio económico que el usuario obtendrá del producto.
|
||||||
|
|
||||||
|
Lo importante es que los dos no están necesariamente conectados. En un entorno de fabricación tradicional, el foco está en el valor de venta, ya que por lo general está vinculado al costo de fabricación - el costo de las piezas y los materiales.
|
||||||
|
|
||||||
|
Pero la mayoría del software no se produce para el valor de la venta - es en casa el software producido para el valor de uso. En el caso del software libre, el valor de "venta" para el software libre es 0. Pero eso no significa que no hay valor de uso, y el problema es averiguar cómo explotar el valor de uso que existe dentro de una organización como un canal de monetización.
|
||||||
|
|
||||||
|
¿Entonces cuales son tus opciones?
|
||||||
|
|
||||||
|
Bueno, puedes vender mercancía. Y aunque esto es relativamente fácil de hacer, seamos honestos - no vas a financiar un imperio de software vendiendo camisetas.
|
||||||
|
|
||||||
|
Puede hacer que los usuarios paguen por la documentación. Escribe un libro, y haz que los usuarios lo paguen.
|
||||||
|
|
||||||
|
Desafortunadamente, el pequeño secreto sucio de la escena de la escritura de la tecnología es que nadie se vuelve rico escribiendo libros de tecnología. Son recursos increíblemente valiosos para la comunidad, son ideales para rellenar tu currículum, pero no son grandes como flujo de ingresos.
|
||||||
|
|
||||||
|
Un área que *si* paga bien es la de entrenamiento. Los empleadores están dispuestos a pagar mucho dinero por los cursos de capacitación; si usted puede juntar un taller intensivo de 3 días, usted puede venderlo una y otra vez.
|
||||||
|
|
||||||
|
Puede producir su oferta. El código fuente sigue siendo gratuito, pero un instalador simple y fácil de usar cuesta dinero. Esto funciona muy bien cuando cuando lo que tienes es un producto claramente identificable - como una interfaz gráfica de desarrollo - IDE.
|
||||||
|
|
||||||
|
Un modelo específico de generar un producto es Software como servicio - SaaS - dar el código de forma gratuita, pero pagar por la conveniencia de tener a alguien más para administrarlo por usted. Cualquier software de código abierto de la web es un buen ejemplo de esto - puede instalar el software en sus propios servidores, pero honestamente, a menos que tenga una razón, usted utiliza la solución alojada de alguien más y deja que ellos cuiden sus servidores por usted.
|
||||||
|
|
||||||
|
Pero, SaaS sólo es viable si se puede ofrecer *como un servicio* - lo que significa que es realmente sólo viable para la web. Y, como las tecnologías como docker comercializan el despliegue, es posible que incluso este flujo de ingresos se evapore.
|
||||||
|
|
||||||
|
Entonces, ¿qué más se puede vender?
|
||||||
|
|
||||||
|
Usted puede vender el acceso a los desarrolladores. Si eres el mantenedor de un proyecto, estás en la mejor posición para brindarle soporte o depurar problemas complejos, lo que significa que estás en una posición privilegiada para vender soporte y consultoría. `Honza Král <https://twitter.com/honzakral>` de ElasticSearch llama a esto el modelo de negocio "Ghostbusters" - "¿A quién vas a llamar?"
|
||||||
|
|
||||||
|
Puede vender el acceso al software. Trolltech hizo esto con Qt; Riverbank todavía hace con los enlaces de PyQt. La biblioteca en sí es GPL - pero si quieres usarla en un proyecto de código cerrado, puedes hacerlo, por un alto cargo. Esto tiene la ventaja de que obliga a los intereses comerciales a pagar por lo que están utilizando; pero también desincentiva el uso comercial a pequeña escala - si estoy escribiendo una nueva herramienta, y me veo obligado a elegir entre el código abierto de mi herramienta o un precio de $ 1000, probablemente elija un juego de herramientas diferente.
|
||||||
|
|
||||||
|
También puede entrar en el negocio de proporcionar certificaciones y garantías - código de auditoría para garantizar la calidad o compatibilidad, proporcionando garantías sobre el arreglo de errores, y certificar que las personas son expertos en el uso del producto. Esta es una parte importante de los modelos de negocio de RedHat, los paquetes de auditoría, asegurándose de que todos interactúan como se esperaba, asegurando que las actualizaciones de seguridad están disponibles y cumplen con los mismos estándares y certificando a los administradores del sistema.
|
||||||
|
|
||||||
|
Este es un conjunto de productos que atrae a la "empresa" de gama alta de la ciudad - y es un segmento lucrativo del mercado. Pero esos clientes tienden a sólo necesitar estas garantías para ciertos tipos de software - en términos generales, software "aburrido". Su sistema operativo, sus base de datos - son piezas de software que necesitan ser sólidas en una empresa. Su barra de herramientas de depuración - no tanto, a menos que tal vez sean ofrecidas como parte de un conjunto/paquete de herramientas.
|
||||||
|
|
||||||
|
Socavar tu propuesta de valor
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Otro problema con muchas de estas fuentes de ingresos es que si se ejecuta bien su proyecto, muchos de ellos se descartan - o por lo menos se ven severamente reducidas.
|
||||||
|
|
||||||
|
Si haces algo realmente fácil de usar, acabas de eliminar la necesidad de libros y cursos de formación, o, por lo menos, movido el terreno a cursos "avanzados", que son más difíciles de escribir y tienen un público más pequeño.
|
||||||
|
|
||||||
|
Django vio esto de primera mano - la documentación de Django era reconocida por lo buena desde una temprana etapa, y como resultado, era muy difícil conseguir que los editores aceptaran proyectos de libros de Django - porque la documentación era demasiado buena y estaba socavando el mercado para libros. Se ha tardado mucho tiempo, y sobre todo la auto-publicación, para obtener buenos libros Django disponibles para la venta.
|
||||||
|
|
||||||
|
Si usted tiene una lista de correo del proyecto, donde la comunidad responde a las preguntas de forma gratuita, y es una lista de correo saludable y sensible ... ¿por qué pagaría por el apoyo?
|
||||||
|
|
||||||
|
Si su software está bien diseñado, es modular, y esas interfaces están bien documentadas, y necesito una modificación - ¿por qué no acabo de escribir el modulo yo mismo?
|
||||||
|
|
||||||
|
Ahora, Ok - estoy exagerando. Hay razones legítimas para pagar por el apoyo o para traer un consultor incluso si las interfaces están limpias y bien documentadas. Pero mi punto es que cuanto mejor haces un trabajo como ingeniero de software libre, se hace más difícil hacer el caso de negocio para tu flujo de ingresos, porque la propuesta de valor se vuelve menos obvia.
|
||||||
|
|
||||||
|
Y si no está socavando directamente su propuesta de valor, todavía puede socavarle indirectamente, porque cuanto más tiempo gasta dinero, menos gasta haciendo lo que el dinero paga. Administrar un programa de certificación lleva tiempo. Escribir y ofrecer cursos de capacitación toma tiempo. La consultoría puede ser lucrativa, pero desarrollar un pipeline de ventas lleva tiempo. Y si usted está consultando, usted necesita cerciorarse de que el pipeline de las ventas esté lleno, que significa que usted va a errar en el lado de tomar más trabajo que menos ... que significa que usted acaba de cerrar la puerta en el el tiempo que tiene disponible para trabajar en código abierto.
|
||||||
|
|
||||||
|
También debe tener cuidado de que en la venta de su caso de negocio, no socave su proyecto principal. Si cada pregunta difícil en la lista de correo se responde con "Podemos responder por una tarifa", va a sonar como un *shill*.
|
||||||
|
|
||||||
|
Si un proyecto dice que necesita dinero para asegurarse de que nos mantenemos al tanto de los problemas de seguridad ... usted tiene que ser muy cuidadoso cómo lo dice, porque la interpretación fácil es "bueno, el proyecto debe ser inseguro, porque no están en la parte superior de la seguridad ahora ".
|
||||||
|
|
||||||
|
Una cuestión de escala
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
También hay una cuestión de escala. Python, Django - estos son grandes proyectos con grandes comunidades. Hacer un caso de negocio para Python o Django no es demasiado difícil. No trivial, pero posible. Pero ser el mantenedor de un proyecto más pequeño - como, digamos, Django Debug Toolbar - se espera seriamente que escriban y vendan un libro sobre Debug Toolbar? ¿O capacitación y certificación en su uso?
|
||||||
|
|
||||||
|
Los proyectos más pequeños no son menos importantes para la vitalidad del ecosistema general de Django, pero estos proyectos no tienen las mismas oportunidades para la recaudación de fondos que los proyectos más grandes.
|
||||||
|
|
||||||
|
También es importante darse cuenta de que no todos los productos tienen todas estas oportunidades de ingresos. Un IDE puede volverse un producto más fácil de mercadear; una librería de desarrollado probablemente no puede. Diferentes proyectos necesitarán diferentes mezclas de flujos de ingresos.
|
||||||
|
|
||||||
|
¿Tienes que vender algo?
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
Ok - pero podemos hacer esto sin vender nada en absoluto?
|
||||||
|
|
||||||
|
.. raw:: html
|
||||||
|
|
||||||
|
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">"How to make money from open source" is like "How to make money from clean water" or public education or science.</p>— Pieter Hintjens (@hintjens) <a href="https://twitter.com/hintjens/status/603446810183610368">May 27, 2015</a></blockquote>
|
||||||
|
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
|
||||||
|
|
||||||
|
El software libre se deriva de un imperativo moral - así que podemos financiar el desarrollo a través del altruismo y el patrocinio? Bueno, es más difícil, pero hay pruebas de que se puede hacer.
|
||||||
|
|
||||||
|
Crowdfunding y recompensas
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Una opción que ha visto mucha actividad recientemente es crowdfunding. Plataformas como Kickstarter e Indiegogo proporcionan un camino a un grupo de personas para lanzar y contribuir a un objetivo.
|
||||||
|
|
||||||
|
La comunidad de Django tiene un par de ejemplos de proyectos de crowdfunding muy exitosos, cada uno levantando decenas de miles de dólares (Django Migrations, Multiple Template engines, django.contrib.postgres, Django Rest Framework). Pero - si le preguntas a las personas que hicieron estos proyectos, no hicieron dinero en estos proyectos. La cantidad de tiempo de ingeniería que se invirtió en estos proyectos superó (con creces) el dinero recaudado.
|
||||||
|
|
||||||
|
Otra idea que se escucha regularmente es la idea de recompensas de la resolución de problemas (Bug Bounties) - la asignación de un precio para resolver un error específico. Esto es realmente sólo otra forma de crowdfunding - ¿Quieres arreglar un error específico o implementar una nueva característica? Contribuye con el dinero. Si tu *realmente* lo deseas - contribuye más. Y eventualmente alguien tomará el cebo y arreglará el error o implementará la característica.
|
||||||
|
|
||||||
|
Es un modelo atractivo - pero también tiene problemas - más notablemente, quién recibe el pago. ¿Pagas por líneas de código escrito? Esto ignora la contribución de los revisores del código. ¿Qué tan importante es escribir código comparado con revisar código o con encontrar un error?
|
||||||
|
|
||||||
|
Pero el mayor problema que veo con los enfoques de crowdfunding es que están en conflicto con el establecimiento de un ingreso laboral. Si te estás contratando a ti mismo, cuanto más corto sea el compromiso, mayor será tu tarifa por hora. Esta es una cobertura contra el desempleo al final del contrato. Si estás organizando un Kickstarter, es mejor tener un objetivo pequeño, claramente definido y claramente alcanzable. Así que lo puedes hacer en un mes o dos de trabajo.
|
||||||
|
|
||||||
|
Esto significa que necesitas para cobrar tu tasa de corto plazo con el fin de garantizar los ingresos a largo plazo. Pero también es de tu interés tener un objetivo de recaudación de fondos bajo, para que la campaña sea realmente exitosa. Si es demasiado alto, podría asustar a posibles patrocinadores. También significa que la comunidad paga una prima por cualquier característica nueva, que no es el mejor uso de los ya escasos recursos comunitarios.
|
||||||
|
|
||||||
|
Becas, Patreon
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Ok - si deseas ingresos a largo plazo, es necesario mirar a compromisos a más largo plazo. Eso significa que deja de buscar fondos para proyectos específicos y empiezas a buscar financiación para la persona, con becas.
|
||||||
|
|
||||||
|
Estoy incluyendo a Patreon en esa lista porque es efectivamente "crowdsourced patronage". No estás pagando por una cosa específica - estás pagando para que "sigas haciendo lo que estás haciendo".
|
||||||
|
|
||||||
|
En los últimos 10 meses, Django ha estado utilizando este modelo. Contratamos a un desarrollador a finales del año pasado. El desarrollador - cuyo nombre es Tim Graham - es responsable de mantener las ruedas del proyecto engrasadas.
|
||||||
|
|
||||||
|
Desde un punto de vista técnico, este ha sido un éxito rotundo. Tim ha hecho un gran trabajo con el manejador de tiquetes (Issue Tracker), y los tiempos de respuesta en las revisiones de Pull Requests son más bajos.
|
||||||
|
|
||||||
|
La parte difícil ha sido recaudar el dinero para pagarle.
|
||||||
|
|
||||||
|
Hicimos una recaudación de fondos al principio del año específicamente para financiar al becario; esa campaña ha recaudado algo más de $ 50.000. Eso no es un cantidad pequeño de dinero - pero no es tampoco mucho cuando estás hablando de un empleado de tiempo completo. Vamos a necesitar hacer otra recaudación de fondos muy pronto si queremos que la beca continue.
|
||||||
|
|
||||||
|
Casi todos están de acuerdo en que ha sido dinero bien gastado, pero convertirlo en donaciones ha sido un trabajo duro.
|
||||||
|
|
||||||
|
Patrocinio corporativo
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Otro otro enfoque para recaudar dinero es abrazar al diablo, e ir a los proveedores comerciales. Los intereses comerciales tienen dinero, así que ¿por qué no deberían pagar por ello? Esto puede ser muy exitoso bajo ciertas circunstancias - pero tienes que ser capaz de hacer un caso de negocio para el propietario corporativo.
|
||||||
|
|
||||||
|
OpenStack es un gran ejemplo de esto. ¿Por qué Rackspace, HP, Redhat, Ubuntu están interesados en OpenStack? Porque venden productos que se benefician de la mercantilización del entorno de alojamiento. Al hacer que sea barato y fácil de controlar las implementaciones en la nube, aumentan el tamaño del mercado para el alojamiento en la nube, lo que significa más dinero para su negocio principal - ya sea directamente (como Rackspace), o indirectamente (como RedHat, porque los servidores en la nube todavía necesitan sistemas operativos).
|
||||||
|
|
||||||
|
Node.js es financiado por Joyent por razones similares - Joyent está haciendo una apuesta a largo plazo, en la que si es más fácil desarrollar el software para la web, más gente escribirá dicho software , aumentando el mercado para los servicios de Joyent.
|
||||||
|
|
||||||
|
Sin embargo, Node.js es también un recordatorio sobre los problemas asociados a los intereses corporativos - ¿qué sucede cuando la comunidad y el patrocinador corporativo no están de acuerdo con la dirección del proyecto? Bueno, obtienes divisiones del proyecto, como la división io.js. El dinero corporativo puede corromper. Debemos tener cuidado de que la gobernanza del proyecto sea independiente de la fuente de financiamiento.
|
||||||
|
|
||||||
|
Tener un solo "jefe" corporativo también pone el proyecto en riesgo si ese "jefe" corporativo pierde interés. Django estaba originalmente bajo el ala de la World Company. Eventualmente, ese interés disminuyó, y el apoyo corporativo se acabó.
|
||||||
|
|
||||||
|
Venture funding
|
||||||
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
La otra respuesta corporativa que se escucha es ir a buscar dinero/capital de riesgo/inversión. Y hay algunos ejemplos de gente haciendo esto. Meteor, por ejemplo, está financiando su desarrollo con dinero de un fondo de riesgo. Tienen mucho dinero para contratar a ingenieros, diseñadores - lo que necesiten.
|
||||||
|
|
||||||
|
¿Qué me pone nervioso sobre este modelo? Hemos estado aquí antes. ¿Quién recuerda aquí a Eazel? Para aquellos que no recuerdan, a finales de los 90, Eazel fue una empresa dot-com fundada para desarrollar el gestor de archivos Nautilus. Y, tenemos 2 años de código abierto. Y entonces estalló la burbuja, y la compañía se estropeó. Ahora, lo bueno es que todavía tenemos el código. Pero sería mejor tener el código en desarrollo activo.
|
||||||
|
|
||||||
|
Desarrollo de una cultura de patrocinadores
|
||||||
|
------------------------------------------------------
|
||||||
|
|
||||||
|
Y otra vez, toda esta discusión está sucediendo en una industria donde las valuaciones del mil millones de dólares están dando vueltas alrededor.
|
||||||
|
|
||||||
|
Grandes partes de nuestra industria, se basan en software libre - pero los que tienen más capacidad para contribuir, en muchos casos, no están contribuyendo.
|
||||||
|
|
||||||
|
Algunos lo están haciendo - hay algunas empresas que dan grandes cantidades de nuevo a las comunidades de código abierto. Pero también hay un montón de empresas que no retribuyen.
|
||||||
|
|
||||||
|
E incluso muchos aquellos que *si* retribuyen dan la ayuda que son capaces de dar, que no es necesariamente la ayuda que se necesita. La Django Software Foundation recibe regularmente ofertas de alojamiento gratuito o subvencionado de proveedores de alojamiento. Y no me malinterpreten - esto es genial, e increíblemente útil.
|
||||||
|
|
||||||
|
Pero lo que realmente necesitamos es alguien en la nómina para revisar los errores. Anteriormente en el ciclo de vida de Django, necesitábamos que la gente escribiera nuevas grandes características. Estamos en una constante necesidad de diseñadores gráficos, artistas, escritores de tecnología. Necesitamos personas que sepan cómo hacer administración de sistemas, y el alcance comunitario. Y no necesitamos 400 personas donando 1 hora; necesitamos 10 personas muy específicas donando 40 horas.
|
||||||
|
|
||||||
|
Cuando ocurre un desastre, organizaciones como la Cruz Roja piden donaciones. Y por lo general dicen "por favor darnos dinero, no latas de comida o mantas". ¿La razón? El dinero puede comprar lo que se necesita. No puedes controlar lo que la gente dona, e incluso si la gente dona exactamente lo que se necesita, hay una enorme tarea logística de inventariar lo que se ha donado, y llevarlo donde se necesita.
|
||||||
|
|
||||||
|
Los proyectos de software libre son iguales - requieren recursos. Algunas empresas donan en especie, y eso es genial, pero rara vez es lo que se necesita, y es fácil distraerse averiguando qué hacer con todos los recursos que se han donado, pero no tienen un uso inmediato.
|
||||||
|
|
||||||
|
Y tristemente, al igual que con las organizaciones benéficas - muchas empresas no donan en absoluto. Y no estoy diciendo que estas compañías están siendo deliberadamente maliciosas en no financiar el código abierto - si algo, nosotros como comunidad les hemos fallado porque no les hemos ayudado a ayudarnos.
|
||||||
|
|
||||||
|
Lo más importante, no tenemos un mecanismo para que sea fácil gastar dinero, y sea fácil recibir dinero. El estado actual de las cosas demuestra claramente que no es suficiente que haya mucho dinero en una comunidad - hay que crear el mecanismo para que donar ese dinero sea tan obvio y sin fisuras como sea posible, y hay que tener a alguien para direccionar ese dinero donde se necesita.
|
||||||
|
|
||||||
|
Una comunidad modelo que creo que hace esto realmente bien es la comunidad de Wordpress. Wordpress es software GPL. Hay libros, videos, blogs sobre cómo escribir plugins y temas de Wordpress, lo mismo que para cualquier comunidad de software de código abierto. Pero también hay libros, videos y blogs sobre cómo hacer un *negocio* escribiendo plugins y temas de Wordpress. Wordpress es GPL. Y por lo tanto, también lo son todos los complementos. Tienen una tienda donde puedes comprar complementos (y obtener los gratuitos), e instalarlos fácilmente en tu instancia de Wordpress.
|
||||||
|
|
||||||
|
El ecosistema de Wordpress ha aceptado fundamentalmente el hecho de que el dinero necesita ser parte de la ecuación, y al hacerlo han creado una industria que se autofinancia, y esto, diría yo, es una de las razones principales del éxito de Wordpress como una plataforma.
|
||||||
|
|
||||||
|
Una propuesta polémica
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
En ese sentido, me gustaría hacer una propuesta polémica.
|
||||||
|
|
||||||
|
¿Qué pasaría si `PyPI`_ fuese una fuente de ingresos? ¿Qué sucedería si, al registrar una aplicación con `PyPI`_, pudieras especificar un precio: por instalación, o por versión, o por aplicación o por mes. Cuando hago "pip install", el coste se agrega a mi cuenta PyPI, y recibo un cargo mensual en mi tarjeta de crédito; y que se pasa de nuevo a los proyectos de desarrollo.
|
||||||
|
|
||||||
|
Si hemos de creer en las estadísticas de PyPI, Django se descarga de PyPI más de 1 millón de veces al mes. Si hubiese un peaje de 10 centavos de dólar en cada descarga, eso recaudarían $ 100,000 por mes - suficiente para pagar 10 desarrolladores a tiempo completo bien pagos, o una cantidad considerable de diversidad, alcance, DjangoGirls y apoyo de la comunidad.
|
||||||
|
|
||||||
|
También podrías aprovechar la información de la dependencias de PyPi para pagar un porcentaje hacia estos proyectos. Si está escribiendo un proyecto que depende de otro, podría optar por pasar parte de sus ingresos hacia este proyecto. O bien, solicitar que los flujos proporcionen un "peaje".
|
||||||
|
|
||||||
|
Y luego están las mayores dependencias de todos: PyPI y Python. Si PyPI tomara un pequeño recorte de los ingresos recaudados, eso podría ayudar a pagar por el desarrollo y mantenimiento de PyPI - y potencialmente Python también.
|
||||||
|
|
||||||
|
También puede tomar parte del dinero recaudado y ponerlo en un grupo de desarrollo, por lo que si hay un nuevo proyecto que necesita un poco de efectivo de arranque para empezar, o un proyecto establecido que necesita alguna ayuda para una gran tarea (como una actualización de Python 3 ), la comunidad en su conjunto puede fácilmente canalizar dinero hacia ese proyecto.
|
||||||
|
|
||||||
|
¿Qué pasa con las personas que no tienen dinero? Bueno, podemos ofrecer pases gratis. ¿Estás en un evento de DjangoGirls? Utilice este código promocional para obtener acceso gratuito.
|
||||||
|
|
||||||
|
Todavía puede regalar su software sin costo alguno. Y todavía es software libre - todavía estás entregando Python, así que todavía vas a obtener la fuente. Probablemente podrías incluso hacer que el proceso de inscripción sea completamente opcional. Todo lo que estaríamos haciendo es pavimentar el mecanismo - lo que facilita recaudar un peaje en la forma fácil en que utilizas un software.
|
||||||
|
|
||||||
|
No estoy diciendo que nada de esto sea fácil de implementar. Completamente aparte de cualquier reto técnico y solucionando los detalles, es un cambio filosófico grande para la comunidad, y ése es un asunto mucho más grande. Pero esta pregunta filosófica sobre el dinero es una discusión que nosotros, como comunidad necesitamos tener.
|
||||||
|
|
||||||
|
Lo que tenemos aquí es una `tragedia de los comunes <https://es.wikipedia.org/wiki/Tragedia_de_los_comunes>`__. Todo el mundo está de acuerdo en que este software es bueno. Todo el mundo sabe que el software debe mantenerse. Pero, ¿por qué una empresa individual debería asumir la carga económica de financiar el mantenimiento cuando sus competidores obtienen el beneficio de forma gratuita?
|
||||||
|
|
||||||
|
Aprende de la MPAA y RIAA: Haz que sea fácil hacer lo correcto
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Para mí, la lección clave de la industria de la música y el cine de los últimos 20 años es que si usted hace más fácil hacer lo correcto, la gente hará lo correcto. Si tu puedes hacer simple y sin problemas para una gran empresa deslizar tu tarjeta de crédito y que te cobren $ 100 al mes por usar todo este software de código abierto que se ha desarrollado, lo harán. Sí, la gente hará trampa. No te preocupes por ello, siempre y cuando la trampa no sea más fácil que hacer lo correcto.
|
||||||
|
|
||||||
|
La mayor razón por la cual esto no está sucediendo ahora es que no es obvio lo que es lo "correcto". Podrías donar a la DSF o PSF ... pero es un poco complicado de organizar, y no está claro a dónde va el dinero ... Podrías inscribirte para soportar a algunos Patreons, o inscribirte para un programa de la recompensas ... pero no todo el mundo está allí, y los que están no ganan realmente lo suficiente para ganarse la vida, y no quiero sólo aportar dinero para cerveza.
|
||||||
|
|
||||||
|
Entonces, ¿qué vamos a hacer? La respuesta corta es "No sé". Probablemente no existe una solución mágica. Me gustaría pensar que un canal de monetización en PyPI funcionaría, pero seré el primero en admitir que podría no ser la respuesta, o que puede haber problemas que no he previsto.
|
||||||
|
|
||||||
|
Pero creo firmemente que esta conversación sobre el dinero es una conversación que tenemos que tener. El software libre como movimiento tiene más de 30 años de antigüedad. El código abierto casi 20. Hemos superado los obstáculos técnicos. Incluso estamos conquistados los obstáculos políticos. Ahora es el momento de abordar la forma en que hacemos de esta una industria sostenible a largo plazo, no sólo los intereses comerciales que se aprovechan de la ingenuidad de una corriente de voluntarios de ojos azules.
|
||||||
|
|
||||||
|
En realidad voy a tomar otra posición ligeramente controversial, y *no* voy a tomar preguntas en este punto, por dos razones - en primer lugar, porque este tipo de charla son un imán para "Tengo un comentario, no una pregunta"; y también porque este no es un tema donde yo tenga las respuestas.
|
||||||
|
|
||||||
|
Esta es una discusión que necesitamos tener como comunidad - y estoy ansioso por tener esa discusión - no sólo en esta etapa.
|
||||||
|
|
||||||
|
* `russell@keith-magee.com <mailto: russell@keith-magee.com>`_
|
||||||
|
* `@freakboy3742 <https://twitter.com/freakboy3742>`_
|
||||||
|
* `cecinestpasun.com <http://cecinestpasun.com>`_
|
||||||
|
|
||||||
|
.. _PyPI: https://pypi.python.org/pypi
|
||||||
|
---
|
||||||
|
twitter_handle: freakboy3742
|
||||||
|
---
|
||||||
|
_slug: dinero-dinero-dinero
|
||||||
19
content/news/buzz/tips-core-contributor/contents+es.lr
Normal file
19
content/news/buzz/tips-core-contributor/contents+es.lr
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
title: Consejos para convertirse en un colaborador principal
|
||||||
|
---
|
||||||
|
author: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
|
||||||
|
En PyCon EE.UU. 2016, Philip James se convirtió en un colaborador principal de BeeWare!
|
||||||
|
|
||||||
|
Escribió algunos de sus pensamientos sobre el proceso en su artículo `Consejos para convertirse en un colaborador principal <https://www.wordfugue.com/tips-becoming-core-contributor/>`__.
|
||||||
|
|
||||||
|
Katie McLaughlin, consiguió su compromiso en DjangoCon Europa 2016, seguido con una publicación propia, describiendo su camino a `convertirse en una colaboradora principal <http://glasnt.com/blog/2016/06/08/on-becoming-a-core-contributor.html>`__.
|
||||||
|
|
||||||
|
Para aquellos que aspiran a convertirse en colaboradores de proyectos de código abierto, es útil escuchar cómo otros llegaron allí.
|
||||||
|
---
|
||||||
|
pub_date: 2016-06-05
|
||||||
|
---
|
||||||
|
twitter_handle: freakboy3742
|
||||||
|
---
|
||||||
|
_slug: consejos-para-convertirse-en-colaborador-principal
|
||||||
18
content/news/contents+es.lr
Normal file
18
content/news/contents+es.lr
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
summary: Que está sucediendo alrededor de la comunidad de BeeWare
|
||||||
|
---
|
||||||
|
title: Noticias
|
||||||
|
---
|
||||||
|
body:
|
||||||
|
---
|
||||||
|
_template: news.html
|
||||||
|
---
|
||||||
|
sort_key: 2
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
`RSS Feed </news/buzz/atom.xml>`__
|
||||||
|
|
||||||
|
`Próximos eventos </es/noticias/eventos/>`__
|
||||||
|
----------------------------------------------------
|
||||||
|
---
|
||||||
|
_slug: noticias
|
||||||
16
content/news/events/contents+es.lr
Normal file
16
content/news/events/contents+es.lr
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
_model: events
|
||||||
|
---
|
||||||
|
title: Eventos
|
||||||
|
---
|
||||||
|
gutter:
|
||||||
|
|
||||||
|
¿Quieres BeeWare en tu evento?
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
¿Quieres que alguien del BeeWare hable en tu evento? `¡Ponte en contacto! <mailto: russell@pybee.org>`__
|
||||||
|
|
||||||
|
Nos encantaría ir y contarle a más personas sobre BeeWare.
|
||||||
|
---
|
||||||
|
summary: ¿Quieres conocer a algunos de los Bee Team?
|
||||||
|
---
|
||||||
|
_slug: eventos
|
||||||
17
content/news/events/dev-world-2016/contents+es.lr
Normal file
17
content/news/events/dev-world-2016/contents+es.lr
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
title: /dev/world/2016
|
||||||
|
---
|
||||||
|
date: 2016-08-29
|
||||||
|
---
|
||||||
|
event_type: talk
|
||||||
|
---
|
||||||
|
speaker: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
talk_title: Apple y la serpiente: Escribe aplicaciones nativas para plataformas Apple en Python
|
||||||
|
---
|
||||||
|
url: http://2016.devworld.com.au/
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
Todo el mundo sabe que puede escribir aplicaciones iOS, OS X, tvOS y watchOS utilizando Objective C y Swift, las tecnologías oficialmente bendecidas de Apple. ¿Pero qué hacer si tu quieres utilizar un lenguaje diferente? ¿Qué pasa si tienes una base de código existente en un lenguaje diferente, o deseas un lenguaje que sea más apropiado para personas sin experiencia en programación?
|
||||||
|
|
||||||
|
Esta charla muestra cómo Python puede ser utilizado como un lenguaje de desarrollo viable para las plataformas de Apple. Explora la mecánica de cómo Python puede interactuar con las API nativas de Apple y demuestra algunas herramientas relacionadas que hacen que el proceso de creación de un proyecto iOS, OS X, tvOS o watchOS en Python sea relativamente fácil.
|
||||||
23
content/news/events/djangocon-au-2017-rkm/contents+es.lr
Normal file
23
content/news/events/djangocon-au-2017-rkm/contents+es.lr
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
title: DjangoCon Australia 2017
|
||||||
|
---
|
||||||
|
date: 2017-08-04
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
Django contrib.auth framework te permite especificar un modelo de usuario personalizado. ¿Por qué esto importa? ¿Cuándo se debe utilizar un modelo de usuario personalizado? ¿Y cómo vives con él una vez que tengas uno?
|
||||||
|
|
||||||
|
El contrib.auth de Django es una parte clave de la mayoría de los sitios web de Django. Sin embargo, hay algunos detalles importantes que necesitas entender si vas a hacer buen uso de los modelos de usuario personalizados. Algunos de estos detalles son técnicos, por ejemplo, los modelos de usuario personalizados requieren cierta consideración especial al interactuar con las migraciones.
|
||||||
|
|
||||||
|
Pero aún más importante son los detalles sobre por qué los modelos de usuario personalizados son importantes en primer lugar. Los modelos de usuario personalizados eran necesarios para romper algunos anti-patrones muy comunes sobre la identidad del usuario - anti-patrones que se cuecen en el modelo de usuario predeterminado de Django y son extraordinariamente comunes en el mundo de desarrollo web más amplio.
|
||||||
|
|
||||||
|
En esta charla, aprenderás sobre la identidad del usuario: lo que significa y lo que debe pensar al desarrollar las partes de modelado de usuario de su proyecto Django. También aprenderás a utilizar el modelo de usuario personalizado de Django en la práctica.
|
||||||
|
---
|
||||||
|
event_type: talk
|
||||||
|
---
|
||||||
|
speaker: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
talk_title: Usuario rojo, Usuario azul, Mi usuario, Usuario autenticado
|
||||||
|
---
|
||||||
|
upcoming: no
|
||||||
|
---
|
||||||
|
url: https://2017.pycon-au.org/schedule/presentation/51/
|
||||||
19
content/news/events/djangocon-au-2017/contents+es.lr
Normal file
19
content/news/events/djangocon-au-2017/contents+es.lr
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
title: DjangoCon Australia 2017
|
||||||
|
---
|
||||||
|
date: 2017-08-04
|
||||||
|
---
|
||||||
|
event_type: attending
|
||||||
|
---
|
||||||
|
speaker: Russell Keith-Magee, Katie McLaughlin, Amber Brown
|
||||||
|
---
|
||||||
|
upcoming: no
|
||||||
|
---
|
||||||
|
url: http://2017.djangocon.com.au/
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
DjangoCon Australia es la reunión anual de los desarrolladores de Django en Australia, celebrando su 5to año en 2017. Se celebra como un evento especializado de un día al inicio del PyCon Australia.
|
||||||
|
|
||||||
|
El contenido de DjangoCon Australia será específico de Django, pero también habrá contenido útil relacionado con Django en el programa principal de la PyCon.
|
||||||
|
|
||||||
|
También habrá desarrolladores de Django en los sprints a realizar después de la PyCon.
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
title: DjangoCon Europa 2017
|
||||||
|
---
|
||||||
|
date: 2017-04-06
|
||||||
|
---
|
||||||
|
event_type: sprint
|
||||||
|
---
|
||||||
|
speaker: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
upcoming: no
|
||||||
|
---
|
||||||
|
url: https://2017.djangocon.eu/
|
||||||
21
content/news/events/djangocon-europe-2017/contents+es.lr
Normal file
21
content/news/events/djangocon-europe-2017/contents+es.lr
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
title: DjangoCon Europa 2017
|
||||||
|
---
|
||||||
|
date: 2017-04-03
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
Todo el mundo sabe la historia: armados con nada más que una computadora portátil y un sueño, un par de geeks deciden tomar el mundo en sus manos: interrumpir, innovar y subvertir su camino hacia el éxito. En tan sólo unos pocos meses, toman una destartalada colección de software y la convierten en una fábrica de impresión de dinero que les permite conducir hacia la puesta de sol en Lamborghinis dorados.
|
||||||
|
|
||||||
|
Pero no siempre es así. De hecho, normalmente no lo es. Los capitalistas de riesgo (VC, por sus siglas en inglés) hacen sus inversiones apostando que 15 de 20 empresas en las que invierten fracasarán rotundamente, 4 obtendrán quizá una recompensa y 1 será un éxito masivo. Siempre escuchamos acerca de los 1 - los Facebook, los Instagrams, los WhatsApps. Pero muy raramente se oye hablar de los 15 que no tienen éxito. Y eso es sólo teniendo en cuenta las compañías financiadas por capitales de inversión - hay muchas otras compañías que nunca pasan de ser un pasatiempo, o viven una vida corta, financiadas privadamente por los ingresos de un consultoría antes de ser silenciosamente cerradas.
|
||||||
|
|
||||||
|
Este es un estudio de uno de esos fracasos - TradesCloud. ¿Qué salió bien? ¿Qué salió mal? ¿Y qué puede aprender de los errores de TradesCloud si está pensando en comenzar un negocio propio?
|
||||||
|
---
|
||||||
|
event_type: talk
|
||||||
|
---
|
||||||
|
speaker: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
talk_title: Autopsia de un accidente de tren lento: La vida y la muerte de un startup de Django
|
||||||
|
---
|
||||||
|
upcoming: no
|
||||||
|
---
|
||||||
|
url: https://2017.djangocon.eu/
|
||||||
13
content/news/events/djangocon-us-2016/contents+es.lr
Normal file
13
content/news/events/djangocon-us-2016/contents+es.lr
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
title: DjangoCon US 2016
|
||||||
|
---
|
||||||
|
date: 2016-7-18
|
||||||
|
---
|
||||||
|
description: DjangoCon es una conferencia comunitaria internacional para la comunidad y por la comunidad, que se celebra cada año en Norteamérica, sobre el framework web Django. Este año, se celebra en Filadelfia. Russell y Philip estarán presentes, y aunque no estarán presentando sobre BeeWare, ¡están dispuestos a hablar con cualquiera que quiera charlar!
|
||||||
|
---
|
||||||
|
event_type: attending
|
||||||
|
---
|
||||||
|
speaker: Russell Keith-Magee, Philip James
|
||||||
|
---
|
||||||
|
url: http://djangocon.us
|
||||||
|
---
|
||||||
|
upcoming: no
|
||||||
23
content/news/events/djangocon-us-2017-km/contents+es.lr
Normal file
23
content/news/events/djangocon-us-2017-km/contents+es.lr
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
title: DjangoCon US 2017
|
||||||
|
---
|
||||||
|
date: 2017-8-15
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
La comunicación es difícil. Ya sea entre seres humanos, máquinas o una combinación de los dos, tratar de traducir información es un proceso que tiene pérdidas.
|
||||||
|
|
||||||
|
Modificar lenguajes de programación para poder utilizar el nuevo estándar Unicode es difícil, pero una vez que está hecho, se obtiene esta maravillosa característica adicional: compatibilidad con emoji. Ya no tenemos que hacer caras con símbolos o utilizar emoticones específicos de una plataforma. Alégrate en el juego de caracteres extendido.
|
||||||
|
|
||||||
|
Emoji tiene una rica historia como una forma de permitir la comunicación de ideas en una cantidad reducida de datos. Se remontan a una época en la que esto era importante: las comunicaciones por mensajes de texto en Japón. Sin embargo, mientras las redes sociales febrilmente tratan de trepar a este carro, sus implementaciones de la norma crean problemas por la falta de comunicación que no son posibles con una pictografía de 12 x 12 .
|
||||||
|
|
||||||
|
Discutiremos la historia del emoji, la adopción multi-plataforma, el estándar Unicode y la accesibilidad emoji en las aplicaciones web. :chispas:
|
||||||
|
---
|
||||||
|
event_type: talk
|
||||||
|
---
|
||||||
|
speaker: Katie McLaughlin
|
||||||
|
---
|
||||||
|
talk_title: El Poder ⚡️ y la Responsabilidad 😅 de la Adopción de Unicode ✨
|
||||||
|
---
|
||||||
|
upcoming: no
|
||||||
|
---
|
||||||
|
url: https://2017.djangocon.us/talks/the-power-and-responsibility-of-unicode-adoption/
|
||||||
21
content/news/events/djangocon-us-2017-rkm/contents+es.lr
Normal file
21
content/news/events/djangocon-us-2017-rkm/contents+es.lr
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
title: DjangoCon US 2017
|
||||||
|
---
|
||||||
|
date: 2017-8-16
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
Todo el mundo sabe la historia: armados con nada más que una computadora portátil y un sueño, un par de geeks deciden tomar el mundo en sus manos: interrumpir, innovar y subvertir su camino hacia el éxito. En tan sólo unos pocos meses, toman una destartalada colección de software y la convierten en una fábrica de impresión de dinero que les permite conducir hacia la puesta de sol en Lamborghinis dorado.
|
||||||
|
|
||||||
|
Pero no siempre es así. De hecho, por lo general no lo es. Los fondos de inversión (VC, por sus siglas en inglés) hacen sus inversiones apostando que 15 de 20 empresas en las que invierten fracasarán rotundamente, 4 obtendrán quizá una recompensa y 1 será un éxito masivo. Siempre escuchamos acerca de los 1 - los Facebook, los Instagrams, los WhatsApps. Pero muy raramente se oye hablar de los 15 que no tienen éxito. Y eso es sólo teniendo en cuenta las compañías financiadas por fondos de inversión - hay muchas otras compañías que nunca pasan de ser un pasatiempo, o viven una vida corta, financiadas privadamente por los ingresos de una consultoría antes de ser silenciosamente cerradas.
|
||||||
|
|
||||||
|
Este es un estudio de caso de uno de esos fracasos - TradesCloud. ¿Qué salió bien? ¿Qué salió mal? ¿Y qué puede aprender de los errores de TradesCloud si está pensando en comenzar un negocio propio?
|
||||||
|
---
|
||||||
|
event_type: talk
|
||||||
|
---
|
||||||
|
speaker: Russell Keith-Magee
|
||||||
|
---
|
||||||
|
talk_title: Autopsia de un accidente de tren lento: La vida y la muerte de un startup de Django
|
||||||
|
---
|
||||||
|
upcoming: no
|
||||||
|
---
|
||||||
|
url: https://2017.djangocon.us/talks/autopsy-of-a-slow-train-wreck-the-life-and-death-of-a-django-startup/
|
||||||
11
content/news/events/djangocon-us-2017-sprints/contents+es.lr
Normal file
11
content/news/events/djangocon-us-2017-sprints/contents+es.lr
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
title: DjangoCon US 2017 Sprints
|
||||||
|
---
|
||||||
|
date: 2017-08-17
|
||||||
|
---
|
||||||
|
event_type: sprint
|
||||||
|
---
|
||||||
|
speaker: Russell Keith-Magee, Philip James, Katie McLaughlin
|
||||||
|
---
|
||||||
|
upcoming: no
|
||||||
|
---
|
||||||
|
url: https://2017.djangocon.us/sprints/
|
||||||
18
content/news/events/djangocon-us-2017/contents+es.lr
Normal file
18
content/news/events/djangocon-us-2017/contents+es.lr
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
title: DjangoCon US 2017
|
||||||
|
---
|
||||||
|
date: 2017-08-13
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
DjangoCon US es una conferencia internacional de seis días para la comunidad de la comunidad sobre el framework web de Django, que se celebra cada año en Norteamérica.
|
||||||
|
|
||||||
|
DjangoCon US tiene algo para todos, desde la persona que desarrolla las aplicaciones Django para la vida, a la persona que sólo juega en su tiempo libre. Descubra detalles sobre una amplia gama de aplicaciones que la gente de todo el mundo está construyendo con Django, obtenga una comprensión más profunda de los conceptos que ya está familiarizado y descubra nuevas formas de usarlos, ¡y divertirse mucho!
|
||||||
|
|
||||||
|
---
|
||||||
|
event_type: attending
|
||||||
|
---
|
||||||
|
speaker: Russell Keith-Magee, Philip James, Katie McLaughlin
|
||||||
|
---
|
||||||
|
upcoming: no
|
||||||
|
---
|
||||||
|
url: https://2017.djangocon.us/
|
||||||
23
content/news/events/linuxconfau-2017-km/contents+es.lr
Normal file
23
content/news/events/linuxconfau-2017-km/contents+es.lr
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
title: Linux.conf.au 2017
|
||||||
|
---
|
||||||
|
date: 2017-01-18
|
||||||
|
---
|
||||||
|
speaker: Katie McLaughlin
|
||||||
|
---
|
||||||
|
upcoming: no
|
||||||
|
---
|
||||||
|
url: https://linux.conf.au/schedule/presentation/73/
|
||||||
|
---
|
||||||
|
description:
|
||||||
|
|
||||||
|
JavaScript es un lenguaje increíblemente potente, y gracias a su renacimiento, ahora tiene usos que se extienden más allá del navegador.
|
||||||
|
|
||||||
|
Sin embargo, al ser un lenguaje extremadamente accesible, con una curva de aprendizaje poco empinada y una gran base de usuarios, es tema -a veces- de abuso por parte de otras comunidades de otros lenguajes de programación.
|
||||||
|
|
||||||
|
Sí, JavaScript se creó en un plazo muy corto, y hay problemas inherentes con algunas decisiones de diseño en sus inicios que pueden causar algo de dolor a los desarrolladores. Sin embargo, como el motor que impulsa la web, es capaz de demostrar su versatilidad y utilidad. Entonces, ¿por qué el odio?
|
||||||
|
|
||||||
|
En esta charla, vamos a discutir la historia de JavaScript, su futuro, y cómo algunos de sus problemas pueden ser evitados en el uso cotidiano para aprovechar el poder de este lenguaje universal. También haremos un breve recorrido por más de una docena de otros idiomas y algunas de sus peculiaridades, para demostrar cómo ningún idioma está libre de problemas.
|
||||||
|
---
|
||||||
|
event_type: talk
|
||||||
|
---
|
||||||
|
talk_title: JavaScript es asombroso
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue