Приложения "Open Source" и виды лицензий
4.1 Введение
Программные проекты имеют форму исходного кода , который представляет собой удобочитаемый набор компьютерных инструкций. Поскольку исходный код не понимается компьютером напрямую, он должен быть скомпилирован в машинные инструкции компилятором. Компилятор — это специальная программа, которая собирает все файлы исходного кода и генерирует инструкции, которые могут выполняться на компьютере, например, ядром Linux.
Исторически коммерческое программное обеспечение продавалось по лицензии с закрытым исходным кодом , что означает, что пользователи имеют право использовать машинный код, также известный как двоичный или исполняемый, но не могут видеть исходный код. Часто в лицензии прямо указывается, что пользователи не могут пытаться реконструировать машинный код обратно в исходный код, чтобы выяснить, что он делает.
Учти это
Исходный код, скомпилированный в двоичные программы, является одним из методов создания программ и выполнения вычислительных инструкций. Другим является множество типов интерпретируемых языков, таких как PERL, Python и даже сценарии BASH, где код не компилируется, а передается интерпретирующей программе, обычно двоичному исполняемому файлу, который понимает и реализует инструкции, содержащиеся в исходном коде или сценариях. .
Развитие Linux тесно связано с развитием программного обеспечения с открытым исходным кодом . Раньше существовали условно-бесплатные бесплатные программы, в которых пользователи не обязательно имели доступ к исходному коду. В этом было много хорошего, но была и проблема, потому что вредоносные программы могли маскироваться под невинные на вид игры, заставки и утилиты.
Открытый исходный код ориентирован на исходный код программного обеспечения. Философия открытого исходного кода заключается в том, что пользователи имеют право получать исходный код программного обеспечения, а также расширять и изменять программы для собственного использования. Это также означало, что код можно было проверить на наличие бэкдоров, вирусов и шпионского ПО. Благодаря созданию сообщества разработчиков и пользователей ответственность за ошибки, уязвимости в системе безопасности и проблемы совместимости стала общей ответственностью. Это новое глобальное сообщество компьютерных энтузиастов расширилось за счет растущей доступности более быстрых интернет-сервисов и всемирной паутины.
Существует множество различных вариантов открытого исходного кода, но все согласны с тем, что пользователи должны иметь доступ к исходному коду. Они отличаются тем, как можно или нужно перераспределять изменения.
Linux с большим успехом принял эту философию. Поскольку Linux был написан на языке программирования C и отражал дизайн и функциональность уже существующих систем UNIX, он естественным образом стал форумом, где люди могли разрабатывать и обмениваться новыми идеями. Освободившись от ограничений проприетарных аппаратных и программных платформ, большое количество очень опытных программистов смогли внести свой вклад в различные дистрибутивы, создавая программное обеспечение, которое часто является более надежным, стабильным, адаптируемым и, честно говоря, лучше, чем проприетарное, закрытое. исходные предложения, которые доминировали в предыдущие десятилетия.
По понятным причинам крупные организации с подозрением относились к использованию программного обеспечения, созданного таким новым способом, но со временем они поняли, что их лучшие программисты в свободное время работают над проектами с открытым исходным кодом на основе Linux. Вскоре серверы Linux и программы с открытым исходным кодом стали превосходить уже существующие дорогие проприетарные системы. Когда пришло время обновить устаревшее оборудование, те же самые программисты, инженеры и системные администраторы, которые начали заниматься Linux в качестве хобби, смогли убедить своих боссов попробовать Linux. Остальное, как говорится, история.
До разработки Linux многие корпоративные и научные приложения работали на проприетарных системах UNIX. Компаниям, университетам и правительствам, управляющим большими серверными фермами, понравилась стабильность и относительная простота разработки приложений, предлагаемых этими платформами.
Первоначально UNIX была создана в 1969 году. К своему четвертому изданию, вышедшему в 1973 году, она была переписана на языке программирования C, который до сих пор популярен. В 1984 году Калифорнийский университет в Беркли выпустил версию 4.2BSD, которая представила TCP/IP, сетевую спецификацию, лежащую в основе Интернета. К началу 1990-х годов, когда началась разработка Linux, различные компании, разрабатывающие операционные системы UNIX, поняли, что их системы должны быть совместимы, и начали работать над спецификацией X/Open, которая используется до сих пор.
За прошедшие годы ученые-компьютерщики и организации, в которых они работают, осознали преимущества систем, предоставляющих знакомые инструменты и согласованные способы выполнения конкретных задач. Стандартизация интерфейсов прикладного программирования (API) позволяет относительно легко переносить (преобразовывать) программы, написанные для одной конкретной операционной системы UNIX или Linux, для запуска в другой. Таким образом, хотя проприетарные системы UNIX все еще используются во всем мире в средах, где предпочтение отдается «сертифицированным» решениям, совместимость этих систем с компьютерами Linux ценится промышленностью, академическими кругами и правительствами, которые их используют.
Значение организаций по стандартизации невозможно переоценить. Такие группы, как IEEE (Институт инженеров по электротехнике и электронике) и POSIX (интерфейс переносимой операционной системы), позволяют специалистам из разных компаний и учреждений совместно работать над спецификациями, позволяющими различным операционным системам и программам работать вместе. Неважно, является ли программа закрытой или открытой, простой или сложной, если она написана в соответствии с этими стандартами, другие смогут использовать и модифицировать ее в будущем. Каждая инновация в вычислительной технике основана на работе других, которые были раньше. Программное обеспечение с открытым исходным кодом — это сотрудничество разных людей с разными потребностями и опытом, которые работают вместе, чтобы сделать что-то лучше, чем каждый из них мог бы сделать по отдельности. Стандарты делают это возможным, и многие организации, которые создают, поддерживают и продвигают их, являются неотъемлемой частью отрасли.
Last updated