Connect with us

Разработка

Отдавайте свой код, но не свое время

Рано или поздно многие мейнтейнеры программ с открытым исходным кодом отказываются тратить на это свое время, что приводит к стагнации проекта. Разработчик Уильям Гросс предложил свое решение этой проблемы.

Анна Гуляева

Опубликовано

/

     
     

Рано или поздно многие мейнтейнеры программ с открытым исходным кодом отказываются тратить на это свое время, что приводит к стагнации проекта. Разработчик Уильям Гросс предложил свое решение этой проблемы.

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

У меня больше нет времени или энергии, чтобы вносить вклад в open source. Мне не платят за эту работу, и всё это время я мог бы потратить на писательство или другие личные дела… По этой причине я решил закончить с работой над open source. – Райан Бигг, бывший мейнтейнер некоторых проектов Ruby и Elixir.

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

Когда мы решим завести детей, я, вероятно, покину open source насовсем… Этот крайний вариант должен стать решением проблемы. – Нолан Лоусон, один из мейнтейнеров PouchDB

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

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

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

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

Один класс проектов с открытым исходным кодом избежал этой участи. Что, помимо известности, общего у Linux, MySQL, Android, Chromium и .NET Core? Все они стратегически важны для одной или многих компаний, потому что они дополняют их интересы. Умные компании делают свои дополнения массово доступными, а нет ничего дешевле программы с открытым исходным кодом. Red Hat нужно, чтобы компании использовали Linux для того, чтобы продавать Enterprise Linux; Oracle использует MySQL как стартовый наркотик для MySQL Enterprise; Google хочет, чтобы у всех в мире был телефон и веб-браузер; а Microsoft пытается привлечь разработчиков на платформу, чтобы потом они перешли на облако Azure. Эти проекты напрямую спонсируются крупными компаниями. Но что насчет остальных проектов, которые не являются частью большой стратегии?

Если вы лидер одного из таких проектов, введите годовую плату за членство в сообществе. Открытый код, закрытое сообщество. Пользователи получат сообщение “делайте с нашим кодом все, что хотите, но платите нам за наше время, если вы хотите повлиять на будущее проекта”. Заблокируйте неплатящих пользователей и игнорируйте их письма. Они должны чувствовать, что пропускают все интересное. Также платите участникам за время, потраченное на реализацию нетипичных запросов. Будьте дисциплинированы и помните о YAGNI.

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

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

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

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

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

Анна Гуляева
Комментарии Facebook
Продолжить чтение
Click to comment

You must be logged in to post a comment Login

Leave a Reply

Новости

Интересные материалы: 21.11

Лучшие материалы о разработке и маркетинге технологических продуктов.

Леонид Боголюбов

Опубликовано

/

Весь день мы собираем лучшие материалы о разработке и маркетинге технологий, стартапов, мобильных приложений и игр для iOS и Android из самых разных источников:

Леонид Боголюбов
Комментарии Facebook
Продолжить чтение

Мероприятия

Avito iOS Meetup Winter Edition: 2 декабря в Москве

Зима близко! Уже второго декабря состоится традиционный Avito iOS Meetup.

AppTractor

Опубликовано

/

Автор:

Мы обсудим Data Driven подход, практическое применение Mach-O, lldb и dSYM, возможности расширения lldb, методологию Type Driven, а также концептуальные различия архитектур. В мероприятии примут участие представители Avito, Badoo, Туту.ру и Яндекс.

Программа:

  • Метрики всему голова
    Вадим Смаль (Avito)
    Поговорим о Data-driven подходе к разработке. Вадим продемонстрирует, какие метрики можно собирать, как они помогут быть эффективным и как следить за качеством разрабатываемой функциональности. Подробно рассмотрим, как замерять время компиляции отдельных фреймворков, размер приложения, время запуска приложения, CrashFree, OOM. Если вы до сих пор думаете, что метрики это только для менеджеров и аналитиков — будете приятно удивлены.
  • Расширения lldb
    Сергей Лем (Badoo)
    Все хотят писать код без багов. Но, к сожалению, пока что мало у кого это получается.И почти всегда отладка приложений занимает львиную долю времени при разработке.Поэтому важно иметь наиболее совершенные инструменты в своем арсенале и не тратить время не ерунду. Сергей Лем расскажет о том, как прокачать lldb при помощи  расширений на Python и сделать отладку приятнее и быстрее.
  • Mach-O, lldb, dSYM на практике
    Владислав Алексеев (Avito)
    В докладе речь пойдёт о бинарном формате исполняемых файлов Mach-O, об отладочной информации и объектных файлах. Рассмотрим, как работают брейкпоинты и символизация крешлогов. Поймем, когда и зачем нам нужны файлы dSYM, а в каких случаях их создавать совершенно не требуется. Также изучим случаи непрямого использования dSYM-файлов для анализа содержимого скомпилированного бинарного файла.
  • Type Driven Development
    Валерий Попов (Yandex)
    В докладе Валерий рассматривает строгую типизацию, которая может стать еще одним рубежом обороны надежного приложения от ошибок разработчика. На примерах будет показано, как дополнительная информация, переданная на этапе компиляции, поможет отловить ряд ошибок, не доводя систему до падения в runtime. Расскажет, что мобильный разработчик может почерпнуть из языков, которые ставят типы во главе процесса разработки.
  • Architecture overdose
    Стас Цыганов (Туту.ру)
    Стас Цыганов предлагает поговорить о разных архитектурах: как верхнего слоя, так и всего приложения. Речь не о баззвордах и сравнениях, у кого больше букв: цель —  понять, чем же они концептуально отличаются. Разберемся, почему появляется по архитектуре в неделю и почему в них нет ничего нового. Ну и в конце посмотрим, на что надо будет обратить внимание при выборе архитектуры следующего приложения.

Участие в мероприятии бесплатное, регистрация обязательна. Сбор участников: 12:00. Начало докладов: 12:30. Адрес: офис компании Avito, Лесная 7.

AppTractor
Комментарии Facebook
Продолжить чтение

Новости

Эксперты выяснили, для чего Google форкнул Swift

Теоретически, добавление Swift позволит быстро портировать приложения c платформы Apple.

Леонид Боголюбов

Опубликовано

/

На прошлой неделе Google на GitHub форкнул Swift, язык программирования, который создала Apple для разработки iOS/macOS/tvOS/watchOS приложений.

Эксперты полагали, что Google сможет вносить дополнения в открытый язык или использовать его для разработки внутренних инструментов для iPhone и iPad.

Однако последние коммиты в репозиторий Swift показывают, что Google работает над поддержкой Fuchsia OS. На GitHub вы уже можете посмотреть на “Hello World” приложение на Swift для. Fuchsia

Fuchsia: новая операционная система от Google

Fuchsia поддерживает Dart, C++ и Go. Теоретически, добавление Swift позволит быстро портировать приложения c платформы Apple.

Леонид Боголюбов
Комментарии Facebook
Продолжить чтение

Разработка

AR стала частью реальности: что дальше?

Сегодня мы поговорим о важном событии в истории Apple (и это не запуск iPhone X) – мы поговорим о том, благодаря чему дополненная реальность (AR) стала чем-то большим, чем несбыточной мечтой маркетологов.

Джей лаб

Опубликовано

/

Автор:

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

На сегодняшний день практически все эти препятствия исчезли. С помощью ARKit любой разработчик может создавать приложения в интерактивном формате, которые будут работать на новых iPhone, а также на некоторых предыдущих версиях (6 и выше) с iOS 11. Сотни миллионов пользователей iPhone, а также 100 миллионов устройств Android, которые теперь используют ARCore SDK от Google, означают, что настал переломный момент в переходе технологии AR на массовый рынок.

И как всегда, когда поведение потребителей начинает меняться, каждый хочет знать: «Что это значит для брендов? Как маркетологи могут использовать эту новую, интересную технологию для привлечения внимания потребителей?». С появлением оптимизированного оборудования у компаний появилось больше возможностей. Но как ими правильно воспользоваться?

Почему ARKit лучше альтернатив?

Ждите и наблюдайте

Помните, когда появился 3D Touch? Многие разработчики полагали, что он предоставит совершенно новый уровень навигации по мобильному приложению и что «долгое нажатие» станет таким же общепринятым действием, как «свайп». Но так ли это на самом деле? Вы, например, им пользуетесь? :) У меня есть доступ к этой функции уже более двух лет, и я только недавно обнаружил, что на обычном фонарике на iPhone есть три разных степени интенсивности, которые доступны только при глубоком нажатии на значок в Настройках. Теперь я постоянно использую уровень «низкого света» – но, согласитесь, два года – это совсем не быстрый уровень принятия новой функции.

То же самое касается AR. Все предсказания о том, что дополненная реальность войдет в повседневную жизнь пользователей, не подтвердятся, если на то не будет веской причины.

Конечно, демо-версия игры The Machines выглядит круто, но достаточно ли круто для ежедневного использования большим количеством юзеров? Для того, чтобы AR действительно стала частью нашей повседневной жизни, она должна создавать ценность, выходящую за пределы развлечения. Демо-версия приложения Главной лиги бейсбола выглядит гораздо интереснее, потому что информация о ходе игры и командах, отображающаяся прямо во время матча – это ценная информация, которую пользователи хотят видеть.

Сфера туризма и путешествий также готова к буму AR: приложения, которые накладывают указатели направлений на реальные улицы, отображают перевод надписей на реальных поверхностях, выдают информацию о достопримечательностях в непосредственной близости от них, – все они расширяют границы нашего восприятия мира. Мало кто знает, что до того, как Niantic запустили Pokémon Go, они создали Field Trip для Google Glass, которые уже поддерживали эту функцию.

Начните с малого – затем совершенствуйте, адаптируйте и переориентируйте

У нас есть отличная возможность, но все, что требуется, чтобы испортить ее – это плохая рекламная концепция или некачественное исполнение. Конечно, мы должны попробовать разные подходы и экспериментировать, чтобы в итоге все получилось, но я рекомендую начинать с малого. Для начала внедрите AR опыт, который меньше относится к вашему бренду и больше к вашей отрасли и аудитории. Например, ресторан может виртуально поместить на пустую тарелку вкусный, сочный бургер, но без логотипа на булочке и подписи «2 по цене 1». Для начала соберите данные о том, как потребители используют функциональность AR и как реагируют на нее.

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

Внедряйте лучшие методы и практики

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

На данный момент AR – это все еще «новая модная вещь», но стоит потратить немного своего времени и энергии, и мы действительно сможем понять, как мы можем эффективно ее использовать и устанавливать свои стандарты, создавая при этом новое рекламное пространство.

Джей лаб
Комментарии Facebook
Продолжить чтение

november

24novallday26What the hack?!

25novalldaySmart Taler 2017

25novalldayLadies Code: время технологий

30novalldaySmart Cars & Roads 2017

december

02decalldayAvito iOS Meetup Winter Edition

05dec18:3022:00Яндекс изнутри: глазами iOS-разработчика

08decallday09Кубок СTF России

09decallday10Games Gathering 2017

09decalldayЛекционный день по игровой индустрии

Наша рассылка

Каждому подписавшемуся - "1 час на UI аудит": бесплатный ускоренный курс для разработчиков веб и мобильных приложений!

Нажимая на кнопку "Подписаться" вы даете согласие на обработку персональных данных.

Наш Facebook

Популярное

X

Спасибо!

Теперь редакторы в курсе.