-
-
Notifications
You must be signed in to change notification settings - Fork 399
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
133 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters