О классификации программного обеспечения
Статья взята на сайте: http://www.adempiere.ru/blog/rsashka/1614
Автор: Рябиков Александр.
В данной статье предпринята попытка классификации программных продуктов на основании общих признаков и содержится история появления таких терминов, как Freeware, Beerware или Sharewae, используемых в описании характеристик программного обеспечения .Вся информация имеет ссылки на первоисточник.
Так же затронут щекотливый вопрос, почему Freeware == Free Software != Free Software
История терминов в хронологическом порядке с очень далекого прошлого.
Слово WARE является частью большинства терминов, используемых в индустрии программного обеспечения. Это слово обозначает товары, продукты производства и встречается уже в 12 веке нашей эры. Слово HARDWARE начало употребляться около 1515 года для обозначения товаров из металла. Слово SOFTWARE первый раз в печатном издании использовал John Tukey в статье журнала American Mathematical Monthly в 1958 году. Термин software обозначает "совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ".
Термин FREEWARE - ввел в обиход Andrew Fluegelman в самом начале 80-х годов. Изначально термин freeware обозначал условно бесплатную модель распространения программы PC-Talk. В 1984 году Nelson Ford предложил подобрать новый термин для обозначения программ такой модели распространения вместо зарегистрированного в качестве торговой марки слова freeware. Таким термином стало слово SHAREWARE. В последствии термин freeware стал общеупотребительным для обозначения бесплатных программ и перестал охраняться законом. Кстати, правовая охрана торговой марки, вошедшей во всеобщее употребление как обозначение товаров определенного вида, прекращается и в России (4 часть ГК РФ, Статья 1514, пункт 6).
Таким образом в 80-х годах появились термины для обозначения модели распространения программного обеспечения: Freeware - бесплатно, Software (Payware) - продажа программного обеспечения за деньги и Shareware - бесплатно, но запрещено использование программы при невыполнении определенных условий Я специально сделал акцент на запрещении использования, ведь если такого запрета нет, то программу правильнее отнести к бесплатным, т.е. Freeware, не смотря на то, что автор ожидает выполнение каких либо действий со стороны пользователя за использование его программы.
Свободное программное обеспечение и открытый исходный код
Очень подробно об Open Source и Free Software написано в Wikipedia, пересказывать это еще раз нет необходимости, но обязательно нужно отметить, что термин Open Source относится к передаче исходного кода программы вместе с самой программой, и не относится к передаче каких либо прав на эту программу. И хотя OSI трактует термин Open Source значительно шире и пытаются связать его с правами на ПО, это не мешает использовать термин в описании характеристик проприетарных программ.
В противоположность этому, термин Free Software относится к правам на программу и описывает следующие свободы:
-
Свобода 0: Запускать программу в любых целях.
-
Свобода 1: Изучать программу и изменять ее работу под свои нужды.*
-
Свобода 2: Распространять копии программы.**
-
Свобода 3: Улучшать программу и публиковать эти изменения или весть код программы в целом.*
*) Свободы 1 и 3 требуют наличия исходного кода программы, который должен быть доступен для изучения и изменения. Из-за этого очень часто путают понятие Open Source, который обозначает открытый исходный код и понятие Free Software закрепляющий право на свободу, для которого наличие исходного кода программы является обязательным, но не единственным требованием.
**) Свобода 2 разрешает распространение программы бесплатно и из-за этого иногда возникает путаница с термином Freeware, который как раз и обозначает бесплатную программу, но может относиться к любой программе, не обязательно к свободной.
И наверно самое главное, Свобода 2 разрешает распространять Free Software бесплатно, но не требует этого, то есть бесплатно можно раздавать, но это нельзя требовать.
Эти свободы закрепляются в лицензиях на программное обеспечение, которые делятся на два вида:
-
Те, которые требуют сохранения свобод и запрещают их уменьшение в производных продуктах. Этот принцип обозначается термином Copyleft и требует от автора производного произведения сохранения (не уменьшения).свобод исходной программы. Такие лицензии иногда называют "прилипчивыми".
-
"Разрешительные" лицензии, например BSD (от Berkeley Software Distribution), которые допускают уменьшение свобод в производных продуктах и разрешают использование исходного текста в программном обеспечении с проприетарными лицензиями.