- Открытый или закрытый исходный код скрипта, в чем разница?
- Насколько сложный программный код у Windows?
- Кен Грегг (Ken Gregg), разработчик в составе группы Windows NT
- Насколько сложна Windows в программном коде?
- Кен Грегг (Ken Gregg)
- Как менялся программный код Windows?
- Как база кода Windows NT развивалась с 1993 года
- Кен Грегг (Ken Gregg)
- Несколько слов про ядро Windows NT
- Программисты призывают Microsoft открыть исходный код Windows 7
- В сеть утекла Windows XP, какими это обернется последствиями
- Слитый код
- Если некая группа хакеров изучит уязвимости XP
- Найденная в коде XP уязвимость вполне может эксплуатироваться на десятке
- Хорошие новости
Открытый или закрытый исходный код скрипта, в чем разница?
Доброго времени, мои уважаемые читатели! Сегодня я немного расскажу о разнице открытого и закрытого кода программного обеспечения(ПО) и как это может отражаться на работе предпринимателей, которые покупают ПО для организации своих бизнес процессов. Несмотря на то, что предприниматель редко задается таким вопросом, этот момент не стоит упускать из виду, т.к. он может оказаться ключевым при возникновении потребности внести изменения в работу программного обеспечения.
В качестве вступления приведу небольшой пример истории из жизни. Предприниматель Екатерина Сергеевна, приобрела программное обеспечения для создания на его безе интернет магазина, на момент покупки Екатерину Сергеевну устраивало практически все, что касалось функционала приобретаемого ПО. В течении нескольких дней был запущен сайт, затем на протяжении месяца сайт наполнялся полезными статьями, писался раздел справки и помощи, активно добавлялись товары. Параллельно с этим была развернута рекламная компания, по привлечению клиентов в интернет магазин. Спустя 6 месяцев, сайт начал приносить доход, и перед предпринимателем встал вопрос о его улучшении, внесении ряда правок, чтобы сделать работу сайта лучше и эффективнее. Екатерина Сергеевна, обратилась к разработчику ПО, собственно у кого оно и было куплено. Но, как оказалось разработчик в данный момент занят, и не может заняться её проектом. Тогда, Екатерина обратилась к стороннему программисту, найти которого не составило большого труда. Подготовила подробный список того, что хочет изменить в своем сайте, и договорилась с ним, о начале работ. Но каково было удивление Екатерины, услышать от программиста ответ: «Я не могу реализовать ваши пожелания, т.к. исходный код ПО закрыт, я не имею к нему доступа». Работа встала.
Я очень часто наблюдаю такие ситуации, когда программа требует внесения доработок, а сделать этого нельзя, из-за того, что исходный код закрыт. Само понятие «закрытый исходный код» носит двусмысленный характер, оно может означать что:
1) код закрыт(скомпилирован, зашифрован, обфусцирован) и его нельзя посмотреть, а следовательно нельзя внести правки, изменения, дополнения;
2) код закрыт согласно лицензионному соглашению, такой код нельзя модифицировать(запрещено правообладателем) даже в том случае, если технически это возможно.
На фоне вышесказанного, возникает вопрос: кто может вносить изменения в работу такого программного обеспечения? Ответ — только разработчик, и то если пожелает, или вы сможете с ним договориться.
В свою очередь, открытый исходный код, лишен всех этих недостатков. Он может быть просмотрен, изменен, доработан и так далее, как правило лицензия по которой распространяется такое программное обеспечении разрешает пользователю модифицировать его любым образом, и если носит какие-то ограничения, то они как правило связаны с распространением его(программного обеспечения) копий.
Возвращаясь к истории предпринимателя Екатерины Сергеевны, в её случае решить возникшую задачу так и не получилось. Спустя год работы её сайта, накопилось очень большое количество изменений, которые требовалось внести в скрипты. Во первых её бизнес вырос, количество клиентов перевалило за несколько тысяч, и встал вопрос о добавлении на сайт различных сервисов: «расчет стоимости доставки», «личный кабинет», «отложенные товары» и т.д. Разработчик так и не смог выделить время на то, что-бы поработать с Екатериной (впрочем его винить за это не стоит, он изначально не оказывал услуг по доработкам, плюс ко всему таких запросов ему поступает ежедневно по несколько штук и он физически не способен их все удовлетворить), а сторонние программисты просто бессильны в данной ситуации. В итоге Екатерина приняла решение, полностью переделать весь сайт и в качестве платформы использовать уже ПО с открытым исходным кодом, это был её основной критерий к покупаемому продукту. Какие издержки она при этом понесла: покупка нового ПО, расходы по переносу базы клиентов, товаров, прочих материалов, работа по сохранению адресов страниц(что-бы не выпасть из индекса ПС) для сохранения позиций в поисковых системах, плюс её сайт простаивал некое время, и она также упустила часть выгод от возможных продаж. Все это обошлось её в крупную денежную сумму, потраченное время и нервы.
Данная история, это случай из жизни, из моей практики. Екатерина обратилась ко мне и мы славно поработали, впрочем еще многое предстоит сделать, ведь в голову постоянно приходят новые идеи, которые способствуют росту её бизнеса.
Что лучше открытое или закрытое ПО?
Однозначного ответа на этот вопрос нет, в ряде случаев закрытое ПО не чем не хуже открытого. Оно выполняет поставленные задачи, обеспечивая пользователя хорошим функционалом, таких примеров много iOS, Windows, MS Office и т.д. Но если речь идет о бизнесе, который зависит от ПО, и который со временем будет расти требуя внедрения новых идей, выбор однозначно падает на программное обеспечение с открытым исходным кодом!
Насколько сложный программный код у Windows?
Чтобы разобраться вопросе, насколько может быть сложным программный код «Виндовс» мы обратились к одному из разработчиков команды Windows NT в компании Microsoft — Кену Греггу (Ken Gregg).
Кен Грегг (Ken Gregg), разработчик в составе группы Windows NT
«Могу сказать вам, что у меня был доступ к исходному коду, когда я был в команде Windows NT (NT является основой для всех настольных версий Windows начиная с XP), во время проектов разработки NT 3.1 и NT 3.5. Всё было в рамках стандартов кодирования NT Workbook — эдакой «библии» для всей проектной команды.
. Хотя я и не читал каждую строку кода, но то, с чем мне пришлось работать, было очень:
Нужно исходить из того, что именно понимается под сложностью кода. Это понимание сугубо субъективное, ведь так? Благо существует множество различных метрик, используемых и комбинируемых для измерения сложности программного обеспечения в тех или иных ситуациях (та же самая модульность, многоуровневость и обслуживаемость).
Насколько сложна Windows в программном коде?
Конечно, чтобы прочитать и понять код, вам нужно было бы иметь представление об общей архитектуре Windows NT.
Вероятно, лучшим источником информации о внутренностях Windows сегодня являются книги Windows Internals 6th Edition (в двух томах).
Некоторые люди просто приравнивают сложность кода к размеру. У этого сравнения тоже есть метрика — строки кода (LOC).
Измерение LOC зависит от используемых инструментов и критериев. Их выбирают для точного определения строк кода на каждом языке программирования.
Кен Грегг (Ken Gregg)
«Существует много споров о методах, используемых для подсчета строк кода (LOC). Если использовать одни и те же критерии от одного выпуска к следующему, то получится относительное изменение размера базы кода.
Сравнивать эти числа с цифрами другой ОС, которая использовала другой метод подсчета строк кода, всё равно что сравнивать яблоки с апельсинами. То есть это некорректный подход».
Как менялся программный код Windows?
Здесь приводятся некоторые лакомые кусочки, дающие представление о размерах современной кодовой базы Windows. Строки кода здесь являются приблизительными и неофициальными, но основаны на достаточно надёжных источниках, о которых говорит Кен Грегг .
Как база кода Windows NT развивалась с 1993 года
MLOC — это количество миллионов строк исходного кода. По ним можно определить относительную сложность операционной системы, если опираться на размеры кода (LOC-методика).
- Windows NT 3.1 (1993) — 5,6 MLOC
- Windows NT 3.5 (1994) — 8,4 MLOC
- Windows NT 3.51 (1995) — 10,2 MLOC
- Windows NT 4.0 (1996) — 16 MLOC
- Windows 2000 (2000) — 29 MLOC
- Windows XP (2001) — 35 MLOC
- Windows Vista (2007) — 45 MLOC
- Windows 7 (2009) — 42 MLOC
- Windows 8 (2012) — 50 MLOC
- Windows 10 (2015) — 55 MLOC
Исходный код Windows состоит в основном из C и C++, а также небольшого количества кода на ассемблере.
Некоторые из утилит пользовательского режима и другие подобные службы пишутся на Си Шарп, но это относительно небольшой процент от общей базы кода.
Кен Грегг (Ken Gregg)
«Я намеренно не включил в список 16-битные версии ОС, выпущенные с 1985 по 2000 годы. Windows NT была основой для всех современных 32-бит и 64-бит версий Windows. Количество строк кода в серверных версиях было таким же, как и в несерверных версиях, выпущенных в том же году (то есть они имели одинаковую базу исходного кода)».
Несколько слов про ядро Windows NT
По словам Кена, работа над ядром NT началась в 1988 году. Ядро было создано с нуля в качестве 32-разрядной упреждающей многозадачной ОС.
Ядро NT впервые загрузилось в июле 1989 года на процессоре Intel i860 RISC. С самого начала был сильный толчок к тому, чтобы новая ОС была совместимой с различными архитектурами центральных процессоров и не была привязана только к архитектуре Intel x86 (IA-32).
NT в конечном итоге работал на MIPS, DEC Alpha, PowerPC, Itanium и, конечно, Intel x86 и x64.
Некоторая сложность была добавлена в базу кода на уровне абстрагирования оборудования (HAL). Это было нужно для поддержки неинтеловских архитектур.
А как вы оцениваете перспективы Windows в плане кода? Узнайте, какие версии Windows актуальны сейчас и какие ОС можно рассмотреть в качестве альтернативы.
Есть проблемы при использовании Windows и непонятен программный код для внедрения новых бизнес-инструментов в ОС от Microsoft? Проконсультируйтесь с экспертами по ИТ-аутсорсингу и получите поддержку по любым техническим вопросам и задачам.
Программисты призывают Microsoft открыть исходный код Windows 7
14 января Microsoft прекратила поддержку Windows 7, и миллионы пользователей по всему миру остались недовольны таким решением софтверного гиганта. Операционная система могла бы ещё прекрасно существовать, если бы Microsoft открыла её исходный код. Именно к этому призывает Фонд свободного программного обеспечения (Free Software Foundation), который опубликовал соответствующую петицию.
Программисты обратились к Microsoft с предложением передать сообществу Windows 7 для дальнейшей её поддержки и развития. В конце концов, компания сама поддерживает идею программного обеспечения с открытым исходным кодом. В петиции сказано, что Microsoft ничего не теряет, поскольку Windows 7 достигла конца своего жизненного цикла и отправляется на покой. Таким образом, компания могла бы позволить энтузиастам исправить прошлые ошибки и усовершенствовать систему. Фонд также требует от Microsoft «уважать свободу и конфиденциальность пользователей, а не просто принуждать переходить на новую версию Windows».
Открытие исходного кода Windows 7 было бы беспрецедентным и радикальным шагом, и здесь есть определённые проблемы. Очевидно, что Microsoft всё ещё есть что терять. Она может потерять пользователей, которые не желают обновляться до Windows 10 и ищут достойную альтернативу. Кроме того, компания продолжает зарабатывать на Windows 7, взимая плату с корпоративных пользователей за расширенную поддержку после окончания срока поддержки. Не стоит также забывать, что значительная часть кода Windows 7 была перенесена в последнюю версию операционной системы, что ставит под угрозу дальнейшее развитие Windows 10.
Вероятнее всего, у этой инициативы нет шансов, и Microsoft проигнорирует обращение. Как бы там ни было, Фонд планирует собрать 7777 подписей. На момент написания новости петицию подписали 3055 человек.
В сеть утекла Windows XP, какими это обернется последствиями
Не для кого не секрет, что недавно в сеть утекли исходники Windows XP.
В этом посте я расскажу какими именно проблемами это может обернуться. Особенно для рядового компьютера на новенькой Windows 10.
Да, да! Современную десятку это тоже заденет .
Слитый код
Слитый в сеть исходный код windows — считай открытая программа, которая содержит информацию о том как устроено ядро системы.
Если этот код в открытом виде попадает к стороннему программисту, то он с ним может сделать всего две вещи:
Очень интересно будет посмотреть доработанную XP, например с вырезанным софтом или измененным загрузчиком.
При этом один спец уже нашел в исходных кодах винды ME (тоже были слиты) полноэкранное меню пуск, которое так и не вышло на этой ОС.
А вот в коде нашли экспериментальный дизайн стартового меню для XP над которым работали в Microsoft:
Плохого в изучении и пересборке системы вроде бы ничего нет. Если конечно внутрь не засунут незаметный троян и не будут раздавать такую сборку на торрентах.
А ещё можно подменить сервер обновлений и на базе XP сделать другую ОС, доведя её до современных возможностей. Думаю один человек такое не потянет, а вот команда энтузиастов, которая почти сразу обрастет своим сообществом — легко.
Ну кому нужна в наш век старая windows xp — спросите вы?
На самом деле ее используют для некоторых специфических нужд. Недавно прошла новость, что судах ей пользуются наравне с другими.
Исходя из вышенаписаного можно сделать вывод: Если вам и нужна win xp, то не качайте её откуда попало. Берите из проверенного источника. С этого момента все кастомные сборки XP под подозрением.
Если некая группа хакеров изучит уязвимости XP
На самом деле слово если тут даже не применимо. Уже изучают. Это же лакомый кусочек. И причина на то такая: даже ядро новенькой windows 10 содержит большую часть кода от XP .
Найденная в коде XP уязвимость вполне может эксплуатироваться на десятке
Фактически это приведет к новым уязвимости на десятке, семёрке и др. версиях. На десятке то уязвимости закроют в обновлениях, а вот владельцам Windows 7 уже никто не поможет.
Хорошие новости
Существуют в принципе открытые программы и операционные системы.
Изучить их код может каждый. И ничего живут как-то, отлавливая глюки сообществом разработчиков и энтузиастов.
А ещё давненько уже Microsoft сама передавала исходные коды XP в руки властей Китая . И вот я очень не уверен, что оттуда не было утечек. Наверняка программисты Поднебесной поработали над кодом. Новость хорошая потому что это было давно, и мало отразилось на безопасности.
Спасибо за внимание, если понравилась статья ставьте палец вверх и подписывайтесь на блог, будет интересно!