|
| 1 | += Pkl Evolution |
| 2 | + |
| 3 | +:use-link-attrs: |
| 4 | + |
| 5 | +// tag::byline[] |
| 6 | +++++ |
| 7 | +<div class="blog-byline"> |
| 8 | +++++ |
| 9 | +by link:https://github.com/bioball[Dan Chao] on April 18, 2024 |
| 10 | +++++ |
| 11 | +</div> |
| 12 | +++++ |
| 13 | +// end::byline[] |
| 14 | + |
| 15 | +// tag::excerpt[] |
| 16 | +Today, we launch link:https://github.com/apple/pkl-evolution[Pkl Evolution], a new repository that holds Suggested Pkl Improvements, Changes, or Enhancements (SPICEs) for Pkl's language, tooling, and ecosystem. |
| 17 | +// end::excerpt[] |
| 18 | + |
| 19 | +The purpose of the Pkl Evolution repository is to provide visibility to the community how design decisions are made in Pkl. |
| 20 | +Additionally, it is a place for the Pkl maintainers to get feedback as in-flight proposals are being considered. |
| 21 | + |
| 22 | +== Process for SPICEs |
| 23 | + |
| 24 | +The process for a SPICE is: |
| 25 | + |
| 26 | +1. The SPICE is authored, and submitted as a pull request. + |
| 27 | +When authoring a SPICE, determine your SPICE number by adding one to the latest SPICE (inclusive of open pull requests). |
| 28 | +2. The contents of the SPICE are discussed and reviewed in the pull request. + |
| 29 | +It is then either accepted or rejected. |
| 30 | +3. The status of the SPICE is updated, and the pull request is merged. Both accepted and rejected SPICEs get merged into the main branch. |
| 31 | + |
| 32 | +The acceptance of a SPICE does not need to block any implementation work. |
| 33 | +On the contrary, it can be quite useful to have an implementation ready to go during the process of review. |
| 34 | + |
| 35 | +The acceptance of a SPICE depends on concensus from the Pkl maintainers. |
| 36 | + |
| 37 | +== Contributing to Pkl Evolution |
| 38 | + |
| 39 | +There are two main ways you can participate and contribute to Pkl Evolution. |
| 40 | + |
| 41 | +The first way is to participate in the pull request discussion for a SPICE. |
| 42 | +Your thoughts and opinions are valuable to us, and can help shape the direction of the language. |
| 43 | + |
| 44 | +The second way is to author SPICEs of your own. |
| 45 | +If you would like to contribute your own SPICE, we recommend you first the idea to link:https://github.com/apple/pkl/discussions[GitHub Discussions] to solicit feedback. |
| 46 | +This can help shape the direction of the SPICE before too much work goes in. |
| 47 | +It can also potentially filter out ideas that are non-starters. |
| 48 | + |
| 49 | +== Status of Pkl Evolution |
| 50 | + |
| 51 | +Some of you might recognize how similar this is to link:https://github.com/apple/swift-evolution[Swift Evolution]. |
| 52 | +If you've noticed that, you're totally right! |
| 53 | +We borrowed much of this from the Swift folks. |
| 54 | + |
| 55 | +Compared to Swift Evolution, we are choosing to keep our process relatively light-weight. |
| 56 | +There is no review manager, and no designated review period. |
| 57 | +This is an intentional choice on our part, and we expect that our own process will evolve over time. |
0 commit comments