При этом, как и в случае с shareware-программами, вы получаете урезанную (Demo)или ограниченную по времени работы (Trial)версию. trial, как и shareware-программу, можно превратить в полнофункциональный вариант с помощью регистрации, а вот с демоверсией такой фокус не пройдет, поскольку в ней некоторые функции отсутствуют изначально. Например, в текстовом или графическом редакторе вы не сможете сохранить внесенные вами изменения.
OEM-версии.Специальные варианты обычных коммерческих программ, поставляющиеся по сниженной цене вместе с готовыми компьютерами. Например, стоимость Windows в OEM-поставке может быть в несколько раз дешевле «коробочной» версии.
«Условно-платные» программы(donation ware). Автор такой программы намекает, что, в принципе, он не отказался бы от пары-другой монет за свое детище, но платить он никого не принуждает и функциональность программы не ограничивает. Появится желание - заплатите, не появится… Ну что ж, на нет и суда нет! Понятно, что таких «альтруистов наполовину» среди программистов немного. А честных плательщиков среди пользователей - и того меньше.
«Открыточные» версии(cardware). Весьма экзотический вид программ, в качестве вознаграждения за пользование которыми вас просят отправить автору красивую почтовую открытку.
Версии программ
Программы, как известно, пишут живые люди. А люди имеют привычку ошибаться. А в программах ошибки встречаются, пожалуй, чаще, чем во всех остальных видах человеческой деятельности вместе взятых. Причин для этого много, но основная - сложность современных компьютеров: ни один человек не может отследить все команды, выполняемые компьютером при работе программы, - уж очень там много всего задействовано. Я даже не говорю о диком разнообразии всевозможных железок, настроек и установленных программ, с которым встречается творение любого программиста, вышедшее «в свет». Ну и, разумеется, про ошибки самого программиста как в алгоритме, так и в его реализации тоже забывать не стоит…
Для того чтобы понять, откуда берутся ошибки реализации, можно взять типичный пример - деление на ноль. Допустим, вы решили написать программу, которая будет считать среднюю скорость роста человека (не знаю зачем, но допустим). Пользователь вводит дату своего рождения и свой рост, а программа вычитает из сегодняшнего числа дату рождения, подсчитывает ваш возраст в днях и делит рост на число ваших дней. Такая программа будет прекрасно работать для вас и ваших родственников, но если вы ее «выпустите в люди», то обязательно найдется кто-то, кто в качестве дня рождения введет сегодняшнее число. И готово - возраст ноль дней, попытка деления на ноль и программа вылетает с ошибкой.
Разумеется, это самый простой пример. В реальной жизни все сложнее и зависит не только от данных, вводимых пользователем (которые можно, а точнее, нужно проверять перед использованием в программе), но и от установленных системных файлов, драйверов и кучи других вещей, предсказать которые невозможно, а их влияние на работоспособность программы совсем не очевидно.
Как правило, ошибки «первого типа» вычисляются и исправляются очень легко, в течение 10 минут. «Второй тип» - сложнее, но он затрагивает относительно небольшое число пользователей. Обычно исправление подобных ошибок приводит к изменению второй или третьей цифры в номере версии (или же автор вообще не меняет версию, а просто выкладывает обновленный файл).
Если вы видите, что вместо версии 2.1 появилась, скажем, 2.11, то имеет смысл заглянуть на сайт программы и посмотреть, не появилось ли там описание изменений, чтобы понять, нужно оно вам или нет. Ну а если программа небольшая, то можно просто скачать обновленную версию…
Другая штука - это внесение новых функций в программу. Ведь после выхода программы автор получает какое-то количество писем от пользователей с просьбами добавить или изменить что-то в программе, советами по ее совершенствованию и тому подобное. Если много людей просят что-то одно, то автор часто прислушивается к их мнению и дописывает соответствующую функцию. Кроме того, он и сам может придумать что-то новое и интересное и встроить в программу. Обычно подобные изменения приводят к увеличению второй цифры в номере версии, то есть вместо 1.1 появляется 1.2.
Такие обновления в большинстве случаев документируются и их описание помещается в файл history txt или WhatsNew txt. К такой версии стоит приглядеться повнимательнее - есть большая вероятность того, что там появилось что-то такое, чего вам не хватало…
Читать дальше