Можливо, це моя особиста химерність, але мені подобається постійно оновлювати код у живих проектах - включаючи бібліотеки / рамки, які вони використовують. Частина його полягає в тому, що я вважаю, що веб-додаток є більш безпечним, якщо він повністю виправлений та оновлений. Частина цього - лише штрих нав'язливої компульсивності з мого боку.
Протягом останніх семи місяців ми зробили істотне перезапис нашого програмного забезпечення. Ми скинули рамку Xaraya, яка була повільною і по суті мертвою як продукт, і перейшли до PHE Cake. (Ми вибрали торт, тому що він дав нам можливість зробити дуже швидке перезапис нашого програмного забезпечення та достатньо підвищення продуктивності над Xaraya, щоб зробити його вартим нашого часу.)
Ми здійснили тестування одиниць за допомогою SimpleTest і дотримувались усіх умов іменування файлів і баз даних тощо.
Зараз торт оновлюється до 2.0. І, схоже, не існує життєздатного шляху міграції для оновлення. Умови іменування файлів докорінно змінилися, і вони відмовилися від SimpleTest на користь PHPUnit.
Це в значній мірі змусить нас залишитися на відділенні 1.3, тому що, якщо не існує якогось інструменту перетворення, оновити Cake не вдасться, а потім поступово вдосконалити наш застарілий код, щоб скористатися перевагами нового фреймворку Cake . Отже, як завжди, ми збираємося створити старий фреймворк у нашому сховищі Subversion і просто поправити його самостійно за потребою.
І це те, що отримує мене кожен раз. Тому багато продуктів з відкритим кодом не дають змоги постійно оновлювати проекти, засновані на них. Коли розробники почнуть грати з новою блискучою іграшкою, кілька критичних патчів будуть зроблені для старих гілок, але більша частина їхньої уваги буде приділятися новій кодовій базі.
Як ви ставитесь до кардинальних змін у проектах з відкритим кодом, якими ви користуєтесь? І якщо ви розробляєте продукт з відкритим кодом, чи пам’ятаєте ви про шляхи оновлення, коли розробляєте нові версії?