Skip to content

Latest commit

 

History

History
84 lines (53 loc) · 5.98 KB

CONTRIBUTING.md

File metadata and controls

84 lines (53 loc) · 5.98 KB

Table of Contents

  1. Before Contributing
  2. State of the Art of Plutus
  3. Developing Plutus Community Docs
  4. Checklist Before PR
  1. Collaborators Code of Conduct

Before Contributing

Please identify if there is something missing in the Plutus Community Docs website that you would like to add or update. If so, there is a series of simple steps in Section 4. However, before you decide to contribute it is important for you to know that this site is a community effort. It started with a reduced number of Plutus Pioneer students that mobilized forces to make this site possible. The role of IOG is merely organizational, and is limited to providing a centralized platform to gather the best notes from community high performers. This is volunteer work and it can have a significant positive impact for the Cardano developer community.

Having said that, IOG’s philosophy for this project does not rely on abusing volunteer work from the community but rather providing a highly visible platform where avid members can team up and showcase their work for others to benefit and improve. Most of the genesis-documentation already existed as self-study notes from Pioneers, so this project is picking up on a truly open source firmament and enhacing previous work.

State of the Art of Plutus

It is important to understand that Plutus is an amazing piece of top-notch technology that is in constant evolution. It is the product of many scientific disciplines working together. From Ouroboros eUTXO, the first mathematically proven proof of Stake protocol to Plutus Core, a parsimonious intermediary language for Pluts compilation and the Alonzo Hard Fork, are some few major technical achievements. The main point here is that whatever knowledge we gain during this phase of constant evolution is not going to be stationary and although the fundamental concepts will not change, it is likely that technical details will, eg.:

  • Developer environment overall
  • Programming syntax
  • Plutus functions
  • Off-chain tooling & logic

This should bring awareness to the fact that the goal of this documentation is also to be in constant evolution. Although IOG makes increasing efforts to improve official documentation, the high volume and frequency of updates that the language undergoes makes it unrealistic for one team from one single company to keep everything up to date. Having said that, leveraging the power of multiple eager learners and developers across the planet that would anyways explore Plutus and create notes on their own, now have a shared home. We envision Plutus Community Docs as the place for that high frequency collective contribution.

Developing Plutus Community Docs

This site tries to be simple to maintain so that more contributions are facilitated. It is built with MkDocs and uses Windmill Theme.

You can follow their instructions if you want to built locally.

Checklist before PR

Is it already in plutus-community-docs?

Is the file you are proposing already on the site or could it require its own section?

Please read the site and documentation available as reviewing PRs imply time and effort from collaborators and site maintainers. If you would like to contribute include the following on the PR description:

Are you making big/small changes?

If you want to add, change or update existing material:

  • Index tree, Section of the documentation changes.
  • Brief description of what the main changes are.
  • If it is not obvious from the above description, elaborate more on the reason for your edits.

If you want to propose a new section/sub-section:

  • Write a simple proposal in an issue following the format below:
    • i) Motivation.
    • ii) Relevance.
    • iii) Do you have community support or evidence that this may be useful?
    • iv) Is it a community tool? If so, how will it be maintained? Or for how long?
    • v) Contributors contact information, Discord handles & emails.
  • Serious proposals will be reviewed by Community Managers and consulted with the broader technical community.
  • Tidy your notes and PR

Once the above point is satisfied please polish and tidy up your markdown before initiating a PR. Expect sometime before the changes take effect on the actual site.

Collaborators Code of Conduct

This status intends to become a label on individuals that reflect that they have been working recently with Plutus and have fresh useful knowledge. Overall it should be chill work and nothing elitist.

Resposibilities

Being a collaborator implies some few responsibilities within the community. In addition to the usual good conduct among peers you are responsible for what you contribute. So we, as Technical community, expect you to:

  • Be active on Discord (at least for few days after your contribution)
  • Be willing to attend short “touching-point” meetings if needed (TBD / can happen once every few months)
  • Hand over good material: documentation that has been recently created/tested or guides other devs through effective use of the technology. However, as much as you are responsible for the quality of your initial contribution, you are not expected to maintain it for extended periods of time.

Stepping Out

If you would like to exit or resign your status of collaborator, you should communicate in advance and the most important thing is to refer at least one other person that could replace you or has some knowledge of your contributions. If needed you should at least touch base with them as an onboarding buddy (a 15 minute call could be enough to walk them through your contributions.)