Пропозиція щодо нової функції¶
Отже, у вас є пропозиція щодо вдосконалення BeeWare — як подати цю пропозицію на розгляд?
Проведіть дослідження¶
Першим кроком є пошук у системі відстеження проблем BeeWare існуючих запитів щодо нових функцій (запитів з тегом «enhancement»), проблем з документацією (записів із тегом «documentation»), або тем для обговорення, щоб перевірити, чи ця ідея вже пропонувалася раніше. Якщо так, і у вас є нові деталі чи ідеї, додайте їх до існуючої теми. Якщо вам потрібна допомога з пошуком, ви можете звернутися у каналі #dev на BeeWare Discord. Ми можемо вказати вам на існуючі теми, надати контекст, про який ви, можливо, не знаєте, або пов’язати вашу ідею з іншою, яка на перший погляд може здаватися не пов’язаною.
Обговоріть цю ідею¶
Якщо ви не знайшли жодних існуючих згадок про вашу ідею, створіть обговорення. Надайте загальний опис мети та сценарію використання вашої ідеї. Додайте свої думки щодо того, як ця функція могла б виглядати в разі її реалізації, наприклад, загальну структуру API, візуальне оформлення функції або документ, який би додавався. Якщо це доречно, також слід додати результати досліджень, які ви провели щодо того, як ваша ідея реалізовувалася б на різних платформах.
Після відкриття теми для обговорення команда BeeWare та решта спільноти нададуть відповіді. Основна команда постарається надати принаймні перше враження щодо вашої ідеї протягом двох робочих днів. Якщо ідея є особливо складною, більш детальний аналіз може зайняти до тижня. Такі події, як свята та конференції, можуть призвести до незначного подовження цих термінів.
Це ваша можливість долучитися до обговорення вашої ідеї. Ми можемо попросити вас надати додаткові деталі або контекст. До обговорення можуть долучитися й інші учасники спільноти, які висловлять інші точки зору, пропозиції чи альтернативні варіанти. Результат цього обговорення визначить подальші кроки.
Важливо розуміти, що не всі ідеї будуть прийняті. Цей процес починається саме з подання пропозиції, щоб уникнути ситуації, коли ви докладете всіх зусиль, а потім з’ясуєте, що ваша пропозиція не буде прийнята з певних причин.
Це не означає, що це була погана ідея! Можливо, існують технічні причини, через які її неможливо реалізувати. Наприклад, ми можемо відхилити ідею, якщо:
- було б складно або неможливо забезпечити надійне функціонування на всіх підтримуваних платформах; або
- Це було б складно підтримувати, або для обслуговування знадобився б доступ до технологій чи програмного забезпечення, які не є широко доступними; або
- Він орієнтований на вузьку аудиторію, але створює значні додаткові витрати для інших користувачів.
Якщо ми вирішимо, що ваша ідея не підходить, це не обов’язково означає, що вам слід від неї відмовитися. Хоча ми можемо відхилити конкретну ідею, ми можемо бути набагато більш схильні до додавання інтерфейсу плагіна або іншої точки розширення, що дозволить вам підтримувати ту саму функцію як зовнішню бібліотеку. Таким чином, ви зможете мати цю функцію, але без конкретних проблем з її підтримкою або обмежень, які можуть стати перешкодою для самого проєкту.
Перетворити на офіційну пропозицію щодо функції¶
Як тільки під час обговорення буде досягнуто консенсусу щодо форми функції, ви можете створити нову заявку на додавання функції у системі відстеження проблем BeeWare, в якій підсумуйте результати обговорення та вкажіть посилання на саму дискусію для розуміння контексту.
Вам не обов’язково самостійно реалізовувати свою пропозицію щодо нової функції; ви можете створити запит із докладним описом того, що ви пропонуєте. Однак саме по собі створення запиту ще не означає, що ця функція буде реалізована саме для вас. Вам доведеться чекати, поки її, можливо, підхопить хтось інший, зацікавлений у цій же функції — чи то інший учасник спільноти, чи то основна команда; однак це не гарантовано. Якщо ви хочете гарантованої реалізації, вам доведеться реалізувати її самостійно або заплатити комусь іншому, щоб він реалізував її за вас.
Якщо вас це зацікавило, ви можете розпочати реалізацію нової функції.