docs/goals.md: add VictoriaMetrics goals and non-goals page

Everybody who works on VictoriaMetrics must be aware of these goals and non-goals
This commit is contained in:
Aliaksandr Valialkin 2024-06-25 18:00:03 +02:00
parent dff5008392
commit a632abf965
No known key found for this signature in database
GPG key ID: 52C003EE2BCDB9EB
3 changed files with 39 additions and 1 deletions

View file

@ -29,6 +29,7 @@ If you like VictoriaMetrics and want to contribute, then it would be great:
Before sending a pull request to [VictoriaMetrics repository](https://github.com/VictoriaMetrics/VictoriaMetrics/) please make sure it **conforms all** the following checks:
- The pull request conforms [VictoriaMetrics goals](https://docs.victoriametrics.com/goals/).
- The pull request conforms [`KISS` principle](https://en.wikipedia.org/wiki/KISS_principle). See [these docs](#kiss-principle) for more details.
- The pull request contains clear description of the change, with links to the related GitHub issues and [docs](https://docs.victoriametrics.com/), if needed.
- Commit messages contain concise yet clear descriptions. Include links to related GitHub issues in commit messages, if such issues exist.

View file

@ -92,7 +92,7 @@ then please follow the following steps in order to quickly find the solution:
from VictoriaMetrics community. If the linked resources have no enough information,
then it is better posting the missing information in the web resource before providing links
to this information in Slack chat. This will simplify searching for this information in the future
for VictoriaMetrics users via Google and ChatGPT :)
for VictoriaMetrics users via Google and [Perplexity](https://www.perplexity.ai/).
1. Pro tip 3: if you are answering somebody's question about VictoriaMetrics components
at GitHub issues / Slack chat / StackOverflow, then the best answer is a direct link to the information

37
docs/goals.md Normal file
View file

@ -0,0 +1,37 @@
---
sort: 500
weight: 500
title: VictoriaMetrics goals
menu:
docs:
parent: 'victoriametrics'
weight: 500
---
# Goals
VictoriaMetrics project is aimed towards the following goals:
1. **The main goal** - to help customers and users resolving issues with VictoriaMetrics components, so they could use these components
in the most efficient way.
1. Fixing bugs in the essential functionality of VictoriaMetrics components. Small usability bugs are usually the most annoying,
so they **must** be fixed first.
1. Improving [docs](https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/docs) for VictoriaMetrics components,
so users could find answers to their questions via Google or [Perplexity](https://www.perplexity.ai/) without the need
to ask these questions at our [support channels](https://docs.victoriametrics.com/#community-and-contributions).
1. Simplifying usage of VictoriaMetrics components without breaking backwards compatibility, so users could regularly
upgrade to [the latest available release](https://docs.victoriametrics.com/CHANGELOG.html) and remain happy.
1. Improving **the essential functionality** of VictoriaMetrics components.
1. Improving the readability and maintainability of the code base by removing unnecessary abstractions and simplifying the code whenever possible.
1. Improving development velocity by optimizing CI/CD tasks, so they take less time.
# Non-goals
1. Adding non-trivial features, which require significant changes in the code and the architecture.
Such features may break the essential functionality of VictoriaMetrics components, so a big share
of the existing users may become unhappy after the upgrade.
1. Adding unnecessary abstractions, since they may worsen project maintainability in the future.
1. Implementing all the features users ask. These features should fit [the goals](#goals) of VictoriaMetrics. Other features must be closed as `won't implement`.
1. Merging all the pull requests users submit. These pull requests should fit [the goals](#goals) of VictoriaMetrics. Other pull requests must be closed as `won't merge`.
1. Slowing down CI/CD pipelines with non-essential tasks, since this results in development velocity slowdown.
1. Slowing down development velocity with non-essential requirements.