En las respuestas de ¿Cuál es la réplica canónica a "es de código abierto, envíe un parche"? , muchas personas expresaron la opinión de que simplemente pedirles a las personas que envíen un parche es arrogante y grosero.
Pero me parece que como desarrollador en cualquier proyecto de código abierto, verá muchas más solicitudes de características en la lista de correo de las que posiblemente podría implementar. Entonces, cuando un usuario dice: "Me gustaría ver la función X", la verdad es que las posibilidades de que se implementen son bastante escasas, a menos que envíen un parche. Además, a veces un poco de aliento puede ser todo lo que se necesita para convertir a un usuario en un contribuyente.
Por otro lado, no desea asustar a los contribuyentes (potenciales) alejándose como grosero.
Entonces, ¿cómo diría "envíe parches en lugar de solicitar funciones" de manera amigable?
Actualización: ¡ Gracias por todas las sugerencias! Veo que la mayoría de ellos requieren explicaciones bastante largas. Pero como prefiero evitar (a) explicar lo mismo cada dos días (solo lleva demasiado tiempo), o (b) usar fragmentos que pego en el correo electrónico (se vuelve impersonal muy rápido), me pregunto: ¿Alguien escribió esto en un documento que puedo vincular?
(Las cosas específicas del proyecto, como cómo escribir pruebas, compilar el código y enviar el parche, aún deben documentarse, por supuesto, pero creo que esos problemas técnicos deberían ir a CONTRIBUTING.txt de todos modos).
fuente
Respuestas:
Usted no
En lo que he estado experimentando, los contribuyentes candidatos son manipuladores, y no enviarán una solicitud de función simplemente solicitándola. Normalmente lo solicitarán con algún nivel de participación:
Los codificadores que envían una solicitud de función directamente lo hacen por una razón. Algunos de ellos incluyen (y sé con certeza que los dos últimos suceden en WordPress, por ejemplo):
Más típicamente, las solicitudes de funciones vendrán de usuarios finales que no podrían contribuir con el parche incluso si quisieran. Especialmente cuando se envía fuera del sistema de tickets.
Creo que su prioridad más importante debería ser no posponer a los contribuyentes potenciales / existentes, en lugar de tratar de reclutar activamente a otros nuevos. Es muy importante, y lo digo por experiencia. Tengo una forma extraña de elegir una nueva base de código, que implica la lectura rápida del código para obtener un cierto nivel de comprensión, saltar al sistema de venta de entradas y corregir errores fáciles de ver para aprender las partes internas en profundidad (y archivar nuevos como pruebo). A lo largo de los años, he inundado algunos proyectos con docenas de boletos y parches. Muchas veces estos boletos recibirán poca o ninguna atención oportuna (ni siquiera un reconocimiento, por ejemplo, ¡sigan así!), Incluso cuando vienen con pasos de diagnóstico documentados y pruebas unitarias adjuntas.
fuente
En resumen, usted explica que no tiene tiempo ilimitado para hacer su trabajo de forma gratuita. (Puede omitir el bit 'gratis'), y que pueden contribuir en cualquier momento que deseen, no es "su" proyecto, es el proyecto de todos.
así que dices "Lo sentimos mucho, es una gran idea, pero estamos demasiado ocupados con todo el resto del trabajo en curso, lo agregaremos a la lista, pero si realmente quieres incluir esto, y le gustaría ayudarnos contribuyendo al proyecto, entonces sería maravilloso. Tenemos algo de documentación para ayudar a los muchachos a realizar cambios en el proyecto, están aquí, así que si tienen las habilidades y el tiempo y quiere ayudarnos, entonces por favor intente y envíenos un parche con sus cambios. Es posible que tengamos que hacer algunas modificaciones cuando lo recibamos para que se ajuste a los estándares del proyecto, pero nos estará haciendo un un gran favor al menos darnos una ventaja para este trabajo y te amaremos por ayudarnos ".
Por supuesto, una vez que comience a solicitar parches, nunca, nunca, podrá dejarlos en su sistema de tickets durante demasiado tiempo; si obtiene mucho, los integrará más que haciendo el trabajo que solía hacer. Puede que no le guste eso, pero es necesario si desea que sigan apareciendo parches.
fuente
Sé cortés y explica la situación con claridad. ¿Qué pasa con algo como:
Mira, no puedes decir "¿Por qué me molestas con tus solicitudes? No estoy aquí para trabajar de forma gratuita; si quieres esta función, ve e impleméntala tú mismo". La persona puede no ser desarrollador, puede no saber el lenguaje utilizado para desarrollar el producto, etc.
Entonces, en lugar de ser grosero, puede sugerir participar en el proyecto y también explicar por qué es posible que no pueda implementar la función usted mismo.
Otra forma de no ser grosero es no tener que decir nada. Si tiene un sitio web en el que los usuarios de su aplicación pueden sugerir nuevas funciones e informar errores, puede ordenar los elementos según su prioridad: por ejemplo, si una función es solicitada por 10 000 usuarios y otra es solicitada por solo 10 , hay posibilidades de que el primero se implemente primero.
En dicho sitio web, siempre puede poner una sugerencia de "impleméntelo usted mismo" para las características que, después de unos días o semanas, no han recibido suficientes votos positivos de otros usuarios.
fuente
Realmente, ¿fue tan difícil?
fuente
Bueno, en lugar de solo decir "enviar un parche", debes elaborar un poco más.
fuente
Esto es lo que normalmente digo ...
fuente
Además de las buenas maneras de decir "Enviar un parche", también proporcione documentación orientada al desarrollador para que otros por qué realmente quieran que la característica pueda ponerse al día con facilidad en su proyecto. Muchos proyectos no son amigables para los desarrolladores y requieren días con un mínimo de lectura de miles de líneas de código y toneladas de pequeños casos de prueba hurgando en diferentes partes del sistema para hacerlo bien.
Si proporciona ayuda a los posibles desarrolladores, estarán más que dispuestos a brindar ayuda. Esto significa una buena documentación de código, buenas páginas wiki que explican el flujo (o un buen diagrama UML / pizarra) y una manera fácil de hacer que se acepten parches.
fuente
Realmente me encanta la forma en que github alienta a otros a bifurcar el proyecto. Pueden existir múltiples versiones del mismo proyecto bajo diferentes cuentas de usuario. Si no te gusta la dirección que estoy tomando el proyecto, bifurcalo. Puede enviar fácilmente solicitudes de extracción, pero no está atascado esperando que lo acepte.
Entonces mi respuesta es a menudo, simplemente bifurca.
fuente