mirror of
https://github.com/Hypfer/Valetudo.git
synced 2025-10-26 11:27:27 +00:00
docs: Contributing.md
This commit is contained in:
parent
ec3d3c6e9a
commit
06defd0a58
127
CONTRIBUTING.md
Normal file
127
CONTRIBUTING.md
Normal file
@ -0,0 +1,127 @@
|
||||
# Contributing to Valetudo
|
||||
|
||||
**Don't**
|
||||
|
||||
|
||||
Heh, I bet you weren't expecting that. But it is actually the answer you're looking for.
|
||||
|
||||
### Code Contributions
|
||||
|
||||
Unless explicitly noted otherwise (e.g. in a Help Wanted issue), I'm usually not interested in any contributions to Valetudo.<br/>
|
||||
This is because Valetudo is mature software that I'm personally using daily.
|
||||
|
||||
Due to that, pretty much all low-hanging-fruits are already gone and those that still _appear_ 🍐 to be there are either
|
||||
not as trivial and simple as you'd think initially or conscious design decisions that should actually be like that.
|
||||
|
||||
Everything that _isn't_ a low-hanging-fruit on the other hand usually turns out to be such an invasive change, that I won't be accepting
|
||||
any PRs for such changes, because I know from experience that after merging any such PR, I will be rewriting the whole
|
||||
thing anyway, which not only doesn't save me any time or effort but actually costs me even more.
|
||||
|
||||
### A word on documentation
|
||||
|
||||
It's a similar story with documentation efforts. The docs are exactly how they are supposed to be. I know that the project
|
||||
might not be immediately accessible to _everyone_ without further research but that filtering is a feature and not an oversight.
|
||||
|
||||
I do quite enjoy writing documentation, so I don't help in doing so. In fact, I think it's best if I do it, because I
|
||||
know quite exactly how the software works.<br/>
|
||||
Playing a game of telephone will already happen further down the information chain.
|
||||
It shouldn't be part of the documentation itself.
|
||||
|
||||
The docs are the single source of truth, so they need to be truthy.
|
||||
|
||||
### Some context
|
||||
|
||||
Because I *support* newcomers and long-time-users *daily*, I pretty much know _exactly_ where the pain-points are,
|
||||
what issues there might be, which things people struggle with and what the scope should be. Therefore, it is highly
|
||||
unlikely that someone new to the project happens to see something obvious that all people just missed until they came along.
|
||||
|
||||
It might happen of course, but the chances of having another nonsense discussion are a few orders of magnitude higher.
|
||||
|
||||
I also have developed a quite good understanding of who this project is for and - more importantly - who it isn't for.
|
||||
I can tell who will struggle with it, what drama that will cause and if it is worth it. The docs take that into account
|
||||
and try to filter to avoid all this very exhausting drama.
|
||||
|
||||
### On (not) growing the target audience
|
||||
|
||||
Please please please keep those filters as-is. Please do not invite people that clearly can't pass those filters to the project.<br/>
|
||||
Please do not attempt to "make things more accessible". Please do not make any video-tutorials.<br/>
|
||||
It's not helping anyone.
|
||||
|
||||
At the end of the day, it will still be yours truly that has to deal with the support requests resulting from that.
|
||||
|
||||
I know that if you're on board the "_everyone_ MUST use this software and it MUST be _for everyone_ bandwagon",
|
||||
you likely won't see what the issue with that is.<br/>
|
||||
But **please**, **listen to me**. No one is winning if you facilitate a nonsense-DDoS against FOSS maintainers.
|
||||
|
||||
**Side-note:**<br/>
|
||||
This btw is by no means FOSS-specific or even software- or IT-specific. It affects any "social" project/movement/idea.<br/>
|
||||
Half-baked "I'd like to do good" **always** just backfires and **only** increases the workload on the existing volunteer structures.
|
||||
|
||||
Yes, short-term, there may be some benefits, sure, but that doesn't matter if long-term, volunteers quit and structures crumble,
|
||||
because they were pushed into unsustainable conditions by well-meaning third-parties.
|
||||
Third-parties that even feel proud having done "the right thing". Third-parties that are long gone once things start to fall
|
||||
apart in consequence of their actions.
|
||||
|
||||
It's a shame, really, but it keeps repeating itself over and over and over _everywhere_.<br/>
|
||||
It needs to stop and stopping starts with a **no**.
|
||||
|
||||
### Being for everyone
|
||||
|
||||
> A friend to all is a friend to none
|
||||
>
|
||||
> ― Taylor Swift
|
||||
|
||||
|
||||
If there's one thing to take away from this text then it's that the opposite of _"not for everyone"_ isn't _"for everyone"_
|
||||
but rather _"for no one"_, because things trying to be _"for everyone"_ will always collapse under their own weight.
|
||||
|
||||
<br/>
|
||||
|
||||
Please also note the **important distinction** between _"for anyone"_ and _"for everyone"_.<br/>
|
||||
Valetudo actually is _"for anyone"_, because anyone can pick it up; no matter the specific selection of attributes such as
|
||||
e.g., sex, gender, age, ethnicity and whatever other uncontrollable backgrounds you can come up with.
|
||||
|
||||
It is however not _"for everyone"_, because _"everyone"_ is a superset of _"anyone"_ that then includes wants, needs,
|
||||
ideas, behaviour and whatnot.<br/>
|
||||
Basically everything the individual _can_ and _does_ control.
|
||||
|
||||
Yes, I'm aware that controlling those things can sometimes be more challenging depending on background, but we're talking
|
||||
about a cloud replacement for vacuum robots (read: luxury goods) maintained as a hobby project by some random guy on the internet and not
|
||||
access to healthcare, public services, legal protection or anything vital like that provided by a nation-state or billion-dollar company.
|
||||
|
||||
Expectations need to be reasonable.
|
||||
|
||||
### Expectation management
|
||||
|
||||
On that note, to set expectations, you can basically think of Valetudo as **freeware with source available**, so that
|
||||
others can learn from it, and you can be sure that I'm not doing something evil on your robot.
|
||||
|
||||
If you base the way you'd like to contribute something on that mental image, it's probably correct-ish.
|
||||
|
||||
### Final remarks
|
||||
|
||||
I know that this text will have offended quite a few people. I know they will say that this is _elitism_ or _not real open-source_
|
||||
or really any other _digital blunt object used for smashing people on the head to try to force your will onto them_.
|
||||
|
||||
To those, I can say that this is _precisely_ why I'm not doing _open-source_ anymore. I've dropped the term and replaced
|
||||
it with _opinionated_ software that just happens to be licensed under the same licenses.
|
||||
|
||||
_Open-source_ by the definition of that crowd is a bottomless pit that devours the souls of young, naive, motivated,
|
||||
gullible and easy to exploit individuals. It burns them out to a crisp for personal and corporate profit.
|
||||
It is so very unsustainable and inhumane. I'm not doing that anymore.
|
||||
|
||||
I'd also want to encourage other FOSS maintainers to say no. To set up boundaries and filters and stick to them.<br/>
|
||||
You're already bringing a **ton** of value to other people. Don't ever forget that.
|
||||
Anyone demanding even more is just being unreasonable.<br/>
|
||||
It is **okay** to say no. It is **okay** to set up boundaries and not be for _everyone_.
|
||||
|
||||
|
||||
<br/>
|
||||
|
||||
If you can understand what I'm saying here, feel free to stick around in the support groups :)
|
||||
|
||||
I for sure don't know everything and also can't do everything.<br/>
|
||||
I absolutely need the input and help of other people and for that I'm glad.<br/>
|
||||
Thanks for the support and for being part of the community ♥
|
||||
|
||||
Without people like you, the project certainly wouldn't be where it is today!
|
||||
@ -55,10 +55,14 @@ There, you will find a list of [supported robots](https://valetudo.cloud/pages/g
|
||||
## Further questions?
|
||||
[Valetudo Telegram group](https://t.me/+wtIVqHUXoWljMDQy)
|
||||
|
||||
## Contributing
|
||||
|
||||
Make sure to familiarize yourself with the [./CONTRIBUTING.md](./CONTRIBUTING.md)
|
||||
|
||||
|
||||
## Honourable mentions
|
||||
|
||||
Valetudo and its companion applications are developed using JetBrains IDEs such as [WebStorm](https://www.jetbrains.com/webstorm/).
|
||||
Licenses for those have been provided for free by JetBrains to the project in context of [their open source support program](https://jb.gg/OpenSourceSupport) since multiple years now.
|
||||
|
||||
Thanks a lot for that!
|
||||
Thanks a lot for that!
|
||||
|
||||
@ -9,7 +9,7 @@ order: 30
|
||||
|
||||
Valetudo is the roman name for the greek goddess Hygieia, which is the goddess of health, cleanliness and hygiene.
|
||||
|
||||
## Can you support Robot Model XY? <a name="support-new-robot"></a>
|
||||
## Can you support Robot Model XY? <a name="newbot"></a>
|
||||
|
||||
Sure! We'd be glad to look into your case. To help us help you, we only require you to buy and permanently
|
||||
donate 3 units of the robot in question to us. (2 for HW Hacking, 1 for SW Hacking)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user