Đề xuất một tính năng mới¶
Vậy là bạn đã có ý tưởng về việc cải tiến cho BeeWare Docs Tools - làm thế nào để gửi ý tưởng đó để được xem xét?
Hãy tìm hiểu kỹ¶
Bước đầu tiên là tìm kiếm trên hệ thống theo dõi vấn đề BeeWare Docs Tools để xem liệu ý tưởng đó đã từng được đề xuất trước đây hay chưa, thông qua các vấn đề liên quan đến tính năng (các vấn đề được gắn thẻ "enhancement"), vấn đề liên quan đến tài liệu (các vấn đề được gắn thẻ "documentation"), hoặc các chuỗi thảo luận. Nếu đã có, và bạn có bối cảnh hoặc ý tưởng mới để bổ sung, hãy đưa chúng vào chuỗi thảo luận hiện có. Nếu bạn cần hỗ trợ trong quá trình tìm kiếm, bạn có thể hỏi trong kênh #dev trên BeeWare Discord. Chúng tôi có thể chỉ cho bạn các chuỗi thảo luận hiện có, cung cấp bối cảnh mà bạn có thể chưa biết, hoặc kết nối ý tưởng của bạn với một ý tưởng khác có thể không liên quan ngay lập tức.
Thảo luận về ý tưởng này¶
Nếu bạn không tìm thấy bất kỳ tài liệu tham khảo nào liên quan đến ý tưởng của mình, hãy tạo một Chủ đề thảo luận. Hãy mô tả tổng quan về mục đích và trường hợp sử dụng của ý tưởng. Hãy nêu rõ những suy nghĩ của bạn về hình thức của tính năng này nếu được triển khai, chẳng hạn như cấu trúc chung của API, giao diện trực quan của tính năng hoặc tài liệu sẽ được bổ sung. Nếu có thể, bạn cũng nên bao gồm bất kỳ nghiên cứu nào bạn đã thực hiện về cách ý tưởng của bạn sẽ được thể hiện trên các nền tảng khác nhau.
Sau khi chủ đề thảo luận được mở, nhóm BeeWare và các thành viên khác trong cộng đồng sẽ phản hồi. Nhóm nòng cốt sẽ cố gắng đưa ra ít nhất là đánh giá ban đầu về ý tưởng của bạn trong vòng hai ngày làm việc. Nếu ý tưởng đó đặc biệt phức tạp, việc phân tích chi tiết hơn có thể mất đến một tuần. Các sự kiện như ngày lễ và hội nghị có thể khiến thời gian xử lý kéo dài hơn một chút.
Đây là cơ hội để bạn tham gia trao đổi về ý tưởng của mình. Chúng tôi có thể yêu cầu bạn cung cấp thêm chi tiết hoặc bối cảnh. Các thành viên khác trong cộng đồng cũng có thể tham gia vào cuộc thảo luận, đưa ra những góc nhìn, đề xuất hoặc ý kiến phản biện khác. Kết quả của cuộc thảo luận này sẽ quyết định các bước tiếp theo.
Điều quan trọng là phải hiểu rằng không phải ý tưởng nào cũng được chấp nhận. Lý do tại sao quy trình này bắt đầu bằng một bản đề xuất là để tránh trường hợp bạn bỏ ra rất nhiều công sức, chỉ để rồi phát hiện ra rằng có lý do khiến đề xuất thay đổi của bạn không được chấp nhận.
Điều này không có nghĩa là đó không phải là một ý tưởng hay! Có thể có những lý do kỹ thuật khiến ý tưởng đó không thể thực hiện được. Ví dụ, chúng ta có thể từ chối một ý tưởng nếu:
- Sẽ rất khó hoặc không thể triển khai một cách đáng tin cậy trên tất cả các nền tảng được hỗ trợ; hoặc
- Việc bảo trì sẽ rất khó khăn, hoặc việc bảo trì sẽ đòi hỏi phải sử dụng công nghệ hoặc phần mềm mà không phải ai cũng có thể tiếp cận được; hoặc
- Nó phục vụ một nhóm đối tượng nhỏ, nhưng lại gây ra gánh nặng đáng kể cho những người dùng khác.
Nếu chúng tôi nhận thấy ý tưởng của bạn không phù hợp, điều đó không có nghĩa là bạn phải từ bỏ nó. Mặc dù chúng tôi có thể từ chối một ý tưởng cụ thể, nhưng chúng tôi có thể sẵn lòng hơn nhiều trong việc bổ sung một giao diện plugin hoặc điểm mở rộng khác, giúp bạn duy trì tính năng đó dưới dạng một thư viện bên ngoài. Nhờ đó, bạn vẫn có thể sử dụng tính năng này mà không phải lo lắng về các vấn đề bảo trì cụ thể hay những hạn chế của tính năng đó trở thành rào cản đối với chính dự án.
Chuyển thành yêu cầu tính năng chính thức¶
Khi cuộc thảo luận đã đạt được sự đồng thuận về hình thức của một tính năng, bạn có thể tạo một yêu cầu tính năng mới trong hệ thống theo dõi vấn đề BeeWare Docs Tools, trong đó tóm tắt nội dung cuộc thảo luận và đính kèm liên kết đến cuộc thảo luận để cung cấp bối cảnh.
Bạn không cần phải tự mình triển khai đề xuất tính năng của mình; bạn có thể tạo một vấn đề (issue) kèm theo chi tiết về đề xuất của bạn. Tuy nhiên, việc chỉ đơn thuần đăng tải vấn đề đó không có nghĩa là nó sẽ được triển khai cho bạn. Bạn sẽ cần chờ đợi để xem liệu đề xuất đó có được ai đó quan tâm đến tính năng tương tự tiếp nhận hay không, dù đó là một thành viên khác trong cộng đồng hay đội ngũ phát triển chính; tuy nhiên, điều này không được đảm bảo sẽ xảy ra. Nếu bạn muốn đảm bảo tính năng được triển khai, bạn sẽ cần tự mình triển khai nó, hoặc trả tiền cho người khác để họ triển khai giúp bạn.
Nếu bạn quan tâm, bạn có thể bắt đầu triển khai tính năng mới của mình.