Такой код, как правило, распространяется вместе с откомпилированной версией программы, что дает возможность всячески модифицировать или совершенствовать ее для возможности выполнения более широкого спектра задач. Разработчики таких программ считают, что со временем открытый исходный код позволит программному продукту стать более полезным и избавить его от большого количества ошибок.
Существует несколько критериев соответствия для программ с открытым исходным кодом:
- свободное распространение программного пакета, однако в то же время он может быть частью коммерческого проекта;
- обязательное приложение исходного кода;
- возможность любому желающему отредактировать исходный код;
- возможность распространения измененных версий программ;
- не должно существовать каких-либо требований по исключению другого программного обеспечения или вмешательства в процесс его работы.
Рассмотрим один из самых ярких примеров программного обеспечения, которое сопровождает открытый исходный код, получивший всемирное распространение. В начале 90-х годов прошлого века финский студент Линус Торвальдс разработал абсолютно новую операционную систему, основанную на Unix, которая известна сегодня как Linux. Система была выпущена под лицензионным соглашением GNU General Public License, где содержалось определение открытого исходного кода с юридической точки зрения. Довольно большое количество программистов стало использовать и совершенствовать эту операционную систему. Собрав доработки от программистов по всему миру в единое целое, в 1994 году Линус Торвальдс выпускает Linux версии 1.0. До этого нумерация версий велась начиная в нуля.
Со временем появилась некая всеобщая обеспокоенность потребителей, касающаяся отсутствия гарантии, а также технической поддержки подобного программного обеспечения. Поэтому компания Red Hat Software создает официальный программный пакет Official Red Hat Linux, который им удается продавать. Наиболее значительной особенностью такой продаваемой операционной системы стало наличие гарантии и технической поддержки, что немаловажно.
Некоторые другие компании также занимались разработкой новых версий Linux, предназначенных для продажи, причем эти пакеты были дополнительно укомплектованы различным программным обеспечением, среди которого: интернет-браузер Mozilla, созданный на ядре Netscape, веб-сервер Apache, язык для подготовки веб-сценариев Perl, формат графических файлов PNG и многие другие. Кроме того, существуют версии перечисленных программных пакетов, разработанные для операционной системы Windows и Android. Это говорит о том, что программы с открытым кодом доступны не только для компьютеров, но и мобильных устройств.
Подводя итог, стоит сказать, что программы, с которыми в комплекте идет их открытый исходный код, имеют ряд минусов. Прежде всего это многообразие версий, в результате которого доработка одной программы может вызвать создание нового независимого программного пакета. Второе, что нужно подчеркнуть, — это использование пользователями устаревших программ, в которых могут быть не устранены некоторые ошибки, нет возможности работать с новыми форматами файлов и так далее. Примером такого случая можно назвать программы Microsoft Word и Open Office. Если в первом пакете будет записана какая-нибудь сложная формула, то второй просто-напросто не сможет ее прочитать.
Также среди открытого ПО отсутствуют так называемые специальные пакеты, предназначенные для ведения бухгалтерии и отчетности. Еще один недостаток напрямую связан с аппаратной частью, дело в том, что при переходе с Windows на Linux необходимо учитывать, что Linux-драйвера существуют далеко не для всех моделей устройств компьютера, что вызовет неправильную работу системы.
Однако не будем забывать и о положительных сторонах такого программного обеспечения, ведь открытый исходный код имеет массу преимуществ. Во-первых, все открытое ПО распространяется бесплатно. Во-вторых, такие программы появляются порой гораздо быстрее коммерческих из-за того, что в разработке участвует сразу несколько тысяч человек и не каждой компании по силам оплачивать работу нескольких тысяч программистов. Последнее, что нужно отметить, касается возможности быстрого устранения ошибок, благодаря чему программы с открытым кодом работают стабильнее коммерческих.