24 июля 2016
Беседка №97. Открытый код спасёт Android
Илья Субботин
Мнение, диаметрально противоположное высказанному в прошлой Беседке. Так ли всё печально в ситуации с открытым кодом?
Адриан Кингсли-Хьюз в рамках своего материала на ресурсе ZDNet поделился интересными взглядами по поводу Android, назвав фрагментацию главной проблемой ОС. Однако, сам факт, является ли она на самом деле проблемой, зависит от того, кому адресован этот тезис. Среднестатистические пользователи не испытывают неудобств из-за фрагментации, т.к. Google решила проблему, разделив операционную систему и приложения / сервисы.
Пользователи даже устаревших версий Android могут спокойно получать обновления сервисов Google и приложений. На моём Nexus 7 2012 года и устройствах Samsung Galaxy установлены новейшие версии приложений и игр, включая Netflix, Plex, YouTube и HBO Now. Версия приложений на упомянутых устройствах совпадает с таковой на моих новинках — Pixel C и Nexus 6P. Подобная ситуация бросает тень на iOS, где новейшие версии приложений недоступны для сравнительно более старых смартфонов и планшетов, делая эти устройства менее безопасными и менее практичными.
Кингсли-Хьюз задаётся вопросом, что можно сделать для устранения проблемы, и выдвигает предположение о том, что возможным решением станет превращение Android в систему с закрытым исходным кодом. Я считаю такой подход неправильным, о причинах далее.
Открытый код — это модель разработки
Люди склонны неправильно интерпретировать понятие «открытый код». Оно обозначает модель разработки ПО, а не способ его развертывания на устройства и не бизнес-модель. Разработка Android и «выкатывание» обновлений на устройствах — совершенно разные вещи.
Открытый код обеспечивает нулевую фрагментацию
Chrome OS является операционной системой с открытым кодом, как и Android. Но с самого начала Google использовала другой механизм для «доставки» обновлений на устройства с Chrome OS. Был использован подход с промежуточным образом: на устройство устанавливались два образа операционной системы, один из которых обеспечивал работу систему, второй же просто находился «на фоне». При наличии обновления оно замещало неактивный и устаревший образ ОС. После перезагрузки устройство переключалось на новую версию. Таким образом, устройство всегда имело актуальную версию ПО без каких-либо усилий со стороны пользователя.
Ту же модель использует Core OS, дистрибутив на базе Linux для серверов. Браузер Chrome имеет в своей основе открытый код, который также обновляется. Подобным образом обновляются Mozilla Firefox и Thunderbird. Используя ПО с открытым кодом, вы можете осуществлять планомерное обновление устройств.
«Закрытое» ПО не поможет
Неоправданным и необоснованным выглядит и убеждение о магической способности ПО с закрытыми исходниками справляться с фрагментацией. Примером максимально проприетарного ПО является Windows, фрагментация в случае этой ОС носит ужасающий характер: Windows XP — 10%, Windows 7 — 49%, Windows 8 — 2.45%, Windows 8.1 — 8%, Windows 10 — 19%. Хуже всего то, что 95% процентов банкоматов по всему миру до сих пор работают на Windows XP, что говорит отнюдь не об их безопасности. Что касается фрагментации Internet Explorer, то и тут всё далеко не радужно, несмотря на проприетарный характер продукта. Даже Apple, имея полный контроль над аппаратным и программным обеспечением своих продуктов, испытывает трудности при обновлении iOS и macOS.
Хаос в Linux..?
В своём сравнении Android с Linux автор выдвинул следующее мнение:
..На примере Android можно на практике увидеть, в какой хаос превратилась бы Linux, если бы она пользовалась повсеместной популярностью у производителей аппаратного обеспечения. Кто-то где-то должен взять управление ситуацией на себя и поставить интересы платформы выше доли рынка и прибыли…
Автор удивится, но Linux на самом деле пользуется популярностью у OEM-производителей «железа». Linux имеет значительный вес во всём, кроме версий для ПК. Всё же, расстановка сил понемногу меняется, по мере того, как Chrome OS активно отъедает долю у Microsoft. Популярность Linux дошла до того, что Microsoft разработала операционную систему, основанную на Linux и предназначенную для работы с Azure. Не будем забывать, что доля компьютеров на базе Linux для Azure выросла с 25 до 33 процентов. Так что Linux успешно развивается даже на «территории» Microsoft. На базе Linux работает почти всё: суперкомпьютеры, роутеры, принтеры, Comcast X1, Tesla и т.д.
Несмотря на распространенность Linux в различных отраслях и всю противоречивость этого факта мнению Кингсли-Хьюза, Linux на самом деле не мешало бы привести в порядок. Благодаря открытой модели разработки, самые активные представители сообщества по разработке ядра Linux продолжают выпускать заплатки для уязвимостей ОС, выпуская обновление раз в два месяца. До сих пор можно найти системы на базе устаревших и неподдерживаемых версий Linux. В интервью с Грегом Кроа-Хартманом, ведущим разработчиком ядра Linux, им было высказано мнение о том, что компаниям необходимо создать механизм для поддержки обновления систем до актуальной версии. Он также высоко оценил способ обновления Chrome OS и Core OS.
Повторюсь, открытый код никак не связан с обновлениями ПО. Совершенно разные области.
Что является причиной фрагментации?
Корень проблемы — в желании OEM-производителей дифференцировать себя от конкурентов путём использования собственных тем оформления и ПО. Операторы связи используют множество предзустановленных программ как дополнительный источник дохода. Процесс обновления таких устройств тормозится: производителям и операторам необходимо протестировать свой «фуфлософт» на предмет его стабильной работы с новой версией Android. А раз обновлению до новой версии ОС не способствует финансовый стимул, то они его откладывают. Они зарабатывают на продажи устройств, а не на их обновлении. Был бы финансовый стимул — были бы и своевременные обновления. Так что если Google хочет покончить с проблемой фрагментации Android, то ему необходимо найти способ исключить этих игроков из процесса обновлений, что Google и собирается сделать.
Совсем не обязательно «закрывать» Android
Хоть в Google и решили проблему обновления приложений на устройствах с устаревшими версиями ПО в обход производителей и операторов, сейчас в компании работают над способом обновления Android, подобным таковому в Chrome OS. В рамках релиза новой версии Android Nougat обновление по мере доступности будет загружаться на устройство подобно образу в Chrome OS и после перезапуска системы уже будет работать без сучка и задоринки.
Вывод
В конечном итоге, открытый характер системы на самом деле лучше «приспособлен» для решения проблемы фрагментации, чем любое проприетарное ПО в мире. Перед тем, как размышлять о превращении Android в подобный софт, стоит взглянуть на ужас, творящийся с фрагментацией Windows и IE. Открытый код не убивает Android: ОС процветает и продолжает теснить iOS и Windows.
Оригинальный материал, автор — Свапнил Бхартиа
Вполне адекватный и обоснованный контраргумент. Как мы можем видеть, понемногу проблема с фрагментацией по версиям Android постепенно сглаживается, да и такого беспокойства, как раньше, проблема не вызывает. Новый механизм обновлений? Ну почему бы и нет, если он на самом деле избавит Android от фрагментации и устранит, то поклонники Android будут только за. Понравился пассаж про предустановленное ПО, у некоторых производителей ситуация с подобными приложениями переходит все рамки разумного, причем грешат этим вполне крупные игроки. Итак, два мнения об открытом коде: какое ближе вам? Считаете ли вы фрагментацию всё еще актуальной проблемой?
проблема фрагментации устройств мало волнует конечного пользователя среднего по больнице, другое дело- влияние фрагментации на него самого незримо (вирусы, кейлогеры и иже с ними). т.е. получается такая история: фрагментация — это не проблема пользователя, зачастую он даже не в курсе, фрагментация — не проблема производителя устройства, т.к. поддержка устройства зачастую не включает обновления ОС, фрагментация — не проблема разработчика ОС, его дело предоставить ОС производителю. Фрагментация — проблема разработчика ПО, но тот в свою очередь не может повлиять на ситуацию никак.
Передергивание в самом начале, iPhone 4s, выпущенный в 2011 (!) году, до сих пор получает обновления и вполне актуален в плане программ, так что не надо… 😉 iPad 2 того же года не отстает. Да, iOS 10 они уже не получат, но 9 будет еще достаточно долгое время поддерживаться.
Да вобще фигня, все и так работает, проги обновляются, так что еще надо то
Личный опыт:
«Закрытое» ПО не поможет — мой ноутбук 2007 года(!!!) работал на Windows Vista,7,8,8,1 и теперь на Windows 10.
Открытый код обеспечивает нулевую фрагментацию — мой LG G Pro 2(Snap 800,3g ram!!!!!) обновился с Android 4.4 до 5.01 и …всё.
С таким «железом» у телефона всего , одно обновление ! А я ,наивный, думал что будет как с виндой…
Просто повезло что дрова есть под бук, че. На самом деле, часто под железки более 3-4-летней давности дров не найти, особенно если за это время сменился формат драйверов.
Но, собственно, на Pro 2 можно установить 6-й андроид (у меня, собственно, был такой тайваньский, на него оф. даже 5.0 не было). Другое дело, что для этого придется его вручную перешивать, ну так и винду тоже сами переустанавливают и сами дрова ищут.
На ноуте не обязательно наличие именно оптимизированных дров. Я на своем ноуте использовал беты и 8, и 10, когда дровами даже и не пахло, но все работало на отлично.
Просто мир персональных компьютеров уже переболел зоопарком «самобытных» компонентов, и пришёл к такой степени унификации, что Windows способна самостоятельно подобрать драйвера к большинству компьютеров. Мобильникам до этого ещё расти и расти.
Да щас, сколько раз приходилось самому выискивать дрова потому что тупая винда не видела их даже у себя под носом. Недавно винда мне предложила обновить дровишки на клаву. Обновил и утилита клавы перестала ее видеть — пришлось назад откатывать. Много раз на всякую периферию ставились левые либо кривые дрова.
Отчасти Вы правы.
Я смог избежать «проблем» с ноутбуком потому что:
1.Покупалась марка крупного производителя — Acer.
2.Некоторые поставщики комплектующих выпускают драйвера на протяжение долгого времени, в том числе ,когда выходит новая версия операционной системы -Realteck и Nvidia от Vista do 10.
3.Microsoft внедрил обратную совместимость драйверов а отдельные вошли в состав операционки.
За своим LG G Pro 2 слежу постоянно на форме 4PDA , но там нету даже намеков на 6-й андроид.
Цимес в том, что дравйра у мобилок закрыты в усрань. Плюс, довольно бестолковая архитектура самой ОС.
С ноутбуками тоже как повезёт — может быть как у вас, а может и так, что из-за черезжопной реализации какой-либо части железа с не менее черзжопной реализацией драйверов мажорное обновление ОС превращает устройство в тыкву. Веселья добавляет яндекс.баровая модель обновлений до windows 10.
Личный опыт:
«Закрытое» ПО не поможет — мой ноутбук 2007 года(!!!) работал на Windows Vista,7,8,8,1 и теперь на Windows 10.
Открытый код обеспечивает нулевую фрагментацию — мой LG G Pro 2(Snap 800,3g ram!!!!!) обновился с Android 4.4 до 5.01 и …всё.
Мой личный опыт — выпил я как-то раз чай с двумя ложками сахара а потом весь день такая гроза была! С тех принципиально его не пью — мне под дождем мокнуть не понравилось.
Суть моего комментария заключается в том что я не желаю покупать смартфон каждый год ради новой прошивки.
П.С. :
Мои комментарии относятся к этой теме , твои нет.
Пнх малолетний троль!
открытый код дает как плюсы так и минусы
1) код смогут использовать кто захочет, как защитить инт собственность ? правильно не вносить в отркрытый код или условно дарить ее
2) в коде смогут найти ошибки и либо исправят-укажут на них либо во вред используют
3) способ распространения на устройства совсем не связан технически с открытостью кода
4) совместимость с новыми версиями софта всетаки требует хотябы формальной проверки и без финансирования проверки не будет и скорее всего производитель предпочтет не выпускать такие обновления вообще
возвращаемя к исходным данным ,ситуация с обновлениями андроида разумный компромис в современной системе.
а chrome os плохой пример, всетаки на x86 вопрос совместимости десятилетиями майкрософт культивировал.
1) Не путай открытый исходный код и свободные лицензии.
2) С проприетарщиной то же самое, кроме исправления. Вспони хоть закрытый в усрань IE — поразительное решето.
3) Дык в статье об этом и говорилось.
Ну вот наконец-то показывается правильная мысль: проблема фрагментации системы в том, что те, кто сейчас обновляет систему на смартфонах (производители), финансово в этом никак не заинтересованы, даже наоборот тратят деньги на уже проданное устройство, которое из-за обновления отъест будущие прибыли с новых изделий.
Да, очень разумная статья. Разве что забыли упомняуть, в какую тормозную помойку превращается устройство на iOS уже после обновления на версию-две выше. И ничего не сделаешь-хочешь ставить софт из аппстора-обновляй iOS. А потом рыдай над ставшим тормозным, как Андроид 2.3 на китайском аппарате на MTK6516 iPhone5s на iOS9 🙁
Мне почему то незнакомы страдания владельцев старых девайсов от Эппл. Мой айпад 3 нормально работает и под ios 9, хотя ему уже 4 года. Да айр2 пошустрее но разница не катастрофична. Кстати за это время сменил несколько смартов на Андроиде, а вот менять айпад не вижу смысла — долгоиграющая оказалась железка.
Все хорошо, но в какой именно вселенной ChromeOS активно отъедает долю и Windows?
«..Хуже всего то, что 95% процентов банкоматов по всему миру до сих пор работают на Windows XP, что говорит отнюдь не об их безопасности..»
смешение понятий «свежая» версия и «безопасность».
Последняя версия вовсе не означает более безопасную систему, а вот её установка несет в себе большой риск т.к. количество возможных ошибок резко возрастает. Достаточно подумать на какие вопросы придется ответить: совместимо ли железо, драйвера? весь ли софт совместим, во всех ли режимах работы? совместимы ли сервисы интеграции на взаимосвязанных системах? и т.д. т.п. и это не беря во внимание привнесенные с новой версией баги (кто считает, что новый софт «сто пудов» не содержит ошибок?).
Есть системы, где стоимость рисков при модификации ПО значительно превосходят риски от эксплуатации «устаревших» версий.
Есть куча железяк работающих под виндой которые не имеют выхода в сеть и там вообще пофиг какая версия стоит и антивирус не нужен.
Главное чтоб все работало как надо, а рюшечки и бантики идут лесом.
Какая ещё проблема фрагментации?
Для меня она если и есть, то только в том, что я сижу на андроиде 4.3 и не хочу переходить на 5 или 6 — не нравится новый стиль. Но новую мобилу со старым андроидом я купить не могу. Вот это проблема. А даже на новый комп я могу поставить ХР.
На новый комп ХР поставить не просто, а главное что драйверов под современное железо нет и не будет.
Если мы говорим о ноутах, то ты прав, но с десктопами ситуация получше.
Автор не видит разницы между обновлением Андроид и браузера Chrome, Chrome — это приложение, которое взаимодействует только с (конкретной) ОС. Универсальное обновление для всех телефонов Андроид сделать невозможно хотя бы потому, что прошивка помимо ОС содержит драйвера GSM-модуля, камеры, радио и пр. под конкретное железо. И больше всего времени у производителей уходит на адаптацию/переписывание этих драйверов под новые ОС.
Речь не о браузере