Вчера ночью во время своей ежегодной выставки WWDC 2019 корпорация Apple, помимо новой iPadOS и очередных обновлений iOS и watchOS так же представила новую, многими ожидаемую версию программного обеспечения для своих настольных компьютеров и ноутбуков. Новая macOS получила название Catalina, и уже стало известно о том, что она будет свободно поддерживать приложения, написанные для iPad. Конечно, новая macOS на релизе будет иметь огромное множество самых разнообразных новых функций, однако во время своей презентации не малое внимание компания уделила большим изменениям, которые затрагивают именно разработчиков и самых опытных пользователей операционной системы. После выступления компании стало понятно, что начиная уже с грядущей macOS Catalina устройства Mac отныне будут использовать стандарт zsh в качестве новой, более эффективной оболочки для входа по умолчанию и более удобной интерактивной оболочки операционной системы. Абсолютно все учётные записи, которые либо уже существуют, либо будут в дальнейшем созданы находясь на macOS Catalina будут в свою очередь использовать командную оболочку zsh по умолчанию. Имеющаяся на данный момент оболочка Bash ещё некоторое время будет доступна, однако Apple уже сейчас активно сигнализирует и даёт понять всем разработчикам, что они должны в кратчайшие сроки начать осуществлять переход на zsh уже на текущей macOS Mojave, или даже гораздо более ранних версиях операционной системы.
К сожалению Apple никак не объяснила, почему компания решила пойти на это изменение, и почему именно сейчас. Однако уже сейчас существует одна версия, которая вероятнее всего и является официальной причиной перехода Apple на zsh. Вероятнее всего дело просто-напросто в том, что bash уже является не совсем современной, местами устаревшей оболочкой. Тем не менее поскольку она уже сейчас «крайне плотно» вплетена в macOS, переход на что-то более новое, чем в свою очередь и является zsh, является крайне трудным и долгим процессом, и именно поэтому очень хорошо, что компания заранее сообщила о данных изменениях. На текущий момент Apple «застряла», ведь корпорация уже на протяжении многих лет использует командную оболочку bash версии 3.2, которая в свою очередь лицензирована по GPLv2, в то время как гораздо более новые и современные версии оболочки лицензируются по стандарту GPLv3. Однако отказ от использования компанией Apple пакетов GPLv3 крайне легко объяснить тем, подобная лицензия, как правило, несёт в себе целый ряд ограничений, которые крайне губительны для таких крупных компаний, которые желают самостоятельно контролировать разработку всего софта, как Apple. Если бы компания перешла на GPLv3, те ей пришлось бы изменять свой собственный, уже имеющийся код, а так же она бы столкнулась с необходимостью приобретения патента. Как бы то ни было, переход на zsh – очень хорошее и правильное решение, которому очень рады многочисленные разработчики.