Розробник зіпсував популярні бібліотеки з відкритим кодом, нашкодивши безлічі проєктам

Один із розробників цілеспрямовано зіпсував кілька популярних бібліотек із відкритим початковим кодом на GitHub і в реєстрі програмного забезпечення npm — «faker.js» і «colors.js» — від яких залежать тисячі користувачів. Таким чином, він негативно вплинув на безліч проєктів, які містять ці бібліотеки, повідомляє The Verge.

Згодом color.js було замінено на робочу версію, а проблему з faker.js можна вирішити, перейшовши до попередньої версії (5.5.3).

Що сталося

Розробник цих двох бібліотек Марак Сквайрс здійснив ревізію файлу в colors.js на GitHub, яка додає «новий модуль американського прапора», а також випустив версію 6.6.6 faker.js. Це спричинило руйнівні наслідки: саботовані версії змушують програми нескінченно виводити дивні літери та символи, починаючи з трьох рядків тексту: «LIBERTY LIBERTY LIBERTY».

Також у Readme faker.js він написав: «Що насправді сталося з Аароном Шварцем?». Відомо, що Шварц був видатним розробником, який допоміг створити Creative Commons, RSS і Reddit. У 2011 році його звинуватили в крадіжці документів з академічної бази даних JSTOR із метою надання до них вільного доступу. Шварц вчинив самогубство в 2013 році. Тож згадка Сквайрса про Шварца потенційно може посилатися на теорії змови, пов’язані з його смертю, вважає видання.

Які наслідки дій Сквайрса

Відомо, що faker.js має близько 2,5 млн завантажень на тиждень на npm, а color.js — понад 22 млн завантажень. Тепер faker.js генерує підроблені дані для демонстрацій, а color.js додає кольори до консолей JavaScript.

У відповідь на проблему Сквайрс опублікував оновлення на GitHub, щоб нібито вирішити «проблему zalgo».

«Нам стало відомо, що у версії кольорів v1.4.44-liberty-2 є помилка zalgo. Будь ласка, знайте, що ми зараз працюємо, щоб виправити ситуацію, і незабаром ми її вирішимо», — написав Сквайрс у, ймовірно, саркастичній формі.

Уже через 2 дні після розміщення пошкодженого оновлення до faker.js акаунт Сквайрса призупинили на GitHub, незважаючи на збереження сотень проєктів на сайті.

Реакція ІТ-спільноти

Цей крок Марака викликав неоднозначну реакцію, повідомляє Bleeping Computer. Деякі представники спільноти програмного забезпечення з відкритим кодом схвально оцінили дії розробника, а інші були шоковані.

«Мабуть, автор „colors.js“ злий через те, що йому не платять... Тому він вирішив друкувати американський прапор щоразу, коли його бібліотека завантажується... WTF», — написав один із користувачів.

Деякі назвали це випадком «ще одного розробника OSS, який стає шахраєм», тоді як експерт InfoSec VessOnSecurity назвав цю дію «безвідповідальною».

Призупинення облікового запису розробника на GitHub також викликало неоднозначну реакцію.

«Видалення власного коду з [GitHub] є порушенням їхніх Умов надання послуг? WTF? Це крадіжка. Нам потрібно розпочати децентралізацію розміщення початкового коду безкоштовного програмного забезпечення», — заявив інженер-програміст Серхіо Гомес.

Проблема в неоплачуваній праці?

Bleeping Computer знайшов одну з публікацій Сквайрса на GitHub від листопада 2020 року, в якій він заявляє, що більше не хоче працювати безкоштовно.

«З повагою, я більше не збираюся підтримувати Fortune 500 (та інші компанії меншого розміру) своєю безкоштовною роботою. Скористайтеся цим як можливістю надіслати мені шестизначний річний контракт або розвинути проєкт і попросити когось іншого працювати над ним», — писав він тоді.

The Verge звернуло увагу, що нині величезна кількість веб-сайтів, програмного забезпечення та програм покладається на розробників із відкритим кодом для створення основних інструментів та компонентів — і все це безкоштовно.

«Ця ж проблема призводить до того, що неоплачувані розробники невтомно працюють над вирішенням проблем із безпекою свого програмного забезпечення з відкритим початковим кодом», — пише видання.


Раніше значного шуму наробив баг Log4j. Цю вразливість нульового дня виявили в популярній серед розробників бібліотеці логування Java Apache. Експлоіт легко експлуатується і дозволяє зловмисникам отримати повний контроль над вразливими серверами.

Log4j зачепив усі системи і служби, що використовують бібліотеку логування Java, Apache Log4j між версіями 2.0 та 2.14.1, включаючи багато служб і програм, написаних на Java: хмарні сервіси, такі як Steam, Apple iCloud та програми, як-от Minecraft.

При цьому невдовзі після масового використання вразливості Log4shell супроводжувачі бібліотеки з відкритим кодом працювали без винагороди у святкові дні, щоб виправити проєкт, оскільки виявлялося все більше і більше CVE.

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось9
До обраногоВ обраному1
LinkedIn

Найкращі коментарі пропустити

Мне кажется в этой истории круче всех обосрался гитхаб вот какие к нему то могут быть претензии вы затянули себе код из открытой репы на свой страх и риск, но при этом гитхаб рубанул аккаунт владельцу кода из-за того что он внес правки в свой же код.
Так же примечательна история мейнтейнеров опен соурс проектов. Когда-то думал что это дает какие-то плюшки вроде тебя на крутые вакансии приглашают или вообще без собесов зовут в хорошие места(hidden job market), но реальность похоже такая что это все делается на чистом энтузиазме и зачастую не дает ровным счетом ничего автору.

Якесь неадекватне... Не подобається, що користуються твоїми творивами — поміняй ліцензії (дехто на це звертає увагу) або виклади пост «я устал, я ухожу, віддам репозиторій у добрі руки». А падлити і гімнити — це вже за гранню.
Ну і в принципі ця подія ілюструє всратість сучасної JS екосистеми, коли чиясь тупа примха ламає тобі весь білд і може внести якусь малварь (а чом би й ні?)
Ще треба пригадати історію з padLeft — вроді так називався цей пакет на 5 рядочків.

А я от думаю, що хлопчина — молодець. Тепер хтось задумається про свої реалізації чогось, що раніше тягнули з опенсорсу, а ще хтось нарешті організує локальний репозиторій пакетів/залежностей. В обох випадках надійності і порядку стане більше. А ще роботи для програмістів, що завжди добре :)

Із досягненням певного віку прийшло усвідомлення що будь-який справжній альтруїзм не несе його автору жодної користі, скоріш навпаки — жорстокі уроки розчарування у людях, мізантропію, і оці дитячі ідеали, котрим вчать у школах та дитячих казочках не мають жодного перетину із реальністю дорослого світу. Якщо робиш якусь доброчинність зовсім безкорисливо — то тобою лише будуть користуватися. Світ вовків живе на тому, що продає казкову брехню про без корисний світ вівцям, а потім цих вівець стрижуть. «Альтруїстичне Служіння» на користь людству завши має нести якусь користь автору, у вигляді хоча б реклами бренду, або важілів влади. Ніколи не робіть чогось алтруїстичного людям не подбавши про власну вигоду, будьте тими хто розумніший та на крок попереду. Найбільша брехня в житті — дитячі казки про альтруїзм та безкорисність. Напевно, оце дитяче виховання наносить чи не найбільшої шкоди та травм у дорослому віці. Зато, ти точно знаєш як виховувати дітей не треба

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Із досягненням певного віку прийшло усвідомлення що будь-який справжній альтруїзм не несе його автору жодної користі, скоріш навпаки — жорстокі уроки розчарування у людях, мізантропію, і оці дитячі ідеали, котрим вчать у школах та дитячих казочках не мають жодного перетину із реальністю дорослого світу. Якщо робиш якусь доброчинність зовсім безкорисливо — то тобою лише будуть користуватися. Світ вовків живе на тому, що продає казкову брехню про без корисний світ вівцям, а потім цих вівець стрижуть. «Альтруїстичне Служіння» на користь людству завши має нести якусь користь автору, у вигляді хоча б реклами бренду, або важілів влади. Ніколи не робіть чогось алтруїстичного людям не подбавши про власну вигоду, будьте тими хто розумніший та на крок попереду. Найбільша брехня в житті — дитячі казки про альтруїзм та безкорисність. Напевно, оце дитяче виховання наносить чи не найбільшої шкоди та травм у дорослому віці. Зато, ти точно знаєш як виховувати дітей не треба

о господи, кидание из одной крайности в другую
есть какбы здоровый оптимум

есть какбы здоровый оптимум

Існує, доброчинність а-ля мільйардерів — коли твоє ім‘я потім у місцевих газетенках та телеканалах звучить і це правильно

«Альтруїстичне Служіння» на користь людству завжди має нести якусь користь автору, у вигляді хоча б реклами бренду, або важелів влади.

Погоджуюсь, бо інакше можна швидко втратити самомотивацію.

Альруїзм побудований на базі малих груп. До 100 осіб. Племена і тп
В таких ізольованих групах є велика вірогідність, що копії генів особини є в інших.
Тому смерть заради племені — це логічний крок

В випадку автора ліби — він зробив тупу річ, яка спаскудить йому кар’єру

Коментар порушує правила спільноти і видалений модераторами.

Якщо глянути історію версій того пакету в NPM (www.npmjs.com/package/faker) то версія останнього робочого релізу була 5.5.3 тоді як версія релізу де автор дропнув все 6.6.6. Тобто автор зробив новий major реліз з нестандартною версією, що вже само по собі повинно було б насторожити.

Це не нормально коли код на проді зав’язаний на latest версії пакетів так як у випадку виходу нової major версії одного з пакетів він може так само рухнути як і у випадку з faker.

Зазвичай перед тим як оновлюватись до нової major версії ознайомлюються зі списком braking changes. На це і був розрахунок автора пакету — що розробники зайдуть чекнути зміни і побачать що бібліотека була видалена.

плюс при використані package-lock.json/yarn.lock автоматом навіть оновлення не буде, тут можу помилятись, але ніби навіть коли версія стоїть як зірочка, якщо звісно не ставити все з його ігнором, чи не видаляти його

понятно
нам нужен новый гитхаб

нам надо достать голову из жопы африканского носорога, посмотреть на небо, помолиться, покреститься, и не централизовать то что не самыми глупыми людьми сознательно создано децентрализованным

точно
даешь распространение кодовой базы по почте в конвертах с дискетами!!1

Досить реалізувати IP.

Далі все гавтоматично.

Угу, берешь базовую версию и накатываешь на нее патчи с других дискет CVS-ом.

такая же точно проприетарщина, разве что без M$-ных закидонов (пока что) )
btw. GitHub уже стал стандартом для хостинга кода, как гмейл для почты

У меня вся рабочая почта на exchange от Microsoft. Можешь спокойно переехать на канонический соурсфордж если не нравится гитхаб. На соурсфордже уже UI пофиксили. GitHub удобный как и Gmail, альтернатив ему предостаточно. Если просколишь в самый низ, то там вообще есть система децентрализованная как torrent.

да мне пофиг, я не хулиганю я контрибутею (иногда)

У меня вся рабочая почта на exchange от Microsoft

какой п****ц.

какой п****ц.

А ты пользовался? :) Для деловой почты, календаря, и задач связка Exchange + Outlook вполне удобна. К слову, к «удобству» аналогичных сервисов от Гугла привыкнуть не могу до сих пор.

Благо, есть десктопный eM Client, авторы которого явно вдохновлялись Outlook, и с которым более-менее привычно работать, даже имея почту на GMail.

я пытался — но мне сказали что Exchange не поддерживает стандартные email-протоколы, поэтому мой Thunderbird с ним не заведется)
а так с гугловыми сервисами я им уже 10 лет как пользуюсь — и все норм, и почта и календарь и задачи)

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

УМВР
впрочем как хочешь, обмазуйся своим аутлуком)

Спасибо но обмазываться уже не надо, аутлук стоит и работает как надо, а богомерзкая птица удолена.

Я тоже когда-то так думал, мол лучше аутлука нет ничего для почты и коммуникации. Со многими словами согласен полностью. Но все аргументы «за» разбиваются об огромную проблему которая в ближайшее время решена не будет, и скорее всего только усугубится.

10 лет сидел на связке Exchange + Lync/SfB + Outlook и тащился от некоторых фич: Autodiscover, интеграции календарей, тасков, контактов, возможность создать митинг с видеозвонком в один клик, отзыв уже отправленых сообщений по-моему вообще больше ни кого не работает. И при этом не надо открывать 10 вкладок/приложений, копипастить и придумывать костыли. Но потом как-то пришлось в принудительном порядке попробовать Google Workspace (G-Suite), по началу дико все бесило, но потом пришло счастье и осознание того что ты больше не зависишь от этого монстра на твоем компе и всех проблем связанных с ним — апдейты, глюки, настройки, ожидание по 10 мин пока он запустится или наоборот закроется окончательно, и не будет висеть в таск менеджере и т.п. Ты просто открываешь браузер и у тебя все готово.
Отдельный разговор уже про то что если тебе придет фишинговое письмо, гугл в браузере тебе выдаст огромную красную плашку «Не трогай это письмо, оно подозрительное», И то же самое письмо в аутлуке выглядит как обычно, без всяких ворнингов.

Работали через джисьют, не понравилось тем что веб интерфейс у гугла всратый, долго грузится даже не смотря на быстрый комп и хороший коннект тошо оптимизирован для мобилок, коряво отображает цепочки писем, рулы есть но через такую какую-то анус что уже как-то и не зочется, нормально папок не сделать, вернее сделать но слева панель все равно будет в первую очередь как решил гугл...Фишинг...хз, там где работал были антифишинговые и прочие штуки, чтобы попадало что-то лишнее исключительные случаи.
Вот что хорошее в гугле так это поиск по контунету письма, он все конечно читает но дато потом и искать удобнее чем в аутлуке.
Гуглячий месенджер не хранит долго сообщения, часто терялись сообщения из америка тайм зон.
Насчет тормозов...хз, у меня обычно хорошие компы и достаточно оперативы.
Кстати веб аутлук тоже есть, но интерфейс перегружен и мне не зашел.

Для деловой почты, календаря, и задач связка Exchange + Outlook вполне удобна.

Я бы сказал что это лучшее решение что есть на рынке. Другое дело, что если им пользоваться в простом формате «обменяться двумя письмами в день», то возмжности этой связки явно избыточны и просто невостребованы.

Не могу осуждать его. Мой код, что хочу с ним, то и делаю. Вы используете его бесплатно (и в большинстве случаев — с комерческими целями), поэтому я ответственности за него не несу, а любые проблемы с ним — это ваши проблемы.
Он имел полное моральное и юридическое право так сделать, даже если единственная цель такого поступка — just for fun.

Ну... постить в свой репозиторий он может всё что хочет. Но вот пушить свои изменения в npm как новую версию пакета уже мелкое хулиганство, что не отменяет ответственность мейнтейнеров.

npm — це публічний репозиторій, якщо ти там скачав щось що тобі не подобається — це твоя проблема, а не репозиторію чи автора. Хочеш щоб «не хуліганили» — піднімай власний репозиторій і модеруй.

Так треба робити хоч якесь рев’ю того, що собі пхаєте. І тестити те нове, що взяли. На функціонал, який протестили — можете розраховувати, на інше — ні. Запхати бездумно апдейт від продукта, що підтримується однією людиною, у якому реально бозна шо може бути — ну, вам ще повезло, що воно тільки перестало працювати!
Там може бути крадіжка даних. Може бути баг який завгодно. Ви подивіться MIT license це лише із десяток рядків — ліцензією навіть малварь дозволено (NONINFRINGEMENT)! Для особливо тупих КАПСОМ от як прямо про цей випадок.

THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

І Гітхаб і інші — порушують цю ліцензію! Намагаються автору щось зробити, або осудити за його поведінку, порушуючи «ANY CLAIM, DAMAGES OR OTHER LIABILITY»! Автор колись щось робив — молодець, перестав і прибрав — пох, вам нічого не винні.

УЪУ супостаты добрались до щитхаба, демократический либеральный цифровой концлагерь в опасности

Якщо подивитись Terms of Service docs.github.com/...​-service#c-acceptable-use там написано що забороняється порушувати закони США а також своєї юриздикції, а також правила комьюніті docs.github.com/...​lines#what-is-not-allowed І в правилах комьюніті, прямим текстом Distrusting expirence of other users — чітко написано, не можна робити людям западало, спамити, робити навмисно биті пуши тощо. Тож бо що не так зробив GitHub ? Між іншим чувачка
розбанили назад, бо він відкрито написав, що в новому релізі є ось такі нові фітчі, тобто американський прапор в циклі. Ті хто проабгрейдився не читали реліз ноти.

А я не вмію читати ноти.

Я, насправді, вважаю гітхаб мав право таке зробити. Мені це не подобається і я думаю, шо дарма, але право — мав. Те, яка там ліцензія у кода — не проблеми гітхаба. Вони там у себе можуть робити шо хочуть, тим більше, що теж бескоштовно сервіс дають.

Не понимаю вопрос и претензии. Я лично сторонник как OS, но у нас словно забыли что оно такое есть ....
соот. ПО поставляется как есть в надежде на то, что принесет вам пользу, но без гарантий.
Автор волен делать все что угодно, в том числе сделать версию 1.2.3 непригодной для Вашей пользы. И все сводиться только к степени проф. репутации автора.
Вам не нравиться ?
Делайте fork, сопровождайте проект, принимайте и ревьювте MR и так далее.

P.S.
отдельный вопрос — поведение github. Я лично так и не понял на каком основании они позволили себе такие вещи

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

По сути. Бизнес github — это продажа удобной среды интеграции кода, который разрабатывается множеством кодеров. Интеграция происходит, как внутри организационных сущностей (роли в командах), так и между отдельными сущностями (репозитории). И только в этой комбинации github на высоте. Дескридитируй ценность репозиториев — github можно закрывать.

Аналогия. Куски кода — доски. Клиенту нужны стены. github — методический стек прораба. Не будет досок, не будет необходимости в таком прорабе и его инструментарии. Не будет досок, будут строить из кирпечей. Не будет кирпичей, будут заливать монолитобетон. Не будет бетона, начнут возводить металлические каркасы с пластивоковй обшивкой. Аргумент: "прорабы всегда нужны",- не работает. Прорабы существенно различны. Кто-то строит небоскребы, кто-то перекошенные сортиры. Результат зависит не только от умений, методик, инструментария, но и от спроса. А спрос -по большей части- дорога с односторонним движением. Однажды в мороз посетив кирпичный сортир, клиент не захочет продуваемую дощатую панель. Больше на эту тему: www.slideshare.net/...​ide-to-innovation-5438085

Похоже, время интеграций уходит, на смену идет корпоративный монолит (не путать упаковку продукта с архитектурой). Гитхабовцы просто стараются, чтобы их хвост посуществовал как можно дольше.

Злонамеренные исправления кода не тождественный случайно внесённым ошибкам или непроверенным кейсам. Вот как раз про второе и говорит «как есть». А первое это во-певрых нарушение обещаний данных самим автором в описании пакета, во-вторых поскольку это сознательные изменения в уже работающем коде, а не изначально написанное «не то что в описании» — уже попахивает ответственностью по уголовной статье о вмешательстве в работу компьютеров в локализованной версии кодекса в стране автора или пользователя.

"Никогда такого не было и вот опять".Нефіг добавляти в package.json проектів шопопало)

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

А я от думаю, що хлопчина — молодець. Тепер хтось задумається про свої реалізації чогось, що раніше тягнули з опенсорсу, а ще хтось нарешті організує локальний репозиторій пакетів/залежностей. В обох випадках надійності і порядку стане більше. А ще роботи для програмістів, що завжди добре :)

Враховуючи що в осс апі люблять(і мають право) змінювати дуже глобально в будь-який рандомний момент, то дивно не фрізати залежності якимось чином.

Ну тут скорее чувачек хлопнул дверью. У него парочка простых и полезных утилит, которым есть аналоги (из сотни проектов), но чувачек маркетинго-грамотный и угадал с именами к продуктам создав бренд. Но монетизировать не сумел или не захотел, начудил и получил перманентный бан от github. Тоесть программист хороший, но бизнесмен так себе.

Если почитать тут web.archive.org/...​pen-source-is-problematic

И тут web.archive.org/...​arak/faker.js/issues/1046

То как-то он не выглядит шизиком скорее чуваком которого уже достало работать за спасибо.

бла бла бла
достало — найди работу, тебе никто ничем не обязан, передай на поддержку или закрой

Так он закрыл. А его за это гитхаб забанил :)

Так а если бы он их из НПМ-а удалил просто, что поменялось бы? А так закрыл ярко. В этих репозиториях он единственный контрибьютор. Ладно бы над ними группа людей работала.

А ничего, у чувака тысячи форков. Кому надо тот бы и продолжил.

Так он не хотел, что-бы его кодом пользовались, ну блин. Вы включаете дурачка. Речь шла о том, что простое удаление из NPM и поломка приложения, что-бы оно печатало американский флаг, по сути ведут к одному результату. Ну а так да, по форкам восстановили уже вроде.

это ты включаешь дурачка
он запушил в npm вандальную версию и обрушил все пакеты которые не имели пин версии и пакеты 2-3-4 уровней которые о таком чудике и не знали

он запушил в npm вандальную версию

Почему вандальную? Просто, он так видел функциональность своей поделки.

Он автор и владелец — имеет право на собственное видение. А кому не нравится — может не брать.

конечно, может и трояна, и шелл, и майнер запушить, он же автор

конечно, может и трояна, и шелл, и майнер запушить, он же автор

В принципе, всё может. Другое дело, что если будет запушено противозаконное — тогда будет полиция, суд административная/криминальная ответственность.

Запушенное обсуждаемой жабоскрипт-тушкой — было вполне в рамках дозволенного гитхабом.

Ну... тут больше вина мейнтейнеров npm, которые пропустили. А мог бы и диск отформатировать.

Ну а в целом, если так легко обрушить все пакеты, то это проблема всей системы.

Ну и я не знаю, когда ты пушишь свои версии пакетов, то ты что-то подписываешь? Типа обязусь, чтобы мой код выполнял только то, что заявлено в описании, не сорержал СПАМ-а и т. п.

docs.npmjs.com/...​-terms#acceptable-content
там какой-то автоматический анализатор содержимого
так шо если диск форматнет, никто не отвечает, гнилой язык и экосистема

тут больше вина мейнтейнеров npm, которые пропустили

Сам npm (пакетный менеджер) уже который месяц (а то и не один год) лезет к чужим бинарникам и сбрасывает им SUID-бит.

github.com/npm/cli/issues/3705

www.linux.org.ru/forum/general/16219179

И чинить не спешат. Чего удивляться, что они за чужим бардаком не следят, когда со своим не справляются.

inb4: возьми и почини, это ж опенсорс, ага.

Это ты включаешь дурачка
Если бы он удалил библиотеки из НПМ, то проекты бы просто не билдились.

забанил не за то что закрыл.

Достало работать «за спасибо» — не работай, но ломать-то зачем? Денег от этого не прибавится, а проблемы более чем вероятны (в том числе с последующим трудоустройством)...

Я ж не оправдываю просто пытаюсь понять мотивы.

погундядь і забудуть, самі винні

Так его кто то заставил что-ли ? Или он кинул кличь «ребята с денюжкой плохо, подкинте для мотивации» ? Как бы никто не запрещал забить болт и перестать комитить, тот же Линус работал над виртуализацией в Transmeta и не зазор был.

Если почитать то его вообще то кинула контора Retool. Которая скопировала его платный сервис на базе его же открытого ПО, и начала его коммерческое использование. К тому же ещё и картинки тянули в свой платный сервис с его.

Мне кажется в этой истории круче всех обосрался гитхаб вот какие к нему то могут быть претензии вы затянули себе код из открытой репы на свой страх и риск, но при этом гитхаб рубанул аккаунт владельцу кода из-за того что он внес правки в свой же код.
Так же примечательна история мейнтейнеров опен соурс проектов. Когда-то думал что это дает какие-то плюшки вроде тебя на крутые вакансии приглашают или вообще без собесов зовут в хорошие места(hidden job market), но реальность похоже такая что это все делается на чистом энтузиазме и зачастую не дает ровным счетом ничего автору.

Мене теж здивувала реакція гітхаба, треба уважно читат їх ліцензію, припускаю, може статись так, що викладений в них на сайті код, розробнику більше не належить, і робити з ним що заманеться, теж не можна. Схожа історія з дописами на ФБ та drive2

Там не так. Э різні типи репозіторіїв, можна заплатити за приватну компанію і там будуть репи які просто так неможна видалити, із подвійною аунтиіікацією тощо. Щодо до публічних проектів то вони добровільно беруть на себе фінансові витрати на хостінг цих проектів, так само як наприклад старий добрий Sourceforge.net чи FossHUB.

Гитхаб может забанить и премиум акаунт. В соглашении буквально написано «мы можем вам заблокировать доступ в любой момент по поводу и без повода».

Реальность в том, что опенсюрс — тоже продукт, который нужно «уметь продавать», иначе он тебе «ничего не даст» (если ты на что то «такое» рассчитывал (что то типа — «все само собой порешается», «все так делают» и т.д.))

гитхаб конечно красавчик (нет) ))) панические действия всегда такие, неадекватные и потом долго вспоминать будут

гитхаб конечно красавчик (нет) ))) панические действия всегда такие, неадекватные и потом долго вспоминать будут

Я собственно и узнал про эту историю из постов американских колег. Подобный подход многих тригернул не слабо.

А что такого не адекватного ? Заблочили чуваку аккаунт и все. Репозитории можно скачать если кому надо. Он ведь им тоже ничего не платит за хостинг, а у них программисты, админы работают, сервера задействованы, амортизация, электро энергия и т.д. Все четко заделали, никто никому и ничего не должен. Опять же чисто неадекват, когда у Линуса Торвальдса и Тео Де Ратта были финансовые проблемы, причем связанные как раз с оплатой компьютеров и счетов за электро энергию, народ им просто скинулся. Причем ещё и друзья и соратники инициировали сбор денег. А тут конечно соразмерно ответили за хулиганство. Может двигаться на другой ресурс где ему не откажут, или поднимать собственный сервер.

А что такого не адекватного ?

Історія в стилі «якщо в тебе в руках молоток, то все навколо — цвяхи». Модератори Гітхаба звикли, що якщо щось пішло не так — треба банити, ну і забанили. Про існування якихось інших способів вирішення проблем ніхто і не думав. А що такого людина зробила, щоб її банити? Якщо я зараз комітну файлик на гітхаб, а завтра видалю з якихось причин — мене теж забанять? Де межа, коли забанять, коли не забанять?

Це безкоштовний сервіс, купуй приватний акаунт — не забанять доки платиш. Не подобається йди собі до іньшого сервісу чи підніми власний сервер. Безкоштовний акаунт будь коли і будь чого можуть забанити, про це прямо написали коли рееструєш акаунт. Чувак наробив галасу що йому за його ліби великі компанії нічого не платять. Microsoft йому показав, що це в обидві сторони працює. Як на мене все чесно, можеш робити все що завгодно якщо це не заважає іншим людям. Коли навмисно зламав лібу яку багато хто вже використовує, отримай бан від системи через яку вдалось цю лібу розкрутити і про неї взагалі хтось дізнався, і які витрачають власні грощі і час на інфраструктуру.

вони, це майкрософт, їм що є той гітхаб, що його нема

В них там багатенько власних проектів, включно з Open Source github.com/microsoft Як я розумію саме через це і придбали сам сервіс, дешевше стало ніж платити йому за хостінг корпоративних репозіторієв.

гитхаб просто добил шизоида из дробовика, глядя на его страдания

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

Я до сих пор в шоке. Моя курица — хочу заставляю нести яйца, хочу — пойдёт на суп. Для тех кому болит есть кнопочка fork.

Так же примечательна история мейнтейнеров опен соурс проектов. Когда-то думал что это дает какие-то плюшки вроде тебя на крутые вакансии приглашают или вообще без собесов зовут в хорошие места(hidden job market), но реальность похоже такая что это все делается на чистом энтузиазме и зачастую не дает ровным счетом ничего автору.

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

Просто чел захотел лежать на диване и ожидать что сейчас компании за него драться будут. Вместо того чтобы просто составить список крупнейшних потребителей его продукт и податься туда на работу.

Я не следил за проектом и не могу сказать лежал ли он там без апдейта годами. Однако что-то там автор таки пытался web.archive.org/...​pen-source-is-problematic

Однако что-то там автор таки пытался web.archive.org/...​pen-source-is-problematic

Довольно странная идея — пытаться продать то, что предлагаешь без каких-либо ограничений бесплатно.

но при этом гитхаб рубанул аккаунт владельцу кода из-за того что он внес правки в свой же код

Гитхаб в TOS прямо пишет что «GitHub May Remove Content», и в принципе там много чего понаписано на тему Acceptable Use.

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

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

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

Когда-то думал что это дает какие-то плюшки вроде тебя на крутые вакансии приглашают или вообще без собесов зовут в хорошие места

Зачем, нанимать, если можно бесплатно пользоваться чужим трудом?

Это синдром компенсации запятых им. Alex Fogol.

круче всех обосрался гитхаб

И npm, и GitHub — это всё Microsoft давно. Смысл их разделять?

Мда.... а что мешало поменять соглашения на условно бесплатное. А потом запилить эту фичу или как-то по другому урезать, чекинг использования в боевых проектах или там ещё как-то проанализировать использование и потом потом подать в суд на пару компаний Fortune 500. А так в итоге у него ещё и забрали его проект. Суд может и не выйграл бы, но получил популярность и упоминание что его продукты стали платными для корпораций.

По сути западло выходит, библиотеку быстренько заменят аналогами или форком с переименованием те кто ее использует, и все усилия по продвижению пойдут на смарку. IBM, Intel, Mozila, Google платят за разработку FOS тем кто ей занимается, а куча контор получается нет, человек просто может заниматься ей по остаточному принципу когда время есть или вообще забросить. Хотят улучшений и фиксов — пусть спонсируют разработку, или хотябы патчи шлют, форки делают и т.д.

Мда.... а что мешало поменять соглашения на условно бесплатное.

Как можно что то урезать в опенсорсе? Как контролировать доступ и т.д если это исходники? Типа не заплатил значит не смотри на код? :) Там у него будет один гемор, а на выходе пшик.

выпускаешь новую версию на любой понравившейся лицензии
кто согласен — апается, кто нет — форкает прежние на MIT

Ну то есть расчет на честность, ибо это никак не проконтролировать, а факт использования не доказать, ну если это не фронт. Может сработает с очень крупными компаниями, в абсолютных числах это будет копейки, и жалкий процент от аудитории, что скорее всего не будет стоить лишних телодвижений. Потом представим древовидную структуру пакетов общим числом в пару тысяч- как там что контролировать и как это все оплачивать и кому. Уровень лицензий тоже никак не тарифицированы — просить одинаково денег что у компании в 10 человек, что у гигантов будет не правильно. С библиотекой это не сработает. Потому там максимум продают либо платный саппорт, либо ищут просто спонсоров. Но вряд ли это может быть финансово привлекательным.

с такими поделками как у него грошей ему не светит, ибо развивать и поддерживать там тупо нечего, он 8 месяцев не коммитил и никто не умер
это должен быть пакет на уровне scikit-learn, тогда крупные конторы почешут репу и заплатят

ибо развивать и поддерживать там тупо нечего, он 8 месяцев не коммитил и никто не умер

совершенство не требует развития :)
Ну технически по слухам у него там куча была пакетов, даже если он там 3 года не коммитил, то все ровно он потратил время на ее создание. Т.е опенсорс монетизировать маловероятно. Даже если там он потратил условно 20 часов на всю библиотеку, то получить хоть 50$ за каждый потраченный час не выйдет, а с учетом что это зп забугорного джуна, все это абсолютно бессмысленно в финансовом плане и остается сугубо аспект «хобби». К тому же, если он не один контрибютил еще надо как то поделить донат в 10$ на всех исходя из их вклада в проект, который еще и весьма субъективен :)

опенсорс монетизировать очень вероятно но не в одиночку, или в одиночку по контракту и согласию сторон что код будет открытым. Вон пример как авторы transformers монетизируют huggingface.co/pricing

Вон пример как авторы transformers монетизируют

И там у них 1070 контрибютеров, из которых, наверно же, только единицы ментейнеров имеют финансовое поощрение, а остальные идут лесом. Единичные большие проекты, у которых выделенная закрытая команда и есть спонсоры вероятно могут себя монетизировать, остальному 99% опенсорсу как у нашего «героя» этого не видать. Само по себе открытое ПО очень специфический товар и крайне тяжело монетизируемый, в отличии, например, тех же музыкантов, которые набросали трек, могли потратить как 5 минут на создание, так и 5 месяцев (но при этом никто не упрекнет, что там всего 7 нот :) ), и выгрузили в какой нить саундклауд где и монетизация есть, и вероятность что какая то компания захочет ее использовать в коммерции совсем по другой цене.

Це тільки у кцпів та малоросів прийнято красти. В цивілізованму світі поважають чужу власність.

So you’ve made something cool and it’s time to release it. These seem to be the options at hand:
1. Release under a permissive license (MIT, BSD) and:

— Have everyone and their grandma use it.

— Die poor

2. Release under a copyleft license (GPL) and:
— No company is going to use or contribute to it, unless they can somehow clearly separate it from what they see as their intellectual property. Or just hide it where nobody sees it.

— Die poor

3. Release it under a commercial license and:
— Get bashed on HN for doing so

— Nobody uses it

— Probably die poor

4. Dual license it as GPL and commercial and:
— Sue everybody as they are just taking the GPL version and never looking back. Especially if they can hide it somewhere.

— Die poor
Pick your poison.

news.ycombinator.com/item?id=25032557

5. классический вариант
стартануть на MIT, втянуть как можно больше пользователей, запустить cарафанное радио а затем переносить фичи в премиум подписку или SaaS

3. Продажа софта под коммерческой лицензией — обычный способ работы коммерческих софтовых компаний. Ведёт к образованию клиентской базы и заработку баблоса.

Разумеется, если есть что продавать.

Хорошая акция что бы напомнить всем что качество стоит денег!
Бесплатный опенсорс — это не продукт, а развлечение. Так же, как рецепты оригинальных коктелей, отваров, масок из Интернета. Можно попробовать если тебе скучно, можно намешать своего и советовать другим...
Но если у человека реальная проблема со здоровьем ему нужны настоящие врачи и настоящие лекарства, а не советы и рецепты из Интернета! Настоящие лекарства — это продукт работы серьезных специалистов и многолетние исследования, это миллионы долларов потраченные на их разработку. И гарантия того, что они будут работать как задумано!
Почему столько людей боится прививок от Ковида — но при этом бездумно тянет в свои коммерческие продукты первый попавшийся опенсорс? Разве это не то же самое что лечить свое тело гомеопатией вместо лекарств?
И в случае ИТ вопрос-то ведь вообще не в деньгах! Есть масса бесплатных библиотек от известных компаний. Какой вообще смысл использовать в серьезных проектах опенсорс какого-то Васи? Который завтра пошлет вас на хер — и будет прав!
У меня иногда возникает впечатление что Java Script программистами становятся те, кого мама в детстве не научила не тащить в рот всякую каку.

Почему столько людей боится прививок от Ковида — но при этом бездумно тянет в свои коммерческие продукты первый попавшийся опенсорс? Разве это не то же самое что лечить свое тело гомеопатией вместо лекарств?

Тут, скорее, популярность использования в своих тушках бесплатного-нетестированного — прямо коррелирует с популярностью использования в своих проектах бесплатного-нетестированного.

Більшість вірить, що має достаньо часу та кваліфікації, усе відтестувати та перевірити. А якщо воно проходить тести, то немає різниці, що під капотом.

Потому как когда тебе понадобится лицензия на софт или библиотеку это все выливается в недели бюрократических переговоров и в конечном счёте в отказ, менеджмент ненавидит тратить бюджет на оборудование и софт, пока нет договоренностей между владельцами на высшем уровне. Посему взять у коллег open source это самый быстрый способ решить боевую проблему. Исходя из чего я всех призываю писать и самим Open Source по мере возможностей, сабмитить патчи в существующие проекты и т.д. Спасение утопающих дело рук самих утопающих.

Посему взять у коллег open source это самый быстрый способ решить боевую проблему.

Это в Украине такое? :) А потом, на стороне заказчика — всё это «взятое у коллег», не знают как из проекта выкинуть.

Но призыв писать оупен-соурс — хороший. Похоже, на призывы коммуняк-политруков, мол «Воюй, дурачок — получишь значок!»

Конечно только в Украине, а в Англии и Канаде нет такого. Вот недавно нужен мне был SAML плагин для Postman, за который денюжку хотят разработчики и сразу нашлись деньги, никто не парафинил мне мозги две недели и не отказал. Я за взаимо-обмен софтом общего пользования, вы мне — я вам, все! С бизнесменами все очевидно, пока им лично с этого ничего не прибудет — ваши проблемы, это ваши проблемы которые их не касаются.

Конечно только в Украине, а в Англии и Канаде нет такого.

В Германии я такого не видел. Напротив, всего бесплатного сторонятся, как огня — т.к. непонятно что за зверь, кто на поддержке, что за лицензия, приходится слишком долго разбираться, проверяя лицензионную чистоту (чтобы не напороться на разные вилы).

В итоге, просто покупают. Tоже в исходниках — но за деньги, с владельцем, коммерческой лицензией + поддержкой, и пользуют.

Да это вообще не относится к стране, а к компании в которой вы работаете. На прошлой работе делали мы продукт, и вообще были под запретом максимум любых сторонних библиотек, особенно GPL и LGPL, из за лицензионной чистоты. Приходилось самим писать аналоги популярных утилит.

Да это вообще не относится к стране, а к компании в которой вы работаете.

Я работал во многих компаниях/на многих проектах. Правда, не работал в «рогах и копытах» — может, там действительно тащат в свои поделки всё бесплатное, не обращая внимания на что-либо.

П.С. Во, «под запретом GPL и LGPL» — это именно то, как работают серьёзные конторы.
Накрайняк, если что-то из такого сильно нужно (и нет коммерческого владельца, с поддержкой) — то не запрещают, а покупают коммерческую лицензию (если это возможно).

Не потрібно писати open source. Це лише збільшує кількість халяви. Нехай платять.

Open Source це не халява, це лише модель праці. Той хто бере собі таку лібу чи продукт в проект тягне на себе усі ризики, наприклад його тестувальники будуть тестувати що вийшло, як є баг то сам робитиме патчь тощо. А може просто дати автору грошей, щоб той зробив якусь фічу чи ще щось. В цілому це вже повернення в минулі дискусії. Є Red Hat нині куплена IBM які працювали через виключно OSS, були Microsoft які виключно на закритих сорцах. Зараз обидві компанії використовують обидві моделі, і нічого собі. Між іншим щодо структурної якості так через відкриті сорци скажу що Microsoft пишут код дуже не погано.

это продукт работы серьезных специалистов и многолетние исследования, это миллионы долларов потраченные на их разработку

Ти зараз на повному серйозі порівнюєш фарм промисловисть і кодеркування?

Почему нет? Или на иженера- программиста учится не нужно (хоть в вузе, хоть где)? OSS по существу как открытая научная публикация для обмена знаниями и достижениями с другими людьми через интернет. Фармацевты тоже читают книги, статьи и т.д. И там есть люди которые просто работают в аптеке и знают что продать человеку от простуды по рекомендации врача, аналоги, по лучше или из Индии по дешевле и т.д. И есть люди которые разрабатывают сами лекарства. И у нас есть те кто условно верстует HTML (коих безусловно большинство) и те кто пишут сами браузеры. Причем вторые могут верстовать довольно посредственно и идти за помощью к первым.

промисловисть і кодеркування

[Facepalm] Я пришел в программирование когда компьютеры это было НАУКА ! У меня даже в дипломе написано «Магистр Компьютерных Наук» (а не «кодерок»). Серъезные инженеры в белых халатах готовили программы на бумаге, прежде чем ввести в компьютер. Построить программную систему было не проще, чем построить небоскреб: делался проект, чертежи, работали архитекторы, инженеры, электронщики, специалисты по качеству ...
Это сейчас «кодерки» надергают кусочков из опенсорс-помойки и выкатывают в продакшин на радость таким же юзерам — дебилам. Инженерам здесь почти не осталось места.
P.S. Не дай Бог что бы в других областях: строительстве, промышленности, медицине когда-нибудь инженеров заменили безмозглые «самоделкины».

Серъезные инженеры в белых халатах готовили программы на бумаге

Ты достаточно стар, чтобы слышать о таком, и достаточно июнь, чтобы не видеть результаты их жизнедеятельности. Поверь мне, там было всё печально.

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

Сейчас тоже есть компьютеры как наука, такие конторы как Интел, Амд, МЦСТ, Texas instruments до сих пор успешно существуют, как и тысячи ресёрч агенств, при каждом производителе железок есть отдел перспективных разработок. Это отдельный мир, который по факту даже не it. Там и работают серьёзные инженеры. И никто их не заменял, они существуют параллельно. Конечно инженеров меньше, потому что там база нужна.

Ой, не кажи. Я на першу роботу прийшов — там якраз перед тим ЄС-ку демонтували. Звільнили здоровий зал, замінивши її на маленьку 80286. І інженери-електронщики постійно згадували як раніше було добре: виділяли відро спирту на «чистку контактів». ))

Коментар порушує правила спільноти і видалений модераторами.

Что говорит только о том что npm — засада. К сожалению yarn пока что использует реестр npm.

Коментар порушує правила спільноти і видалений модераторами.

open source code = відкритий вихідний код?

Sergey Sheshenya, это была скорее поправка. Автор некорректно использовал термин, в частности «відкритий початковий код» — режет слух однако.

Багато дискусій із приводу вживання цього словосполучення в українській мові. Найдоцільніше, все-таки, початковий, а не вихідний, скалькований з російської «исходный».

Ніби було «похідний код» з «походження». Хоча яка різниця оригінал source code, в народі «сорци».

«похідний» не підійде — принаймні в математиків «похідна», це переклад від derivative

можна відмовитись від кальки взагалі, і перекладати просто з source language :). тоді, таки буде «код з відкритого джерела» © Igor Kravchenko, або й взагалі «відкритий код» © Дмитрий Демьяненко

Відкритий початковий код — до такої версії схильний як філолог.

будь-ласка, аргументуйте як філолог, було б справді цікаво зрозуміти. source за кембриджським словником визначається як «джерело» (витоку або походження), а от origin (терім значно ближчий до власне «початкового») — лише синонім. термін open source code в англійській застосовується за формулою (open source) + (code), тобто «код» + «джерело якого є відкритим», відтак «код з відкритого джерела», а по суті «відкритий код».

Термін початковий код є перекладом англ. source code у таких виданнях:
Новий рос.-укр.-анг. тлумачний словник з інформатики (2002) / Уклад. М.Д. Гінзбург
Тлумачний словник з інформатики (2010) / Заг. ред. акад. Г. Г. Півняка
Англійсько-український словник з математики та інформатики 2010 р. (Є. Мейнарович, М. Кратко).
Що стосується open source code, то Вікіпедія подає варіанти як відкритий початковий код, так і просто відкритий код. Тобто прийнятні обидва варіанти.

Це по смислу не відповідає. Похідний код — це код в формі який може читати людина, тоді як комьютер виконує команди у двоїчному машинному коді. Програміст пише програму на ассемблері, або мові високого рівня, в текстовій формі і пропускає її через компілятор або інтерпретатор, тобто програму яка перетворює похідний код на мові програмування у двоїчний машинний код. Таким чином машинний код походить із текстового. Похідний код може бути як закритим, тобто творці розповсюджують лише машинний код програми, і відкритим тобто творці росповюджують код програми у формі зрозумілій людині. Є різні форми ліцензій відкритого коду, які відрізняються власне юридичними нормами. Скажімо GPL каже що з того моменту як хтось отримав похідний код програми ліцензованої за цією ліцензією, він стає співвласником і має всі майнові права, тобто авторське ліво coply left. Якщо ви створили модифікацію, то забов’язані у разі росповсюдження програми у будь якій формі, росповсюджувати ще і похідний код, а також не можете заборонити усім тим хто його отримав робити власні модифікації. Саме росповсюдження може бути не безкоштовним, просто воно має бути. Apache, MIT , Boost — просто кажуть, ця программа створена такими то, можете використовувати її як вам заманеться для чого завгодно, просто напишіть десь що оригінальні автори такі то. А от скажімо ліцензія Microsoft Windows, або Office суворо забороняє робити реверс інженерінг, декомпіляцію чи створення власних продуктів базуючись на частинах машинного коду Microsoft. У будь яких цілях, навіть пошуку і виправлення помилок, тобто авторське право — copy right.

Агрономічна інтуіція підказує мені, шо якшо код і зріє в певних суцвіттях, то це не початки, а бошки.

А я просто хотів допомогти з перекладом github.com/...​hwtnb/SylphyHornPlusWin11 на рідну мову. І намагався дізнатися яким саме чином це здійснити...аж тут неточно взятий агрономічна-програмувальний аккорд різанув по милому душі полотну на якому все чіткіше з кожним наступним шаром інформації, проявляется архімапа світобудови.

Код з відкритого джерела

«відкритий код» бо джерела можуть бути різні ))) торрент наприклад )

все ж таки, схиляюся до версії Дмитрий Демьяненко

Ох, сейчас бы в 2К22, да тянуть с интернетов на прод что попало.

А звідки тягнути? Самому все велосипедити?

У багатьох Fortune 500, проти яких виступає головний герой цього допису, є такий процес: якщо ти щось тягнеш, то маєш це (1) проаналізувати на безпечність, та (2) підтримувати, якщо раптом якесь CVE, хто тягнув, той і відповідає.

Так, маєш, проаналізувати.... Всі в компаніях зі списку Fortune 500 дуже відповідально відносяться до своїх обов’язків(але це не точно).
Невже в Амазон немає звичного раздолбайства?)

Скажемо, є певні технічні та юридичні важелі, які не дозволяють таке робити в контексті даної розмови. Або так, навіщо ризикувати кар’єрою, якщо не сьогодні, так завтра тебе запалить сканер )

Подивіться на дерево залежностей простеньких пакетів на npm (чи деінде)

іронічно, бо амазонівська ліба одна з найбільш постраждалих

Охох))) я как раз попал на страницу его репы фэйкера, когда он пушнул тот спич типа его задолбало, что все из Fortune 500 используют его библиотеку, а бабок — не платят. И решил что не буду юзать ее, а то еще поддерживать перестанут и потом ходи свисти. Как в воду глядел;)

да автор какой-то недоразвитый, ну поменяй лицензию или закрой его нафиг, так выбрал наговнить всем

Тонкая грань. Наговнить, это когда, например, платформа с кучей купленных тобой игр банит тебя без объяснения причин, или когда соц.сеть где ты жил десять лет блокирует твой аккаунт ни за что — и таких историй просто дофигища. А если парень удалил свой код из своего репозитория, который он написал бесплатно за счёт своих сил и времени — тут на него все накинулись. Может сначала начнём что-то делать с корпорациями, которые говнят и блочат сотни и тысячи людей, а не наезжать на парня у которого крыша пошатнулась от несладкой жизни?

Вообще прикольная тема, но её стоило бахнуть первого апреля. Ну или первого мая.

Ахахаха, еще один leftpad.
Кто не хранит клоны зависимостей локально — тот чудак.

І версії бампити теж ніколи не потрібно, еге ж?

Это нужно делать намного реже чем кажется, и в ручном режиме. Работает — как известно — не трогай, только если там какая-нибудь уязвимость.

І ще це гидке слово розробник. Є ж прекрасне програміст. Користуйтесь ним.

Яке гидке слово програміст, наче про якогось тамаду що розробляє культ-програму для бухача говоримо. Є прекрасний вираз — оператор ЕОМ, кристуйся ним.

Оператор не обовʼязково програміст.

програміст — то не завжди розробник

оператор то совкове поняття, це будь-хто хто працює за комп’ютером, зараз це 100% населення.

Це не просто так, далеко не всі розробники — програмісти.

...і не всі програмісти — розробники

Ніби машинний переклад дописаний тією ж машинною.

corrupted a pair of open-source libraries on GitHub and software registry npm — «faker.js» and «colors.js

це не

зіпсував кілька популярних бібліотек із відкритим початковим кодом на GitHub, а також реєстр програмного забезпечення npm — «faker.js» і «colors.js»

Він нічого не робив з реєстром програмного забезпечення npm.

Згодом color.js було оновлено до робочої версії, проте faker.js досі «страждає».

Краще було б написати замінено а не оновлено. А про те що воно страждає мені аж боляче читати.

увів зловмисне фіксування до colors.js

І я б ввів. Але не в color.js

починаючи з трьох рядків тексту, які читають «LIBERTY LIBERTY LIBERTY».

Хто читає? Рядки читають?

Також файл Readme faker.js був змінений на «Що насправді сталося з Аароном Шварцем?»

Текст Readme було змінено на... В Readme він написав...

Які наслідки пошкодження бібліотек

Вони не пошкоджені.

Відомо, що faker.js має майже 2,5 млн завантажень на тиждень на npm, а color.js отримує близько 22,4 млн завантажень на тиждень.

Має і отримує. Має і отримує завантаження. Мова соловʼїна.

У відповідь на проблему Сквайрс опублікував оновлення на GitHub, щоб
вирішити «проблему zalgo», яка відноситься до збійного тексту, який
створюють пошкоджені файли.

Мозок закипає.

Нам стало відомо, що у версії кольорів v1.4.44-liberty-2 є помилка zalgo

І т.д. і т.п. Як так можна писати?

Пане Анатолію, давайте менше статтей, але кращої якості, будь ласка. І вам роботи менше і ми щасливіші.

КРІ вони такі, іноді треба клепати як Паламарчук.
Звернення до адміністрації, перегляньте КРІ для Анатолія з кількості на якість.

Якесь неадекватне... Не подобається, що користуються твоїми творивами — поміняй ліцензії (дехто на це звертає увагу) або виклади пост «я устал, я ухожу, віддам репозиторій у добрі руки». А падлити і гімнити — це вже за гранню.
Ну і в принципі ця подія ілюструє всратість сучасної JS екосистеми, коли чиясь тупа примха ламає тобі весь білд і може внести якусь малварь (а чом би й ні?)
Ще треба пригадати історію з padLeft — вроді так називався цей пакет на 5 рядочків.

В принципе, его имущество/репозиторий — что хочет с ним, то и делает.

По всяким фриварным лицензиям, никто никаких гарантий не даёт и ответственности не несёт.

Тут мова йде не про права, а про порядність людини. Він виявився непорядним.

А в чём его непорядочность? Он удалил свой код. Ты так мыслишь: «Я ему доверял, а он меня так подло подвёл!». А по факту он выпилил свой код, что-бы им не пользовались. Он не хочет, что-бы его кодом пользовались, понимаешь? Хочет удалить свой код из интернета. Что-бы им не могли воспользоваться. Затем и удалил, понимаешь? Вот ты кормил десять лет бомжей, а потом перестал. Имеешь ведь право? А они тебя от***дили, и мудаком считают, в комментариях вымышленного форума bomjes of ukraine.

по-перше, не видалив, а поламав. І так, якщо ви не розумієте, що саме в цьому вчинку непорядного то я вже й не поясню, час сплив.

Та ну блин, «ой, всё». Easy come, easy go. Хорошо:
Он сломал свой код, что-бы им не могли воспользоваться.

всратість сучасної JS екосистеми

А в остальных экосистемах как-то по-другому?

В дотнете, например, нет версии latest, то есть нужно вручную бампнуть пакет, что стриггерит билд и прогон тестов. Даже если на проекте нет тестов — то куа регрессией в релиз кандидате увидит, создаст баг и команда откатит изменение. Так что да, проблема языков с latest в версии пакетов, коротким релиз циклом, без тестов и адекватного куа.

так и в package.json по умолчанию никакой latest нет.

npm install --save

прописывает допустимый апгрейд максимум до следующего минорного релиза

А тогда в чем собственно инфоповод? Я то думал оно кому-то в прод попало (нет экспертизы в в JS), придумал мир в котором оно могло бы попасть без участия человека. А оказалось чувак просто радикально прекратил поддержку своих же либ.

Я то думал оно кому-то в прод попало (нет экспертизы в в JS)

Зависит от того, что точно натворил этот чудик. Если пакостные версии были опубликованы как major update, то без специальных телодвижений в prod они попасть вряд ли могли. А вот если это был minor update, то

npm upgrade

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

К тому же, в любом случае это затрагивало проекты, куда любой из пакетов добавлялся как новая зависимость, поскольку при добавлении новой зависимости всегда по умолчанию берётся её последняя версия. Давно не пользовался NuGet, но в нём разве не такое же поведение по умолчанию?

Давно не пользовался NuGet, но в нём разве не такое же поведение по умолчанию?

NuGet, кстати, берет минимально подходящую, по умолчанию.

Хоть он и специально заделал мажорный релиз под это дело, все ровно нафига надо было это делать... В npm есть встроенная возможность выводить хинт, что пакет ищет финансирования, а если очень хотелось привлечь внимание, можно было на крайняк цивилизованно вывести пару строк в консоль и просто больше не тратить время на этот пакет. Пакеты небольшие, но вдруг как то резко захотелось за них денег, когда его начали юзать большие компании.

Мб нужно все зависимости хранить локально, чтобы оно падало под чутким руководством, а не когда захочет.

поміняй ліцензії

Не всі ліцензії це дозволяють

Автор кода (коллектив авторов единогласно) может начать распространять под любой другой лицензией, в любой момент. Просто не все можно потом отозвать.

Це якщо він — ЄДИНИЙ автор коду. Якщо в проекті є хоча б один байт іншого автору, для зміни ліцензії вже потрібна згода всіх авторів.

Взагалі він нічого там не зіпсував, і не зламав, лише показав що він існує тим хто його ліби використовує. А міг би крипто майнінг туди додати і утворити ботнет який на нього працює, і заробляє крипту.

Взагалі нещодавно була тема не форумі, що по накурці 30% американських програмістів працюють. Одні роблять пуш в мастер гілку в ім’я Боба Марлі, іньщі з мастер гілки тягнуть собі лібу в проєкт, замість релізної версії. Треті майетейнери дивляться що за лайно їх добровільний колега волонтер сабмітить до репи.

А був би «адекватним» — не ламав би явно, а заклав якийсь бекдор, потім продав в даркнеті і вирішив проблему — заробив копійку? )))

в жабе — это, в расте — история с tokio. Но «токсичная среда» в гошечке, я ничего не перепутал?

в гошечке вообще есть какая-то «среда»? о_О

а шо в жабе? это ж жс проблема
а log4j — прост уязвимость

в расте — история с tokio.

Что за история?

автор обиделся на критику «использования unsafe кода», психанул и сделал «сюрпрайз» всем пользователям репозитория. Потом «ложечки нашлись, но осадочек остался».

Вы, вероятно, ведете речь об actix, а не о tokio.

З повагою, я більше не збираюся підтримувати Fortune 500 (та інші компанії меншого розміру) своєю безкоштовною роботою. Скористайтеся цим як можливістю надіслати мені шестизначний річний контракт або розвинути проєкт і попросити когось іншого працювати над ним", — писав він тоді.

Бу-га-га. До коммунистика-любителя бесплатного труда — начало доходить. :)

Впрочем, нужно отметить, что практически любой оупен-соурсный код — это адский говно-трэш, которму нечего делать в коммерческом проекте. Разве что, если проект хочет постоянно напарываться на различные косяки. Kогда исправление багов в оупен-соурсном — порождает ещё большую кучу багов. A изменения в новых версиях бесплатного — рушат имевшиеся АПИ, без какой-либо совместимости/преемственности. итп

что практически любой оупен-соурсный код — это адский говно-трэш, которму нечего делать в коммерческом проекте

Ну Линух весьма стабилен. Да и на libusb нареканий не было, как первые 2-3 порции граблей соберешь и флажками пометишь.

Ну Линух весьма стабилен.

Это исключение, лишь благодаря наличию там Линуса с его квалификацией, ретроградностью и неполиткорректностью (умению послать говнокодера нахер, со всеми его правками и прямым текстом).

Как Линус отойдёт от дел и до ядра доберутся всякие «плюсисты», «растовсы» и даже «джависты» — на этом всё для Линукса закончится.

П.С. При этом, похоже, пример Линуса стал у многих хипстеров морковкой перед носом. Tипа, пиши оупен-соурс и станешь, как Линус — уважаемым и обеспеченным. Люди начинают писать, а вместо обеспеченности получают кучу неоплачиваемого труда.

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

Вот это контр пример скорее к сожалению. Думаю засесть за исправление багов которые мне реально мешают. Лично я не считаю труд над софтом который ты потом сам же и будешь применять, бесплатной работой, скорее общественно полезной. Это не тоже самое что набивать карманы другому человеку разрабатывая софт который ты сам никогда не сможешь применить.

u-boot, yocto, openembedded, etc. Є тисячі опенсорс-проектів, які використовуються сотнями мільонів людей в світі і сотнями тисяч компанії в продакшині і вони не знають «мудрої» думки аноніма-кодерка, що це — «адский говно-трэш».

Щодо лінукса, там вже давно окрім Торвальдса з’явились топи, які слідкують за якістю кода. Зараз в нексті — Грег Кро-Хартман, в стейблах — Макс Левін. І нічого, якість від такої діверсифікації не впала.

USB — абсолютне зло. Libusb — я навіть не знаю, як назвати цей виплід нелюдської уяви.

На щастя, позбулися цього місяць тому, і я не можу сказати, наскільки цьому радий.

Стосовно лінукса і іншого GNU — набагато простіше шукати проблеми у відкритому коді, ніж у закритому (QNX, Windows).

На що перейшли з libusb?

USB — абсолютне зло

А по конкретнее? И что в замену?

От лише на цьому безкоштовному open source тримається ледь не весь світ прекрасного IT. І як можна стверджувати що програма написана добре і не говнокодом якщо не можна прочитати її код?

Тсссс
А то мамкіни капіталісти в підвалі почують і будуть битись в істериці

Как только начнут требовать гарантии на г-нокод (а не как сейчас «program provided as-is, without implied warranty blah-blah-blah»), так попенсорс сразу сдуется.

І як можна стверджувати що програма написана добре і не говнокодом якщо не можна прочитати її код?

Прочитать всегда можно. Но после того, как за этот код заплатишь.

Кроме того, этому коду оказывается поддержка. Притом, квалифицированными и ответственными спецами, а не бесплатными хипстерами — после исправлений которых, багов становится больше, а не меньше.

Код яких платних програм мені дадуть почитати? Після оплати звісно ж. А перед купівлею можна переконатися що товар хороший?

Код яких платних програм мені дадуть почитати?

Практически, любых. Скажем, ни один мало-мальски крупный корпоративный клиент — не станет применять у себя код от мелких/средних компаний (тем более, от частных разработчиков) без исходников.

Ахаха, а гнусмас — это мало-мальски крупный корпоративный клиент? А то у него наших исходников точно нет.

О, як надається підтримка на QNX, я вам міг би розказати. Але NDA...

О, як надається підтримка на QNX, я вам міг би розказати. Але NDA

НДА не касается обсуждений на форумах, да ещё и анонимных (и да, то что у вас там имя/компания — совершенно не означает, что это ваши имя/компания).
Так что, не ограничивайте себя. :)

Много работая на проектах с мелкомягкими — я примерно представляю, как делается поддержка.
Скажем, для крупного (очень крупного) корпоративного клиента на одном из проектов — мелкомягкие даже пофиксили баг в 64-битной винде в течении нескольких дней и сделали персональный патч для этого проекта.
Для более мелких есть просто поддержка — но они мелкомягким и платят меньше (если вообще).

Подержка QNX, наверняка, более клиент-френдли — просто даже потому, что контора меньше/не так богата.

П.С. К слову, у крупных корпоративных клиентов, никогда не было проблем с получением исходников Винды, если нужно. С QNX, возможно, исходники просто продаются каждому (за баблос).

Помню слухи, что исходники как-то даже специально слили, чтоб кастомер подсел на железо)

QNX пішов по руках, і версію 6.5.1 викачали всі, хто встигли.

Від АЕС до інфотейнменту — яка історія успіху! І ще якість придурки на ній роблять цирк...

Всі розробники QNX між рілізами сиділи на підтримці Cisco, і менших клієнтів мали ...десь.

Хоча коли їм багу звели до пів сторінки коду, і вона гарантовано відтворювалася на хвилину на двох нодах, і я їм прислав логи ядра — тодішній розробник QNet сказав аналог «ой, леле» китайською, і за кілька годин прислав патч ядра, на якому ми сиділи півтора року, поки багфікс не увійшов в наступний ріліз.

Горчака там ще не було. Та й ДОУ ще не було таким впливовим ЗМІ.

А что есть говнокод? Нет академического прояснения этого вопроса что есть чистый код, что есть говнокод.

Впрочем, нужно отметить, что практически любой оупен-соурсный код — это адский говно-трэш, которму нечего делать в коммерческом проекте. Разве что, если проект хочет постоянно напарываться на различные косяки.

Нищие квартирные стартапы иначе и не могут.
А когда перестанут быть нищими — не будет времени и желания переезжать на новые рельсы.

Tут скорее вопрос в квалификации оупен-соурс писателей. Зачем квалифицированному и востребованному спецу, работать «на дядь» забесплатно?

Можно попенсорс писать незабесплатно. Например, если этот попенсорс будет работать только с правильной железкой, то в стоимость железки можно заложить стоимость софта.

то в стоимость железки можно заложить стоимость софта

Можно. Но только нафига делать код оупен-соурс, когда его можно продать ещё и отдельно?

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

Потому что для тебя это не основной продукт, а инструмент для получения другого вэлью. Который ты можешь улучшить.

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

которые платят реальные деньги

Там пару десятков баксов, реже сотен- забугорный сеньйор, получающий 150$ в час, вряд ли в плюсе будет, с учетом что бага там явно не на 5 минут :) Так что это уровень buy me a coffee, чисто так для внимания.

Ну... если брать TOP 500 суперкомпьютеров, то там открытый Linux везде, который повытеснял проприетарные UNIX и Windows. И влядли стоимость доделок и фиксов была низкая.

Ну и представьте, что вы пишете письмо в Microsoft, с просьбой сделать поддержку для одновременной работы 400 видеокарт одновременно, что вам кровь из носу надо для расчётов. Какой будет ответ?

представьте, что вы пишете письмо в Microsoft, с просьбой сделать поддержку для одновременной работы 400 видеокарт одновременно, что вам кровь из носу надо для расчётов.

Илон Маск как-то поинтересовался, а можно ли машинку в космос запустить.
Вот приблизительно из той же оперы что и в Microsoft по поводу поддержки 400 видеокарт писать.
Как говорится, если сильно захотеть — можно в космос полететь :)

Есть куча проприетарного кода который закрыли видимо с целью чтобы не стыдно было. После этого даже OpenSSH покажется образцом структурного качества кода. Ещё бывает найдешь баг в этом всем с элементарным NPE, неделя тебе переговоров через четверых менеджеров, пока найдут разработчика в Oracle который это исправит пришлет, патчь. В Mozila помню нашел баг, засабмитил репорт в Bugzilla на своем коряво джунирском английском, и патчь тогда ещё через CVS, просмотрели, приняли. Заняло два дня.

оупен-соурсный код — это адский говно-трэш, которму нечего делать в коммерческом проекте.

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

любой оупен-соурсный код — это адский говно-трэш, которму нечего делать в коммерческом проекте.

spring.io

Обклюцца своим жабоскриптом и ябут друг друга в пакеты :-)

Люди разучились делать библиотеки функций и лепят библиотеку на каждую функцию. Регресс и деградация.

Зато формы шлепают в 10 раз быстрее

Только в начале, потом говно лезет в геометрической прогрессии. Нельзя сделать пулю из говна, нельзя.

Нельзя сделать пулю из говна, нельзя.

можно
будет говняная пуля

убить — не убьет, но настроение подпортит

убить — не убьет

Смотря до какой скорости разогнать.

убить — не убьет

Смотря до какой скорости разогнать.

Закипить у польоті.
А знаєш, як обідно, коли тебе вбили киплячим гімном?

Так часто из библиотеки одна функция и нужна :) Ну и вопрос, а как найти либу, куда можно добавить нужную тебе функцию?

если альтернатива — исключительно самописный код и стандартная библиотека — то может, и ладушки?

Підписатись на коментарі