Записи

Сегодня любой пользователь ПК регулярно использует в своей работе программное обеспечение. Даже обычное перемещение курсора – это тоже результат работы специального ПО. Как же происходит разработка программ, которые раскрывают перед пользователями массу возможностей?

Подробнее

Понимающие принципы разделения существующих лицензий на программное обеспечение по признакам «бесплатности» и «платности» пользователи весьма часто задают вполне очевидный вопрос — а зачем и для чего вообще создается ПО OpenSource, то есть имеющее нулевые ограничения на использование и распространение. Попробуем смоделировать типичные ситуации, в которых разработчики приходят к применению столь непопулярного среди крупных компаний вида лицензирования. Первым делом, давайте охарактеризуем принцип «открытого кода» с точки зрения рядовых обывателей, являющихся потребителями создаваемых программистами программ и мобильных приложений.

С чем «едят» OpenSource

Прежде, чем охарактеризовать цели и потребности разработчиков, создающих OpenSource программное обеспечение, опишем ключевые особенности данного вида лицензирования. Свободное и открытое ПО предполагает полную свободу не только эксплуатации созданных программ, но также и возможность вмешательства в компьютерный код, если этого потребует деятельность пользователя. В отличие от ПО с закрытым кодом, исходники такого программного обеспечения можно с легкостью найти в сети Интернет, что позволяет при должном умении и навыках вносить персональные правки, а также впоследствии распространять модернизированную программу по тому же бесплатному принципу.

Так зачем и для чего создается OpenSource программное обеспечение. Чтобы ответить на этот вопрос, достаточно обратиться к наиболее известным представителям «армии открытого кода». Ими являются постепенно набирающая популярность, в том числе и в России, операционная система Linux, к созданию которой «приложили руку» сотни, а может и тысячи программистов со всего мира. Другим известным продуктом является интернет-браузер Mozilla Firefox, код которого разработчики предоставляют по первому требованию желающих. Основываясь на этой информации, можно попытаться охарактеризовать, для чего программисты вообще создают программные продукты с открытым кодом.

OpenSource — зачем и почему

Итак, программное обеспечение с открытым кодом, то есть разработанное по принципу OpenSource, создается по следующим причинам:

  • недостаточность человеческих ресурсов;
  • популяризация компании-разработчика;
  • потребность в создании «народного продукта».

Второй по счету причиной, которая привела к «народности» операционной системы Linux, стало отсутствие достаточного количества программистов, готовых работать над усовершенствованием ПО. Первой, если верить заявлению основателя Linux Линусу Торвальдсу, стала потребность в разработке по-настоящему «народной» ОС, доступной любому пользователю стационарного или мобильного компьютера. Несмотря на «вложенные» в программу человеческие ресурсы, добиться конкуренции со всемирно известной ОС Windows Linux все же не удалось.

Следующей по востребованности причиной создания OpenSource программного обеспечения является, по мнению экспертов, потребность в популяризации молодой команды разработчиков, планирующих покорить рынок. Если удается выпустить действительно стоящий продукт, востребованный среди многочисленных потребителей, последующие программы или приложения молодой команды программистов будут очень оптимистично восприняты пользователями, даже если они будут распространяться по платному принципу. Именно так обычно и происходит в современном мире больших денег. Ну и, наконец, последней в списке причин находится попытка создания «народного продукта», актуального для конкретной или сразу нескольких сфер деятельности человека. Среди успешных проектов, где целью являлось именно это, назвать сегодня можно разве что упомянутые ОС Linux и браузер Mozilla Firefox, количество «клонов» которого сегодня попросту «зашкаливает»,

Есть еще одна причина для разработки ПО с открытым кодом — попытка объединить талантливых программистов под крылом какой-нибудь общественной организации, но это тема отдельного материала.

Для большинства потребителей, являющихся пользователями стационарных компьютеров или мобильных устройств, не всегда понятны аббревиатуры и характеристики устанавливаемых программ и приложений, характеризующих форму распространения ПО в рамках используемой лицензии. Попробуем кратко охарактеризовать и описать наиболее популярные и распространенные среди разработчиков виды лицензий на программное обеспечение, обозначаемые в виде коротких англоязычных слов. Эти знания помогут пользователям получше узнать возможности программных продуктов, а также выяснить, какие свободы дает тот или иной вид лицензирования конечному потребителю. Первыми рассмотрим чаще всего встречающиеся формы лицензий.

Бесплатно — не всегда даром

Скачивая в сети Интернет программу для стационарного компьютера или ноутбука, а также приложения для своего мобильного устройства пользователь весьма редко обращает внимание на вид лицензии для программного обеспечения, устанавливаемого на ПК, ноутбук, смартфон или планшет. Однако очень часто краткая аббревиатура достаточно точно характеризует возможности программы и дальнейшие перспективы для ее использования. Итак, чаще всего потребители сталкиваются со следующими видами лицензирования ПО:

  • Freeware;
  • DemoWare;
  • Trial или TrialWare;
  • ShareWare;
  • AdWare.

Разберем их более подробно. Первый тип лицензии является самым удобным для конечного пользователя — надпись «Freeware’ означает возможность применения программного продукта без каких-либо ограничений. При этом весь риск за вероятные последствия от использования такого ПО на пользовательском оборудовании ложится на плечи скачавшего программу человека. Принцип DemoWare означает, что результат деятельности разработчиков имеет целью продемонстрировать потенциальные возможности полноценной программы будущему покупателю, то есть такое ПО весьма серьезно ограничено в функционале. Распространяются подобные продукты исключительно в демонстрационных целях, весьма похожих на еще один вид лицензии на ПО — ShareWare. Этот тип лицензирования имеет условно-бесплатный принцип распространения программных решений, обеспечивающий потребителям возможность использования части доступных функций с рядом ограничений. К последним могут относиться как недоступность ряда функций, так и ограниченное число запусков приложения или программы, что вынуждает впоследствии приобретать за деньги полностью рабочий продукт.

Аналогичным с упомянутым ShareWare видом лицензии на программное обеспечение является TrialWare, чаще всего носящий укороченное название — Trial. Наличие подобной надписи в описании программного продукта говорит о похожих ограничениях в использовании — либо путем установления ограниченного количества доступных запусков приложения, либо с помощью лимитирования срока, в течение которого пользователь сможет ею пользоваться. Так называемый «триальный» период может длиться как несколько дней, так и один и более месяцев. AdWare, как следует из расшифровки этого сокращения, предполагает бесплатную эксплуатацию ПО, расплачиваться за что придется необходимостью просматривать рекламные блоки, интегрированные в приложение. Такой вариант лицензирования наиболее популярен для игр для смартфонов и планшетов, распространяемых по бесплатному принципу через интернет-магазины приложений.

Это был перечень наиболее востребованных на рынке и популярных среди разработчиков видов лицензий, используемых при распространении программного обеспечения среди потребителей. Подробно описывать другие существующие варианты лицензирования — например, DonationWare, PostCardWare, а также Ad-SupportedWare и BeerWare, когда создателю ПО пользователь обязан при встрече налить стаканчик пива, вряд ли стоит. Большинство из них являются фактически «умершими», и крайне редко встречаются в современном мире. Разницу составляют только хорошо известные Linux-пользователям бесплатные виды лицензий вроде GNU GPL и OpenSource ПО, о существовании которых использующие операционную систему Windows потребители узнают только от своих знакомых, пересевших на ОС Linux.

Когда и в каких ситуациях руководство организации может принять решение о необходимости разработки программного обеспечения под заказ? Сфера деятельности команд разработчиков ПО, путем простых нажатий клавиш создающих настоящие программные шедевры, основывается на потребностях конкретных заказчиков, задумавших выпустить на рынок востребованный продукт. Однако иногда необходимость обзавестись многофункциональной или выполняющей одну специализированную задачу программой возникает и у небольших предприятий, осуществляющих коммерческую деятельность. Попробуем сформулировать перечень оснований, которыми руководствуются владельцы компаний при рассмотрении вопроса о разработке индивидуального ПО под заказ.

Цель — Средства — Результат

Ключевой целью для любой коммерческой организации является извлечение прибыли, что обуславливает режим работы сотрудников и список выполняемых ими задач. Современный мир диктует свои условия к инструментарию, доступному работникам предприятий — подавляющее большинство всех производственных мероприятий осуществляется при помощи компьютера, имеющего доступ к сети Интернет. Таким образом средством достижения конечной цели для организации, — получения приемлемого по объему дохода, становится компьютер и должным образом функционирующее программное обеспечение. Однако далеко не всегда доступное в магазинах или на интернет-ресурсах ПО способно выполнять поставленные перед ним задачи в полном обьёме.

Первым и ключевым основанием для разработки ПО под заказ становится получение доступа к инструменту, позволяющему обеспечить необходимый результат. Например выписать счёт или сформировать итоговый отчет после обработки поступившей из разных офисов информации, связанной с объемами, наименованиями и категориями реализованных товаров, включая имена сотрудников, оформивших продажу. Причем, сделать это таким образом, чтобы по любому из анализируемых критериев можно было сделать выборку, и увидеть результат работы конкретного офиса с определенной категорией товаров. Имеющиеся на рынке решения, как правило, достаточно громоздки и не «заточены» под работу в конкретной сфере деятельности, вынуждая коммерсантов отказываться от комплексного и единого продукта в пользу разрозненных программ.

Отсюда вытекает и второе основание для разработки ПО под заказ — необходимость снизить требования к имеющемуся компьютерному оборудованию. Практически все универсальные решения на рынке предназначены для выполнения огромного набора задач, чтобы охватить интересы максимального количества потенциальных покупателей ПО. Это приводит к поверхностному отношению к конкретным функциям, являющимся весьма критичными для определенных коммерческих компаний. Более дорогое решение, помимо прочего, будет предъявлять повышенные требования к «железу», на котором планируется эксплуатировать приобретенное ПО.

Работа программистов, обеспечивающих выполнение заказа на разработку ПО, осуществляется с целью получения продукта, максимально соответствующего предъявляемым к нему требованиям со стороны заказчика. Нужно получить данные, основываясь на информации об отгрузках разбросанных по всему городу офисов, посредством SMS-сообщения на мобильный телефон руководителя — не проблема. Требуется получить нетребовательную к производительности оборудования программу, помогающую менеджеру быстро оформить заказ непосредственно в торговом зале с помощью планшетного устройства — специалисты компании, разрабатывающей программное обеспечение под заказ, помогут и в этом.

Любой программный продукт, предназначенный для работы под той или иной платформой, имеет свой срок службы, зависящий от стремления и возможностей компании-разработчика по поддержке своего решения в процессе его эксплуатации заказчиками. Как только разработчик отказывается поддерживать выпущенный продукт, у использующих его компаний или потребителей возникает потребность модернизации программного обеспечения, чтобы оно соответствовало возросшим запросам или изменившейся конъюнктуре применения. О том, зачем это нужно и каким образом можно заказать модификацию программы или мобильного приложения, постараемся рассказать в рамках текущего материала.

Причины

Первое, с чего стоит начать, это причины возникновения потребности в модернизации программного обеспечения, а говоря простым языком — его модификации под нужды пользователя. Возникнуть они могут, исходя из многих факторов, основные из которых перечислим ниже:

  • устаревание ПО;
  • отсутствие поддержки со стороны компании-разработчика;
  • присутствие ряда архитектурных недостатков, снижающих гибкость ПО;
  • необходимость усовершенствовать программу под текущие требования или новую программную оболочку;
  • утрата контроля над содержащимися в программе данными.

Процесс устаревания ПО провоцирует существенное снижение эффективности программного обеспечения, модернизацию которого обычно выполняет разработавшая продукт компания. Но зачастую последним приходится отказываться от поддержки устаревшего продукта в пользу разработки более совершенного ПО. Стоимость более современной программы может оказаться существенно выше уже выплаченной покупателем в момент приобретения эксплуатируемого ПО суммы, что зачастую становится крайне невыгодным мероприятием.

Однако чаще всего потребность модернизировать программу или целый комплекс возникает по причине расширения спектра задач, которые должно охватывать ПО. В том числе за счет увеличения количества сотрудников, с ним взаимодействующих, либо банальной необходимости улучшить и расширить пользовательский интерфейс.

Задачи модернизации ПО

Процедура модернизации программного обеспечения преследует сразу несколько целей, полностью перекрывающих потребности организаций, заинтересованных в заказе такого рода услуг. Перечислим их:

  • расширение функционала;
  • адаптация под новые аппаратные платформы и технологии;
  • перенос и адаптация пользовательских данных;
  • оптимизация производительности;
  • системная интеграция.

Компания, выполняющая работы по модификации программного обеспечения, получает от заказчика полный список задач, которые требуется выполнить в рамках предстоящей модернизации. Только Гграмотно составленное техническое задание на проведение предстоящих работ обеспечит полное соответствие модернизированного ПО требованиям клиента, о чем задумавшимся об улучшении используемых на предприятии программ руководителям стоит побеспокоиться заранее. Также необходимо заключить с разработчиком, готовым произвести модернизацию ПО, специальный договор, описывающий условия и сроки дальнейшей технической поддержки улучшившего функционал решения.

Где заказать?

Выбор разработчика, осуществляющего модификацию «чужих» программ или мобильных приложений, основывается на специфике применения нуждающегося в изменении ПО. Самым оптимальным будет разослать запросы компаниям-разработчикам с подробным перечнем требований к обновленному функционалу эксплуатируемого продукта, чтобы те смогли оценить свои возможности и подготовить для заказчика свой список уточняющих вопросов либо направить встречное предложение о проведении работ по модификации ПО. Вопрос стоимости модернизации программного обеспечения напрямую зависит от сроков реализации задуманного, а также квалификации команды разработчиков, которой предстоит выполнять работы. Все пункты предстоящего взаимодействия сторонам соглашения стоит обсудить заранее, включая этапы и форму проведения тестирования промежуточных версий модифицированной под нужды заказчика программы. Это застрахует обе стороны от возникновения спорных вопросов, особенно в части финансового обеспечения работ.

Любая работа, совершаемая по требованиям заказчика и отданная на «откуп» исполнителю, должна начинаться подготовкой технического задания, разработка ПО, то есть программного обеспечения, не является исключением. Говоря иначе, начать разработку ПО можно только после подготовки грамотного и правильного ТЗ, охватывающего все технические аспекты будущего проекта и пожелания заказавшей работу организации или физического лица. Рассмотрим действия, необходимые для составления правильного документа, который станет основой при написании требуемых программных продуктов. Подробнее