Независимо от того, является ли программа открытой или нет, дело не только для разработчиков, но и для пользователей. Лицензии на программное обеспечение с открытым исходным кодом предоставляют пользователям свободу, которой они иначе не обладали бы.
Определение открытого исходного кода
Если программа является открытым исходным кодом, ее исходный код свободно доступен для своих пользователей. Его пользователи - и все остальные - имеют возможность использовать этот исходный код, модифицировать его и распространять свои собственные версии программы. Пользователи также имеют возможность распространять как можно больше копий исходной программы. Любой может использовать программу для любых целей; нет никаких лицензионных сборов или других ограничений на программное обеспечение. OSI имеет более подробное определение «с открытым исходным кодом» на своем веб-сайте.
Например, Ubuntu Linux - это операционная система с открытым исходным кодом. Вы можете скачать Ubuntu, создать столько копий, сколько захотите, и отдать их своим друзьям. Вы можете установить Ubuntu на неограниченное количество компьютеров. Вы можете создавать ремиксы установочного диска Ubuntu и распространять их. Если вы были особенно мотивированы, вы можете загрузить исходный код программы в Ubuntu и изменить его, создав собственную версию этой программы - или самого Ubuntu. Лицензии с открытым исходным кодом позволяют вам это делать, в то время как лицензии с закрытым исходным кодом устанавливают для вас ограничения.
Firefox, Chrome, OpenOffice, Linux и Android - некоторые популярные примеры программного обеспечения с открытым исходным кодом, в то время как Microsoft Windows, вероятно, является самой популярной частью программного обеспечения с закрытым исходным кодом.
Открытый исходный код и бесплатное программное обеспечение
Приложения с открытым исходным кодом, как правило, свободно доступны, хотя ничто не останавливает разработчика от взимания платы за копии программного обеспечения, если они позволяют перераспределить приложение и его исходный код.
Однако это не то, что означает «свободное программное обеспечение». «Свободный» в бесплатном программном обеспечении означает «свободный, как в свободе», а не «свободный, как в пиве». В лагере свободного программного обеспечения во главе с Ричардом Столлманом и Фондом свободного программного обеспечения основное внимание уделяется этике и морали использования программного обеспечения, которое может быть контролируемый и измененный пользователем. Другими словами, лагерь свободного программного обеспечения фокусируется на свободе пользователей.
Ричард Столлман. Изображение пользователя Fripog on Flickr.
Движение программного обеспечения с открытым исходным кодом было создано, чтобы сосредоточиться на более прагматических причинах выбора этого типа программного обеспечения. Сторонники открытых источников хотели сосредоточиться на практических преимуществах использования программного обеспечения с открытым исходным кодом, которое больше привлекало бы бизнес, а не этику и мораль.
В конечном счете, сторонники открытого и бесплатного программного обеспечения разрабатывают один и тот же тип программного обеспечения, но не соглашаются на обмен сообщениями.
Типы лицензий
Существует множество разных лицензий, используемых проектами с открытым исходным кодом, в зависимости от того, что разработчики предпочитают для своей программы.
GPL или GNU General Public License широко используется многими проектами с открытым исходным кодом, такими как Linux. В дополнение ко всем вышеприведенным определениям с открытым исходным кодом термины GPL указывают, что если кто-либо модифицирует программу с открытым исходным кодом и распределяет производную работу, они также должны распространять исходный код для своей производной работы. Другими словами, никто не может использовать код с открытым исходным кодом и создавать из него программу с закрытым исходным кодом - они должны отменить свои изменения обратно в сообщество. По этой причине Microsoft назвала GPL «вирусной», поскольку она заставляет программы, содержащие код GPL, выпускать собственный исходный код. Конечно, разработчики программы могут отказаться от использования кода GPL, если это проблема.
Преимущества для пользователей
Это не все сухие, неважные вещи, которые важны только для разработчиков. Наиболее очевидным преимуществом программного обеспечения с открытым исходным кодом является то, что его можно бесплатно использовать. Пример Ubuntu Linux выше делает это понятным - в отличие от Windows вы можете устанавливать или распространять столько копий Ubuntu, сколько хотите, без ограничений. Это может быть особенно полезным сервером - если вы настраиваете сервер, вы можете просто установить на него Linux. если вы настраиваете виртуальный кластер серверов, вы можете легко дублировать один сервер Ubuntu. Вам не нужно беспокоиться о лицензировании и количестве экземпляров Linux, которые вам разрешено запускать.
Программа с открытым исходным кодом также более гибкая.Например, новый интерфейс Windows 8 разочаровал многих давних пользователей Windows. Поскольку Windows является закрытым исходным кодом, ни один пользователь Windows не может использовать интерфейс Windows 7, изменять его и корректно работать в Windows 8. (Некоторые пользователи Windows пытаются, но это кропотливый процесс обратного проектирования и изменения двоичных файлов. )
Программное обеспечение с открытым исходным кодом также позволяет разработчикам «встать на плечи гигантов» и создать собственное программное обеспечение. Witness Android и Chrome OS, которые являются операционными системами, основанными на Linux и другом программном обеспечении с открытым исходным кодом. Ядро Apple OS X - и поэтому iOS - также было построено на открытом исходном коде. Valve неистово работает над переносом своей игровой платформы Steam на Linux, поскольку это позволит им создавать собственное оборудование и контролировать свою судьбу таким образом, который невозможно в Windows Microsoft.
Это не исчерпывающее описание - на эту тему написаны целые книги, но теперь вы должны лучше понять, что такое программное обеспечение с открытым исходным кодом и почему оно вам полезно.