-
Notifications
You must be signed in to change notification settings - Fork 0
/
lifecycle.Rmd
57 lines (44 loc) · 1.87 KB
/
lifecycle.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
---
title: "Lifecycle"
output:
distill::distill_article:
fig_caption: false
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```
When a user considers utilising a package in their work it is helpful to provide
them with information on the development plans around the package. This allows
them to make an informed decision as to whether they want to take that package
as a dependency. To help users understand the development status of a package
we use lifecycle badges to relay one of 4 stages of package maturity;
[*concept*][Concept], [*experimental*][Experimental], [*maturing*][Maturing] and
[*stable*][Stable]:
<aside>
The [tidyverse](https://www.tidyverse.org) team introduced the concept of a
package (or function)
[lifecycle](https://lifecycle.r-lib.org/articles/stages.html). Our approach is
less granular (we do not consider individual functions) and uses slightly
different semantics but is still similar in nature.
</aside>
```{r fig.cap="Diagram showing how packages go through stages from concept to experimental to maturing to stable"}
library(knitr)
include_graphics("images/lifecycle_no_text.png")
```
## Concept
Initial ideas of what the package will be, maybe some gist of code and
discussions among developpers, but not much more.
## Experimental
Draft of a functional package, but interfaces and functionalities may change
over time, testing and documentation maye be lacking. Typically semantic
version < 0.1.0.
## Maturing
Package is functional, documented and tested. Can be used in production with the
understanding that the interface may still undergo minor changes. Typically
semantic version < 1.0.0.
## Stable
Package is functional, documented and tested. The interface is not meant to
change in the future. Can be used in production and relied upon by other
packages. Typically semantic version >= 1.0.0.
# Contributing
More info coming soon!