apache / superset

Apache Superset is a Data Visualization and Data Exploration Platform
https://superset.apache.org/
Apache License 2.0
61.34k stars 13.36k forks source link

[SIP-0] Superset Improvement Proposals #5602

Closed betodealmeida closed 5 years ago

betodealmeida commented 6 years ago

Superset Improvement Proposals

Purpose

The purpose of a Superset Improvement Proposal (SIP) is to introduce any major change into Apache Superset. This is required in order to balance the need to support new features, uses cases, while avoiding accidentally introducing half thought-out interfaces that cause needless problems when changed.

What is considered a major change that needs a SIP?

Any of the following should be considered a major change:

What are the "public interfaces" of the project? All of the following are public interfaces that people build around:

What should be included in a SIP?

A SIP should contain the following sections:

Who should initiate the SIP?

Anyone can initiate a SIP, but preferably someone with the intention of implementing it.

Process

  1. Create an issue with the prefix “[SIP]” in the title. The issue will be tagged as “sip” by a committer, and the title will be updated with the current SIP number.
  2. Notify the dev@ mailing list that the SIP has been created, use the subject line [DISCUSS] ..., the body of the email should look something like Please discuss & subscribe here: https://github.com/apache/incubator-superset/issues/5602
  3. When writing the issue, fill in the sections as described above in “What should be included in a SIP?”. You can use the template included at the end of this document.
  4. A committer will initiate the discussion and ensure that there’s enough time to analyze the proposal. Before accepting the SIP, a committer should call for a vote, requiring 3 votes and no vetoes—both from committers. Votes are timeboxed at 1 week, and conducted through email (with the subject line [VOTE] ...).
  5. Create a pull request implementing the SIP, and referencing the issue.

Template

[SIP] Proposal for _

Motivation

Description of the problem to be solved.

Proposed Change

Describe how the feature will be implemented, or the problem will be solved. If possible, include mocks, screenshots, or screencasts (even if from different tools).

New or Changed Public Interfaces

Describe any new additions to the model, views or REST endpoints. Describe any changes to existing visualizations, dashboards and React components. Describe changes that affect the Superset CLI and how Superset is deployed.

New dependencies

Describe any NPM/PyPI packages that are required. Are they actively maintained? What are their licenses?

Migration Plan and Compatibility

Describe any database migrations that are necessary, or updates to stored URLs.

Rejected Alternatives

Describe alternative approaches that were considered and rejected.

mistercrunch commented 5 years ago

Updated to add step 2 Notify the dev@ mailing list that the SIP has been created to the process

kristw commented 5 years ago

@betodealmeida Would you like to call for votes in the mailing list for this proposal?

nishantmonu51 commented 5 years ago

where should the discussion for the SIP take place ? I believe, it could be either the dev list or the SIP issue itself. doing on the dev list would make be easier for people not following the SIP issue itself to follow the discussion.

kristw commented 5 years ago

I believe, it could be either the dev list or the SIP issue itself.

I would vote for having the discussions on the SIP github issue.

doing on the dev list would make be easier for people not following the SIP issue itself to follow the discussion.

With the proposed process, author will notify dev@ mailing list that a SIP has been created. Then people can subscribe/unsubscribe to notifications. This will let people subscribe only to the discussions they are interested.

pasted_image_10_25_18__2_09_pm

mistercrunch commented 5 years ago

I agree with @kristw about having the discussion on Github. Images are a dealbreaker for a data visualization project. Also diagram and such.

mistercrunch commented 5 years ago

I amended the proposal, should we specify a process to amend post-vote? Btw having the diff of the history of the proposal is great:

screen shot 2018-10-25 at 8 57 13 pm
betodealmeida commented 5 years ago

Closing this since it was voted.

s1aw1k commented 3 years ago

Good morning! Is there also a mobile app developer here?

chenzhihang602 commented 2 years ago

could superset support connecting to OceanBase in the future?

rusackas commented 3 weeks ago

Please note that this SIP has passed, so SIPs will move forward (or not) according to this revised process.