Open-source software - программное обеспечение с открытым исходным кодом. Исходные коды открытых программ выпускаются либо как общественное достояние, либо на условиях «свободных» лицензий. Свободная лицензия позволяет использовать исходный код программы для своих нужд с минимальными ограничениями, не противоречащими определению OpenSource.org. Таким ограничением может быть требование ссылаться на предыдущих создателей или требование сохранять свойство открытости при дальнейшем распространении той же самой или модифицированной открытой программы. В некоторых случаях эти ограничения очень малы, в других достаточно распространять ПО вместе с исходным кодом и текстом лицензии, не изменяя её.
Многие сходятся во мнении, что разрекламированность «Open Source» несколько вредит свободному ПО, так как некоторые разработчики и пользователи открытого ПО совсем не против собственнического ПО, и люди останавливаются на Open Source, не доходя до понятий о свободе. Некоторые враждебные к свободному ПО компании используют только выражение «open source».
Несмотря на стремление авторов термина «open-source» Эрика Реймонда и Брюса Перенса избавиться от неоднозначности слова free, выражение open source тоже очень часто используется для обозначения сущностей, противоречащих определению OSI или не имеющих к нему никакого отношения, но способных привести к путанице. Например, спецслужбы США используют его в значении «открытый источник».
Существуют также программы, по мнению некоторых имеющие открытый исходный код, но не являющиеся свободными, например, UnRAR, распаковщик RAR-архивов. Его исходный код находится в открытом доступе, но лицензия запрещает использовать его для создания RAR-совместимых архиваторов. Так же существует целый класс программ, называемых коммерческим ПОс открытым исходным кодом или Open Core, которые используют термин «Open Source» применительно к несвободному программному обеспечению.
|
Идея, которая стоит за понятием "Open Source", чрезвычайно проста. Идея заключается в том, что программист или пользователь может, например, с помощью Internet, получить какую-нибудь программу вместе с ее исходным текстом, изменить ее, исправить ошибки и передать другим пользователям. Однако Open Sourse не означает только лишь доступность исходного текста. Существует документ (Open Source Definition), который регламентирует все стороны лицензирования ПО, которое попадает под определение Open Source. Из этого документа можно выбрать его основные положения, которые сводятся к следующему:
. Свободная дистрибуция. Лицензия не может содержать никаких ограничений на продажу или бесплатное распространение программного продукта или его части. Кроме того, в лицензии не может оговариваться вознаграждение за продажу или распространение продукта.
. Исходный текст должен быть включен в состав программного продукта и разрешено его распространение.
. Целостность авторского исходного текста. Лицензия может ограничивать распространение измененного авторского исходного текста только в том случае, если в ней предусмотрено разрешение на распространение patch-файлов с исходным текстом для изменения продукта при компиляции.
. Лицензия не должна наносить ущерб другим программам, которые распространяются вместе с лицензируемым продуктом. В частности, она не должна требовать, чтобы эти программы также были Open Source.
|
Появление идеи об Open Source и начало работы над этим, позволила программистам собственноручно определять, как будет выглядеть та или иная программа, как она будет работать и какие функции выполнять. Одним словом, это позволило человеку ощутить всю полноту от работы на ПК и почувствовать себя полным хозяином ситуации.
Если программисты, администраторы, инженеры и проектировщики достаточно быстро определяются с выбором технологии, на которой работать, то людям, связанным с бизнесом приходится прибегать к дополнительным консультациям которые, как правило, сопровождаются хоть и важными комментариями, но на не слишком понятном для них языке.
Мир программирования очень большой, и концепция Open Source связана со всеми его направлениями, начиная от написания операционных систем и заканчивая конечными продуктами для обычных пользователей, к числу которых можно отнести и CMS (система управления содержимым). Известно, что продукты с открытым кодом - это зачастую красивые и грамотные разработки, производимые внутри исследовательских лабораторий крупных компаний, которым выгодно вкладывать деньги в продукты, которые позволяют увеличить их продажи и укрепить влияние на рынке. Что касается CMS - сюда еще не пришли гиганты рынка и многим небольшим группам приходится вести разработки самостоятельно.
Интернет-проекты по расширяемости и перестраиваемости можно разделить на две категории: статичные и динамичные. Статичному проекту хватает нормальной CMS для его жизни: наполнение статьями, добавление новостей, администрирование форумов и публикация продукции на сайте. Динамичному проекту всего этого постоянно мало, необходимо добавлять новые разделы, разрабатывать и устанавливать на них новые сервисы, перестраивать разделы в связи с постоянным изменением SEO-требований, менять дизайн и логику существующих компонентов, именно в таких условиях создаются новые современные CMS, которые, по сути, являются библиотеками готовых и гибких решений для определенной платформы, и очень важно, чтобы эти решения были качественны.source - разработчики, это, как правило, люди которым нравится программировать, разрабатывать новые вещи и общаться в своей open-source и не только среде, они стремятся обучаться самостоятельно и постоянно развиваются, что дает им заметное преимущество по сравнению с людьми ориентированными на курсы и сертификацию. По способу обучения есть несколько категорий людей, одни считают, что фирма или государство или еще кто-то должен платить за то, что им будут внушать информацию, заставлять учить и сдавать экзамены, другие - просто берут и начинают самостоятельно делать какие-то вещи, которые позволяют им расширить свои знания и опыт. Особенной связи между желанием/способностью обучаться и работой с открытым или закрытым кодом нет. Тут все зависит от самого разработчика и единственное в чем может помочь ему open source, это выступить в качестве бесплатной, легкодоступной библиотекой готовых решений является важным критерием.
|
Серьезные компании-разработчики с большим штатом, где четко распределены роли, требуют и гораздо большей оплаты за свои услуги. Однако высокая цена на разработку индивидуального решения лишает малый и средний бизнес возможности пользоваться такими решениями, что заставляет их идти к бесплатным решениям, и это иногда дает им преимущество перед негибкими и громоздкими решениями от крупных разработчиков. Получается, что бесплатные передовые технологии могут стать клином, пробивающим дорогу менее крупным игрокам среди больших акул.
Покупая коммерческую систему, заказчик обрекает себя на использование следующей за продуктом линейки исправлений, дополнений, изменений. Некоторым заказчикам важно идти в ногу со временем, поэтому приходится зависеть от конкретных разработчиков, ждать, когда они реализуют очередное новое решение, в случае же с системой с открытым кодом можно найти группу разработчиков которые реализуют вам новое решение для вашей системы, если в этом вообще возникнет необходимость, так как развитие системы, как правило, итак успевают за новыми требованиями. Разработчик держится за свое решение, ищет его плюсы и пытается их продавливать заказчику, ему ведь не очень выгодно постоянно дорабатывать свою систему, потому что содержание такой системы для нескольких программистов не очень дешевое удовольствие. У системы же с открытым кодом постоянно идет развитие в свете постоянно появляющихся новшеств и доработок, использующие ее разработчики знают, что появилось, и что должно появиться в этой системе. Что самое главное, для таких систем существует множество дополнений от других независимых разработчиков, таким образом, вам может даже не придется платить за разработку нового форума, например.
Узко квалифицированным специалистам есть место в opensource, есть люди специализирующиеся на отдельных частях системы и разрабатывающих только их. Они либо используют эти части в коммерческих проектах, либо используют систему в целом, поддерживая необходимые для коммерческой эксплуатации части. В open source фирмах есть специалисты, отвечающие за отдельные части продукта. Четко отлаженные процессы, вовлекающие больше неквалифицированных людей, чем квалифицированных, как правило, подходят для внедрения коробочных продуктов, не предусматривающих осмысленную интеграцию. Заказчику очень важно определиться, на каком он рынке, от этого и зависит выбор исполнителя, нужна ли ему гарантия выполнения проекта, или ему важны также актуальность, гибкость и необходимость проекта, потому что иногда этими составляющими приходится жертвовать для стопроцентной гарантии выполнения.