DSIP
DolphinScheduler Improvement Proposal(DSIP) introduce major improvements to the Apache DolphinScheduler codebase. It is not for small incremental improvements, and the purpose of DSIP is to notice and inform community the finished or coming big feature for Apache DolphinScheduler.
What is considered as DSIP
- Any major new feature, major improvement, introduce or remove components
- Any major change of public interfaces, such as API endpoints, web ui huge change
When the change in doubt and any committer thinks it should be DSIP, it does.
We use GitHub Issue and Apache mail thread to record and hold DSIP, for more detail you could go to section current DSIPs and past DSIPs.
As a DSIP, it should:
- Have a mail thread title started with
[DISCUSS]
in dev@dolphinscheduler.apache.org - Have a GitHub Issue labeled with
DSIP
, and including the mail thread link in the description.
Current DSIPs
Current DSIPs including all DSIP still work-in-progress, you could see in current DSIPs
Past DSIPs
Past DSIPs including all DSIP already done or retired for some reason, you could see in past DSIPs
DSIP Process
Create GitHub Issue
All DSIP should start with GitHub Issue
- If you pretty sure your issue is DSIP, you could click and choose “DSIP” in GitHub Issue
- If you not sure about your issue is DSIP or not, you could click and choose “Feature request” in GitHub Issue. DolphinScheduler maintainer team would add label
DSIP
, mention you in the issue and lead you to this document when they think it should be DSIP.
You should add special prefix [DSIP-XXX]
, XXX
stand for the id DSIP. It’s auto increment, and you could find the next integer in All DSIPs issues.
Send Discuss Mail
After issue labeled with “DSIP”, you should send an email to dev@dolphinscheduler.apache.org. Describe the purpose, and the draft design about your idea.
Here is the template for mail
Title:
[DISCUSS][DSIP-XXX] <CHANGE-TO-YOUR-LOVELY-PROPOSAL-TITLE>
, changeXXX
to special integer you just change in GitHub Issue, and also change proposal title.Content:
Hi community,
<CHANGE-TO-YOUR-PROPOSAL-DETAIL>
I already add a GitHub Issue for my proposal, which you could see in <CHANGE-TO-YOUR-GITHUB-ISSUE-LINK>.
Looking forward any feedback for this thread.
After community discuss and all of them think it worth as DSIP, you could work on it. But if community think it should not be DSIP or even this change should not be included to DolphinScheduler, maintainers terminate mail thread and remove label “DSIP” for GitHub Issue, or even close issue if it should not change.
Work On It, Or Create Subtask For It
When your proposal pass in the mail thread, you could make your hand dirty and start the work. You could submit related pull requests in GitHub if change should in one single commit. What’s more, if proposal is too huge in single commit, you could create subtasks in GitHub Issue like DSIP-1, and separate into multiple commit.
Close After It Done
When DSIP is finished and all related PR were merged, you should reply the mail thread you created in step two to notice community the result of the DSIP. After that, this DSIP GitHub Issue would be closed and transfer from current DSIPs to past DSIPs, but you could still find it in All DSIPs
An Example For DSIP
- [DSIP-1][Feature][Parent] Add Python API for DolphinScheduler: Have multiple subtasks and Projects on it.