14 сентября 2010 г.



Почему ваше следующее приложение должно быть с открытым исходным кодом

Эта статья - перевод. Мне она показалась весьма интересной. В основном касается разработки приложения для App Store, но я думаю, что многое может быть применено и в других сферах. Далее повествование идет от лица автора статьи.

За последние несколько лет мне довелось поучаствовать в разработке всевозможных видов программного обеспечения. Начиная от внутреннего ПО с закрытым исходным кодом для компаний и продуктов и заканчивая фреймворками и инструментами для разработки приложений с открытым исходным кодом.

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

И вот почему:



Доводы "ЗА" open-source
Все мы слышали это раньше, «Приложения с открытым исходным кодом сделают мир лучше» - но почему? Что же, позвольте мне назвать вам несколько причин:

Во-первых, будучи открытым, ваш код станет лучше. Если каждый сможет увидеть ваш код, вы будете стараться сделать его максимально чистым. Джефф ЛаМарш называет это «кодировать так, будто бы все на вас смотрят». В чистом коде меньше ошибок, чем в сделанном быстро и наспех, так что это полезная вещь.

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

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

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

Говоря об участии других, вы можете немного сомневаться разрешать ли другим людям работать в вашем коде. Ничего страшного. Обычно, участники не получают нужные права сразу же. Вместо этого, вы просите их помогать проекту присылая вам патчи через баг-трекер (вы же используете баг-трекер, правда?). Это даст возможность просматривать их код перед непосредственным слиянием с вашим. Если вас что-либо не устраивает, дайте им знать (в дружественной манере) что нужно улучшить. Если участник поставляет несколько отличных патчей подряд, можете подумать о продвижении его до полноценного разработчика на вашем проекте.

Доводы "Против" open-source
Есть несколько причин, по которым, возможно, вашему приложению не стоит раскрывать свой код:

Другие могут украсть ваши идеи!  Я слышу этот аргумент снова и снова. Да, если вы выложите исходники вашего приложения для общего доступа, другие разработчики могут его скачать, сделать ребрэндинг и продавать как свое собственное изобретение. Что же, они в любом случае могут украсть ваши идеи - просто посмотрев на ваше приложение и создав свое, которое будет выглядеть и работать точно также. Конечно, переписывание приложения займет значительно больше времени чем ребрэндинг существующего. Но я сомневаюсь, что кто-либо осмелится продавать идентичную копию приложения в App Store. В конце концов, вы должны выбрать подходящую лицензию для вашего кода. Существует достаточный набор open-source лицензий, которые могли бы вам приглянутся. 

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

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

Бизнес модель для приложений с открытым исходным кодом

Вы можете иметь другую точку зрения (и если это так, то оставьте комментарий), но по моему мнению open-source это не угроза, а наоборот - шанс для вашего приложения. Если принять это за истину, то все равно остается вопрос как заработать на приложении с открытым исходным кодом? Вот несколько предложений:

Продавайте приложение в App Store. Да, это может звучать несколько странно после моих заявлений об open-source. Если что-то имеет открытый исходный код, как можно это продавать? Что же, выходит что продажа приложений в App Store замечательная идея, особенно для приложений с открытыми исходниками. App Store - единственный способ для ваших клиентов получить ваше приложение. Конечно, они могут скачать код, скомпилировать его и закачать на свой iPhone. Но, чтобы так поступить, они должны быть зарегистрированными разработчиками iPhone, что означает необходимость покупки сертификата разработчика. Не думаете ли вы, что намного дешевле просто купить ваше приложение, нежели покупать сертификат за 99 долларов США?

Если вы разрабатываете библиотеку или фреймворк, вы можете попробовать получить финансирование на Kickstarter. Это отличный способ для финансирования вашего проекта: вы определяете что вы хотите получить в результате и сколько вам для этого нужно и люди могут помочь вашему проекту, жертвуя различные суммы денег. Таким образом Джон Вейн, разработчик Glyphish, смог получить больше чем 27 тысяч долларов для разработки совместимой с iPhone 4 версии своей замечательной подборки иконок Glyphish. Кстати, его цель была 2 тысячи.

Я надеюсь, я смог воодушевить вас попробовать open-source, как стратегию для вашего следующего приложения или фреймворка. Если это так, дайте мне знать! Есть вероятность, что я могу прислать вам патч, чтобы добавить небольшую фичу, которой по моему мнению не достает вашему приложению :-)







Полезные ссылки:




Понравилось сообщение - подпишитесь на блог Подписка на блогFollow grodnosoft on Twitter




Читайте также:


Комментов: 0

Отправить комментарий