Публикуван е новият выпуск на платформата за съвместна разработка Forgejo 9.0, която позволява разгръщането на система за съвместна работа с Git репозитории на вашите собствени сървъри и наподобява по задачите, които решава, GitHub, Bitbucket и Gitlab. Forgejo е форк на проекта Gitea, който от своя страна е отворен от платформата Gogs. Отделянето на Forgejo е станало през 2022 година след опити за комерсиализация на Gitea и прехвърляне на управлението в ръцете на комерсиална компания. Проектът Forgejo се придържа към принципите на независимо управление и контрол от страна на общността. Git хостингът Codeberg.org премина на използване на Forgejo. Кодът на проекта е написан на Go и се разпространява под лицензия MIT.
Ключовите характеристики на платформата включват ниска консумация на ресурси (може да се използва на Raspberry Pi или на евтини VPS) и лесен процес на инсталиране. Предоставят се стандартни възможности за работа по проекти, включително управление на задачи, проследяване на проблеми (issues), pull-заявки, wiki, средства за координация на екипи разработчици, подготовка на версии, автоматизация на разполагането на пакети в репозитории, управление на права за достъп, интеграция с платформи за непрекъсната интеграция, търсене на код, автентикация чрез LDAP и OAuth, достъп до репозитория по протоколите SSH и HTTP/HTTPS, свързване на web-хукове за интеграция със Slack, Discord и други услуги, поддръжка на Git-хукове и Git LFS, инструменти за миграция и зеркализация на репозитории. Отделно се акцентира на възможността за използване на протокола ActivityPub за свързване на отделни сървъри разработчици.
Основни промени:
- Извършен е преход от permisivната лицензия MIT към copyleft лицензионната GPLv3+ за новия код. Сменяте лицензията ще опрости използването на код, разпространяван под copyleft лицензи, които не са съвместими с MIT, и ще намали риска от недобросъвестни бизнес практики, като например привързване на потребителя към определен доставчик и създаване на модифицирани версии на Forgejo, които се разпространяват с допълнителни ограничения.
- Добавена е начална реализация на системата за настраиваеми квоти, които позволяват ограничаване на размера на потребителските данни на сървера. Реализацията се основава на установяването на меки квоти (soft quota), чийто предел се проверява само преди извършване на операции, но не се ограничават в случай на превишаване на квотата по време на изпълнението на операциите.
- Разрешено е използването на SSH ключове вместо пароли за автентикация на операциите по зеркализация.
- Оставен е само бекенд на база стандартния инструментариум на Git за работа с Git. Отстранен е бекендът go-git с реализация на Git на езика Go, което ще улесни поддръжката, ще позволи развитие на Forgejo без оглед на функционалността на go-git и ще изключи проблемите с повреждане на хранилищата, възникнали в go-git.
- Отстранен е доставчикът на сесии на база СУБД Couchbase, тъй като той е свързан с несвободен софтуер, възможностите за тестване на който са ограничени.
Източник: opennet.ru
