Местечковую ерунду обычно и не шлют в апстрим. Но а) можно как минимум поставить условие, что приславшие должны свою фичу подеерживать; б) когда «вменяемый» мейнтейнер отказывается принимать патчи, решающие конкретную проблему, и в принципе отрицает необходимость её решения, объясняя это какими-то догмами архитектуры ПО, бесполезными на практике, то это наносит большой вред свободной экосистеме (inb4: нет, это не [только] про GNOME).
в какой момент своей жизни ты решил, что владелец проекта обязан включать чей-то код? если код расходится с видением владельца (или core-команды), то это абсолютно нормально получать reject на твой PR.
из своего опыта… один очень настойчивый (хотя, точнее будет - настырный) разработчик пытался меня убедить включить его код в мастер приводя свои аргументы. но его аргументы были сильными только в его голове и расходились с моим видением как должна быть реализована та фича. он очень долго и упорно настаивал на своем. Согласно твоей логике я должен был принять его реализацию с некой гарантией, что он эту фичу будет сопровождать. Звучит, как-то бредово, не находишь? я ему предложил сделать форк, что вполне естестенно.
я бы так не сказал. если форк становится сильнее, то это как раз таки польза для сообщества. наглядный пример тому gogs. автор в одну голову тащил большой проект и сообщество ему нагенерило столько фич, что он тупо не вывозил. появился форк gitea. сообщество только выиграло от этого форка.
Сами форки и функциональность в них вполне могут быть годными. Но ведь в большинстве случаев было бы лучше, если бы все улучшения интегрировались в оригинальный проект. Просто не всегда негативные последствия значительны. Например, иногда разработка просто перетекает из одного репозитория в другой.
Ага, а потом сказал, что единственный верный путь написания драйверов — включение в апстрим, а тех, кого это не устраивает, могут идти лесом.
Ну да, если ты хочешь, чтоб твой драйвер не ломался - включай его в апстрим. Или обновляй под меняющееся API сам. А ты-то чего сказать хотел? Ты где-то тут противоречие с предложением иметь свои форки увидел?
Что, прям в 2 раза? Или в 1.000001?
Оба варианта экспоненциальны. Если опция серьёзная - в 2 раза. Именно так. Если ты писал что-то сложнее хеллоуворлда то ты должен это знать на собственном опыте.
Местечковую ерунду обычно и не шлют в апстрим.
Как не шлют? Тут вот выше давали пример «вредительства» гномов по отношению к систем76. Если кратко: в гномолибе отключили поддержку левых тем. Дебилоиды из систем76 предложили патч, который это отключение отключает. Вот так просто. И подняли вонь после того как патч не приняли.
Но а) можно как минимум поставить условие, что приславшие должны свою фичу подеерживать;
Давай без идиотских фантазий. Ты имеешь право не принимать никакие патчи. Это твой проект.
Мне вот что интересно, вот смотри, ты можешь прямо сейчас взять и форкнуть любую репу на гитхабе, верно? А теперь представь, что ты так и сделал. Просто форкнул. А потом приходит левый чувак и требует, чтоб ты в свой форк смержил его патч. Ты обязан это делать? Нет? Ну а если ты, аноним, который просто форкнул чужую репу, имеешь право не принимать никакие патчи ни на каких условиях, то с какого бодуна вдруг люди, реально писавшие этот софт, вдруг становятся обязаны принимать всякий мусор?
б) когда «вменяемый» мейнтейнер отказывается принимать патчи, решающие конкретную проблему, и в принципе отрицает необходимость её решения, объясняя это какими-то догмами архитектуры ПО, бесполезными на практике, то это наносит большой вред свободной экосистеме
Вот есть какая-то проблема. И человек пишет софт, её решающий. Может плохо, но решающий. Но он отказывается принимать патчи от всяких дебилов. Как получается, что человек, создающий свободный софт и дарящий его людям, вдруг каким-то образом наносит вред свободной экосистеме? Т.е. он не просто должен решить проблему и подарить свой труд человечеству, он ещё и сплясать должен, просто чтоб его карма вышла из минуса?
Свободный софт начинается и заканчивается на форках. Как только появляются умники типа тебя, заявляющие, что автор софта вдруг что-то кому-то должен, это прекращает быть свободным софтом и становится рабским софтом.
Стоит различать временные форки и постоянные.
Не стоит. Если уж брать исторически, свободный софт скорее про постоянные форки. Просто не было инструментария чтоб удобно сливать.
Одна из основных идей СПО в том, что доступность исходников позволяет знать, чем занимается программа, и при необходимости внести свои изменения.
Ты гпл вообще читал? Там не говорится про возможность внести изменения в чужую программу. Там говорится про возможность получить исходник, внести изменения и обязанность выпустить изменённый исходник под гпл. Это 100% описание форка. Там даже нет намёка, малейшего пожелания, что ты должен автору оригинального текста сообщить о том, что ты чего-то менял, даже если он хочет вносить патчи в апстрим, гпл не заставляет тебя помогать ему. И тем более нет требования принимать патчи.
А в «Open Source» вообще центральная идея в том, что можно вместе работать над одним проектом.
Это идея настолько же идиотская и невыполнимая как коммунизм. Невозможно работать совместно над одним проектом. Либо это будут идиоты, которые всё портят, либо самодур, который всех считает идиотами и не позволяет работать над его проектом. RMS немного странный, но не идиот, он никогда бы не предложил утопическую совершенно открытую разработку.
И ничего нет прекрасного, когда и без того ограниченные ресурсы тратятся на параллельную поддержку одинаковой или очень схожей функциональности.
Обычный FSF-фашизм, все вокруг тупые и распыляют ресурсы, один ты знаешь на что их надо тратить, жаль никто тебя не слушает.
Конечно не видишь, после того как я на пальцах разложил тебе всю нелепость твоих хотелок. К сожалению тебе не хватило честности признать что сморозил глупость, выезжаешь на попытке оскорбиться за гипотетического персонажа: дебила, чей патч не приняли.
Всё-таки пожелание на будущее: перед тем как выдать очередное «должно быть так» на секунду остановись и подумай о ситуации не только с точки зрения повелителя вселенной, но и с точки зрения тех, кому ты собрался повелевать. Представь, что это тоже свободные люди, которые даже не связаны с тобой контрактными обязательствами, которые вероятно не получают за свою работу зарплату, работают только ради желания сделать хороший продукт, с какой стати они вдруг должны подчиняться твоим хотелкам и хотелкам мимокрокодила, который написал 10строчный патч, отменяющий решение этих разрабов?
А вот постоянное: программа должна просто перечислить названия тем, с которыми она совместима.
Пользователь хозяин своего компьютера и он сам решает какие будут использоваться темы, а не авторы программы или гномеры. Подход гномеров противоречит принципам свободного ПО.
Пользователь хозяин своего компьютера и он сам решает какие будут использоваться темы
У меня есть любимый скин для винампа. Как применить его к deadbeef?
а не авторы программы или гномеры.
Так system76 не подразумевали дать пользователю выбрать тему. Они просили дать возможность разработчику приложухи определить, какие темы размешены. Потом бы во все приложухи кинули бы пулреквест на добавление строчки «supported_themes.support(«Pop»);». А если автор откажется - просто сами перед сборкой добавляли бы.
Поддержку тем как раз пытаются сделать гномеры. Не любых тем, а вариантов раскраски adwaita. System76 предлагали похерить это и вернуть взятие темы из переменной среды, но только если в этой переменной написано «pop» или «yaru». Если сам что-то иное пропишешь, то хрен тебе.
Так вот, теперь внимание, правильный ответ. Апстрим не должен принимать PR. Ни «всегда», ни «часто», ни даже «иногда». Принятие хоть чего-то - это их добрая воля. Если они хотят переложить часть работы на сторонних добровольцев - они принимают патчи. Соответственно только если патч полезный. Автор патча, с другой стороны, готов что-то сделать, но не хочет поддерживать свой форк - он исполняет ритуал подачи PR чтоб сделать и забыть. Из вот этого взаимного согласия и рождается практика принятия PR.
Соответственно в ситуации, когда хозяева проекта говорят: «мы прикрываем порнографию с темами в нашем гноме, делаем безопасный переключатель тем между вариантами адвайты», а сторонний разработчик приносит патч сознательно эту фичу ломающий, то тут как бы никакой двусмысленности нет и быть не может, его просто посылают. Никакого права вето у мимокрокодила тут как бы в принципе нет.
Поэтому ситуация, когда какой-то умник забивает в горло разрабам свой патч, ломающий разрабатываемую фичу, а потом жалуется, что его патч не приняли - это такая наивная попытка на дурачка навязать свою волю не имея на это никаких оснований, просто устроив шитсторм в твитторе.
Ну а твоё предложение принять ломающий патч взяв обещание «поддерживать» его тут как бы вообще не к делу.
Это к авторам Deadbeef. Есть полно плееров совместимых со скинами WinAmp.
Нет, ты определись, авторы дедбифа нарушили моё неотъемлемое право поставить скин от винампа или всё-таки они имеют право послать меня с моими хотелками? И если имеют, почему авторы гнома вдруг обязаны поддерживать темы гтк, которые вовсе и не темы, а свободно написанные css? Чем они хуже авторов дедбифа?
(facepalm)
А чего ты фейспалмишь? Авторы софта имеют право выбрать предел кастомизации. Если они готовы поддерживать смену нескольких цветов, но не готовы гарантировать работоспособность кнопок с изменённой формой, то какие к ним могут быть претензии?
Хохма ситуации в том, что все понимают, что всё плохо. Даже system76 признают, что всё разваливается и внутрь темы периодически приходится добавлять костыли под конкретную программу, которые устаревают как только она обновится. Разница только в том, что кто-то хочет это исправить, а кто-то считает что и так норм, главное чтоб наша попось не выглядела как клон убунты.
Если ты беспокоишься конкретно по поводу необходимости поддерживать новый код, то вместо того чтобы совсем не принимать патчи вполне можно поставить условие, что предлагающий PR’ы обязуется свой код поддерживать.
Опять ты что-то себе напридумывал, хотя я специально написал, что речь не идёт о каком-то конкретном проекте/патче.
Изначальный посыл был именно в том, что для пользователя лучше, когда а) в свободном приложении реализованы все нужные фичи, а не когда есть несколько аналогов/форков, в каждом из которых имеется только некоторое их подмножество; б) больше разработчиков вносят свой вклад в развитие этого приложения.
Тоже вариант. И авторы программ не должны этому мешать.
не оч понимаю, а каким образом они сейчас мешают? это ж опенсорс, форкай, дорабатывай напильником до нужного состояния. В чем сложность?
признаться честно, я немного в а**е от таких заявлений в адрес авторов программ :). сложно тебе придется в жизни с таким подходом и ожиданиями, что тебе должны :). особенно авторы программ, которые отдают свои программы не только просто так, но и исходники еще отдают.
Вставляют палки в колёса с прошитым намертво списком поддерживаемых тем. Должно какая в системе тема выбрана, такая во всех программах и используется. Если пользователь выбрал какую-то странную тему, то он ССЗБ и автор программы не при чём.
Список поддерживаемых тем прошитый в программу – это абсурд какой-то. Обычно программа вообще ничего не знает о том какая в системе выбрана тема. Просто использует функционал тулкита и всё само собой работает.
Список поддерживаемых тем прошитый в программу – это абсурд какой-то.
Погодь, так это было именно то решение, которое system76 предлагали. Я тебе уже давал ссылку, но тебе видимо лень пройти и читать
// Support some themes. In this case, I have explicitly supported only the light theme
// variants of some common themes.
supported_themes.support("Arc");
supported_themes.support("Pop");
supported_themes.support("Yaru");
Опять ты что-то себе напридумывал, хотя я специально написал, что речь не идёт о каком-то конкретном проекте/патче.
Чувак, твои попытки отмазаться после того как ты наследил в теме довольно нелепы. Разве ты не давал ссылку на закрытый тикет «поддержите xdg-decoration»? Это даже не отклонённый PR, ты умудрился поставить им в вину нежелание самим реализовывать чужие хотелки, с которыми они несогласны.
Изначальный посыл был именно в том, что для пользователя лучше, когда а) в свободном приложении реализованы все нужные фичи
Кому лучше? Вот давай рассмотрим конкретный пример: даш ту док. Огромное количество людей пользуются этим расширением. Они бы не отказались, если бы оно не ломалось при каждом обновлении. Нужно ли перенести его функционал в апстрим? Вроде бы да. Ну много народа было бы счастливо, верно?
Нет. Дело в том, что даш ту док - плохое расширение. Гном 3 построен вокруг овервью. Подразумевается, что UX гнома2 был плохим, а вот овервью - хороший. Ну, по крайней мере в этом уверены авторы гнома3. Даш ту док заменяет непривычный овервью плохой копией привычного таскбара. Пытаясь восстановить плохой UX, терпя на этом пути трудности, пользователь рано или поздно решает, что не стоит вообще мучиться. И он в чём-то прав, если он не пользуется фичами гнома3, то какая ему польза от этого гнома? Такой пользователь поступит разумно перейдя на хоть цинамон, где классический UX реализован нормально.
Если бы кто-то написал патч, который включает аналог даш ту док галочкой в настройках, то больше народа включали бы его, а потом разочаровывались в гноме3. Так где здесь польза для пользователей?
Если честно, я не вижу противоречий в логике разработчиков гнома. Они оставляют возможность раскрасить адвайту. Если приложение изначально написано под гном, то автор предполагает, что его приложение будет таким, какое даёт Адвайта даже с разными цветовыми схемами. Еже ли автор хочет какой-то особенный функционал схем, то сделает просто на базе гтк и даст пользователю возможность конфигурирования. Еже ли пользователь совсем имеет свое видение внешнего вида, он форкает, берет напильник и делает как ему нравится. Все логично.
Просто из твоих комментариев сквозит «мне должны», что, мягко говоря, является дурным знаком о распухшем ЧСВ и это точно не проблема разработчиков
Я нахожу странным в целом ход мыслей обнуляющих право авторов софта самим решать, как им разрабатывать софт и навязывать видение отдельных пользователей.
Разве ты не давал ссылку на закрытый тикет «поддержите xdg-decoration»?
Это вообще было в рамках другой дискуссии. Тебе лишь бы приплести.
Если бы кто-то написал патч, который включает аналог даш ту док галочкой в настройках, то больше народа включали бы его, а потом разочаровывались в гноме3.
Предположим что реально большинство. Значит ли это что убогий Даш ту док должен быть интегрирован и, раз мы решили что большинство, быть включен по умолчанию?