Всё равно у этого подхода остаётся масса проблем.
— банально плодятся бесполезные форки
— всё равно нет защиты от подмены репозитория, и нет автоматической возможности её обнаружить (как было бы с явным указанием хэша или submodule), нет защиты от удаления репозитория
— если у вас есть N проектов использующих какой-то код, этот код будет скачиваться, храниться и, что ещё важнее, компилироваться эти N раз
— если в чужом коде нашлась, например, критическая уязвимость, обновление всего парка его пользователей будет весёлым процессом. А ведь ваш код с обновлённым сторонним надо ещё доставить пользователям
Централизация как раз очень сильная — GitHub. При удалении или переименовании там репозитория сломаются все его пользователи. Это не говоря уже о хаосе который может учинить какой-нибудь роскомнадзор (для сравнения, пакетные репозитории большинства дистрибутивов как правило используют массу зеркал).
Также меня в таком подходе всегда пугала возможность автора используемого проекта тихо поломать всё что его использует или встроить злонамеренный код. Скорее всего там есть возможность явно указать hash коммита, но она должна быть обязательной. И в любом случае для этого уже есть git submodule, опять таки не привязанные к одному языку/системе сборки.
Имхо, эти мысли только от отсутствия в некоторых системах центрального пакетного репозитория из которого единообразно доступны любые библиотеки для любых языков.
У нас очень много как отдельных разработчиков, так и целых сообществ, которые обмениваются проектами (изредка исходниками) выкладыванием архивов на всяческие файлохостинги, а разработку координируют на разномастных форумах или чуть ли не в комментариях к посту в каком-нибудь богом забытом блоге. Очень показательный пример — gamedev.ru, ссылки на github там проскакивают едва ли не раз на несколько сотен «оцените-проект»ов. Я, разумеется, говорю не о проектах на которые у авторов, возможно, есть какие-то коммерческие планы, но о поделках начинающих и всяческом just-for-fun'е.
Я могу предположить почему так получается — скорее всего всё настолько банально, что людям просто не выпадает случая познакомиться с современным подходом к свободной разработке. Знакомое окружение — windows и ломаный софт (иначе в пакетном репозитории весть блеск СПО на ладони), о том чтобы в школе или ВУЗе рассказывали про Git и СПО даже речи нет, так что свои поделки выкладываются «как умею» т.е. через файлохостинг, и обладатели такого же опыта это без вопросов качают.
А вот как исправить ситуацию не придумывается. Я боюсь что просвещение на ровном месте тут будет воспринято в штыки потому что «мне и так хорошо, не хочу выкладывать код потому что там треш, не хочу учить какой-то git, не хочу указывать лицензию потому что это бюрократия, не хотите — не используйте мой код».
> Если вы не хотите, чтобы ваш ребенок стал наркоманом — то ЗАЧЕМ легализировать наркотики?
А если вы не хотите чтобы ваш ребёнок попал в аварию, то ЗАЧЕМ записывать его в автошколу? Получить права не означает водить, а водить — не означает попасть в аварию.
> Алкоголь с разной периодичностью употребляет наверное 80% населения. И хотя бы 1 раз пробовало почти 100%. Какой процент среди них спившихся алкоголиков?
> Сравните с процентом употреблявших героин хотя бы раз и кол-вом среди них конченных и умерших наркоманов.
Героин это не все наркотики. А этанол — тоже наркотик.
Ну так я и говорю — это надо искоренять, а не потакать этому. Если проект не может принять даже pull с исправлением опечатки — это дикость, и оправданий этому быть не может.
Это верно для Go но не для C++, например из-за условной компиляции, разных флагов компилятора в разных проектах и т.д.
— банально плодятся бесполезные форки
— всё равно нет защиты от подмены репозитория, и нет автоматической возможности её обнаружить (как было бы с явным указанием хэша или submodule), нет защиты от удаления репозитория
— если у вас есть N проектов использующих какой-то код, этот код будет скачиваться, храниться и, что ещё важнее, компилироваться эти N раз
— если в чужом коде нашлась, например, критическая уязвимость, обновление всего парка его пользователей будет весёлым процессом. А ведь ваш код с обновлённым сторонним надо ещё доставить пользователям
Также меня в таком подходе всегда пугала возможность автора используемого проекта тихо поломать всё что его использует или встроить злонамеренный код. Скорее всего там есть возможность явно указать hash коммита, но она должна быть обязательной. И в любом случае для этого уже есть git submodule, опять таки не привязанные к одному языку/системе сборки.
У нас очень много как отдельных разработчиков, так и целых сообществ, которые обмениваются проектами (изредка исходниками) выкладыванием архивов на всяческие файлохостинги, а разработку координируют на разномастных форумах или чуть ли не в комментариях к посту в каком-нибудь богом забытом блоге. Очень показательный пример — gamedev.ru, ссылки на github там проскакивают едва ли не раз на несколько сотен «оцените-проект»ов. Я, разумеется, говорю не о проектах на которые у авторов, возможно, есть какие-то коммерческие планы, но о поделках начинающих и всяческом just-for-fun'е.
Я могу предположить почему так получается — скорее всего всё настолько банально, что людям просто не выпадает случая познакомиться с современным подходом к свободной разработке. Знакомое окружение — windows и ломаный софт (иначе в пакетном репозитории весть блеск СПО на ладони), о том чтобы в школе или ВУЗе рассказывали про Git и СПО даже речи нет, так что свои поделки выкладываются «как умею» т.е. через файлохостинг, и обладатели такого же опыта это без вопросов качают.
А вот как исправить ситуацию не придумывается. Я боюсь что просвещение на ровном месте тут будет воспринято в штыки потому что «мне и так хорошо, не хочу выкладывать код потому что там треш, не хочу учить какой-то git, не хочу указывать лицензию потому что это бюрократия, не хотите — не используйте мой код».
В статье же написано что с некоторыми странами разница именно что процента составляет более 16 раз.
glib, apr, nspr
> Если вы не хотите, чтобы ваш ребенок стал наркоманом — то ЗАЧЕМ легализировать наркотики?
А если вы не хотите чтобы ваш ребёнок попал в аварию, то ЗАЧЕМ записывать его в автошколу? Получить права не означает водить, а водить — не означает попасть в аварию.
> Алкоголь с разной периодичностью употребляет наверное 80% населения. И хотя бы 1 раз пробовало почти 100%. Какой процент среди них спившихся алкоголиков?
> Сравните с процентом употреблявших героин хотя бы раз и кол-вом среди них конченных и умерших наркоманов.
Героин это не все наркотики. А этанол — тоже наркотик.
Да? А знаете как коктейль лонг-айленд появился?
Можно про это подробнее?
Насколько я знаю, отключить их нельзя (можно только issues). И это очень правильно.