Отвратительная? Ну да, мерзкие людишки пишут свой софт и публикуют его под GPL, что не даёт вам его использовать в своём проприетарном продукте. Так? Вот ведь негодяи. И лицензия плохая.
А вы и не можете его удалить, если хоть кто-то нажал на кнопку «форкнуть».
А если вы будете говорить, что именно свой репозиторий вы удалите — я вас разочарую, ваш репозиторий и репозиторий форка — один и тот же, и коммиты там общие. Вы можете в этом убедиться форкнув что-либо, добавив туда новый коммит, и посмотрев этот коммит в репозитории оригинала.
Я очень сильно сомневаюсь, что это был единственный такой пакет. Это достаточно распространённая практика, когда несколько людей имеют доступ. А было снесено, напоминаю, около 250 модулей.
Не передёргивайте, я утверждал совсем не это. Я говорю, что такие методы донесения своей позиции до всех не являются в моём понимании приемлемыми. А вы утверждали, что в вашем понимании — являются.
Повторю свой вопрос — должен ли я был испортить неделю ещё более широкому кругу разработчиков, когда нашёл другую проблему в экосистеме (которая с моей точки зрения более важная) и попробовал её донести до всех? Я считаю, что не должен был, и поэтому я ограничился записью в блоге.
По поводу донесения своих мыслей — да, сколько угодно. Пусть ведёт блог, пусть выступает на конференциях, пусть раздаёт листовки на улице.
Но доносить свои мысли методом поломки рабочего окружения огромному количеству людей и удалением чужих модулей — не очень красивый поступок, не находите?
Я достаточно разобрался в этом вопросе, уж поверьте мне. https://github.com/substack/provinces/issues/20 — посмотрите сюда. Азер удалил пакет provinces, который был создан и опубликован Джеймсом. Азер просто имел к нему доступ, так как являлся одним из разработчиков этого пакета, которому Джеймс дал этот доступ. Джеймс ему доверял.
Это во-первых. Во-вторых, я лично никого не могу минусовать — я свои первые комментарии на хабре написал в этой теме, и кнопки со стрелочками у меня банально не активны.
Во-первых, не путайте клиент npm и репозиторий на npmjs.org.
Во-вторых, есть некоторые разговоры о децентрализованном хранилище пакетов, но тут надо быть очень аккуратными — у немодерируемого бесконтрольного репозитория пакетов, которые вообще-то могут делать от имени пользователя что угодно, будут свои (и очень значительные) минусы.
Подпишусь под этим высказыванием.
Кстати, насколько я знаю, ещё одна сторона проблемы была в том, что Азер удалил не только свои пакеты, а все, к которым он имел доступ на публикацию. Часто у разрабатываемого сообществом пакета есть некий список людей, которые могут выкладывать новые версии.
То, что любой из них может (уже мог) целиком удалить этот пакет — недоработка со стороны npm. Пока что это решили так. Что будет потом — посмотрим.
Извиняюсь, а где именно здесь противоречие? У npm есть минусы, да, но конкретно в описанном вами я не вижу проблемы.
Если Петя отдал кому-то пакет под свободной лицензией, он не может вдруг внезапно запретить им пользоваться этим пакетом или распространять его дальше.
Кстати, многие путают этот момент, и думают, что с LGPL нельзя делать статическую линковку, оставляя остальную часть закрытой.
На самом деле можно, важно, чтобы у пользователя была возможность изменить исходный код библиотеки под LGPL и пересобрать весь пакет с изменённой версией.
Если я правильно понимаю, о чём речь, то то, что вы описываете (локальный кэш) — можно было как раньше использовать, так и сейчас — в этом отношении ничего не поменялось.
Вопрос скорее об экосистеме.
Я так понимаю, что проверку эту они собираются автоматизировать, так что самому можно будет удалить версии без зависимых модулей (или в зависимости от количества загрузок) и версии не старше 24 часов, а остальное — только через поддержку.
Предложите решение лучше?
Вариант, есть sinopia.
Но это поможет конкретным людям, а надо найти решение для всех. Ситуация, когда кто-то новый приходит, пытается установить популярный модуль, а он не устанавливается — не очень хорошая.
А если вы будете говорить, что именно свой репозиторий вы удалите — я вас разочарую, ваш репозиторий и репозиторий форка — один и тот же, и коммиты там общие. Вы можете в этом убедиться форкнув что-либо, добавив туда новый коммит, и посмотрев этот коммит в репозитории оригинала.
Смотрите сюда: https://github.com/ChALkeR/notes/blob/master/Do-not-underestimate-credentials-leaks.md
Повторю вопрос: должен ли я был снести npm, express и остальные из репозитория, чтобы придать этому более широкую огласку, следуя вашей логике, или нет?
Повторю свой вопрос — должен ли я был испортить неделю ещё более широкому кругу разработчиков, когда нашёл другую проблему в экосистеме (которая с моей точки зрения более важная) и попробовал её донести до всех? Я считаю, что не должен был, и поэтому я ограничился записью в блоге.
Он вот тут, если что: https://www.npmjs.com/policies/open-source-terms
Но доносить свои мысли методом поломки рабочего окружения огромному количеству людей и удалением чужих модулей — не очень красивый поступок, не находите?
https://github.com/substack/provinces/issues/20 — посмотрите сюда. Азер удалил пакет provinces, который был создан и опубликован Джеймсом. Азер просто имел к нему доступ, так как являлся одним из разработчиков этого пакета, которому Джеймс дал этот доступ. Джеймс ему доверял.
Это во-первых. Во-вторых, я лично никого не могу минусовать — я свои первые комментарии на хабре написал в этой теме, и кнопки со стрелочками у меня банально не активны.
Во-вторых, есть некоторые разговоры о децентрализованном хранилище пакетов, но тут надо быть очень аккуратными — у немодерируемого бесконтрольного репозитория пакетов, которые вообще-то могут делать от имени пользователя что угодно, будут свои (и очень значительные) минусы.
Кстати, насколько я знаю, ещё одна сторона проблемы была в том, что Азер удалил не только свои пакеты, а все, к которым он имел доступ на публикацию. Часто у разрабатываемого сообществом пакета есть некий список людей, которые могут выкладывать новые версии.
То, что любой из них может (уже мог) целиком удалить этот пакет — недоработка со стороны npm. Пока что это решили так. Что будет потом — посмотрим.
Если Петя отдал кому-то пакет под свободной лицензией, он не может вдруг внезапно запретить им пользоваться этим пакетом или распространять его дальше.
На самом деле можно, важно, чтобы у пользователя была возможность изменить исходный код библиотеки под LGPL и пересобрать весь пакет с изменённой версией.
Вопрос скорее об экосистеме.
Предложите решение лучше?
Но это поможет конкретным людям, а надо найти решение для всех. Ситуация, когда кто-то новый приходит, пытается установить популярный модуль, а он не устанавливается — не очень хорошая.