Каков ты, русский опен сорс?

    В 2017-м году, когда я жил в Одессе (Украина), на украинском IT-портале DOU (аналог Хабра) опубликовали анализ наиболее активных "украинских" open source разработчиков: GitHub-акаунти українських ІТшників: хто в ТОПі. Я не попал в рейтинг, хотя по некоторым параметрам на тот момент превосходил многих его участников (например, по числу followers). Мне стало интересно, по какому принципу были отобраны кандидаты: по гражданству, стране проживания, языку в Javadoc, или по их location в GitHub. Думаю, что по последнему. Три года назад мне показалось это странным: в open source мире не должно быть, как я думал тогда, ни гражданств, ни прописок. Теперь я вижу, что ошибался.


    Несколько недель назад я написал статью у себя на блоге: Open Source Arms Race (название можно дословно перевести как "Open Source гонка вооружений"). В двух словах смысл следующий: open source из песочницы для хипстеров стремительно превращается в территорию жесткой конкурентной борьбы tech-гигантов типа IBM или Intel. Руководство, например, в Google уже не думает о том, разрешать ли своим кодерам комитить в GraalVM (который made by Oracle) и о том, сколько часов в неделю разрешить своим кодерам работать над своими личными проектами. Оно думает о том, как сделать это все быстрее, чем сделает Oracle.


    Уверен, вы знаете это лучше меня: с каждым годом мы пишем все меньше кода сами, и все больше продуктов и решений берем из open source и используем. Я говорил об этом несколько лет назад в своем докладе на RigaDevDays (вот видео): через 5-10 лет open source станет главным источником кода для всех бизнесов на планете (если еще не стал). Программный код (а в большинстве своем он будет открытым) — это нефть и хлеб будущих поколений.


    Еще несколько лет назад было неважно, кто именно их создает, эти open source продукты, от которых зависят наши бизнес решения. Все знали, что Apache HTTP Server или Nginx можно скачать и установить: они "ничьи", они просто есть, они "наши общие". Это было несколько лет назад. Сейчас это не так. Лучшие продукты скупаются или активно "поддерживаются" крупными компаниями. Иногда открыто, как делает это Google с Kubernetes или Amazon с Rust, а иногда через фонды типа Apache или GNOME. Достаточно подробно, с финансовой точки зрения, процесс захвата крупными корпорациями территории open source описан в недавнем блоге от A16Z (флагманский венчурный фонд Кремниевой Долины): Open Source: From Community to Commercialization. На мой взгляд, инвесторов интересует не столько прибыль, которая тоже бывает в open source, сколько авторы проектов, прежде ничего не стоящих, а теперь так стремительно набирающих ценность в глазах крупных корпораций.


    Open source проекты становятся своего рода акумуляторами талантов и технологий, владея которыми, несложно завладеть и рынком потребителей. Очень скоро весь рынок будет поделен и каждый новый более-менее интересный open source продукт будет получать поток предложений о спонсорстве, едва набрав тысячу звезд на GitHub.


    Вопрос к вам, коллеги: готовы ли вы к этому? Есть ли у вас что показать open source меценатам уже сейчас или через пару лет? Умеете ли вы создавать open source продукты, поддерживать их, развивать, собирать вокруг них пользователей, обрабатывать их issues и pull requests, и выдерживать конкуренцию от агрессивного forking-а (ваши проекты будут копировать, доделывать, и выдавать за свои)? В своей последней книге Code Ahead я посвятил этой проблеме несколько глав: это крайне сложный новый вид деятельности, к которому средний программист просто не готов. Как к нему подготовиться? Только практикой создания своих проектов.


    Что делать, если компания, где вы работаете, не зовется Google и не разрешает создавать свои проекты, а выходные заняты семьей и хобби? Хорошего совета у меня для вас нет. Скорее всего, дела ваши плохи и рано или поздно вы окажетесь за бортом индустрии. Почему в России так мало committers в крупные open source проекты, спрашивал здесь несколько лет назад @epahomov, и предложил ответ: "потому, что нет компаний в России, которые хотели бы держать committers" (это было в 2015-м году). С тех пор кое-что изменилось. Yandex и JetBrains — два достаточно заметных игрока на open source рынке, с центрами разработки в России.


    Есть еще одна компания с центром разработки в России, которая решительно держит курс на open source, и в которой мне повезло не так давно оказаться: Huawei. Имея огромный штат разработчиков из более чем 80,000 человек по всему миру (для сравнения в Google 27K, а в Oracle 38K), в Huawei много лет успешно справлялись с задачами closed-source разработки. Пришло время включиться в борьбу за open source территорию и ставка сделана на российский рынок, который, как мне кажется, подходит лучше всего: он очень молод и неразвит. Его можно вырастить и развить.


    Для этого нужно найти молодые open source проекты, помочь им стать крупнее, научить их создателей побеждать в "борьбе за pull request", дать им ресурсы для развития, и подтолкнуть остальных "сомневающихся" сделать первый шаг и создать свой первый open source продукт. Процесс запущен, мы сделали первое в своем роде событие: KaiCode. Это что-то вроде инкубатора, но не для стартапов, а для open source продуктов. Работает так: 1) присылаете свой проект через форму, 2) мы выбираем полтора десятка лучших, 3) они приезжают на площадку к нам 5-го сентября (или удаленно) и презентуют себя, 4) жюри выбирает трех лучших и выдает каждому по $5,000 (как подарок). Через год (а может быть и раньше) все это повторяется снова.


    Конечно, можно и не подавать проект, а приехать послушать презентации самых смелых. Для этого нужно получить бесплатный билет здесь. Для получения билета нужно знать кого-то, кто уже такой билет получил. Если никого не знаете, то приходите в нашу Телеграм группу, что-то придумаем: @kaicode.


    Увидимся на KaiCode!

    Huawei
    Компания

    Комментарии 43

      +3
      Я сперва подумал, что это будет тест аля «кто ты из смешариков?»
        +4
        Вообще-то странно для какой-нибудь небольшой компании оплачивать своим разработчикам их «опенсорсное» время, с мыслями о том, заберет ли потом к себе условный Гугл их ценных работников.
          0
          Тут как бы речь о том, что выбора у небольших компаний может не остаться.
          Ценные работники всё меньше будут хотеть идти в такие компании, а свои будут уходить покоммитив на выходных и будучи замеченными. И либо терять на бОльших зарплатах либо «терять» на оплате в опенсорс. В кавычках — потому что уже сейчас менеджменту часто выгоднее заплатить за коммит в опенсорс чтобы разделить стоимость сопровождения с конкурентами.
          Нечто похожее наблюдал у нас в Беларуси с сотовыми операторами. Пока их было два основных, каждый сам ставил свои вышки. Когда появился третий, два первых стали ставить вышки вскладчину.
            +2
            vvadzim
            Ценные работники всё меньше будут хотеть идти в такие компании
            Почему? Работники идут туда, где интересная работа и хорошая оплата. Разрешение контрибьютить в опенсорс — не на первых местах в этих требованиях.

            а свои будут уходить, покоммитив на выходных и будучи замеченными
            Уходить куда? В опенсорс? В Гугл?

            Про кооперацию согласен.

            PereslavlFoto
            Странно также и оплачивать им чай, оплачивать им печенье, оплачивать им проезд на работу, оплачивать им рабочее место. Вообще как-то странно и дико, когда компания оплачивает своим работникам условия для работы.
            Еще более странно оплачивать им работу на других.

            fougasse
            Зачастую, опенсорс для небольшой/средней компании выгоден, т.к. никто не мешает делать свои закрытые ветки, но в то же де время получать помощь/ревью/баги сообщества в основном репозитории.
            Так здесь вы ведете речь уже не о том, чтобы работать на другой опенсорс, а чтобы сделать свой продукт опенсорсным и получать помощь со стороны. В этом как раз смысл есть (при надлежащем лицензировании).
              0

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

                0
                Так это же совсем другая ситуация! У вас просто не осталось выбора.
                +2
                Почему? Работники идут туда, где интересная работа и хорошая оплата. Разрешение контрибьютить в опенсорс — не на первых местах в этих требованиях.
                Не могу судить о собственной ценности, но однажды на проекте возникла ситуация с багом в опенсорсной библиотеке. Я о ситуации просигнализировал, написал что вот, чтобы пофиксить наш баг — надо пофиксить тот, чужой. И получил ответ, что возможны такие варианты
                1) я фикшу чужой баг за свой счёт;
                2) я делаю костыль в нашем проекте за оплату и далее сопровождаю костыль сам и отвечаю за него в рамках сопровождения проекта;
                3) я делаю закрытый форк, фикшу баг за оплату и далее сопровождаю форк сам и отвечаю за него в рамках сопровождения проекта.
                Но бесплатно отдавать код, за который мы заплатили, мы никому не будем.

                Я решил что наши цели в жизни у нас слишком разные и ушёл в контору где на прямой вопрос про опенсорс мне удивленно сказали — какие нафиг форки?! всё в назад в сад опенсорс! даже свои либы, которые хоть потенциально могут быть использованы другими! пусть народ мучается и тестирует, чего за это платить?
                Ну там ещё и зарплату мне там дали в полтора раза выше, но это детали ;)

                Было это 10 лет назад. Не знаю, было ли это как-то связано, но штат второй конторы на десятичный порядок превышал штат первой. Оба проекта были мне очень интересны, всё как я люблю.
                  0
                  Конечно, опенсорсить свой код, чтобы его бесплатно тестили другие — идея на миллион! Но Егор говорит, что компаниям также выгодно, чтобы разработчики контрибьютили в опенсорсные проекты, которыми компания сама не пользуется! Чувствуете разницу?

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

                  Вариант а — супер, б — нормальный, в — странный.

                  Может я Егора до конца не понял, поэтому вот просто такие оценки без привязки к самой статье.
                0
                Ценные работники всё меньше будут хотеть идти в такие компании, а свои будут уходить покоммитив на выходных и будучи замеченными.

                Уходить, будучи замеченными, вообще не зависит от кодинга на выходных/в рабочее время. Согласно статье выше в Google работают 27К человек, всего же программистов намного больше. Так что у небольших компаний будут и выбор и кадры.
                К тому же работа в Google не то чтобы какая-то панацея, многие даже известные люди уходят оттуда в свои проекты, например, им так больше нравится/надоело в гугле.
                +10
                Странно также и оплачивать им чай, оплачивать им печенье, оплачивать им проезд на работу, оплачивать им рабочее место. Вообще как-то странно и дико, когда компания оплачивает своим работникам условия для работы.

                Ведь чтобы корова лучше доилась, надо её меньше кормить и больше доить, не так ли?
                  0
                  Вроде как идея Егора была раньше — что скоро будет оплата только за результат. Т.е. да, все что вы написали оплачивать не будут, есть код нужный для компании, проходит оплата. Нет кода — нет оплаты.
                    0
                    О, так это вы говорите про отказ от трудовых отношений и переход к товарным отношениям!
                      0
                      Послушайте как-нить доклад Егора по менеджменту, он как раз про это и говорит
                    0

                    Действительно, дико.

                    +3

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

                      +1

                      я с нетерпением жду нового поста на диоде!

                      +2
                      Что делать, если компания, где вы работаете, не зовется Google и не разрешает создавать свои проекты, а выходные заняты семьей и хобби? Хорошего совета у меня для вас нет. Скорее всего, дела ваши плохи и рано или поздно вы окажетесь за бортом индустрии.

                      То ли это просто полный бред, то ли тут в логическом суждении пропущено дофига шагов.
                      Призываю в помощь тех, кто это понял.
                        0
                        Не все так плохо. Сейчас уже некоторые отечественные не-IT компании стали выкладывать свои внутренние наработки в опен сорс. Например, только вчера слушал доклад Константина Густова из Райффайзенбанка о корпоративном опен сорсе.
                          0
                          Да вы тоже не поняли кажется. Автор вроде как пророчит апокалипсис всем кто не коммитит в опен сорс. Что ну прям просто чушь.

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

                          Ну или я автора не понял.
                            +1
                            Автор говорит о том, что свободное ПО стало экзаменом, который отличает хороших программистов от дурных программистов.
                              –1
                              А я говорю что большего бреда в жизни не слышал.
                              Писал дурной программист код, писал. Затем его код открыли и стал он сразу хорошим программистом.

                              Впрочем то что на эту метрику будет кто-нибудь ориентироваться сомнений у меня нет. Кто-то до сих верит что хороший программист знает почему люки круглые и сколько теннисных мячиков влезет в автобус.
                              0
                              Сейчас во многие компании тест либо на хакерранг-е либо форкнуть репозиторий и написать свою реализацию.
                              И не удивлюсь, что в будущем требованием будет умение опенсоурсить.
                              Особенно меня наталкивает на это тот факт, что многие пишут велосипед вокруг опенсоурса. А когда проходит год или два и они сваливают — всем больно от того, что в мастере уже есть этот функционал, но он естественно не совместим с велосипедом. А все от того, что чуваки не умеют свой код в мастер запихнуть
                                0
                                «Умение опенсоурсить» ещё какое-то выдумали. Это вы так описали умение сделать форк и пулл реквест?
                                  +2
                                  А Вы попробуйте и все поймете. Сделайте fork, сделайте pull request, добейтесь того, чтобы его приняли. И так раз 100. И возвращайтесь сюда с рассказом о том, как это было легко и ничего нового Вы в этом не нашли. А мы послушаем.
                                    0
                                    Если мейнтейнер жив/активен, согласен на фичу, имеет внятный acceptance criteria, то в чём проблема?

                                    А если эти условия не соблюдены, то Вы не к тем профессионалам с предложением работы обращаетесь. Это в Sales сперва.
                                      0

                                      Даже если я все опишу и отправлю код на ревью, то может 20-30 дней пройти. И это когда не нужно причесывать его. Иногда и месяцы.
                                      По ощущениям это сложнее, когда проект большой.
                                      Например в докер впихнуть изменения было не реально. Наша компания наняла специального человека на полный рабочий день, который этим занимался.
                                      Для Openstack была целая команда.
                                      Компания платила за то, что бы пулл реквесты замерджили в некоторые проекты.

                              +1
                              Хуже, когда компания вместо того, чтобы взять чужой open source, открывать там issues и слать pull requests, делает его полнейший клон, выкладывает на гитхаб и выдает за свою уникальную разработку. Российские IT-гиганты так любят делать, вы поняли о ком я.
                                0
                                Вы про AlterOffice? Это действительно может стать проблемой, вот линк на статью, где разоблачают тот же AlterOffice, для тех кто не видел.
                                  +1
                                  Нет, не поняли. Факты в студию! Нам интересно!)
                              0
                              3) они приезжают на площадку к нам 5-го сентября (или удаленно) и презентуют себя, …

                              Презентацию нужно проводить на английском языке?

                                +1
                                Да, конечно. Какой же это опен сорс, если он на русском?
                                  0
                                  Здесь должен был быть анекдот про то, какие языки учат оптимисты и пессимисты…
                                    0

                                    Браво.

                                  0
                                  Очевидно, Егор считает, что за фрилансерами-опенсорсерами будущее. Но, на мой взгляд, он упускает нечто важное — отрасль будет вынуждена стагнировать из-за дефицита молодых и отчаянных кадров. Где им учиться-то, Егор?
                                  Если все будут фрилансерами-опенсорсерами, то от кого им впитывать опыт от накопленных десятками лет ошибок?

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

                                  Бесспорно, опенсорс будет развиваться как и положено такому потрясающему явлению, я сам люблю опенсорс, но считаю, что не следует смешивать все в одну кучу. Впрочем, в книгах Вы так и делаете, гениальные идеи мешаете с бредовыми, от чего остается какой-то осадок, вроде феноменальные вещи говорите, а потом обрубаете все каким-нибудь: «Операторы тоже должны быть объектами», после этого сложно прислушиваться к Вам.
                                    0
                                    Егор, вы специально по долгу службы занизили в разы количество сотрудников Google и Oracle делая отсылки на статьи 6 летней давности? Реальные цифры немного отличаются от Ваших Google ~114K , Oracle ~136k
                                      +1
                                      Я указывал количество инженеров, а не общий персонал. В Huawei всего около 190К людей, но только 80К инженеров
                                        0
                                        Егор, в список open source проектов которые были запущены Google будет измеряться сотнями, а может и тысячами, а в 10-ку наиболее значимых войдут Andorid, Angular, GO, Dart, TenzorFlow, Kubernetis и т.д. Только в BigData области наработки Google дали жизнь таким продуктам как Apache Hadoop, Apache Hbase, Apache Zookeeper, Apache Drill.
                                        Мне кажется не корректно проводить такие сравнения и сопоставлять компании. Но конечно было бы интересно узнать какие значимые проекты были созданы и открыты для open source мира со стороны Huawei.
                                          0
                                          Я вроде бы нигде не сопоставлял Google с Huawei по объему достижений) Конечно Google впереди планеты всей. Кто с этим спорит?
                                      0

                                      А для чего такое ограничение по звёздам на GitHub и возрасту проекта? Yii вот хоть 12 лет и звёзды перевалили за 10K, но с бюджетами и спонсорством не всё ладно (они есть, но хочется больше чтобы двигаться быстрее).

                                        0
                                        Это нежесткое ограничение. Мы каждый проект будем рассматривать индивидуально. Но если у проекта очень много звезд уже давно и у него до сих пор нет спонсора, то может быть стоит задуматься о его реальной ценности?
                                          0

                                          Я не говорил что спонсоров нет. Они есть, но этого для масштабов проекта недостаточно.

                                            0

                                            Отправил заявку.

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

                                        Самое читаемое