diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000000..54b20c99b0d --- /dev/null +++ b/CONTRIBUTING.md @@ -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.
+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.
+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.
+Please do not attempt to "make things more accessible". Please do not make any video-tutorials.
+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.
+But **please**, **listen to me**. No one is winning if you facilitate a nonsense-DDoS against FOSS maintainers. + +**Side-note:**
+This btw is by no means FOSS-specific or even software- or IT-specific. It affects any "social" project/movement/idea.
+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_.
+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. + +
+ +Please also note the **important distinction** between _"for anyone"_ and _"for everyone"_.
+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.
+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.
+You're already bringing a **ton** of value to other people. Don't ever forget that. +Anyone demanding even more is just being unreasonable.
+It is **okay** to say no. It is **okay** to set up boundaries and not be for _everyone_. + + +
+ +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.
+I absolutely need the input and help of other people and for that I'm glad.
+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! diff --git a/README.md b/README.md index 828cba2f752..50b4422915a 100644 --- a/README.md +++ b/README.md @@ -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! \ No newline at end of file +Thanks a lot for that! diff --git a/docs/_pages/faq.md b/docs/_pages/faq.md index 9d54ff9bdb9..da8c38ac019 100644 --- a/docs/_pages/faq.md +++ b/docs/_pages/faq.md @@ -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? +## Can you support Robot Model XY? 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)