This page describes a proposed Doris Improvement Proposal (DSIP) process for proposing a major change to Doris, inspired by [Flink Improvement Proposals]
该文档介绍什么是 Doris Improvement Proposal (DSIP) 以及如何提交一个 DSIP。
1. Purpose
Issue or Jira is mainly used for tracking tasks. DSIP, on the other hand, can be thought of as A Collection of Design Documents for all Major Feature Updates or Improvements.
Doris is a large and complex project, so when we design and develop some big functional modules, we need to design and discuss them in detail to avoid subsequent unnecessary refactoring or bug fixes.
At the same time, detailed design documentation can also help all developers in the community to more easily understand the motivation, requirements and detailed design of the features.
Issue 或 Jira 主要用户问题的追踪。而 DSIP 可以被视作是 Doris 主要功能或改进的设计文档的集合。
Doris一个复杂的工程,所以当我们去设计一个重要的功能改动时,我们需要进行详细的讨论与设计,以避免后期无谓的重构或bug修复。
同时,详细的设计文档也有助于社区其他开发者更容易了解功能的设计动机、需求和详细内容。
2. What is considered a "Major Updates or Improvements" that needs a DSIP?
- Large complex functional modules
- Large refactoring of existing functions
- Refactorings that may lead to changes in development specifications
- Refactorings that affect important user interfaces
We welcome a brief discussion in the dev@doris mail list to determine if the feature requires a DSIP.
- 大的复杂功能模块
- 对已有功能的重大重构
- 可能导致开发规则变更的重构
- 影响用户接口的重构
我们非常欢迎在提交 DSIP 前,先在 dev@doris 邮件组中进行简单讨论
3. What should be included in a DSIP?
A DSIP should contain the following sections:
- Motivation: describe the problem to be solved
- Related research: some research related to the function, such as the advantages and disadvantages of the design, related considerations, etc.
- Detailed design: the detailed design of the function.
- Scheduling: specific implementation steps and approximate scheduling.
一个 DSIP 应包含以下部分:
- 动机:介绍 DSIP 的背景和动机
- 相关调研:相关的调研内容,比如设计上的优劣、相关思考等。
- 详细设计:功能的详细设计。
- 计划和排期:开发步骤和大致的排期
4. Who should initiate the DSIP?
Anyone can initiate a DSIP but you shouldn't do it unless you have an intention of getting the work done to implement it.
任何人都可以发起一个 DSIP,但请确保你有意向完成这个任务。
5. Process
Here is the process for making a DSIP:
- start a discussion in the dev@doris to determine if you need a DSIP. the title of the mail can be [Discuss][DSIP] your subject.The final DSIP number will be determined during the email discussion.
- After confirming, if you don't have wiki editing rights, please register a wiki account first, then send it to the dev@doris, and a Doris PMC member will open editing rights for you.
- create a new DSIP page with the title DISP-100: your subject.
DSIP 的发起流程:
- 在邮件组发起讨论已确定是否需要 DSIP。邮件标题可以是 [Discuss][DSIP] your subject。邮件讨论中会确定最终的 DSIP 编号
- 确认后,如果你没有wiki的编辑权限,请先注册wiki账号,然后将账号发送至 dev 邮件组,Doris PMC 成员会为你开通编辑权限。
- 创建一个新的 DSIP 页面,标题为 DISP-100: your subject
6. About Language
Probably most of the current Doris development comes from China, so we do not refuse to use Chinese to write DSIP, because when describing some complex content, it may be easier to express clearly in Chinese.
For DSIPs written in Chinese, Doris PMC members will assist with English translation when appropriate.
However, we still Strongly Recommend Writing the DSIP in English to ensure that developers from any country can understand the content.
You can translate the DSIP in Chinese using online translation software such as google translator, and provide both English and Chinese versions.
可能目前大多数Doris的开发来自中国,所以我们不拒绝使用中文来编写DSIP,因为在描述一些复杂内容时,可能中文更容易表述清楚。
对于采用中文的 DSIP,Doris PMC 成员会在适当的时候协助进行英文翻译。
但我们依然强烈推荐使用英文编写 DSIP,以保证来自任何国家的开发中都能够了解其中的内容。
你可以在使用中文编写后,通过一些在线翻译软件如 google translator 进行翻译,并同时提供中英文版本。