Новый стандарт ~/Projects уже на подходе — и это не просто косметика#
Небольшое изменение может иметь значение, когда становится общепринятой практикой.
В It’s FOSS Weekly #26.18 одним из главных пунктов стал новый стандартный каталог в домашней папке: директория Projects. Многие и так создают что-то подобное вручную. Смысл в том, чтобы сделать это «официальным»: тогда приложения смогут воспринимать этот путь как место по умолчанию, а не как личную привычку пользователя.
Если такая конвенция приживется, она снизит трение между инструментами: IDE, file picker, developer portal и onboarding-документация смогут опираться на разумное значение по умолчанию, не заставляя каждого пользователя придумывать собственную структуру папок.
Что известно из рассылки#
В Weekly новый каталог Projects описан как «большая новость» для Linux-дистрибутивов: стандартная запись внутри $HOME, которую приложения могут использовать по умолчанию.
В выпуске также упоминается набор других Linux и open-source тем, включая:
- Firefox «тихо» использует open-source движок Brave
adblock-rust, без упоминания в release notes. В рассылке говорится, что он отключен по умолчанию, не имеет UI и может быть включен черезabout:config. - GitHub-репозиторий MinIO снова был архивирован после того, как ранее, по формулировке рассылки, перешел в maintenance mode.
- Серия релизов Ubuntu, упомянутых в Weekly. Исходный текст перечисляет набор возможностей как highlights: GNOME 50, версия Linux kernel, Wayland-only, новые приложения по умолчанию, «deb packages back in App Center» и «post-quantum crypto out of box», но фрагмент не позволяет однозначно привязать каждую функцию к конкретной версии Ubuntu.
- Релиз Fedora 44 после двухнедельной задержки, как указано в рассылке. Weekly приписывает Fedora 44: Linux 6.19, GNOME 50, Plasma 6.6, NTSYNC для лучшей производительности Windows-игр и обновленный spin «Games Lab».
- Инцидент в стиле supply-chain: уязвимость в GitHub Actions workflow проекта Elementary Data позволила атакующему опубликовать пакет в PyPI «менее чем за десять минут». В рассылке отдельно упоминается
elementary-data 0.23.3и говорится, что затронутым пользователям «есть чем заняться». - LVFS, Linux Vendor Firmware Service, описан как проект с одним full-time developer и без security team, при этом он распространяет firmware updates в больших масштабах. По словам рассылки, vendors могут столкнуться с download quotas и feature restrictions, если не будут спонсировать проект.
- Терминал Warp стал open source: код с dual MIT и AGPL лицензированием теперь доступен на GitHub.
- Замечание о том, что Microsoft «возможно, рассматривает rebasing Azure Linux на Fedora» — это подано как возможность, а не как подтвержденный результат.
Weekly также направляет читателей к петиции за выпуск native Linux build для Rhino 3D, а еще упоминает набор советов и проектов: GNOME extensions, интеграцию KDE Connect через GNOME extension, проект KVM-over-IP устройства и эксперимент в духе «WSL для Windows 95/98/ME».
Почему каталог Projects важен на практике#
Новый стандартный каталог звучит как мелочь — пока не начинаешь прослеживать последствия:
- Более удачные значения по умолчанию для приложений
Когда у приложений есть общее «ожидаемое» место для пользовательских project folders, они могут:
- Предлагать более предсказуемый первый запуск: «Create new project in
~/Projects» без угадывания. - Снижать риск пользовательских ошибок, когда работа сохраняется во временных местах: Downloads, temp folders, случайные подкаталоги.
- Улучшать переносимость onboarding-инструкций: «clone into
~/Projects» между разными дистрибутивами.
- Более согласованные политики backup и sync
Пользователи и так относятся к «projects» иначе, чем к media folders. Конвенция упрощает определение backup rules: например, «всегда делать backup ~/Projects», особенно в смешанных парках устройств, где нужна повторяемая политика.
- Более чистое разделение между «documents» и «working trees»
Во многих конфигурациях Documents смешивается с code/work trees. Отдельная папка Projects помогает проще рассуждать о permissions, tooling и cleanup.
Главное: ценность появляется не из-за самого существования директории, а из-за ее принятия инструментами. Именно на это и указывает рассылка: приложения могут начать использовать ее по умолчанию.
Другой сигнал недели: supply-chain risk снова выигрывает за счет скорости#
Пункт Weekly про Elementary Data/PyPI — самый резкий operational reminder в этом фрагменте.
Даже без дополнительных деталей, кроме приведенных здесь, картина знакомая:
- Слабость в CI/CD pipeline, а именно GitHub Actions workflow.
- Быстрая эскалация до package distribution через PyPI.
- Конечным пользователям остается проверять установленные версии и выполнять rotation/cleanup.
История про «менее чем за десять минут» важна не как драматичная деталь, а как практическая метрика: если релизный pipeline скомпрометирован, окно реакции почти всегда меньше, чем привычный цикл ручного review.
Практический вывод#
Если вы администрируете Linux-рабочие станции или поддерживаете developer tooling, уже сейчас имеет смысл заложить ~/Projects в документацию и шаблоны onboarding, но без жесткой привязки: используйте его как рекомендуемый default, а не как обязательное требование. Это даст выигрыш в предсказуемости, не ломая существующие workflow пользователей.
Если вы поддерживаете Python-зависимости или CI/CD для пакетов, сделайте три конкретные проверки:
- Проверьте, установлен ли
elementary-dataв ваших окружениях, и особенно встречается ли версия0.23.3, отдельно упомянутая в рассылке. - Пересмотрите lockfiles, rebuild-образы и кэши окружений после удаления или замены подозрительных dependencies: одной правки
requirements.txtчасто недостаточно. - Проверьте release workflows в GitHub Actions: минимальные permissions, защищенные secrets, ручное подтверждение публикации, pinning actions по commit SHA и отдельные токены для публикации в registry.
Короткая версия: ~/Projects — хороший кандидат на новый удобный default для Linux-разработки, а инцидент с PyPI снова показывает, что release automation нужно защищать как production-систему, а не как вспомогательный скрипт.