Предлагаем вашему вниманию адаптацию статьи Джонатана Бекмана, разработчика из США, который описал личный опыт участия в open source проекте. Из этого материала вы узнаете:
- что такое open source проекты;
- как вы можете внести свой вклад;
- где искать проекты и задачи.
Почему стоит браться за open source проекты?
В первую очередь — это бесплатная практика программирования. Также вы можете пополнить такими проектами ваше резюме, и, поверьте, если вы сможете объяснить ваш вклад в общее дело, получить должность «джуна» будет гораздо проще, чем в случае «просто закончил курсы».
Open source проект на пальцах
Любите ли вы гулять по парку? Возможно не сейчас, потому что уже ноябрь, как говорят «зима близко!». Уверен, в хорошую погоду вы с удовольствием бродите меж деревьев по ухоженным аллеям. Но что, если бы ваш любимый парк забросили муниципальные службы? Очень быстро начался бы беспорядок.
В чем смысл open source?
Везде валялся бы мусор вперемешку с отходами жизнедеятельности собак в томительном ожидании, что в них кто-нибудь наконец-то вступит. Вряд ли вы бы продолжали ходить туда на прогулки.
Свободно распространяемое программное обеспечение с открытым исходным кодом (open source) — это приложения, чей код доступен всем. Их можно загрузить и/или использовать на любом количестве устройств. Вы вольны взять код программы и делать с ним всё, что захотите, а затем распространить его среди ваших знакомых. Это так, потому что такие программы распространяются по свободным лицензиям, например, лицензии MIT. |
Хотя любое программное обеспечение, по сути, рассчитано на конечного пользователя, как разработчик вы можете внести свой вклад в open source проект, тем самым сделать мир лучше с помощью нового доступного ПО. Если вы хотите принять участие в open source проекте, нужно понять, кто его курирует и постараться наладить взаимодействие с этими людьми.
Я вовсе не имею в виду, замучить их до полусмерти вопросами и ожидать всеобъемлющей опеки во время работы. Вы — взрослый самостоятельный человек (даже если вдруг ещё не взрослый, то быть самостоятельным — отличная идея!). Надеюсь, вам уже не нужно вести за руку и расписывать каждый шаг. В этом я вам не помощник. Зато я могу дать вам несколько дельных советов, которые помогут вам при попытке внести свой первый вклад и потенциально включить ваш кусок кода в проект с открытым исходным кодом.
Поиск проекта
Если вы ищете открытый проект, чтобы принять в нём участие, найдите такой, который вам действительно интересен. Желательно, чтобы в нём было много задач, из которых можно выбирать. Не соглашайтесь на первый попавшийся проект. В таком случае вы будете больше заинтересованы и сможете серьезно отнестись к задачам.
Что такое Open source проекты, в чем приемущества программ с открытым исходным кодом
Где искать проекты Open Source
Их можно найти в открытых репозиториях GitHub. Собственно, там все их и ищут. Там очень много интересного.
Поиск хорошей первой задачи
Поиск хорошего первого задания — ключ к успеху. Не берите на себя больше, чем вы сможете сделать. Не пытайтесь сразу показать все свои знания: ищите простейшую из возможных задач. Это лучший способ понять, как проходит взаимодействие между вами и кураторами проекта.
В некоторых проектах задачи отмечены специальными метками, указывающими на уровень сложности, если кураторы считают их подходящими для начинающих разработчиков. Поищите что-то подобное, когда будете смотреть на задачи выбранного проекта.
Когда вы найдете подходящую задачу, напишите комментарий кураторам проекта о том, что вы хотели бы над ней поработать. Чаще всего вам дадут добро, но возможно по какой-то причине попросят выбрать другой вариант. Не думайте, что вы не можете начать пока не пришел ответ, но будьте гибкими, если вас попросят остановиться и заняться чем-то другим. Для моего первого задания я выбрал то, где было необходимо немножко подправить css. Мне казалось, что я могу это реализовать и это не угнетало меня.
Начало и ознакомление
Начало работы в проекте может казаться обманчиво легким, но при этом иметь много подводных камней. Когда вы выбрали задачу для решения, вам нужно развернуть проект на своей машине. Скорее всего, исходники проекта будут «тяжелыми» (хотя это зависит от проекта). Возможно, вам придется установить большое количество зависимостей просто для того что бы запустить проект.
В проекте, на который я попал, таких моментов было немного, но это не значит что это было просто. Например, нам пришлось установить специфические версии Ruby и специфические версии Rails, PostgreSQL, Phantom JS и Gemfile с перечнем Gems для инсталляции.
Казалось, что это не так уж и много требований, но я столкнулся с большой проблемой с поиском специфической версии Ruby, необходимой для разработки проекта и работающей на моем компьютере. Наконец, я использовал RVM для переключения версий: это еще одна вещь которой я научился, только для того чтобы просто установить проект и заставить его работать на компьютере. Когда же я запустил проект, то увидел, что тот написан на Angular и Coffee Script, с применением Active Record для взаимодействия с данными поступающими из бек-энда. Это были новые для нас вещи, и с ними нужно было разобраться самостоятельно до начала работы над проектом.
Поиск других задач
Возможно, прямо сейчас вам это не нужно, и даже не пригодится в ближайшем будущем, но я столкнулся с этим практически сразу. Огромное везение сразу заметить, что в проекте что-то работает не так. Если вы нашли такой баг, переходите на рабочий сайт и посмотрите так ли это там. Не спешите писать в поддержку, возможно, всё работает.
Обычно кураторы контролируют ситуацию и критичных ошибок быть не должно. Но если вы всё-таки обнаружили то, что требует внимания, найдите и проверьте среди задач, которые уже существуют. Скорее всего, проблемная задача уже была записана и скорее всего вам не надо ничего делать. Хотя, возможно, стоит решить ее самостоятельно, когда вы закончите то, над чем работаете.
Когда вы оформляете и записываете новую задачу, убедитесь, что вы как можно более подробно описали её. Используйте скриншоты, чтобы наглядно показать, что вы пытаетесь сказать и максимально упростить понимание вопроса постороннему, который заглянет на сайт и увидит описываемую проблему. В моем случае я закончил, добавив две дополнительных задачи, кроме той, что была закреплена за мной. Я даже не смог сделать пул реквест (это было связано с ограничениями безопасности). Мне казалось, что я сделал два шага назад для проекта, но на самом деле описание и оформление задач все равно двигает проект вперед. Создание pull request (PR)
Pull request (пул реквест) — предложение изменения кода в репозитории (хранилище кода проекта). Если вы работаете над открытым проектом, всегда нужно создавать собственную ветку (branch), а вносить изменения в основной код (master) желательно только после подтверждённых кураторами проекта пул реквестов. |
Вы решили поставленную перед вами задачу. Прежде, чем писать отчёт о проделанной работе, покажите решение тому, кто сможет его оценить. Предварительный просмотр — отличная идея всегда, но для вашего первого вклада в открытый проект он просто необходим. Вы же не хотите краснеть из-за недоработанного или неправильно работающего куска кода?
По этой же причине кураторы проекта предложат вам пройти все необходимые тесты перед пул реквестом. Поэтому проверьте себя загодя, чтобы быть уверенным в своей работе и поправить её в случае необходимости до получения подтверждения от кураторов. Убедитесь, что вы придерживаетесь названий или стилистики, которая принята кураторами проекта. Вы можете найти информацию в файле CONTRIBUTING.md, он есть в большинстве проектов. Также там вы сможете уточнить, в каком виде вы должны создавать commit message, как должно выглядеть описание вашего pull request и как оформить новую задачу.
Покинуть задачу
Иногда понимаете, что не справляетесь со взятой задачей. Или вам казалось, что у вас есть время на проект, но на деле его не оказалось, вам на голову свалилась срочная работа и вам нужно заняться ею. Это в норме вещей. Главное, отпишитесь от задачи и оставьте сообщение кураторам, чтобы они знали, что вы не сможете продолжать заниматься проектом. Но ни в коем случае не бросайте задачу, не сообщив кураторам и не отписавшись от неё.
Заключение
Я считаю, что от участия в разработке открытого проекта — одна сплошная польза. Вы практикуетесь и в тоже время делаете что-то полезное для других людей. С другой стороны, данный проект может стать еще один пунктом в вашем резюме и дать дополнительные плюсы при борьбе за получение желаемой должности. Буквально в прошлую пятницу я общался с программистом, который устроился на свою работу (очень крутую и интересную, такую, которая может изменить мир к лучшему, и я действительно не шучу) именно благодаря его работе над open source проектами.
Источник: javarush.com
Открытый исходный код — преимущества, риски и будущее
Многие люди беспокоятся о характеристиках камеры, размере экрана и емкости памяти при покупке нового смартфона. Одним из наиболее важных элементов этих привлекательных потребительских товаров является операционная система, которую легко не заметить.
Android от Google — самая популярная в мире мобильная операционная система. Он обнаружен в более чем 86 процентах смартфонов по всему миру. Что более удивительно, так это то, что Android основан на операционной системе Linux с открытым исходным кодом. Это означает, что любой может прочитать, изменить и, самое главное, поделиться кодом, лежащим в основе подавляющего большинства смартфонов. Сотрудничество стало возможным благодаря этой открытости.
В отличие, например, от Microsoft Windows, которая была создана и поддерживается одной фирмой. Более 15000 XNUMX программистов со всего мира вносят свой вклад в разработку и поддержку Linux. Эти программисты могут предложить создать что-то новое, что распространяется бесплатно.
Что такое открытый исходный код?
Программное обеспечение, исходный код которого находится в открытом доступе и может использоваться совместно и обновляться пользователем по мере необходимости. Программное обеспечение с открытым исходным кодом — это программное обеспечение, в котором исходный код или базовый код обычно доступен любому для изменения или улучшения для повторного использования и доступности.
Кто угодно может манипулировать частью программного обеспечения и изменять ее, чтобы программа или приложение работали должным образом. Программисты, имеющие доступ к исходному коду компьютерной программы, могут улучшить ее, добавив функции или исправив разделы, которые не всегда работают должным образом.
Программное обеспечение с открытым исходным кодом создается децентрализованным и совместным образом, опираясь на экспертную оценку и результаты сообщества. Поскольку оно создается сообществами, а не одним автором или корпорацией, программное обеспечение с открытым исходным кодом обычно дешевле, более адаптируемо и имеет более длительный срок службы, чем проприетарное программное обеспечение.
С каждым годом открытый исходный код становится все более распространенным, появляясь повсюду, от правительственных городов до учреждений. Он также становится все более популярным среди предприятий всех размеров. Фактически, некоторые предприятия выводят открытый исходный код на новый уровень, финансово финансируя проекты или сотрудничая с разработчиками.
Сотрудничество способствует инновациям с бесплатным и открытым исходным кодом. Многие из технологий, которые мы считаем само собой разумеющимися сегодня, не получили бы развития или были бы защищены патентным законодательством, если бы не он.
История
Исследователи, работающие над ранними интернет-технологиями и сетевыми протоколами связи, извлекли пользу из открытой и совместной исследовательской среды в 1950-х и 1960-х годах. Рецензированию и открытым комментариям способствовала Сеть агентств перспективных исследовательских проектов (ARPANET), которая в конечном итоге стала краеугольным камнем современного Интернета.
Исходный код каждой группы пользователей был передан и улучшен. Форумы способствовали обсуждению, а также развитию открытого общения и норм сотрудничества. Сотрудничество, рецензирование, общение и открытость были заложены в основу Интернета к моменту его запуска в начале 1990-х годов.
Идея сделать исходный код общедоступным возникла в результате интеллектуальной кампании, неофициально начатой Ричардом Столлманом, программистом из Массачусетского технологического института, в 1983 году. Столлман считал, что программное обеспечение должно быть доступно программистам, чтобы они могли изменять его по своему усмотрению, чтобы улучшить понять, изучить и улучшить его.
Столлман начал распространять бесплатное программное обеспечение под своей собственной лицензией GNU Public License. Эта новая техника и подход к разработке программного обеспечения получили распространение, что в конечном итоге привело к созданию Инициативы с открытым исходным кодом в 1998 году.
Программное обеспечение с открытым исходным кодом и программное обеспечение с закрытым исходным кодом
Программное обеспечение с открытым исходным кодом
- Доступное исходное программное обеспечение — это компьютерное программное обеспечение, исходный код которого открыт для общественности, что позволяет любому просматривать и использовать его.
- Код может быть изменен другими людьми и организациями, исходный код доступен всем.
- Стоимость программного обеспечения с открытым исходным кодом довольно низкая.
- Если программа популярна, к проекту может быть привлечено значительное количество программистов.
- Для пользователей меньше ограничений с точки зрения использования и настройки программного обеспечения.
- Любая машина может быть настроена для работы с открытым программным обеспечением.
- Fire Fox, Android от Google , операционная система Linux, Android, Thunderbird, MySQL, Mailman, Moodle, Perl, PHP и Python — вот некоторые примеры.
Программное обеспечение с закрытым исходным кодом
- Программное обеспечение с закрытым исходным кодом — это компьютерное программное обеспечение с закрытым исходным кодом, что означает, что публика не имеет доступа к исходному коду.
- Только лицо или группа, создавшие программное обеспечение, имеют возможность изменять код.
- Исходный код программного обеспечения с закрытым исходным кодом защищен.
- Существует несколько ограничений, налагаемых на пользователей в зависимости от удобства использования и настройки программного обеспечения.
- Фирма/организация, занимающаяся разработкой программного обеспечения, нанимает программистов для улучшения программного обеспечения.
- Программное обеспечение с закрытым исходным кодом стоит дорого.
- Перед установкой на любой компьютер закрытое программное обеспечение должно иметь действующую лицензию.
- В программном обеспечении с закрытым исходным кодом нет места для ошибок.
- Skype, Google Earth, Java, Adobe Flash, Virtual Box, Adobe Reader, Microsoft Office, Microsoft Windows, WinRAR, mac OS, Adobe Flash Player — вот некоторые примеры.
Преимущества
Открытый исходный код помог как начинающим разработчикам, так и крупным корпорациям в их технологическом опыте. Это бесконечный образовательный процесс, особенно с учетом возрастающих последствий программирования. Эта постоянно расширяющаяся сеть идей — только начало того, как такое программное обеспечение может помочь вашей корпорации.
Растягивание бюджета может быть ежедневной битвой для стартапов. Доступность проектов с открытым исходным кодом позволяет потребителям использовать новые технологии без уплаты членских взносов или подписания долгосрочных контрактов. Помимо низкой (или несуществующей) стоимости, библиотеки с открытым исходным кодом позволяют командам получить преимущество при создании ИТ-инфраструктуры или разработке нового приложения.
Большая часть этой работы уже сделана за вас благодаря открытому исходному коду. Это освобождает время разработчиков для оптимизации и настройки. Всегда будут ситуации, когда организации захотят начать разработку с нуля, но даже крупнейшие мировые бренды признают время и деньги, сэкономленные за счет использования технологий с открытым исходным кодом. Компоненты с открытым исходным кодом, независимо от того, используются ли они в качестве начальных комплектов для сложных приложений или кусочков небольшой головоломки, помогающей завершить проект, могут быть полезной альтернативой как для отдельных разработчиков, так и для корпоративных групп.
Онлайн-сообщества, такие как GitHub, демонстрируют потенциал совместной работы программного обеспечения с открытым исходным кодом, предоставляя миллионам разработчиков и компаний дом для размещения, оценки и использования платформ с открытым исходным кодом. В 7.5 году Microsoft заплатила за платформу 2018 миллиардов долларов. На сегодняшний день это, вероятно, самый наглядный пример того, насколько популярной стала технология с открытым исходным кодом, и того, что признанные ИТ-гиганты инвестируют в будущее этого сообщества.
По целому ряду причин разработка и реализация стратегии программного обеспечения с открытым исходным кодом стала критически важной. По отдельности и вместе разработчики программного обеспечения с открытым исходным кодом ищут наилучшие ответы на технические проблемы, в результате чего программное обеспечение является надежным, безопасным и бесплатным. Программа со временем совершенствуется в результате их неустанной работы.
Этому процессу помогают многочисленные фонды, в том числе Linux Foundation, который поддерживает открытый исходный код в нескольких технологических областях, Apache Software Foundation и Eclipse Foundation.
Они устанавливают стандарты в сотрудничестве с цифровыми гигантами, такими как AWS, Facebook, Google, IBM, Microsoft, Netflix и SAP, а также с производителями оборудования, такими как Cisco, Intel и Тесла. Они также строят независимые от поставщиков дома для проектов, предлагают финансовую помощь для инфраструктуры, помогают с маркетингом и выбирают комитеты для принятия разумных решений по проекту.
Подводя итог, отметим некоторые из основных преимуществ открытого исходного кода:
- Затраты на оборудование ниже.
- Программное обеспечение исключительного качества.
- Глобальная поддержка разработчиков.
- Гибкость и свобода.
- Управление лицензиями простое.
- Концентрация и масштабирование проектов.
Риски
Как упоминалось в предыдущем разделе, открытый исходный код может дать несколько преимуществ. Теперь мы рассмотрим потенциальные недостатки или опасности, связанные с этим, которые делятся на три категории следующим образом:
- Угроза безопасности
- Риск качества
- Комплаенс-риск
Компоненты с открытым исходным кодом можно найти в различных интернет-репозиториях, и у разработчиков нет возможности узнать, насколько они хороши или безопасны. Организации, которые не вкладывают средства в контроль их использования, подвергают себя риску, и они могут заплатить цену позже, когда исправление ошибок станет намного дороже.
Угроза безопасности
Хакеры могут заработать много денег, используя бреши в системе безопасности с открытым исходным кодом. Это дает хакерам всю информацию, необходимую им для запуска атаки. Что еще хуже, поскольку он так широко используется, уязвимость в популярном компоненте предлагает хакерам большое количество потенциальных жертв. Это означает, что хакеры внимательно следят за сообществом и быстро используют известные недостатки безопасности в популярных компонентах с открытым исходным кодом.
Компании-разработчики программного обеспечения уязвимы для вредоносных атак, если они не контролируют использование открытого исходного кода и не знают о любых уязвимых библиотеках в своем коде.
Риск качества
В то время как компания тратит много времени и денег, чтобы обеспечить качество собственного кода, похоже, что многие команды разработчиков недооценивают или игнорируют качество компонентов с открытым исходным кодом. Конечно, мы все хотим, чтобы наш конечный продукт был последовательным и стабильным под давлением.
Одна из причин, по которой трудно проверить, не ставит ли программный компонент с открытым исходным кодом под угрозу статус вашего продукта, заключается в том, что не существует согласованных критериев для оценки его качества, а совместный характер открытого исходного кода может затруднить мера.
Комплаенс-риск
Каждый компонент программного обеспечения с открытым исходным кодом, а также его зависимости лицензируются. Когда мы используем их в нашем проекте, мы обязуемся соблюдать ряд условий, которых мы должны придерживаться. Для тех, кто не знаком со сложностью лицензирования с открытым исходным кодом, это может стать кошмаром.
В некоторых проектах с открытым исходным кодом отсутствует какая-либо лицензия на исходный код, что означает, что правила авторского права применяются по умолчанию. Поскольку лицензий очень много, выполнить все юридические требования довольно сложно. Знаете ли вы, что существует более 200 различных типов лицензий с открытым исходным кодом, каждая из которых имеет свой собственный набор уникальных, специализированных и часто непонятных условий?
Будущее открытого исходного кода
Новые волны инноваций будут подпитываться программным обеспечением, которое является результатом совместных усилий не только одного предприятия, но и сообщества, занимающегося улучшением всей среды.
Компании предоставляют своим разработчикам возможность конкурировать на цифровой арене с целью первыми генерировать постоянно растущие инновации в технологической отрасли, поскольку они продолжают завоевывать популярность среди предприятий.
Разработчики могут эффективно справляться с трудностями тестирования и реализации, используя сообщество разработчиков открытого исходного кода и учась у лучших разработчиков, особенно с учетом потока новых технологий, таких как ИИ, обучение с помощью машиныи достижения в области робототехники.
Когда сотрудники пользуются преимуществами динамичного, ориентированного на решения сообщества, мы видим, что бизнес выигрывает. От беспилотных автомобилей до медицинских роботов, от умных городов до центров обработки данных — мы не хотим доверять решение этих проблем небольшому количеству фирм. Вместо этого мы должны полагаться на открытый исходный код и множество блестящих изобретателей, чтобы получить наилучшие результаты.
Заключение
Движение за открытый исходный код ответственно за быстрое развитие технологий за последние несколько десятилетий. Хотя открытый исходный код сопряжен с некоторыми рисками, у него есть много преимуществ и многообещающих путей развития. Большое сообщество участников, практические рекомендации по началу работы, обучение путем изучения кода других людей и получение опыта общения с другими инженерами — вот некоторые отличные преимущества, которые вы получаете от программного обеспечения с открытым исходным кодом.
Если вы также хотите начать участвовать в проекте с открытым исходным кодом, сначала найдите тот, который вас увлекает, а затем найдите на GitHub ярлык с надписью «хороший первый выпуск» или что-то подобное. Хороший первый выпуск — это проект, в котором легко выбираются популярные проекты для разработчиков, которые никогда раньше не участвовали.
Источник: hashdork.com
Все об Open Source. Плюсы и минусы программ с открытыми исходными кодами
Open Source представляет из себя одно из самых спорных явлений IT-индустрии. Противостояние его сторонников и противников является, пожалуй, самой заметной тенденцией в софтовом мире последних лет. И это неудивительно, ведь, как только заходит речь об Open Source, все сразу вспоминают о Microsoft и ее продуктах, на примере которых принято доказывать ущербность и несостоятельность проприетарного софта (т.е. программ с закрытым исходным кодом).
Sourcefourge.net — сайт, предоставляющий Open Source-разработчикам хостинг для размещения их проектов и весь необходимый инструментарий.
Мода превозносить Open Source и всячески обливать грязью Microsoft и других софтверных гигантов, не желающих открывать исходники своих программ, получила в последнее время широкое распространение, и ей уже подвержены даже те люди, которые сидят в ОС Windows , готовят документы в MS Office , выходят в интернет через Internet Explorer , пользуются почтовым клиентом MS Outlook , рисуют в Adobe Photoshop , отстреливают вирусы “ Антивирусом Касперского ” и вообще слабо представляют себе, что такое открытые исходники. Исходно открытый Open Source (“открытые исходники”) — это метод разработки и лицензирования программ, при котором каждый желающий имеет право на свободное распространение (или продажу) приложения, свободную модификацию (сохраняя в коде информацию об авторах программы), свободную публикацию собственных улучшений и свободный доступ к его исходным кодам (такое определение дает сетевая энциклопедия Wikipedia ). Как ни странно, Open Source-проекты появились раньше, чем проприетарные программы.
Точкой отсчета в истории открытых исходников принято считать рождение сети ARPANET ( Advanced Research Projects Agency NETwork , 1968 год), основанной примерно на тех же принципах, что и Open Source. Следующей вехой в истории этого явления стала вторая версия ОС UNIX (это была самая первая многозадачная и многопользовательская операционка), написанная в 1969 году программистом Кеном Томпсоном (Ken Thompson) из Bell Labs , которая стала очень популярной во многом благодаря тому, что ее исходники распространялись свободно.
В 1973 году сотрудники агенства DARPA ( Defense Advanced Research Projects Agency ), Боб Кан (Bob Kahn) и Винтон Серф (Vinton Cerf), создают протокол TCP/IP, ставший впоследствии одним из краеугольных камней сети Интернет. Чуть позже, в 1979 г., университет Беркли (Калифорния) выпускает BSD UNIX (Berkeley Software Distributions), созданную в качестве ответа на инициативу компании АТ T и Sun договариваются об объединении своих версий UNIX, способствовав тем самым созданию Open Software Foundation. Сейчас на UNIX работает подавляющее большинство почтовых серверов интернета.
Кен Томпсон
В 80-х годах наступил перелом. Проприетарные программы перехватили инициативу у Open Source-проектов и заняли доминирующее положение на рынке.
Появление в 1984 проекта GNU (это акроним от “ GNU’s Not Unix ”, произносится как “ guh-NEW ”), у истоков которого стоял один из самых ярых сторонников Open Source — Ричард Столлмен — и который должен был способствовать распространению бесплатных программ с открытыми исходными кодами (этот способ распространения окрестили GPL — General Public License ), не смог кардинально изменить ситуацию. Гораздо большее значение имел выход в начале 90-х первого работоспособного дистрибутива операционной системы Linux (за авторством финна Линус Торвальдса), которой прочили (и прочат до сих пор) быструю победу над Windows.
Увы, Linux не смог одолеть операционки от Microsoft, даже несмотря на то, что в его разработке приняло огромное количество людей — около 40 тысяч человек. Недружелюбие к пользователю, отсутствие поддержки сторонних разработчиков (много вы знаете игр под Linux?) и целый ряд других факторов не позволили этой ОС получить признание среди обычных пользователей, хотя в сфере серверного ПО “пингвины” сумели отхватить большой кусок пирога.
Впрочем, в ближайшем будущем все еще может измениться: в последнее время все большее число стран высказываются за массовое внедрение Open Source-программ в госсекторе наравне с продуктами Microsoft (на эту компанию мы постоянно ссылаемся потому, что именно она заказывает музыку на софтовом рынке). Объясняется это не только финансовыми причинами (ибо программы редмондовцев порой обходятся даже дешевле приложений с открытыми исходниками): многие страны просто не хотят зависеть от Microsoft, продукты и форматы которой проникли буквально повсюду.
Программы по внедрению открытого ПО начаты в Великобритании, Франции, Норвегии, Италии, Дании, Индии, Финляндии, Швеции, Таиланде, Малайзии, Вьетнаме, Японии, Южной Корее, Бразилии, Венесуэле (в последних двух этот процесс идет особенно активно) и многих других государствах. В Китае вообще планируют разработать свою собственную версию Linux и сделать ее на своей территории стандартом.
Microsoft, тем не менее, не унывает, действуя своим излюбленным способом: покупает на корню всех и вся либо занимается откровенным демпингом. В 2002 г. корпорация планировала начать крупномасштабные поставки компьютерной техники и софта на общую сумму $1 млрд. (прописью: один миллиард ) долларов, доведя тем самым до истерики Стива Джобса, главу компании Apple , которая всегда была основным поставщиком ПО для американской системы образования.
Сделка сорвалась, поскольку на дыбы встали все антимонопольные органы США. Тогда Microsoft заключила соглашение с правительством ЮАР о бесплатных поставках программного обеспечения в 32 тысячи школ этой страны. Такая щедрость легко объяснима: рынки Азии и Африки таят в себе большой потенциал, поэтому в данный момент Microsoft уделяет им приоритетное внимание.
Так, относительно недавно корпорация сообщила о том, что выпустит сентябре в Малайзии и Таиланде специальную версию своей ОС (названную Windows XP Starter Edition ) по сверхнизкой цене — всего $36. На Китай, который, как я уже говорил выше, облизывается на Linux, это распространяться не будет — по словам Билла Гейтса, который недавно совершил турне по некоторым странам Азиатско-Тихоокеанского региона, на рынке Поднебесной хватит места и Windows, и Open Source-проектам.
Несколькими днями позже, будучи в Малайзии, Билл отметился другим, еще более громким заявлением. По его мнению, открытые исходники не только “ не гарантируют совместимость и препятствуют интеграции ”, но являются угрозой всей для IT-индустрии. Говоря об опасности открытых программ, Microsoft в то же время делает прямо противоположное — открывает… исходный код своих программ.
Речь, конечно, идет об открытии кода только ограниченному кругу лиц (сторонним разработчикам, госструктурам и экспертам в этой области), но сам факт не может не удивлять. Гениальный ход — бить врага (т.е. движение Open Source) его же оружием.
Pro Как видите, разработчики проприетарного программного обеспечения достаточно серьезно воспринимают угрозу со стороны Open Source и не сидят сложа руки. Да, Open Source породил такие известные проекты, как браузер Mozilla , web-сервер Apache , язык программирования Perl , технологию PHP , но является ли он панацеей от всех бед, как об этом твердят его ортодоксальные поклонники? Почему о тотальном переходе на Open Source в последнее время говорят все чаще и чаще? Что это — мода или свидетельство того, что это движение набирает силу? Каковы плюсы и минусы приложений с открытыми исходниками? Преимущества этих программ очевидны, и о них мы уже говорили выше: это, прежде всего, — свобода распространения, свобода модификации кода, свобода публикации собственных улучшений, отсутствие затрат на приобретение лицензий и наличие большого огромного количества дополнительных модулей
Марк Андриссен
(довольно часто — бесплатных). Open Source позволяет участвовать в разработке программ большому количеству людей. Любые ошибки и недочеты, будучи обнаруженными, исправляются очень быстро — в отличие от мира проприетарного софта.
Достаточно вспомнить недавнюю историю с уязвимостью в Internet Explorer, о которой в Microsoft знали еще осенью прошлого года, но устранили ее только в июле — только после того, как этой “дырой” начали пользоваться хакеры и распространять через нее троян Padodor. А меньше чем через две недели появилась информация об обнаружении еще четырех, не менее серьезных, уязвимостей.
Заплаток для их устранения нет до сих пор (на момент написания статьи). Неописуемая оперативность, правда? Будь это Open Source-проект, апдейт выпустили бы в рекордные сроки.
Марк Андриссен, основатель Netscape Communications и вообще весьма известная в софтовом мире личность, озвучил в начале этого года на конференции Open Source in Government ряд причин, которые, по его мнению, приведут к победе Open Source уже в ближайшем будущем. Далеко не со всеми его аргументами можно согласиться, но ознакомиться с ними стоит: 1) интернет основан на открытых исходниках; 2) открытые исходники распространяются именно через интернет; 3) создание программ, основанных на Open Source, было бы невозможно без интернета; 4) софт, основанный на Open Source, лучше защищен, чем закрытое программное обеспечение; 5) Open Source — это позиция на плечах гигантов (по аналогии с известным изречением Ньютона; имеется в виду, что открытое ПО основано на уже существующих наработках); 6) Open Source подпитываются за счет антиамериканских настроений (крупнейшие софтовые компании сконцентрированы в США, поэтому во многих азиатских странах продукцию той же Microsoft отвергают по идеологическим причинам); 7) бесплатная Linux, чьи исходные коды открыты, ничуть не хуже, чем дорогое серверное ПО; 8) благодаря Open Source можно сократить расходы на перенос многих программ на все типы компьютеров; 9) идеологической основой Open Source служит уважение к чужим достижениям; 10) за счет Open Source увеличивается число фирм, разрабатывающих софт, даже если это не является основным направлением их деятельности; 11) все больше компаний начинают поддерживать Linux. Contra Минусы Open Source куда менее очевидны, чем плюсы, да и упоминают о них намного реже. Посему поговорим о них подробнее.
Проект Xbox-Linux, предназначенный для установки на консоль Microsoft Xbox. Обратите внимание на то, что авторы постоянно подчеркивают слово “ваш”…
В сознании обывателя давно сформировался предрассудок о том, что проприетарный софт есть несомненное зло, с которым надо бороться любыми способами (вспомните хотя бы, сколько существует анекдотов про Windows), а Open Source выставляется как единственный путь к всеобщему благоденствию. При этом подавляющее большинство таких грамотеев в глаза не видели крупных Open Source-проектов (речь, разумеется, идет о Linux, OpenOffice и им подобных; мелкие программы прикладного характера не в счет) и вообще весьма смутно представляют, что это такое.
А между тем, в малораспространенности открытого софта виноваты прежде всего не злобные софтверные гиганты, старающиеся всячески задушить это движение, а сами разработчики Open Source. В марте этого года в онлайновом журнале First Monday была опубликована статья Мишель Левеск, канадской исследовательницы информационных технологий Университета Торонто, которая выделила ряд факторов, препятствующих широкому распространению крупных проектов с открытыми исходниками.
Первый фактор, выделяемый Мишель, — пренебрежительное отношение разработчиков к интерфейсу. Авторы Open Source-программ пишут их в первую очередь для себя и для других специалистов, им неведомы мучения обычных пользователей, которые “не в теме” (особенно если приложение распространяется бесплатно).
Софтверные компании не могут позволить себе такого, поскольку их продукты рассчитаны на массового пользователя и, хоть плачь, должны иметь максимально удобный и интуитивный интерфейс. Вторая проблема приложений с открытыми исходниками — неграмотно составленная или очень краткая документация (а то и вообще — отсутствие таковой). Корни этой проблемы следует искать в том же самом месте, что и в случае с предыдущим фактором, — программисты, создающие Open Source-проекты, плохо представляют себе, чем живут рядовые пользователи, для них главное то, что программа работает, а все остальное — дело десятое. Отсюда проистекает третья проблема — чрезмерный акцент на функциональность программы в ущерб всему остальному. Но больше всего Open Source вредит четвертый фактор: принципиальное нежелание многих разработчиков перенимать опыт коллег, работающих над проприетарными программами. Аргументация презабавная: “Они плохие, потому что они
Браузер Mozilla, один из самых известных Open Source-проектов.
плохие!”. Любопытно было бы поинтересоваться у этих людей, почему программы с закрытым кодом по-прежнему удерживают ключевые позиции среди desktop-пользователей. Есть и другие факторы, о которых Мишель не упомянула.
Во-первых, все защитники открытых исходников почему-то постоянно забывают о том, что большое количество людей, работающих над Open Source-программой, еще не есть гарантия ее качества. Самый яркий пример — Linux, в разработке которого, как я уже говорил выше, участвовало 40 тысяч человек. И где, спрашивается, результат?
Да, эта ОС имеет сильные позиции в сфере серверного ПО, но для рядовых пользователей она как была, так и осталась “вещью в себе”, непонятной и недружелюбной программой. Создать по-настоящему конкурентоспособную операционную систему или пакет офисных приложений можно лишь при наличии единого руководства, четкого плана, большого бюджета (исчисляемого десятками миллионов долларов) и грамотной маркетинговой политики — чего у большинства разработчиков программ с открытыми исходниками никогда не было и нет.
Во-вторых, считается, что закрытое ПО защищено намного хуже, чем Open Source-программы. В качестве примера обычно приводят Windows, уязвимости в которой обнаруживают едва ли не ежедневно, и Linux, “дыры” в котором действительно находят намного реже. Убедительный, казалось бы, аргумент.
Но Юджин Спаффорд (Eugene Spafford), крупный специалист в области безопасности и защищенности операционных систем, считает иначе. По его мнению, Linux не менее уязвима, чем Windows, а столь частое обнаружение “дыр” в последней объясняется лишь ее популярностью. “Дыры” ищут целенаправленно, ведь для многих специалистов по безопасности обнаружение очередной уязвимости — это шанс заявить о себе (а какой резон искать “дыры” в “пингвинах”?). Linux тоже далеко небезупречен (подтверждением этого является частый выход патчей для него), и будь он столь же распространен, как и Windows, в нем бы находили ничуть не меньшее количество “дыр”.
Источник: www.igromania.ru