Skip to content

Commit 1d17f82

Browse files
committed
Added a section on plugin maturity guidelines.
1 parent 7978388 commit 1d17f82

1 file changed

Lines changed: 49 additions & 0 deletions

File tree

server/reference/product-development/plugin-development/development-writing-plugins-for-mariadb.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,55 @@ maria_declare_plugin(example)
7171
maria_declare_plugin_end;
7272
```
7373
74+
## Maturity Guidelines For Plugins
75+
76+
The maturity level selection criteria differ based on how the plugin is released.
77+
78+
> [!NOTE]
79+
> Sufficiently big changes to a plugin should lead to:
80+
> * an increase of the plugin version
81+
> * knocking the maturity level down.
82+
83+
### Static plugins
84+
85+
Static plugins and other server features share a release cycle.
86+
87+
```mermaid
88+
stateDiagram-v2
89+
state "Release Candidate" as RC
90+
state "General Availability" as GA
91+
Experimental --> RC
92+
RC --> GA
93+
```
94+
95+
* First, a plugin is experimental
96+
* After at least 1.5 months of testing and bugfixing it is released as gamma (RC). This transition can take longer, in 3 month increments: 4.5 months, 7.5 months, etc. This goes on until the quality is deemed acceptable.
97+
* After 3 more months of testing and bugfixing the plugin is released as stable (GA)
98+
99+
### Dynamic Plugins
100+
101+
Dynamic plugins released together with the server must follow a unified maturity criteria.
102+
For plugins released separately this is a guideline.
103+
104+
```mermaid
105+
stateDiagram-v2
106+
state "Release Candidate" as RC
107+
state "General Availability" as GA
108+
state "Experimental" as Exp {
109+
[*] --> Alpha
110+
[*] --> Beta
111+
Alpha --> Beta
112+
Beta --> [*]
113+
[*] --> [*]
114+
}
115+
Exp --> RC
116+
RC --> GA
117+
```
118+
119+
* first a plugin is experimental
120+
* after at least 1.5 months (or more, in 3 month increments, until the quality is deemed acceptable) it becomes gamma. Meanwhile it can transition through alpha and beta as the maintainer wants (e,g. it can start directly from beta)
121+
* after at least 3 more months (or more, in 3 month increments) it becomes stable
122+
74123
<sub>_This page is licensed: CC BY-SA / Gnu FDL_</sub>
75124

76125
{% @marketo/form formId="4316" %}

0 commit comments

Comments
 (0)