Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Пример организации процесса разработки KDE





KDE (K Desktop Environment) – один из крупнейших мировых проектов с открытым программным кодом. Цель KDE – создание интегрированной настольной графической среды для операционных систем (изначально Unix, GNU/Linux, потом Windows, Mac OS X и встроенных платформ). KDE включает в себя множество взаимодействующих программ: веб-браузер, файл-менеджер, пакет офисных приложений, интегрированную среду разработки, графический и видео редакторы, утилиты для работы с мультимедиа, органайзер и пр. Компоненты KDE располагаются поверх единой инфраструктуры, включающей в себя слой взаимодействия с оборудованием Solid, слой обработки мультимедиа Phonon, слой динамичного масштабируемого пользовательского интерфейса Plasma и др. Очевидно, что функциональность KDE существенно шире, чем функциональность рассматривавшейся спецификации CORBA. По крайней мере, CORBA использовалась в KDE в качестве одного из компонентов инфраструктуры, но со временем была заменена более легковесным протоколом D-Bus.

Представляется удивительным, но вся перечисленная функциональность создана практически на инициативной основе без централизованного финансирования и управления. В проекте на равноправной основе участвует большое количество разработчиков разного возраста, с разным цветом кожи, из разных, порой враждующих стран, с разных континентов. В проекте нет единого главного архитектора, нет специальной группы стратегического планирования – все инициативы исходят от самих же разработчиков. Действительно получается, что «базар строит собор». Но как удается находить компромиссные решения при таком количестве разных и талантливых участников, каждый из которых склонен считать себя архитектором (как известно, талантливые люди часто непримиримы во мнениях)?

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

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

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

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

Особой ценностью KDE считается независимость разработчиков при принятии технических решений. Многие успешные проекты с открытым программным кодом распадались, когда попадали под заметное влияние спонсоров. Как правило, из подобных проектов формируется коммерческая компания, спонсор берет под свой контроль основных участников, а сам проект перестает стремиться к новизне и переходит в режим сопровождения. Разработчик коммерческой компании всегда чувствует над собой прессинг сроков выполнения задач, все время вынужден оправдывать капиталовложения. Жесткие сроки завершения очередной версии продукта практически всегда негативно сказываются на его качестве. Необходимость регулярно идти на компромисс между сроками и качеством угнетающе действуют на большинство разработчиков. Чтобы не попасть под такую зависимость, в KDE отказываются от значительных пожертвований спонсоров (что у многих вызывает, мягко выражаясь, недоумение).

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

Как и у любого проекта с открытым программным кодом, ключевой метод обеспечения качества программного продукта заключается в многократном анализе и тестировании открытого исходного кода программ многими специалистами. Участник открытого проекта всегда осознает, что небрежно написанная им часть программы будет неизбежно переписана другим участником. В результате такого естественного (Дарвинского) отбора выживают только лучшие идеи и их реализации.

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

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

Date: 2015-09-24; view: 373; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию