Разработка открытых программных продуктов

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

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

В действительности, эта методика представляет собой разновидность эволюционного макетирования, но в отличие от традиционного подхода макетирование осуществляется открыто. Эта методика называется разработкой с открытым исходным текстом (open-source development), хотя ее лучше было бы назвать «открытым эволюционным макетированием».

В некотором смысле разработка открытых программных продуктов является расширением бета-тестирования (раздел 6.6), но при этом испытатель бета-версии может модифицировать ее и сообщить о сделанных изменениях, а не просто о возникших проблемах, как при обычном бета-тестировании. Процесс создания открытых программных продуктов состоит из следующих этапов: автор пишет первоначальную версию программы (обычно выполняющую необходимые ему действия) и размещает исходный код и документацию в Интернете, откуда ее могут скачать другие программисты. Поскольку пользователи имеют в своем распоряжении исходный код и документацию, они могут изменять и дополнять программу согласно своим потребностям или исправлять обнаруженные ими ошибки. Затем они сообщают о сделанных изменениях автору, который заносит их в версию продукта, размещенную в Интернете. Таким образом, эта новая расширенная версия становится доступной для дальнейших модификаций. Практика показывает, что за неделю пакет программного обеспечения может изменяться несколько раз.

Поскольку действия разработчиков открытых систем программного обеспечения не согласованы и они не получают за свою работу никакого вознаграждения, может показаться, что они недостаточно мотивированы, чтобы создать высококачественную систему программного обеспечения. Однако опыт показывает обратное. В качестве примера можно привести операционную систему Linux, признанную самой надежной операционной системой из всех имеющихся в наличии. На самом деле, Линуса Торвальда (Linus Torvald), создателя этой операционной системы, можно считать родоначальником разработки отрытых программных продуктов, поскольку он руководил разработкой Linux именно с помощью этой методики.

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: