Что такое Software Bill of Materials (SBOM)
Продолжаем рубрику #словарькодмайнера.
Мы, конечно, живём в своём пузыре, но внутри него немного нелепая аббревиатура SBOM за последний год стала всплывать в разы чаще, чем раньше. Даже Байден про неё говорил, и теперь все IT проекты для госорганов США должны содержать этот самый SBOM, это уже не шутки.
Software Bill of Materials — это список всех open source и других сторонних компонент, использующихся в кодовой базе программного продукта. По каждой компоненте SBOM минимально содержит информацию о названии, версии и лицензии. Некоторые форматы обязательным указывают ещё и тип компонента (например, «фреймворк» или «библиотека»).
Дополнительно SBOM может содержать информацию по уязвимостям, подлинности, дочерним зависимостям и кучу других контекстных данных.
Составлять и поддерживать SBOM в теории полезно всем проектам. На практике за полным списком зависимостей с учётом транзитивных мало кто следит, не говоря уже об их качестве, перспективах и жизнеспособности. Ещё меньше компаний и программистов обращают внимание на лицензии и их совместимость. К уязвимостям внимания чуть больше, как и инструментов для их обнаружения, например, в том же GitHub или пакетных менеджерах.
Самые известных форматы SBOM это:
- CycloneDX https://cyclonedx.org/
- SPDX https://spdx.dev/
- SWID https://csrc.nist.gov/projects/Software-Identification-SWID
- табличка в Excel 🤭
Иногда SBOM пишут BOM, BoM, SBoM, и вообще как только не угорают. Вообще BOM пришёл из производства, где представляет собой опись всех деталей, из которых состоит продукт.
Для генерации SBOM используется два основных источника информации:
1. манифесты и lock-файлы пакетных менеджеров
2. непосредственный поиск скопированных файлов или частей кода в кодовой базе
Про то, какими инструментами генерировать SBOM и как потом использовать, мы расскажем отдельно.
Подробнее про SBOM советуем читать на сайте National Telecommunications and Information Administration:
https://www.ntia.gov/SBOM
Продолжаем рубрику #словарькодмайнера.
Мы, конечно, живём в своём пузыре, но внутри него немного нелепая аббревиатура SBOM за последний год стала всплывать в разы чаще, чем раньше. Даже Байден про неё говорил, и теперь все IT проекты для госорганов США должны содержать этот самый SBOM, это уже не шутки.
Software Bill of Materials — это список всех open source и других сторонних компонент, использующихся в кодовой базе программного продукта. По каждой компоненте SBOM минимально содержит информацию о названии, версии и лицензии. Некоторые форматы обязательным указывают ещё и тип компонента (например, «фреймворк» или «библиотека»).
Дополнительно SBOM может содержать информацию по уязвимостям, подлинности, дочерним зависимостям и кучу других контекстных данных.
Составлять и поддерживать SBOM в теории полезно всем проектам. На практике за полным списком зависимостей с учётом транзитивных мало кто следит, не говоря уже об их качестве, перспективах и жизнеспособности. Ещё меньше компаний и программистов обращают внимание на лицензии и их совместимость. К уязвимостям внимания чуть больше, как и инструментов для их обнаружения, например, в том же GitHub или пакетных менеджерах.
Самые известных форматы SBOM это:
- CycloneDX https://cyclonedx.org/
- SPDX https://spdx.dev/
- SWID https://csrc.nist.gov/projects/Software-Identification-SWID
- табличка в Excel 🤭
Иногда SBOM пишут BOM, BoM, SBoM, и вообще как только не угорают. Вообще BOM пришёл из производства, где представляет собой опись всех деталей, из которых состоит продукт.
Для генерации SBOM используется два основных источника информации:
1. манифесты и lock-файлы пакетных менеджеров
2. непосредственный поиск скопированных файлов или частей кода в кодовой базе
Про то, какими инструментами генерировать SBOM и как потом использовать, мы расскажем отдельно.
Подробнее про SBOM советуем читать на сайте National Telecommunications and Information Administration:
https://www.ntia.gov/SBOM
Аналитика полного цикла разработки в почти реальном времени
Видео:
https://www.youtube.com/watch?v=BiLew55dxho
Продолжая традицию #видоснавыходные, в этот раз поговорим об анализе так называемых код-артефактов в применении к анализу жизненного цикла разработки (SDLC, Software Development Lifecycle).
Докладчик Вадим Марковцев, очень так некисло причастный к целой грядке крутейших инструментов выпущенных в open source компаниями source{d} и Athenian. Про них мы ещё обязательно напишем.
Тезисы от автора:
Лайки, репосты, все дела 😏.
Видео:
https://www.youtube.com/watch?v=BiLew55dxho
Продолжая традицию #видоснавыходные, в этот раз поговорим об анализе так называемых код-артефактов в применении к анализу жизненного цикла разработки (SDLC, Software Development Lifecycle).
Докладчик Вадим Марковцев, очень так некисло причастный к целой грядке крутейших инструментов выпущенных в open source компаниями source{d} и Athenian. Про них мы ещё обязательно напишем.
Тезисы от автора:
Я работаю в международном стартапе Athenian в качесте Head of Analytics и управляю командой бэкенда SaaS продукта. Мы продаем зарубежным компаниям облачное веб-приложение которое указывает на узкие места процессов разработки, непрерывной интеграции, деплоев, и JIRA. При этом стараемся придерживаться принципов blameless и non-personal, иначе говоря, делаем все возможное чтобы лиды-пользователи не стали сравнивать пиписьки рядовых разработчиков.
Одна из ключевых фишек Athenian - мы непрерывно анализируем поток событий GitHub и JIRA и обновляем все метрики и предсказания на лету. Это оказалось сложно, и я расскажу почему именно, какие ошибки мы допустили, как их исправляли и добились результата, и чего нам это стоило в $$$.
Лайки, репосты, все дела 😏.
YouTube
Вадим Марковцев | Аналитика полного цикла разработки в *почти* реальном времени
Data Fest Online 2021
Code Mining track https://ods.ai/tracks/code-mining-df2021
Спикер: Вадим Марковцев, Head of Analytics @Athenian
Я работаю в международном стартапе Athenian в качесте Head of Analytics и управляю командой бэкенда SaaS продукта. Мы продаем…
Code Mining track https://ods.ai/tracks/code-mining-df2021
Спикер: Вадим Марковцев, Head of Analytics @Athenian
Я работаю в международном стартапе Athenian в качесте Head of Analytics и управляю командой бэкенда SaaS продукта. Мы продаем…
Semgrep. Легковесный статический анализатор
Если вам нужно что-нибудь находить в исходниках, для исследований или в рамках CI/CD-процессов, то может приглянуться Semgrep.
Удобное написание правил, гибкие интеграции, хорошая документация и конечно же свободное программное обеспечение (репа, LGPL-2.1).
Есть публичный реестр правил, где можно посмотреть-поучиться и погонять в интерактиве. Внутри примеры на проверки инъекций, xss, xxe, плохого журналирования и т. п. согласно OWASP-классификации.
Поддерживает почти 20 языков.
Хороших грепов мало не бывает.
Если вам нужно что-нибудь находить в исходниках, для исследований или в рамках CI/CD-процессов, то может приглянуться Semgrep.
Удобное написание правил, гибкие интеграции, хорошая документация и конечно же свободное программное обеспечение (репа, LGPL-2.1).
Есть публичный реестр правил, где можно посмотреть-поучиться и погонять в интерактиве. Внутри примеры на проверки инъекций, xss, xxe, плохого журналирования и т. п. согласно OWASP-классификации.
Поддерживает почти 20 языков.
Хороших грепов мало не бывает.
Code2Code @AI Journey Contest 2021
В рамках AIJ с 7 по 31 октября проводится Fusion Brain Challenge.
Участникам предлагается решить 4 задачи в борьбе за призовые в ₽6.5 млн (первое место - до ₽3 млн).
Чем это интересно нам? А тем, что первой задачей стоит Code2code Translation, где предлагается попереводить Java<->Python.
Участникам предлагается датасет для обучения, в котором содержится 6к решенных задач на каждом из языков, на каждом языке от 1 до 5 вариантов решения.
Подробные описания данных, где брать и что курить на странице челленджа.
Описание и сорцы также доступны на на Github. Лицензия проекту не выставлена 😱, но по части C2C сорцы под Apache 2.0 & MIT.
За наводку на соревы спасибо: @lovedeathtransformers.
В рамках AIJ с 7 по 31 октября проводится Fusion Brain Challenge.
Участникам предлагается решить 4 задачи в борьбе за призовые в ₽6.5 млн (первое место - до ₽3 млн).
Чем это интересно нам? А тем, что первой задачей стоит Code2code Translation, где предлагается попереводить Java<->Python.
Участникам предлагается датасет для обучения, в котором содержится 6к решенных задач на каждом из языков, на каждом языке от 1 до 5 вариантов решения.
Подробные описания данных, где брать и что курить на странице челленджа.
Описание и сорцы также доступны на на Github. Лицензия проекту не выставлена 😱, но по части C2C сорцы под Apache 2.0 & MIT.
За наводку на соревы спасибо: @lovedeathtransformers.
Code Mining Overview
О чем же ML4Code? Какие задачи, какие особенности?
Продолжая рубрику #видоснавыходные, сегодня у нас Глеб Моргачев, Researcher из уважаемой компании JetBrains рассказывает про основные направления применения машинного обучения к исходному коду и процессу разработки.
Какие бывают задачи, какие предположения и особенности данных используются в процессе разработки. Приводится обзор уже решенных задач, а также всё ещё актуальных задач.
Видео (CodeMining Track'20):
https://www.youtube.com/watch?v=IH3_xSq3ic4
Лайки, репосты, все дела 😏.
О чем же ML4Code? Какие задачи, какие особенности?
Продолжая рубрику #видоснавыходные, сегодня у нас Глеб Моргачев, Researcher из уважаемой компании JetBrains рассказывает про основные направления применения машинного обучения к исходному коду и процессу разработки.
Какие бывают задачи, какие предположения и особенности данных используются в процессе разработки. Приводится обзор уже решенных задач, а также всё ещё актуальных задач.
Видео (CodeMining Track'20):
https://www.youtube.com/watch?v=IH3_xSq3ic4
Лайки, репосты, все дела 😏.
YouTube
Глеб Моргачев | Code Mining Overview: зачем ML и какие задачи решаем?
Data Fest Online 2020
Code Mining track https://ods.ai/tracks/code-mining-df2020
Спикер: Глеб Моргачев, Researcher @JetBrains.
В докладе представлены основные направления применения машинного обучения к исходному коду и процессу разработки. Какие бывают…
Code Mining track https://ods.ai/tracks/code-mining-df2020
Спикер: Глеб Моргачев, Researcher @JetBrains.
В докладе представлены основные направления применения машинного обучения к исходному коду и процессу разработки. Какие бывают…
Реанонс Курса по лицензированию Open Source
Всем привет! Курс про лицензии свободного программного обеспечения уже совсем-совсем рядом.
Дата: 21.10.21 (четверг).
Время: 19:00, вечером.
Напомним, что курс планируется из трех еженедельных встреч, по 1,5-2 часа.
В ближайшую встречу, 21 октября, Алексей Смирнов, расскажет про особенности лицензирования СПО:
- почему умение разбираться в лицензиях относится к безопасной разработке;
- какие бывают виды лицензий и что же они ограничивают;
- как воспринимать (читать) отдельные пункты лицензионных соглашений;
- про транзитивные зависимости и вероятные проблемы;
- патентные особенности лицензий;
- какую лицензию выбрать для своего DS/ML проекта?
- как обеспечить лицензионную совместимость зависимостей: если вы выбрали лицензию X, почему нельзя выбирать компоненты с лицензией Y?
Максимально с примерами и живым обсуждением.
Встреча пройдет в SpacialChat ODS: live.ods.ai. Креды - ближе к событию.
Если есть вопросы, их можно задать в комментариях ;).
Всем привет! Курс про лицензии свободного программного обеспечения уже совсем-совсем рядом.
Дата: 21.10.21 (четверг).
Время: 19:00, вечером.
Напомним, что курс планируется из трех еженедельных встреч, по 1,5-2 часа.
В ближайшую встречу, 21 октября, Алексей Смирнов, расскажет про особенности лицензирования СПО:
- почему умение разбираться в лицензиях относится к безопасной разработке;
- какие бывают виды лицензий и что же они ограничивают;
- как воспринимать (читать) отдельные пункты лицензионных соглашений;
- про транзитивные зависимости и вероятные проблемы;
- патентные особенности лицензий;
- какую лицензию выбрать для своего DS/ML проекта?
- как обеспечить лицензионную совместимость зависимостей: если вы выбрали лицензию X, почему нельзя выбирать компоненты с лицензией Y?
Максимально с примерами и живым обсуждением.
Встреча пройдет в SpacialChat ODS: live.ods.ai. Креды - ближе к событию.
Если есть вопросы, их можно задать в комментариях ;).
Страничка курса про лицензирование, реакшены приветствуются ;). Ну и до встречи в четверг.
Code Mining
Реанонс Курса по лицензированию Open Source Всем привет! Курс про лицензии свободного программного обеспечения уже совсем-совсем рядом. Дата: 21.10.21 (четверг). Время: 19:00, вечером. Напомним, что курс планируется из трех еженедельных встреч, по 1,5…
Курс про лицензирование ПО уже совсем близко!
Напоминаем, что сегодня (21.10.21) в 19:00 состоится первая часть курса про лицензирование свободного программного обеспечения.
Встречаемся в Spatial Chat, пароль: odscoursefest1
Напоминаем, что сегодня (21.10.21) в 19:00 состоится первая часть курса про лицензирование свободного программного обеспечения.
Встречаемся в Spatial Chat, пароль: odscoursefest1
Code Mining pinned «Курс про лицензирование ПО уже совсем близко! Напоминаем, что сегодня (21.10.21) в 19:00 состоится первая часть курса про лицензирование свободного программного обеспечения. Встречаемся в Spatial Chat, пароль: odscoursefest1»
Code Mining
И мы планируем начинать через 10 минут. Ещё раз креды: Spatial Chat, пароль: odscoursefest1
Всем спасибо за участие! Для начала вышло неплохо, будем продолжать!
Спасибо за вопросы, обратную связь принимаем в комментариях и в личке.
Спасибо за вопросы, обратную связь принимаем в комментариях и в личке.
Анализ исходных кодов, обзор последних статей. Ищем уязвимости в коде
Видео:
https://www.youtube.com/watch?v=t1VWaM6oS5k
Продолжая традицию #видоснавыходные, предлагаем посмотреть видео с прошлогоднего выступления Константина Тяпочкина из profiscope.io на Data Fest 2020 с обзором актуальных инструментов и направлений исследований.
Тезисы от автора:
Под видео можно найти ссылки на полезные статьи.
Лайки, репосты, все дела 😏.
Видео:
https://www.youtube.com/watch?v=t1VWaM6oS5k
Продолжая традицию #видоснавыходные, предлагаем посмотреть видео с прошлогоднего выступления Константина Тяпочкина из profiscope.io на Data Fest 2020 с обзором актуальных инструментов и направлений исследований.
Тезисы от автора:
В докладе приводится обзор последних разработок и новинок в области Code Mining в направлениях: суммаризации и классификации кода (Code2vec, code2seq и PathPair2Vec подходы), нахождение уязвимостей в коде (Commit2vec, CC2vec, AST-based, Token-embeddings-CNN-based подходы), обзор свеженького CodeBERT, а также порассуждаем об уязвимостях в ML-моделях, их порче и лечению.
Под видео можно найти ссылки на полезные статьи.
Лайки, репосты, все дела 😏.
YouTube
Константин Тяпочкин: Анализ исходных кодов, обзор последних статей. Ищем уязвимости в коде
Data Fest Online 2020
Code Mining track https://ods.ai/tracks/code-mining-df2020
Спикер: Константин Тяпочкин, Senior researcher @profiscope.io.
В докладе приводится обзор последних разработок и новинок в области Code Mining в направлениях: суммаризации…
Code Mining track https://ods.ai/tracks/code-mining-df2020
Спикер: Константин Тяпочкин, Senior researcher @profiscope.io.
В докладе приводится обзор последних разработок и новинок в области Code Mining в направлениях: суммаризации…
Supply Chain Attack
Продолжаем пополнять #словарькодмайнера.
Атака на цепочку поставок, или в оригинале Supply Chain Attack — один из самых актуальных и популярных в последнее время у взломщиков и других «русских хакеров» способов получения доступа на сервера своих жертв.
Нашумевший взлом SolarWinds, затронувший сотни тысяч клиентов по всему миру, включая крупные корпорации и правительственные агентства США — тоже был реализован через Supply Chain Attack. Очень громкими были случаи внедрения в цепочку поставок хардварных криптовалютных кошельков несколько лет назад. По факту попытки взломов таким путём происходят каждый день и, судя по всему, их будет только больше.
Уточним, Supply Chain Attack — это и внедрения в цепи поставки софта, и вполне себе физические внедрения, когда при транспортировке железки с конвейера до потребителя с ней могут сделать что-то нехорошее.
Попробуем на пальцах объяснить, как это работает.
Supply Chain Attack — это когда доступ к целевой системе атакующий получает не напрямую, а через внедрение в какой-либо используемый организацией продукт или компонент, которому она доверяет. При этом поставщик продукта может и не знать о проблеме, распространяя зловредный софт своим клиентам.
Допустим, ваша компания очень заботится о безопасности своей сети и серверов. Но с огромной вероятностью она использует какой-нибудь существующий внешний программный продукт, для простоты возьмём CRM. Такие продукты требуют регулярных обновлений, но что интереснее — они зависят от других компонентов. Например, какой-нибудь open source библиотеки, либо ещё какого-то коммерческого продукта. В этом случае злоумышленнику может быть проще внедриться в ту самую библиотеку или менее защищенный коммерческий продукт и подождать, когда цепочка поставок сама сделает своё дело.
Частным случаем таких атак являются Dependency Confusion Breach и Typosquatting Attack. Когда атакующий публикует в популярные индексы зараженные библиотеки, рассчитывая, что программист опечатается при установке компонента, либо система сборки возьмёт библиотеку из индекса вместо локального пакета.
Бороться с такими атаками сложно. Просто внимательности не хватит. С учётом транзитивных зависимостей и вообще количества используемых сторонних компонентов в любом софте, руками решать такие задачи сложно. Поэтому многие такие атаки очень долго остаются незамеченными. В случае с SolarWinds дыра эксплуатировалась в течение нескольких месяцев до обнаружения.
Количество автоматизированных решений, систем защиты, обнаружения и оповещения о возможных проблемах растёт. Растёт и их качество. Конечно, и атаки становятся всё более изощрёнными. К сожалению, как и во многих случаях, кажется, это будет вечная гонка добра со злом.
Для искушенных советуем изучить относительно свежие рекомендации от Cybersecurity and Infrastructure Security Agency при поддержке NIST: https://www.cisa.gov/sites/default/files/publications/defending_against_software_supply_chain_attacks_508_1.pdf
Продолжаем пополнять #словарькодмайнера.
Атака на цепочку поставок, или в оригинале Supply Chain Attack — один из самых актуальных и популярных в последнее время у взломщиков и других «русских хакеров» способов получения доступа на сервера своих жертв.
Нашумевший взлом SolarWinds, затронувший сотни тысяч клиентов по всему миру, включая крупные корпорации и правительственные агентства США — тоже был реализован через Supply Chain Attack. Очень громкими были случаи внедрения в цепочку поставок хардварных криптовалютных кошельков несколько лет назад. По факту попытки взломов таким путём происходят каждый день и, судя по всему, их будет только больше.
Уточним, Supply Chain Attack — это и внедрения в цепи поставки софта, и вполне себе физические внедрения, когда при транспортировке железки с конвейера до потребителя с ней могут сделать что-то нехорошее.
Попробуем на пальцах объяснить, как это работает.
Supply Chain Attack — это когда доступ к целевой системе атакующий получает не напрямую, а через внедрение в какой-либо используемый организацией продукт или компонент, которому она доверяет. При этом поставщик продукта может и не знать о проблеме, распространяя зловредный софт своим клиентам.
Допустим, ваша компания очень заботится о безопасности своей сети и серверов. Но с огромной вероятностью она использует какой-нибудь существующий внешний программный продукт, для простоты возьмём CRM. Такие продукты требуют регулярных обновлений, но что интереснее — они зависят от других компонентов. Например, какой-нибудь open source библиотеки, либо ещё какого-то коммерческого продукта. В этом случае злоумышленнику может быть проще внедриться в ту самую библиотеку или менее защищенный коммерческий продукт и подождать, когда цепочка поставок сама сделает своё дело.
Частным случаем таких атак являются Dependency Confusion Breach и Typosquatting Attack. Когда атакующий публикует в популярные индексы зараженные библиотеки, рассчитывая, что программист опечатается при установке компонента, либо система сборки возьмёт библиотеку из индекса вместо локального пакета.
Бороться с такими атаками сложно. Просто внимательности не хватит. С учётом транзитивных зависимостей и вообще количества используемых сторонних компонентов в любом софте, руками решать такие задачи сложно. Поэтому многие такие атаки очень долго остаются незамеченными. В случае с SolarWinds дыра эксплуатировалась в течение нескольких месяцев до обнаружения.
Количество автоматизированных решений, систем защиты, обнаружения и оповещения о возможных проблемах растёт. Растёт и их качество. Конечно, и атаки становятся всё более изощрёнными. К сожалению, как и во многих случаях, кажется, это будет вечная гонка добра со злом.
Для искушенных советуем изучить относительно свежие рекомендации от Cybersecurity and Infrastructure Security Agency при поддержке NIST: https://www.cisa.gov/sites/default/files/publications/defending_against_software_supply_chain_attacks_508_1.pdf
ВАЖНО! Лекция по лицензированию #2 переносится на 04.11
К сожалению, вторая лекция по лицензированию свободного ПО переносится на следующую неделю в связи с болезнью докладчика :/.
ЗЫ: в связи с этим, несколько задерживается и выкладка слайдов с первого занятия. Всё будет.
К сожалению, вторая лекция по лицензированию свободного ПО переносится на следующую неделю в связи с болезнью докладчика :/.
ЗЫ: в связи с этим, несколько задерживается и выкладка слайдов с первого занятия. Всё будет.
Code Mining pinned «ВАЖНО! Лекция по лицензированию #2 переносится на 04.11 К сожалению, вторая лекция по лицензированию свободного ПО переносится на следующую неделю в связи с болезнью докладчика :/. ЗЫ: в связи с этим, несколько задерживается и выкладка слайдов с первого…»
Data Halloween'21
На эти выходные не #видоснавыходные, а #мегавидоснавыходные и даже больше!
Сегодня стартует очередной Data Halloween, на который запланировано много событий, за которыми можно будет как последить в реальном времени на ютуб-стриме, так и понетворкаться в нетворкинг-комнатах в Spacial Chat.
От нашей CodeMining команды будет движж ScaryCode, о нем мы напишем сразу после завтрашнего анонса Диктатором ODS ;).
Ещё раз, расписание тут: https://ods.ai/events/halloween2021.
Старт сегодня в 12:00.
На эти выходные не #видоснавыходные, а #мегавидоснавыходные и даже больше!
Сегодня стартует очередной Data Halloween, на который запланировано много событий, за которыми можно будет как последить в реальном времени на ютуб-стриме, так и понетворкаться в нетворкинг-комнатах в Spacial Chat.
От нашей CodeMining команды будет движж ScaryCode, о нем мы напишем сразу после завтрашнего анонса Диктатором ODS ;).
Ещё раз, расписание тут: https://ods.ai/events/halloween2021.
Старт сегодня в 12:00.
Scary Code Competition
Па-бам! Только сегодня и только до 17 часов (!) вы можете поучаствовать в движе на самый ужасный код, Scary Code Competition.
В чем фишка?
1. Мы сделали измерялку цикломатической сложности https://scarycode.codescoring.com/.
2. Вы можете предложить любой репозиторий на анализ, желательно свой ;). Нужно просто указать ссылку.
3. Почту указывать необязательно, но если хотите славы, можете указать.
4. Залить нужно до 17 часов, а в 18 часов, на ODS стриме мы заревьювим этот код, попытаемся сдержать кровавые слезы и выбрать лучших!
5. Победители получают мерч ODS!
Всем код!
Па-бам! Только сегодня и только до 17 часов (!) вы можете поучаствовать в движе на самый ужасный код, Scary Code Competition.
В чем фишка?
1. Мы сделали измерялку цикломатической сложности https://scarycode.codescoring.com/.
2. Вы можете предложить любой репозиторий на анализ, желательно свой ;). Нужно просто указать ссылку.
3. Почту указывать необязательно, но если хотите славы, можете указать.
4. Залить нужно до 17 часов, а в 18 часов, на ODS стриме мы заревьювим этот код, попытаемся сдержать кровавые слезы и выбрать лучших!
5. Победители получают мерч ODS!
Всем код!
Scary Code Competition Results
Подведем итоги наших коротких соревнований на самый сложный проект.
За субботу было отправлено 38 проектов 🔥.
Какие проекты только не отправлялись, в том числе и популярные, такие как Tensorflow, Kubernetes, GRPC и даже вспомнили про Quake-III-Arena. Авторских решений было немного, поэтому мы подумываем о продолжении данного конкурса ;).
Рекорсменом на файл с самой высокой цикломатической сложностью стал проект GCC и "файлик" с кодом получивший оценку аж в 2229.
Самым сложным проектом (по средней цикломатической сложности) стал проект Биморф, с потрясающими исходниками, которые прям хочется вывести в принт.
Под занавес стрима ODS Halloween были выбраны победители получившие крутой мерч от ods.ai, с чем мы их и поздравляем!
Мы в очередной раз получили наглядное представление о том, что измерение инженерных метрик по коду бывает весьма полезным для ревью и нахождения частей кода требующих рефакторинга (хотя в отношение GCC это может показаться спорным утверждением ;).
Будем думать дальше, как улучшить следующие движухи. За цикломатическую сложность!
Подведем итоги наших коротких соревнований на самый сложный проект.
За субботу было отправлено 38 проектов 🔥.
Какие проекты только не отправлялись, в том числе и популярные, такие как Tensorflow, Kubernetes, GRPC и даже вспомнили про Quake-III-Arena. Авторских решений было немного, поэтому мы подумываем о продолжении данного конкурса ;).
Рекорсменом на файл с самой высокой цикломатической сложностью стал проект GCC и "файлик" с кодом получивший оценку аж в 2229.
Самым сложным проектом (по средней цикломатической сложности) стал проект Биморф, с потрясающими исходниками, которые прям хочется вывести в принт.
Под занавес стрима ODS Halloween были выбраны победители получившие крутой мерч от ods.ai, с чем мы их и поздравляем!
Мы в очередной раз получили наглядное представление о том, что измерение инженерных метрик по коду бывает весьма полезным для ревью и нахождения частей кода требующих рефакторинга (хотя в отношение GCC это может показаться спорным утверждением ;).
Будем думать дальше, как улучшить следующие движухи. За цикломатическую сложность!
Code Mining
Курс про лицензирование ПО уже совсем близко! Напоминаем, что сегодня (21.10.21) в 19:00 состоится первая часть курса про лицензирование свободного программного обеспечения. Встречаемся в Spatial Chat, пароль: odscoursefest1
01. Open Source Licensing Course. Lecture.pdf
2.6 MB
А вот и слайды приехали.
Code Mining
ВАЖНО! Лекция по лицензированию #2 переносится на 04.11 К сожалению, вторая лекция по лицензированию свободного ПО переносится на следующую неделю в связи с болезнью докладчика :/. ЗЫ: в связи с этим, несколько задерживается и выкладка слайдов с первого…
Вторая лекция курса по лицензированию (04.11)
Ура, наконец мы возвращаемся к продолжению курса по лицензированию свободного программного обеспечения!
На второй лекции мы разберем практику лицензионной совместимости (чистоты) и особенности лицензирования:
- разбор лицензионной чистоты на примере пакета requests;
- влияние лицензии на популярность проекта;
- что делать когда лицензия отсутствует;
- какие бывают кастомные нашлепки к лиц. соглашениям;
- как учитывать патенты;
- как учитывать окружения зависимостей;
- какие бывают случаи смены лицензии.
На заключительную (но не факт) лекцию мы оставляем:
- двойное лицензирование;
- тонкости и кейсы совместимости лицензий;
- совместимость с российским законодательством;
- обзор лицензионного ландшафта DS-проектов.
Всех ждем завтра в 19:00 в Spacial Chat ODS: live.ods.ai.
Пароль опубликуем завтра.
Ура, наконец мы возвращаемся к продолжению курса по лицензированию свободного программного обеспечения!
На второй лекции мы разберем практику лицензионной совместимости (чистоты) и особенности лицензирования:
- разбор лицензионной чистоты на примере пакета requests;
- влияние лицензии на популярность проекта;
- что делать когда лицензия отсутствует;
- какие бывают кастомные нашлепки к лиц. соглашениям;
- как учитывать патенты;
- как учитывать окружения зависимостей;
- какие бывают случаи смены лицензии.
На заключительную (но не факт) лекцию мы оставляем:
- двойное лицензирование;
- тонкости и кейсы совместимости лицензий;
- совместимость с российским законодательством;
- обзор лицензионного ландшафта DS-проектов.
Всех ждем завтра в 19:00 в Spacial Chat ODS: live.ods.ai.
Пароль опубликуем завтра.
Code Mining pinned «Вторая лекция курса по лицензированию (04.11) Ура, наконец мы возвращаемся к продолжению курса по лицензированию свободного программного обеспечения! На второй лекции мы разберем практику лицензионной совместимости (чистоты) и особенности лицензирования:…»