Наброс про безопасную разработку
На нашем курсе по лицензированию свободного программного обеспечения нас спросили: "а что же бывает/делать, если авторы удалили зависимость, которой я пользуюсь в своем проекте?".
С одной стороны, многие (но далеко не все) пакетные индексы имеют зеркала и можно попытаться найти зависимость там. С другой стороны, вы можете вести свою систему хранения используемых артефактов разработки.
С другой стороны, если авторы удаленного пакета ничего не сказали про использование оставшихся копий, то с точки зрения лицензии ничего страшного не произойдет (главное, чтобы она была).
Тем не менее, вспоминаются новости, когда незначимые (11 строк кода, Карл!) npm пакета удалились авторами и у всего мира попадали билды. И весь разработческий мир даже на секундочку задумался о том, что же они потребляют из Open Source и зачем это всё.
Мы уже писали про попытки сделать индексы критичности проектов, но в широкие массы практика проверки сторонних пакетов пока не заходит. Кто-то слышал про SCA (Software Composition Analysis), но пока петух не клюнет.
Вот и ещё шикарная новость из прошлого месяца: довольно используемый (7 млн. загрузок в неделю) пакетик
Неплохие мысли можно о безопасности фронтовых решений можно почитать тут, но это всё только начало.
Короче, Stay safe.
На нашем курсе по лицензированию свободного программного обеспечения нас спросили: "а что же бывает/делать, если авторы удалили зависимость, которой я пользуюсь в своем проекте?".
С одной стороны, многие (но далеко не все) пакетные индексы имеют зеркала и можно попытаться найти зависимость там. С другой стороны, вы можете вести свою систему хранения используемых артефактов разработки.
С другой стороны, если авторы удаленного пакета ничего не сказали про использование оставшихся копий, то с точки зрения лицензии ничего страшного не произойдет (главное, чтобы она была).
Тем не менее, вспоминаются новости, когда незначимые (11 строк кода, Карл!) npm пакета удалились авторами и у всего мира попадали билды. И весь разработческий мир даже на секундочку задумался о том, что же они потребляют из Open Source и зачем это всё.
Мы уже писали про попытки сделать индексы критичности проектов, но в широкие массы практика проверки сторонних пакетов пока не заходит. Кто-то слышал про SCA (Software Composition Analysis), но пока петух не клюнет.
Вот и ещё шикарная новость из прошлого месяца: довольно используемый (7 млн. загрузок в неделю) пакетик
ua-parser-js
был взломан. Тредик на Github и Reddit.Неплохие мысли можно о безопасности фронтовых решений можно почитать тут, но это всё только начало.
Короче, Stay safe.
Cue Data Validation Language
Для тех, кто много работает с конфигами и иными мета-данными в форматах json, yaml и т. п. весьма себе может пригодиться язык CUE (сокращение от Configure Unify Execute).
Может применяться для type-чекинга, задания и проверки схемы данных, кодогенерации (Go, Protobuf), конвертации yaml<->json, поиска по структурам и скриптования всякого.
Можно решать всякие частные задачки, например валидация конфигураций этих ваших Кубернетесов.
Документация тута. Написан на Go, код можно посмотреть на Github.
#языкибываютразные
Для тех, кто много работает с конфигами и иными мета-данными в форматах json, yaml и т. п. весьма себе может пригодиться язык CUE (сокращение от Configure Unify Execute).
Может применяться для type-чекинга, задания и проверки схемы данных, кодогенерации (Go, Protobuf), конвертации yaml<->json, поиска по структурам и скриптования всякого.
Можно решать всякие частные задачки, например валидация конфигураций этих ваших Кубернетесов.
Документация тута. Написан на Go, код можно посмотреть на Github.
#языкибываютразные
jq - легковесный json-процессор
Как быстро поработать с json не прибегая к написанию кода на python (ну например)?
https://stedolan.github.io/jq/
Обалденная тула, которая экономит кучу времени людям работающим со слабоструктурированными машиночитаемыми данными.
Простейший язык запросов в командной строке (хоть к нему нужно и привыкнуть), с хорошей документаицей.
Те, кто работал с
Пара примеров, и вперед, упрощать себе жизнь!
Выбор по ключу
Да, есть онлайн-чекалка.
Добавим ещё полезную обучалку.
#языкибываютразные
Как быстро поработать с json не прибегая к написанию кода на python (ну например)?
https://stedolan.github.io/jq/
Обалденная тула, которая экономит кучу времени людям работающим со слабоструктурированными машиночитаемыми данными.
Простейший язык запросов в командной строке (хоть к нему нужно и привыкнуть), с хорошей документаицей.
Те, кто работал с
sed
или awk
должны особенно проникнуться ;). Пара примеров, и вперед, упрощать себе жизнь!
Выбор по ключу
jq '.foo'Объединение списков
Input {"foo": 42, "bar": "less interesting data"}
Output 42
jq '.a + .b'Можно многое, короче.
Input {"a": [1,2], "b": [3,4]}
Output [1,2,3,4]
Да, есть онлайн-чекалка.
Добавим ещё полезную обучалку.
#языкибываютразные
Неопределённое поведение: зачем создатели языков заставляют программистов страдать
Сomputer Science Center проводит открытую лекцию Макса Казанцева, Senior Compiler Engineer в Azul Systems.
Лекция пройдёт 20 ноября в смешанном формате: онлайн и очно в НГУ — Новосибирск, ул. Пирогова д. 1, ауд. 2128. Начало в 16:20 НСК (12:20 МСК).
Регистрация: https://compscicenter.timepad.ru/event/1838918/
Программные ошибки, вызванные неопределённым поведением, стоили человечеству миллиарды долларов и миллионы человеко-часов, потраченных на их поиск и исправление. Так зачем же создатели языков программирования так упорно оставляют место для неопределённостей? В этой лекции мы поговорим о тех выгодах, которые языкам даёт возможность «отстрелить себе ногу».
Слушателям достаточно иметь базовые представления о программировании на С++.
Сomputer Science Center проводит открытую лекцию Макса Казанцева, Senior Compiler Engineer в Azul Systems.
Лекция пройдёт 20 ноября в смешанном формате: онлайн и очно в НГУ — Новосибирск, ул. Пирогова д. 1, ауд. 2128. Начало в 16:20 НСК (12:20 МСК).
Регистрация: https://compscicenter.timepad.ru/event/1838918/
Программные ошибки, вызванные неопределённым поведением, стоили человечеству миллиарды долларов и миллионы человеко-часов, потраченных на их поиск и исправление. Так зачем же создатели языков программирования так упорно оставляют место для неопределённостей? В этой лекции мы поговорим о тех выгодах, которые языкам даёт возможность «отстрелить себе ногу».
Слушателям достаточно иметь базовые представления о программировании на С++.
GSoC 2022. Теперь не только для студентов!
Пруф.
Из интересной статистики, за всё время существования программы (а она идет с 2005 года), участники написали более 38 млн. строк кода для 715 open source организаций. Т. е. уже больше чем строк в Линукс-ядре. Короче, есть что проанализировать ;).
Каждый год поддерживается более тысячи проектов, вот например проекты 2021 года. Тут и проекты Python Software Foundation и Apache Foundation, есть и поменьше, но не менее интересные.
Короче, если вы не студент, теперь можно.
Пруф.
Из интересной статистики, за всё время существования программы (а она идет с 2005 года), участники написали более 38 млн. строк кода для 715 open source организаций. Т. е. уже больше чем строк в Линукс-ядре. Короче, есть что проанализировать ;).
Каждый год поддерживается более тысячи проектов, вот например проекты 2021 года. Тут и проекты Python Software Foundation и Apache Foundation, есть и поменьше, но не менее интересные.
Короче, если вы не студент, теперь можно.
AWK
Мы уже упоминали
Многие относятся к AWK как к тулзе, но немногие знают, что на нем можно прям полноценно писать программы. Весь синтаксис описан в man pages, с огромным количеством примеров и пояснений. Открываешь и пишешь.
Первая версия была разработана ещё в далеком 1977 году небезызвестными создателями: Aho, Weinberger и Kernighan. Да, есть ещё GNU версия, которая называется GAWK, но по сути различия в реализации минимальные.
Что важно знать. Если вам нужно обработать текстовый файл, то далеко не всегда нужно хвататься на
Намного быстрее написать one-liner на awk. Умение в синтаксис тренируется за пару вечеров, а потом экономит вам килограммы времени!
Кто не готов читать маны :/, то неплохие статьи есть на хабре, opennet и особенно здесь, по-английски.
#языкибываютразные
Мы уже упоминали
awk
и sed
, так вот, сегодня про первый ;).Многие относятся к AWK как к тулзе, но немногие знают, что на нем можно прям полноценно писать программы. Весь синтаксис описан в man pages, с огромным количеством примеров и пояснений. Открываешь и пишешь.
Первая версия была разработана ещё в далеком 1977 году небезызвестными создателями: Aho, Weinberger и Kernighan. Да, есть ещё GNU версия, которая называется GAWK, но по сути различия в реализации минимальные.
Что важно знать. Если вам нужно обработать текстовый файл, то далеко не всегда нужно хвататься на
python
или другие языки, кажущиеся весьма подходящими и для простых задач. Также удобно использовать awk
, как и sed
в командной строке при соединении в pipe
.Намного быстрее написать one-liner на awk. Умение в синтаксис тренируется за пару вечеров, а потом экономит вам килограммы времени!
Кто не готов читать маны :/, то неплохие статьи есть на хабре, opennet и особенно здесь, по-английски.
#языкибываютразные
Catala - A Programming Language for the Law
И завершая неделю рубрики #языкибываютразные, хотим познакомить вас с предметно-ориентированным языком (DSL), который может заинтересовать тех, кто наводит мосты между юридической формалистикой и миром программирования.
https://catala-lang.org/
Несмотря на относительно смешное, особенно в контексте применения, название, язык назван в честь профессора Пьера Катала, пионера легалтеха в конце 60х годов.
Возможности:
- унифицировать определения;
- проводить формализацию и проверку законов;
- производить соответствующие расчеты и проверку логики.
Язык фундаментален, разрабатывается группой специалистов из French National Research Institute for Computer Science (Inria) и Microsoft Research. Французские корни повсюду, в примерах, в документации, в текстах коммитов, но не сильно мешает восприятию.
Реализация: OCaml & Python.
Github | Syntax | Paper
ЗЫ: вот мы тут задумались, а насколько Catala может помочь в анализе текстов лицензий? Обсудим в комментариях?
И завершая неделю рубрики #языкибываютразные, хотим познакомить вас с предметно-ориентированным языком (DSL), который может заинтересовать тех, кто наводит мосты между юридической формалистикой и миром программирования.
https://catala-lang.org/
Несмотря на относительно смешное, особенно в контексте применения, название, язык назван в честь профессора Пьера Катала, пионера легалтеха в конце 60х годов.
Возможности:
- унифицировать определения;
- проводить формализацию и проверку законов;
- производить соответствующие расчеты и проверку логики.
Язык фундаментален, разрабатывается группой специалистов из French National Research Institute for Computer Science (Inria) и Microsoft Research. Французские корни повсюду, в примерах, в документации, в текстах коммитов, но не сильно мешает восприятию.
Реализация: OCaml & Python.
Github | Syntax | Paper
ЗЫ: вот мы тут задумались, а насколько Catala может помочь в анализе текстов лицензий? Обсудим в комментариях?
T[HR]eads: извлекаем инсайды из переписок технарей и рекрутеров
Продолжая традицию #видоснавыходные, предлагаем посмотреть видео с выступления Михаила Кириллова на Data Fest 2020 с рассказом про анализ почтовой переписки разработчиков и рекрутеров.
Видео: https://www.youtube.com/watch?v=69aXIR1g-LM
Несмотря на то, что мы тут про #codemining, анализ артефактов разработки, таких как тикеты, коммиты и даже почта являются его частью, хоть чаще уходит в такое направление как #processmining. О нем мы ещё обязательно напишем, а пока предлагаем познакомиться с исследованием ребят.
Тезисы от Михаила:
Лайки, репосты, все дела 😏.
Продолжая традицию #видоснавыходные, предлагаем посмотреть видео с выступления Михаила Кириллова на Data Fest 2020 с рассказом про анализ почтовой переписки разработчиков и рекрутеров.
Видео: https://www.youtube.com/watch?v=69aXIR1g-LM
Несмотря на то, что мы тут про #codemining, анализ артефактов разработки, таких как тикеты, коммиты и даже почта являются его частью, хоть чаще уходит в такое направление как #processmining. О нем мы ещё обязательно напишем, а пока предлагаем познакомиться с исследованием ребят.
Тезисы от Михаила:
В докладе приводится результат анализа датасета переписки рекрутера и кандидатов ИТ-области. Анализ, в большей степени, классически-статистический, но с применением подходов обработки естественного языка, от токенизации до оценки тональности специализированных текстов. Авторы рассуждают о пользе применения примененных подходов в части оптимизации процессов рекрутмента и делают соответствующие выводы ;)
Лайки, репосты, все дела 😏.
YouTube
Михаил Кириллов | T[HR]eads: извлекаем инсайды из переписок технарей и рекрутеров
Data Fest Online 2020
Code Mining track https://ods.ai/tracks/code-mining-df2020
В докладе приводится результат анализа датасета переписки рекрутера и кандидатов ИТ-области. Анализ, в большей степени, классически-статистический, но с применением подходов…
Code Mining track https://ods.ai/tracks/code-mining-df2020
В докладе приводится результат анализа датасета переписки рекрутера и кандидатов ИТ-области. Анализ, в большей степени, классически-статистический, но с применением подходов…
Code Mining
Итак, сегодня, в 19:00 продолжаем курс. Подключиться можно по ссылке: live.ods.ai. Пароль Odscoursefest1. Или прям жмякать по ссылке: https://spatial.chat/s/ods?sp=Odscoursefest1 ЗЫ: мы понимаем, что вы подписывались про канал про ML4Code, скоро пойдут…
02. Open Source Licensing Course. Lecture.pdf
1.8 MB
Делимся слайдами со второй лекции по лицензированию.
Внутри:
- разбор лицензионной чистоты на примере пакета requests
- что делать когда лицензия отсутствует
- какие бывают кастомные нашлепки к лиц. соглашениям
- как учитывать патенты
- как учитывать окружения зависимостей
- какие бывают случаи смены лицензии на примере PonyORM
Предварительно-заключительная лекция будет 18 ноября. До встречи!
Внутри:
- разбор лицензионной чистоты на примере пакета requests
- что делать когда лицензия отсутствует
- какие бывают кастомные нашлепки к лиц. соглашениям
- как учитывать патенты
- как учитывать окружения зависимостей
- какие бывают случаи смены лицензии на примере PonyORM
Предварительно-заключительная лекция будет 18 ноября. До встречи!
ML4Code — большая подборка материалов
Огромная подборка статей, образовательных материалов и эвентов в области ML4Code.
Регулярно обновляется в соответствующем репозитории.
В мемориз, однозначно.
Огромная подборка статей, образовательных материалов и эвентов в области ML4Code.
Регулярно обновляется в соответствующем репозитории.
В мемориз, однозначно.
sed — Stream EDitor
Продолжая рубрику #языкибываютразные, напишем про ещё один прекрасный язык и больше-таки инструмент,
Разработан в 1973-1974 годах сотрудником Bell Labs Ли Макмэхоном под UNIX. Синтаксис с тех пор почти не изменился, а востребванность только возросла ;).
Суть его в том, чтобы обрабатывать потоковые данные, как понятно из названия. На вход данные, управляющие конструкции языка говорят, что с ними делать, на выходе модифицированные данные.
Всё просто. Отфильтровать, заменить/удалить по шаблону или регулярному выражению, провести хитрые перестановки, это то, зачем вам может быть полезен
Как и всегда, welcome to man pages, но есть и полезные статейки. Например по-русски тут или хорошая коллекция вариантов ежедневного применения на github.
Продолжая рубрику #языкибываютразные, напишем про ещё один прекрасный язык и больше-таки инструмент,
sed
.Разработан в 1973-1974 годах сотрудником Bell Labs Ли Макмэхоном под UNIX. Синтаксис с тех пор почти не изменился, а востребванность только возросла ;).
Суть его в том, чтобы обрабатывать потоковые данные, как понятно из названия. На вход данные, управляющие конструкции языка говорят, что с ними делать, на выходе модифицированные данные.
Всё просто. Отфильтровать, заменить/удалить по шаблону или регулярному выражению, провести хитрые перестановки, это то, зачем вам может быть полезен
sed
.Как и всегда, welcome to man pages, но есть и полезные статейки. Например по-русски тут или хорошая коллекция вариантов ежедневного применения на github.
Очередной перенос лекции по лицензированию :/
Волевым решением, мы снова переносим лекцию, которая была запланирована на завтра (18.11.21). Наш замечательный курс ещё находится в стадии разработки, поэтому многие идеи и материалы рождаются на ходу и требуют должного оформления в медиа-части и т. п. Приносим извинения за доставленные неудобства.
Лекция переносится на 25.11 (тоже четверг).
Тем не менее, наш эксперимент с домашними заданиями продолжается. У нас было два ДЗ, и мы уже получили первые решения (СПАСИБО!).
ДЗ №1. Ручная проверка лицензионной совместимости пакетов django, requests, ignite или выбрать свой. Подробности в слайдах первой лекции.
ДЗ №2. Использовать все доступные средства, чтобы найти open source проекты, в которых действительно происходит передача патентных прав. Подробности в слайдах второй лекции.
Решения направлять на почту Алексею: alexey@profiscope.io.
Волевым решением, мы снова переносим лекцию, которая была запланирована на завтра (18.11.21). Наш замечательный курс ещё находится в стадии разработки, поэтому многие идеи и материалы рождаются на ходу и требуют должного оформления в медиа-части и т. п. Приносим извинения за доставленные неудобства.
Лекция переносится на 25.11 (тоже четверг).
Тем не менее, наш эксперимент с домашними заданиями продолжается. У нас было два ДЗ, и мы уже получили первые решения (СПАСИБО!).
ДЗ №1. Ручная проверка лицензионной совместимости пакетов django, requests, ignite или выбрать свой. Подробности в слайдах первой лекции.
ДЗ №2. Использовать все доступные средства, чтобы найти open source проекты, в которых действительно происходит передача патентных прав. Подробности в слайдах второй лекции.
Решения направлять на почту Алексею: alexey@profiscope.io.
Code Mining pinned «Очередной перенос лекции по лицензированию :/ Волевым решением, мы снова переносим лекцию, которая была запланирована на завтра (18.11.21). Наш замечательный курс ещё находится в стадии разработки, поэтому многие идеи и материалы рождаются на ходу и требуют…»
Что такое PURL?
#словарькодмайнера
Питонист работает с PyPi и легко ориентируется в названиях подключаемых пакетов. Фронтендер аналогично работает с NPM. Но что если вам надо в рамках одной системы хранить, использовать и различать пакеты из разных экосистем?
Эту задачу и призван решить PURL — package "mostly universal" URL, т.е. практически универсальный URL (идентификатор) пакета. Это далеко не единственная, но наш взгляд одна из самых удачных схем идентификации пакетов, применимая к любому пакетному менеджеру и технологии.
Идентификатор составляют семь компонентов, объединённых в строку:
pkg:deb/debian/curl@7.50.3-1?arch=i386&distro=jessie
pkg:gem/ruby-advisory-db-check@0.12.4
pkg:github/package-url/purl-spec@244fd47e07d1004f0aed9c
pkg:golang/google.golang.org/genproto#googleapis/api/annotations
pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?packaging=sources
pkg:npm/foobar@12.3.1
pkg:nuget/EnterpriseLibrary.Common@6.0.1304
pkg:pypi/django@1.11.1
URL в названии используется не случайно, это действительно валидный адрес, соответсвующий стандартам, который вполне могут научиться обрабатывать разные приложения.
Подробно изучить стандарт можно по ссылке: https://github.com/package-url/purl-spec
#словарькодмайнера
Питонист работает с PyPi и легко ориентируется в названиях подключаемых пакетов. Фронтендер аналогично работает с NPM. Но что если вам надо в рамках одной системы хранить, использовать и различать пакеты из разных экосистем?
Эту задачу и призван решить PURL — package "mostly universal" URL, т.е. практически универсальный URL (идентификатор) пакета. Это далеко не единственная, но наш взгляд одна из самых удачных схем идентификации пакетов, применимая к любому пакетному менеджеру и технологии.
Идентификатор составляют семь компонентов, объединённых в строку:
scheme:type/namespace/name@version?qualifiers#subpath
```- scheme — константа со значением pkg
- type — обозначение пакетного менеджера (из словаря)
- namespace — например, groupId в Maven
- name и version говорят сами за себя
- qualifiers — дополнительная опциональная информация, например указание на архитектуру или операционную систему
- subpath — опциональный путь внутри пакета, относительно его корня
На примерах:
pkg:deb/debian/curl@7.50.3-1?arch=i386&distro=jessie
pkg:gem/ruby-advisory-db-check@0.12.4
pkg:github/package-url/purl-spec@244fd47e07d1004f0aed9c
pkg:golang/google.golang.org/genproto#googleapis/api/annotations
pkg:maven/org.apache.xmlgraphics/batik-anim@1.9.1?packaging=sources
pkg:npm/foobar@12.3.1
pkg:nuget/EnterpriseLibrary.Common@6.0.1304
pkg:pypi/django@1.11.1
`
URL в названии используется не случайно, это действительно валидный адрес, соответсвующий стандартам, который вполне могут научиться обрабатывать разные приложения.
Подробно изучить стандарт можно по ссылке: https://github.com/package-url/purl-spec
GitHub
GitHub - package-url/purl-spec: A minimal specification for purl aka. a package "mostly universal" URL, join the discussion at…
A minimal specification for purl aka. a package "mostly universal" URL, join the discussion at https://gitter.im/package-url/Lobby - GitHub - package-url/purl-spec: A minimal sp...
Ключевые моменты из The Forrester Wave™: Software Composition Analysis, Q3 2021
https://reprints2.forrester.com/#/assets/2/425/RES176091/report
Отчёт оценивает 10 ключевых игроков на рынке SCA по 37 параметрам из трёх групп: текущее предложение, стратегия, доля рынка. У каждого из представленных участников есть enterprise решения по компонентному анализу и минимум $10 млн выручки за эти продукты.
- средний процент использования open source библиотек в коде вырос с 36% в 2015 до 75% в 2020 году, важность мониторинга уязвимостей и соответствия этих библиотек внутрикорпоративным политикам растёт
- недавний приказ в США обязал всех поставщиков софта государству составлять и сдавать SBOM (Software Bill of Materials) в форматах SPDX или CycloneDx. SBOM — полный список, используемых сторонних компонент с информацией по их лицензиям, авторам и уязвимостям
- самые перспективные фичи SCA провайдеров:
- находить и анализировать не только open source, но и бинарные, непроприетарные компоненты и элементы инфраструктуры
- автоматизировать обновления и фиксы, при этом давать подробную информацию по изменениям и рискам программистам
- лидеры по сумме параметров вполне предсказуемо WhiteSource и Synopsys Black Duck. Первый делает большой упор на помощь разработчикам в исправлении проблем, во втором больше выделяется комплексный подход к анализу безопасности и более точный репортинг потенциальных проблем
- следом идут
- SonaType с целой линейкой дополняющих продуктов и фокусом на комплексное управление политиками вокруг компонентов
- Snyk с сильным упором на удобство разработчиков, интеграции и глубину анализа уязвимостей
- Veracode со стремлением объединить SCA с функциями SAST (статический анализ на уязвимости)
- из интересных чисел:
- несмотря на свою точность Black Duck получил всего 1 из 5 за качество отчётов
- WS при этом почему-то получил 1 из 5 за подход к рынку
- самые крутые отчёты, похоже, у Snyk, а пользователей больше всего у Sonatype
- прибыльность получила всего 3% веса в разделе стратегии, что кажется очень мало, если мы говорим про бизнес.
https://reprints2.forrester.com/#/assets/2/425/RES176091/report
Отчёт оценивает 10 ключевых игроков на рынке SCA по 37 параметрам из трёх групп: текущее предложение, стратегия, доля рынка. У каждого из представленных участников есть enterprise решения по компонентному анализу и минимум $10 млн выручки за эти продукты.
- средний процент использования open source библиотек в коде вырос с 36% в 2015 до 75% в 2020 году, важность мониторинга уязвимостей и соответствия этих библиотек внутрикорпоративным политикам растёт
- недавний приказ в США обязал всех поставщиков софта государству составлять и сдавать SBOM (Software Bill of Materials) в форматах SPDX или CycloneDx. SBOM — полный список, используемых сторонних компонент с информацией по их лицензиям, авторам и уязвимостям
- самые перспективные фичи SCA провайдеров:
- находить и анализировать не только open source, но и бинарные, непроприетарные компоненты и элементы инфраструктуры
- автоматизировать обновления и фиксы, при этом давать подробную информацию по изменениям и рискам программистам
- лидеры по сумме параметров вполне предсказуемо WhiteSource и Synopsys Black Duck. Первый делает большой упор на помощь разработчикам в исправлении проблем, во втором больше выделяется комплексный подход к анализу безопасности и более точный репортинг потенциальных проблем
- следом идут
- SonaType с целой линейкой дополняющих продуктов и фокусом на комплексное управление политиками вокруг компонентов
- Snyk с сильным упором на удобство разработчиков, интеграции и глубину анализа уязвимостей
- Veracode со стремлением объединить SCA с функциями SAST (статический анализ на уязвимости)
- из интересных чисел:
- несмотря на свою точность Black Duck получил всего 1 из 5 за качество отчётов
- WS при этом почему-то получил 1 из 5 за подход к рынку
- самые крутые отчёты, похоже, у Snyk, а пользователей больше всего у Sonatype
- прибыльность получила всего 3% веса в разделе стратегии, что кажется очень мало, если мы говорим про бизнес.
Open Source Licensing Course, final
Вот мы и на финишной прямой курса.
Сегодня в 19:00 заключительная лекция.
План лекции:
- множественное и двойное лицензирование;
- картина лицензирования в PyPI и в Data Science;
- свободные и несвободные инструменты для лицензионной чистоты проектов и как с ними работать в рамках CI/CD;
- подведение итогов по домашним заданиям;
- discussion по теме.
Если останутся откртые вопросы, допускаем, что сделаем ещё одну лекцию. Ну а если без вопросов, то мы уже сфокусируемся на записи видосов для широкого распространения.
Встречаемся сегодня в 19:00 в Spatial Chat,
по ссылке: https://spatial.chat/s/ods?sp=Odscoursefest1
Вот мы и на финишной прямой курса.
Сегодня в 19:00 заключительная лекция.
План лекции:
- множественное и двойное лицензирование;
- картина лицензирования в PyPI и в Data Science;
- свободные и несвободные инструменты для лицензионной чистоты проектов и как с ними работать в рамках CI/CD;
- подведение итогов по домашним заданиям;
- discussion по теме.
Если останутся откртые вопросы, допускаем, что сделаем ещё одну лекцию. Ну а если без вопросов, то мы уже сфокусируемся на записи видосов для широкого распространения.
Встречаемся сегодня в 19:00 в Spatial Chat,
по ссылке: https://spatial.chat/s/ods?sp=Odscoursefest1
app.spatial.chat
SpatialChat
Virtual space platform to help remote teams collaborate.
Code Mining pinned «Open Source Licensing Course, final Вот мы и на финишной прямой курса. Сегодня в 19:00 заключительная лекция. План лекции: - множественное и двойное лицензирование; - картина лицензирования в PyPI и в Data Science; - свободные и несвободные инструменты…»
Open Source Licensing Course - итоги и продолжение
Вот и закончилась основная часть курса по лицензированию. Урррыа 🥳🎉
Some stats. Суммарно, на курсе объявилось 20 уникальных участников, считаем, что это довольно неплохо. До финиша дошло не так много людей, как хотелось бы. Тем не менее, мы не ожидали, а ВСЕ домашние задания решенил ЦЕЛЫЙ ОДИН слушатель, за что мы особенно признательны! 🔥
По нашему желанию, мы продолжаем курс и подготовим материал не по ручному разбору лицензий, а о том как всё настроить и следить автоматически при помощи доступного инструментария. Но дату объявим попозжа, чтобы не переносить лишний раз ;).
ЗЫ: Слайды только что прошедшей лекции мы опубликуем в начале следующей недели.
Вот и закончилась основная часть курса по лицензированию. Урррыа 🥳🎉
Some stats. Суммарно, на курсе объявилось 20 уникальных участников, считаем, что это довольно неплохо. До финиша дошло не так много людей, как хотелось бы. Тем не менее, мы не ожидали, а ВСЕ домашние задания решенил ЦЕЛЫЙ ОДИН слушатель, за что мы особенно признательны! 🔥
По нашему желанию, мы продолжаем курс и подготовим материал не по ручному разбору лицензий, а о том как всё настроить и следить автоматически при помощи доступного инструментария. Но дату объявим попозжа, чтобы не переносить лишний раз ;).
ЗЫ: Слайды только что прошедшей лекции мы опубликуем в начале следующей недели.
Awesome Open Source Licensing
https://github.com/CodeScoring/awesome-open-source-licensing
По итогу создания курса по Open Source Licensing под уютным крылом ods.ai (https://ods.ai/tracks/open-source-licensing-course), мы собрали кучу рефов, статей, видосиков и тулов, короче все знания, которые могут вам пригодиться в повседневной разработке программного обеспечения при работе с Open Source.
Stars, forks, вот это всё, и передайте коллегам!
https://github.com/CodeScoring/awesome-open-source-licensing
По итогу создания курса по Open Source Licensing под уютным крылом ods.ai (https://ods.ai/tracks/open-source-licensing-course), мы собрали кучу рефов, статей, видосиков и тулов, короче все знания, которые могут вам пригодиться в повседневной разработке программного обеспечения при работе с Open Source.
Stars, forks, вот это всё, и передайте коллегам!
GitHub
GitHub - CodeScoring/awesome-open-source-licensing: Cool links, tools & papers related to Open Source Licensing
Cool links, tools & papers related to Open Source Licensing - CodeScoring/awesome-open-source-licensing