Разработка Open Source проекта на примере OpenVZ Web Panel Алексей Южаков
2 OpenVZ – технология виртуализации серверов (Open Source) OpenVZ Web Panel – веб-панель управления (Open Source) Сделана для себя Зачем Open Source? Чтобы поделится своими наработками инсталляций версии 2.0 Об OpenVZ Web Panel в двух словах
3 Классная идея (особенно для самого себя) Никакого продвижения: у вас просто нет отдела маркетинга Проверить на практике нужно как можно раньше (альфа-версия) Делиться идеей и искать единомышленников Идея проекта Изложить ее за 5 минут и «зажечь» ею людей
4 Продукт нужен для решения собственной проблемы Есть заказчики-спонсоры Есть продуманная бизнес-модель Вы – фанатик и это не первый серьезный проект А вот так не работает (или работает очень недолго): «Это повысит мою карму» «Вот напишу, а потом на меня свалится куча денег» «Прикольная строчка в резюме» Мотивация Проект не умрет, если есть четкий ответ на этот вопрос
5 Фокус на самом важным (максимум 3-5 пунктов) Время – единственный ресурс. Стоит дорого! Do it yourself. Надо уметь делать всё Автоматизировать, только если действительно что-то повторяется Если что-то повторяется часто – обязательно автоматизировать Серьезный подход: вести учет времени Эффективная разработка Ограниченность в ресурсах рождает эффективные решения
6 Ломайте стереотип, делайте продукт Качество во всем: от сайта до интерфейса Баги бывают и в «юзабилити». Их нужно исправлять Порог вхождения ниже – продукт популярней Качество кода – не самоцель: его мало кто заметит Качество Open Source проекты не любят за низкое качество
7 Поле для обкатки технологий и экспериментов Приоритеты пользователям: контент, а не технические навороты Возможность использовать библиотеки под GPL Поиск альтернатив дорогим платным компонентам Технологии Ограничений меньше, чем в коммерческих проектах
8 Качественный хостинг исходных текстов на Github Непрерывная интеграция с помощью Travis CI Gmail, Google Groups и Google Apps для совместной работы Jira и Confluence в подарок Бесплатная лицензия на отличную IDE RubyMine Инструменты Это далеко не только Vim и Notepad
9 Программистов очень мало Мало правильных и полезных патчей Зато готовы давать множество советов Обычно сообщают о действительно насущных проблемах Могут помочь перевести интерфейс на разные языки Готовы бесконечно дискутировать и защищать свои идеи Очень сложно уговорить тестировать сырой продукт Всегда кто-то недоволен Сообщество Не надейтесь, что кто-то сделает всё за вас
10 Даже фанатикам нужны деньги на еду Поддержка проекта стоит денег Donations не работают Коммерческий проект не надо делать Open Source Кастом-версии могут стать кошмаром Нужно стараться не отдавать все права заказчикам О деньгах Об этом нужно думать с самого начала
11 Проект должен быть интересен в первую очередь вам Решили заработать? Лучше выбрать не Open Source Разработка должна быть максимально оптимальной Создавайте законченный продукт, которым можно гордиться Меняйте мир в лучшую сторону своим продуктом Заключение Интересно, но даже сложнее, чем коммерческий проект
12 Вопросы?