Цього року в 2017 році ядру Linux виповнилося 26 років. За весь цей час із вивченого можна зробити деякі важливі уроки.
Процес розробки та обслуговування Ядро Linux - це випадок із малою подібністю подібного роду. Це почалося як особистий проект і стало спільний проект програмного забезпечення, який не припиняв зростати за понад 25 років життя.
Все більше і більше розробників, більше компаній і більше рядків коду приєднуються до ядра Linux. Ядро, створене сотнями відданих людей, кожен в певній області, але всі разом розвиваючи щось спільне.
Підтримка бізнесу ядра Linux була життєво важливою. Багато компаній співпрацюють заради власної вигоди, оскільки використовують або впроваджують технологічні рішення на базі Linux. Ці вдосконалення поділяють багато інших компаній та маленькі користувачі.
Нечисленні проекти з розробки програмного забезпечення мають таку історію, і багато з них досягли статусу, що вони "майже завершені" і де зміни є незначними і не частими в часі.
Ядро Linux відрізняється, через понад 25 років цей проект є більш важливим та активним, ніж будь-який минулий час в його історії.
Існує багато академічних досліджень щодо спільноти, яка її розробляє, але все ж Пройде багато років, поки ми повністю не зрозуміємо ключів до вашого успіху.
Але при всьому цьому, Є кілька уроків, які були зрозумілі за весь цей час, і які можна вивчити, щоб застосувати їх в інших проектах.
Важливі короткі цикли випуску
На початку проекту Linux існував лише один основний випуск ядра кожні кілька років. Це означало значні затримки для користувачів із подальшими вдосконаленнями, що було неприємно як для користувачів, так і для розповсюджувачів.
Але що ще важливіше, довгі цикли випуску означали великий тиск на просування коду до наступного випуску, навіть без підготовки.
Короткі цикли випуску вирішують ці проблеми. Новий код швидко стає доступним у стабільних версіях. L Інтеграція нового коду майже постійно дозволяє вносити навіть фундаментальні зміни з мінімальними порушеннями.
І розробники знають, що, якщо вони пропустили цикл випуску, буде ще один лише через два місяці, тому є мало причин намагатися включити код передчасно.
Масштабований процес вимагає ієрархічної та розподіленої моделі розвитку
Був час, коли всі зміни надходили безпосередньо до Лінуса Торвальда, але навіть розробник з його талантом не може впоратися з проектом, який рухається так швидко як працює ядро Linux.
Доручення відповідальності за перегляд та інтеграцію коду 100 або більше супровідникам надає проекту можливість справлятися з десятками тисяч змін, не жертвуючи переглядом коду або якістю.
Інструменти мають значення
Розвиток ядра Linux намагався рости до появи BitKeeper, система менеджера з відкритим кодом протягом ночі змінила процедури, які раніше використовувались у спільноті.
Перехід на Git приніс ще один великий стрибок вперед. Без відповідних інструментів такий проект, як ядро Linux, було б просто неможливо функціонувати, не потрапивши під власну вагу.
Важливою є модель, яка орієнтована на консенсус
Як правило, пропонована зміна не буде включена, якщо поважний розробник заперечує проти неї. Це може дуже засмутити розробників, які вважають, що код, на який вони витратили місяці, заблокований зі списків розсилки.
Але це також гарантує, що ядро залишається придатним для широкого кола користувачів та проблем. У спільноті немає приватних користувачів, які можуть вносити зміни за рахунок інших груп.
В результаті цього ми маємо ядро, яке підходить як для невеликих систем, так і для великих суперкомп’ютерів, і яке підходить для широкого спектра використання та додатків.
Пов’язаний фактор - це основне правило ядра «не регресувати».
Якщо ядро працює з певними налаштуваннями, усі наступні ядра також повинні функціонувати однаково. Реалізація цього правила не завжди є досконалою, але це дає користувачам впевненість, що оновлення не зіпсують їх системи.
Як наслідок цього, вони готові продовжувати розробку ядра, одночасно розробляючи нові можливості.
Участь компаній у процесах має вирішальне значення
Не було б стрімкого прогресу проекту, як згадано тут, без участі компаній. Але важливо також, що не існує жодної компанії, яка б домінувала у розробці ядра.
Хоча будь-яка компанія може вдосконалити ядро відповідно до ваших конкретних потреб, жодна компанія не може спрямовувати розвиток у напрямках, які шкодять іншим або обмежувати те, що може зробити ядро.
В рамках проекту не повинно бути внутрішніх обмежень.
Розробники ядра Linux обов’язково орієнтовані на певні частини ядра, але будь-який розробник може вносити зміни в будь-яку частину ядра, якщо зміна виправдана.
В результаті проблеми вирішуються там, де вони виникають, а не підробляються, розробники мають більш широке уявлення про ядро в цілому, і навіть самий непокірний технічний працівник не може на невизначений час зупинити необхідний прогрес у даній підсистемі.
Більше 26 років історії Росії Ядро Linux показати що стійкі та спільні зусилля можуть генерувати загальні ресурси, які жодна група не змогла б розробити самостійно.
Переклад, який я зробив, публікується за тією ж ліцензією. Я думав, що може бути цікаво поширити це для латиноамериканської громади. Я радий, якщо вам це цікаво.
- Три детокс планують провести цього року
- Маріона Рібас; Ці два роки пролетіли
- Марк Уолберг фото, яке підтверджує, що він все ще такий самий (сильний) 27 років потому
- Марісоль прожила гірко 14 років, бо їй не подобалося бути кінозіркою Сіркуло де Опініон
- Харчові добавки для схуднення або набору м’язів можуть привести вас до лікарні