Rolling release
Rolling release, rolling update або continuous delivery — постійне оновлення — в розробці програмного забезпечення (ПЗ) концепція частої доставки оновлення програмного забезпечення користувачам [1]. Модель стандартних або планових випусків (релізів) передбачає значні зміни програмного забезпечення, котрі здійснюються з певною періодичністю [2]. Модель оновлення rolling release передбачає доставку оновлення програмного забезпечення користувачам одразу після виходу від розробників[2].
Постійне оновлення
Планові випуски ПЗ з'являються після кількох тижнів або місяців розробки і мають номер версії. Значні зміни ПЗ відображаються в старшому номері версії, дрібніші в молодшому номері. Між плановими випусками можуть виходити дрібні оновлення (патчі), метою яких є виправлення помилок та усунення вразливостей. В кожному новому релізі зазнає змін значна частина програмних пакетів (модулів). Для прикладу, релізи операційної системи Ubuntu виходять двічі на рік, кожен реліз має номер версії (Ubuntu 20.04) і назву (Focal Fossa)[3].
Rolling release здійснюється шляхом невеликих і частих оновлень операційної системи чи програмного забезпечення. Частота оновлення може складати від кількох разів на тиждень до кількох разів на день. Операційні системи з rolling release зазвичай не мають номера версії[1]. Оновлення окремих програмних пакетів випускаються незалежно від інших, в міру готовності [4]. Висока частота оновлень ще не означає, що програмне забезпечення використовує цикл постійного оновлення, rolling release має справу з однією гілкою коду, на відміну від стандартних релізів з різними гілками коду.
Розробка програмного забезпечення з постійним оновленням це одна з кількох моделей життєвого циклу випусків. Хоча модель постійних випусків може бути застосована при розробці будь-якої частини або колекції ПЗ, найчастіше вона зустрічається в дистрибутивах Лінукс. Метод оновлення rolling release був використаний в Gentoo Linux на початку 2000-х рокіів, пізніше з'явився в інших дистрибутивах[4], зокрема в Arch Linux, Clear Linux OS, EndeavourOS, Gentoo Linux, Kali Linux, openSUSE TumbleWeed, Manjaro Linux, Sabayon Linux, Solus, Void Linux та ін.
Згідно з rolling release програмне забезпечення не лише часто випускається, а й також регулярно доставляється користувачам шляхом безперервної доставки (Continuous delivery). У випадку rolling release оновлення ПЗ зазвичай доставляється користувачам за допомогою пакетного менеджера операційної системи. Пакетний менеджер завантажує оновлення через Інтернет з віддаленого сховища (т. зв. репозиторію), що зберігається на мережевому файловому сервері.
Переваги та недоліки
Модель Rolling release має як переваги так і недоліки.
Переваги
- Нові функції ПЗ швидко доставляються користувачам
- Дрібні оновлення швидко завантажуються
- Помилки швидше виявляються спільнотою і швидше виправляються
Недоліки
- Розробники, зайняті частими випусками, можуть не помічати серйозних проблем
- Мало часу на тестування оновлень, більше помилок, нижча стабільність
- Часті зміни програм відкривають шлях для вразливостей
Як наслідок, rolling release більше підходить для розробників та досвідчених користувачів, в той час як адміністратори виробничих систем, для яких важлива стабільність і безпека, обирають модель стандартних релізів[4][5].
Посилання
- What Is a Rolling Release? / Alex Newth // EasyTechJunkie. — 2015. — 9 May.
- Rolling Release Vs. Fixed Release Distros — Which Linux Distributions Are Better? / Aditya Tiwari // Fossbytes. — 2016. — 19 September.
- Ubuntu 20.04 LTS release notes / Canonical // ubuntu.com.
- What Linux Distributions Can Teach about Rolling Releases / Bruce Byfield // The New Stack. — 2017. — 4 July.
- Rolling release vs. fixed release Linux / Steven J. Vaughan-Nichols // ZDNet. — 2015. — 3 February.