好久不見我的朋友們! 👋

今天我收到 GitHub stale bot 的通知,說我在著名的 PyTorch repo 中的一個 PR被 stale bot 關閉了。 🤖

是的,由機器人執行;不是由作者或 repo 所有者執行,而是由機器人執行。

您可能會爭辯說,對於像這樣的大型專案來說,這是正常的,但透過深入研究 PR,我發現開源中浪費了多少精力!

一切是如何開始的

2025 年 6 月,我想嘗試一次性語音克隆工具

該專案基於 PyTorch,雖然透過 Docker 安裝的目的是為了可重複,但實際上並非如此。

首先,我克隆了 repo 並執行 docker build:

docker build -t f5tts:v1 .

下載和建立這個已經花了很長時間(你可能從類似的專案中知道這一點)。 😴

建置最終完成後,我嘗試透過 ```shell 執行該專案

docker 容器執行 --rm -it --gpus=all --mount 'type=volume,source=f5-tts,target=/root/.cache/huggingface/hub/' -p 7860:7860 ghcr.io/swivid/f5-tts:main f5-tts_infer-gradio 0.

There, I got stuck with the following entirely confusing error message:

docker:守護程式的錯誤回應:無法選擇具有功能的裝置驅動程式「[[gpu]]」。


Thank you for nothing. Anyway, I searched the web for a good amount of time, until I finally found the solution. On Linux I need to manually install the Nvidia container toolkit if you want to use PyTorch with GPUs:

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

Well, this was neither described in the repo nor in the PyTorch repo.
Nowhere. Who would ever know this? Nobody, right!? This seemed perfect for a little pull request.

## My Motivation for the PRs
I wasted time and got emotionally affected by this and I thought that others should have a better developer experience with this. Plus the effort for the PR is minimal.

This is living open source to me! I solved something and save time for all of us by making it available to the rest of the world. In turn you do the same for me and we benefit altogether.
What a nice little dreamworld I am living in.

## Waking up from the dreamworld: the most unfriendly GitHub conversation I have had in years 🤬

Well, I thought it might be beneficial to everyone to add a line to the installation instructions to save everyone's time. The reponse was totally unexpected though. Read for yourself:

{% github https://github.com/SWivid/F5-TTS/issues/1073 %}

While this obviously their choice as owner, I was rather shocked by the total lack of empathy and aggressiveness against me as if I was a burden or something.

What would a newcomer think in such a situation? Honestly,I hope no newcomer would have to face such bullsh*t but I fear this way of communication is not an exception.

Anyway, the obvious outcome of this was to step up and make the PR directly to the where the issue was caused in the first place. 

## Going big: PR in the official PyTorch repo
I am no shy person when it comes to action so I opened the same PR on the PyTorch repo, willing to face any upcoming trouble and discussion  that might come up.

{% github https://github.com/pytorch/pytorch/pull/155102 %}

Accepting the PR was already blocked by CLA assistant, making me sign some bureaucratic documents online with a digital signature, complying to some legalese terms nobody understands (not even the PyTorch devs and maintainers) besides a few lawyers. 🤢
No worries, I didn't read as I was supposed to because I just wanted to open the PR.

Then it was waiting for the CI. I changed just a README so please no fails. Fortunately everything passed.

One day later a maintainer added the `triaged` label and requested reviews from other maintainers. Awesome, it looked like this passed initial triage and would not be rejected as "not important" as in the other repo beforehand.

But then: silence. Nothing. No reaction. No comment or review. After a month stale bot notified the PR getting marked stale and maintainers can remove the stale label.
I commented "not stale" but this had no effect: Two months after I opened the PR it got closed by stale bot. **What a 💩**

## My personal thoughts
Fortunately the PR was just an additional line in a README but it was also a test - a test how contributions are honored and if people care on the small things that developers care about because they are the ones to fiddle with it.

**It seems nobody cared about the efforts of ohers.**

From this point I am really in doubt of whether I will open a PR to one of the huge repos again. It is much easier to create a gist and spread the word plus it saves me some annoying conversations.

Anyway, if you ever get into the issue on Linux, Docker and PyTorch telling you `docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].` then you now know to install the Nvidia Docker Toolkit.

原文出處:https://dev.to/jankapunkt/wasted-open-source-efforts-8ia


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝10   💬6   ❤️11
448
🥈
我愛JS
📝1   💬6   ❤️4
93
🥉
AppleLily
📝1   💬4   ❤️1
46
#4
💬2  
6
#5
💬1  
5
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次