Saltar a contenido

Proponer una prestación nueva

Siempre estamos abiertos a sugerencias e ideas para nuevas funciones o documentación para BeeWare. Pero, ¿cómo puedes enviar tu idea para que la tengamos en cuenta?

Antes de empezar

Ya tenemos una lista muy larga de funciones que nos gustaría implementar, y los recursos son muy limitados. Si tienes una idea que crees que mejoraría BeeWare, nos encantaría conocerla. Si un número suficiente de personas solicita lo mismo, el equipo central podría implementar esa idea. Sin embargo, por sí sola, una petición de funcionalidad es poco probable que resulte en que esa funcionalidad se implemente en un futuro próximo.

BeeWare es una comunidad de código abierto. La forma más eficaz de asegurarse de que se implementa una función es implementarla tú mismo. Haremos todo lo que podamos para ayudar a los colaboradores a implementar las prestaciones que quieren ver añadidas. Las peticiones de que el equipo central implemente una función para ti, de forma gratuita, no serán bien recibidas.

Si no estás en condiciones de implementar una función por ti mismo, la otra forma de acelerar el desarrollo de tu función es pagar a alguien para que la implemente por ti. Si quieres hablar de pagar para que se priorice el desarrollo de una función específica, por favor contacta con el equipo de BeeWare.

Sugerir nuevas funcionalidades

Lo más obvio es sugerir un nuevo API o capacidad. Si tienes un caso de uso que BeeWare no admite actualmente, o hay una capacidad nativa de la plataforma que BeeWare no puede utilizar actualmente, es posible que desees proponer un cambio para abordar esa brecha.

Cuando proponga una nueva función, tenga en cuenta que el conjunto de herramientas de BeeWare es compatible con múltiples plataformas. Esto significa que cualquier nueva función debe:

  • Ser adecuado y aplicable en todas las plataformas (por ejemplo, todos los conjuntos de herramientas GUI tienen el concepto de "botón"); o bien
  • Ser adecuada para plataformas del mismo "tipo", y apropiada para ignorar en otras plataformas (p.e., todos los teléfonos móviles tienen acelerómetros; no muchos equipos de sobremesa los tienen, y por tanto, tiene sentido que exista un API de acelerómetro para iOS y Android, pero no para las plataformas de sobremesa o web); o bien
  • Permitir el acceso a una función interna de la plataforma sin alterar el API pública (por ejemplo, no puede añadir una función que sea claramente específica de Android, pero podría facilitar a los usuarios finales el acceso a una función específica de Android desde su propio código).

Esto no significa que tengas que responsabilizarte de implementar una función en todas las plataformas. Si no tienes acceso al hardware de Apple, no es razonable que esperemos que implementes una función en macOS o iOS. Sin embargo, como parte del proceso de diseño, tenemos que establecer que sería posible implementar una función de la manera que describes.

Sugerir nueva documentación

Otra cosa que podría sugerir es una mejora de la documentación. Si tiene una idea para mejorar la documentación de BeeWare, puede tenerla en cuenta:

  • ¿Su sugerencia se solapa con documentación existente? ¿Propone una nueva guía o un añadido a una ya existente?
  • ¿Cómo encaja en el resto del ecosistema BeeWare? ¿Es este proyecto el lugar adecuado para documentar la idea? ¿O deberíamos documentar una función en otro proyecto y enlazar con esa documentación?
  • ¿Hay algún concepto de alto nivel que necesite explicación antes de que las instrucciones específicas tengan sentido?
  • ¿Tiene sentido que expliquemos el tema, o ya lo ha tratado alguien en algún sitio al que podamos remitirnos?

Si no estás seguro de algo de esto, ¡no te preocupes! Envíanos tu idea y haznos saber en la discusión inicial de qué no estás seguro, y podremos ayudarte a dar forma a las ideas que tengas para que encajen en la documentación de BeeWare.

Contribuir con una propuesta de función

Proponer una nueva función

Por tanto ya tienes una idea sobre una mejora para BeeWare: ¿cómo presentar esa idea a que sea para consideración?

Haz tu investigación

El primer paso es buscar el seguimiento de la incidencia BeeWare para la prestación de incidencias (incidencias etiquetadas "enhancement"), incidencias de documentación (incidencias etiquetadas "documentation"), o Hilos de discusión para ver si ka idea ha sido sugerida antes. Si tiene, y tiene contexto o ideas nuevas o para añadir, inclúyelas en el hilo existente. Si le gustaría asistir con su investigación, puede solicitar en el canal #dev en el Discord de BeeWare. Es posible que podamos orientarte hacia hilos de conversación existentes, proporcionarte un contexto que quizás desconozcas o conectar tu idea con otra que, a primera vista, no parezca estar relacionada.

Debatir la idea

Si no encuentra ninguna referencia a su idea, inicie un Hilo de debate. Describa a grandes rasgos la finalidad y el caso de uso de su idea. Incluya cualquier idea que tendría sobre como aparecería la prestación, si se implementara, tal como la forma general de un API, el aspecto visual de una capacidad o el documento que se añadiría. Si es aplicable, también incluiría cualquier investigación que hayas realizado sobre como se manifestaría tu idea en plataformas diferentes.

Una vez abierto el hilo de debate, el equipo de BeeWare y el resto de la comunidad responderán. El equipo central intentará ofrecer al menos una primera impresión de su idea en un plazo de dos días laborables. Si una idea es especialmente compleja, un análisis más detallado puede llevar hasta una semana. Acontecimientos como vacaciones y conferencias pueden alargar ligeramente estos plazos.

Esta es su oportunidad de participar en una conversación sobre su idea. Podemos pedirle más detalles o contexto. Otros miembros de la comunidad también pueden participar en el debate, aportando otras perspectivas, sugerencias o contra‐propuestas. El resultado de este debate determinará los siguientes pasos.

Es importante entender que no serán aceptadas todas las ideas. La razón por la que este proceso comienza con una propuesta es para evitar que hagas todo el trabajo y luego descubras que hay una razón por la que su cambio no será aceptado.

Esto no significa que no fuera una buena idea. Puede haber razones técnicas por las que no pueda llevarse a cabo. Por ejemplo, podríamos rechazar una idea si:

  • Sería difícil o imposible implementar de forma fiable a través de todas las plataformas admitidas; o
  • Sería difícil de mantener, o su mantenimiento requeriría acceder a tecnología o software que no estén ampliamente disponibles; o
  • Sirve a un nicho público, pero impone una sobrecarga significativa a otros usuarios.

Si determinamos que tu idea no encaja, no significa necesariamente que debas renunciarla. Si bien podemos rechazar una idea específica, podemos estar mucho más dispuestos a añadir una interfaz de plugin u otro punto de extensión que le permita mantener la misma prestación como una biblioteca externa. De este modo, podrá disponer de la prestación, pero sin que los problemas específicos de mantenimiento o las limitaciones de la prestación se conviertan en una restricción para el propio proyecto.

Convertir en una requerimiento formal de prestación

Una vez que la discusión ha llegado a un consenso sobre la forma de una prestación, puede crear una nueva prestación solicitada de incidencia, en la incidencia del seguimiento BeeWare, que resuma la discusión, enlazando a la discusión para el contexto.

No tienes por qué implementar tú mismo tu propuesta de prestación; puedes abrir una incidencia con los detalles de lo que propones. Sin embargo, el mero hecho de publicar la incidencia no significa que vaya a implementarse. Tendrás que esperar a que otra persona interesada en la misma prestación, ya sea otro miembro de la comunidad o el equipo central, la recoja; sin embargo, no está garantizado que esto suceda. Si quieres la implementación garantizada, tendrás que implementarla tú mismo, o pagar a alguien para que lo haga por ti.