«Проприетарному — нет»: драйверы-прослойки для доступа к GPL-вызовам ядра Linux предложили блокировать +27





Проприетарные разработки глубоко проникли в код многих приложений и сервисов. В сложных системах избавиться от них очень непросто. Зачастую для этого используются обходные пути, которые скорее являются «костылями». В ядре Linux для работы с проприетарными драйверами используются драйверы-прослойки, которые предназначены практически исключительно для трансляции обращений драйвера к ядру. У прослойки код открытый, так что проблемы с GPL-лицензией нет, формальности соблюдены.

Но у такого подхода немало противников. Один из них — Кристоф Хелвиг (Christoph Hellwig), разработчик ядра Linux. Ранее он был членом управляющего технического комитета организации Linux Foundation. Также он выступал истцом в судебном процессе с VMware. Хелвиг предложил значительно ужесточить защиту от связывания проприетарных драйверов с компонентами ядра Linux.

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


Источник: 3dnews

В ходе обсуждения предложили и обратную блокировку. Так, если модуль импортирует EXPORT_SYMBOL_GPL, то в этом случае любые экспортируемые модулем символы не должны импортироваться теми модулями, которые не заявляют о совместимости с GPL. Предложение было сделано не Хелвигом, а другим участником дискуссии. Но Хелвиг согласился с ним. Скорее всего, Линус Торвальдс не пропустит это предложение, поскольку оно приведет к блокированию ряда подсистем ядра для проприетарных драйверов.

Весь сыр-бор разгорелся после публикации инженера из Facebook патчей с реализацией подсистемы netgpu. Эта подсистема дает возможность организовать прямой обмен данными между сетевой картой и GPU с выполнением обработки протокола силами CPU. На базе предложения можно сделать общую реализацию RDMA для обмена данными между GPU или внешней CXД. Многие разработчики выразили недовольство подобными нововведениями, поскольку реализация доступна лишь для проприетарных драйверов NVIDIA через предоставляемую этими драйверами прослойку. Хелвиг даже назвал разработчика троллем.

В свою очередь, автор патча возразил, что подсистема не привязана к NVIDIA, так что ее поддержка может быть обеспечена для программных интерфейсов к GPU AMD и Intel. В конечном итоге продвижение netgpu в ядре признали невозможным до появления рабочей поддержки на основе таких свободных драйверов, как AMDGPU, Intel i915 или Nouveau.




Комментарии (126):

  1. interprise
    /#21926494 / +1

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

    • Alex_ME
      /#21926530 / +4

      Вы так думаете? Львиная доля рынка NVidia — датацентры, где, в основном, Linux.

      • /#21926588

        Ну так для датацентров f*-you-NVidia и напишет опенсорс драйвера на отвали, c функционалом только для датаценторв. Пока Линукс не занял большую часть рынка, так делать, нельзя, увы. Как бы ни хотелось…

        Надо бы добиться законодательства, что если делаешь и продаёшь железо, то обязан бесплатно предоставить покупателю все имеющиеся API, описания интерфейсов и т.п., иначе недобросовестная конкуренция.

        • dead_moros
          /#21926756

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

          • 0xd34df00d
            /#21926758 / -1

            Не только схему, но и исходники на vhdl или verilog или что там. А то это тивоизация какая-то.

            • Fenzales
              /#21927538

              Ядро лицензировано под GPL-2, так что не судьба :)

            • balamutang
              /#21928342

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

              • quwy
                /#21930608

                Аналогичная практика была в свое время внедрена СССР. Пришло кому-то наверху в голову озарение, что разные НИИ по сто раз переизобретают одно и то же, и надо бы это как-то организовать. В итоге любое промышленное ПО перед внедрением должно было «публиковаться» в некоем государственном «репозитарии». На первый взгляд идея здравая, но реализация была как всегда. НИИ отправляли свои «коммиты» на отвяжись, неработоспособными обрывками, только первую версию без последующих исправлений, без документации, лишь бы галочку поставить, короче. Китай весело идет по тем же граблям.

          • /#21926818

            Не надо передёргивать. Схему — нет, чтоб не копировали. А чем передача API может нанести ущёрб вендору?

            • fougasse
              /#21927134 / +1

              Как минимум- затратами на поддержу актуальности.
              Плюс возникает проблема полноты АПИ, кто решает, что входит, а что нет?
              Но гораздо большая сложность — поддержка совместимости. Пока АПИ не публичное — это проблема вендорская и только вендорская.

              • /#21927180 / -2

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

                • dth_apostle
                  /#21927492 / +4

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

                • stepuncius
                  /#21928996

                  Зато могут рассказать конкурентом многое об аппаратной реализации…

                  А её в том или ином виде «пиратить» — вполне реально.

                • Moskus
                  /#21930886

                  О, monsieur определенно знает много о том, как весело и легко поддерживать разработку того, что содержит патентованные решения, составляющие интеллектуальную собственность и коммерческое преимущество разработчика. Когда каждый каждый коммит должен проверяться на предмет того, попадает ли он в эту категорию. Плюс, есть еще такие веселые вещи, как функционал, определяемый драйвером (как у nVidia Quadro, которые не отличаются от не-инженерных устройств практически ни чем). Если nVidia откроет код драйверов, никто не будет платить дополнительные деньги за Quadro — эту историю мы уже проходили в девяностых, когда драйвер можно было патчить, приучая его к другому ID, и конвертировать GeForce в Quadro и обратно простой перезагрузкой системы (лично так делал ради работы в 3D Max). И это только пара примеров.

                  • myz0ne
                    /#21931102

                    когда драйвер можно было патчить, приучая его к другому ID

                    А сейчас что мешает? Ладно под виндой может подпись драйверов помешать, а под линухом то что?

                    • Moskus
                      /#21931186

                      Под Linux это лишено практического смысла, потому что большинство софта, который требует Quadro — не под Linux. PTC Creo, Mastercam и т.п.
                      Что же касается прямого ответа на вопрос — я несколько отстал от этого вопроса, потому что сам не на столько владею программированием, чтобы пытаться самостоятельно ковыряться, а раскопанные кем-то решения перестали появляться несколько лет назад, когда карты перестали дифференцироваться по набору номиналов резисторов, распаянных на плате. Т.е. сначала было возможно патчить драйвер, потом это стало невозможно, но осталось возможно патчить карту путем перепайки резисторов (навсегда). Информацию о том, как решить эту проблему с современными картами (где-то после 2016) мне найти не удавалось, допускаю, конечно, что не очень хорошо искал. Слышал, впрочем, что есть какие-то новые наработки с патчем VGPU-инфраструктуры.

            • 0xd34df00d
              /#21927190 / +2

              Это не передёргивание. Если я владею железкой, то я имею право менять её по своему усмотрению, покуда это не приносит вреда окружающим, разве нет? А отсутствие схем ограничивает меня в этом праве.

              • /#21927206

                Это к вопросу о праве на ремонт тракторов — отдельная большая тема. Боритесь.

                • 0xd34df00d
                  /#21927214 / +2

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

              • mistergrim
                /#21927682

                В праве оно вас никак не ограничивает.

                • 0xd34df00d
                  /#21927692

                  Как и отсутствие открытого API железки.

          • oisee
            /#21929134 / +1

            Ну, раньше к телевизорам и прочим бытовым приборам принципиальная схема в комплекте шла.

        • Alex_ME
          /#21926872

          Не думаю, что linux-компьюнити сможет, без поддержки со стороны NVidia, написать production-ready драйвер, потому что NVidia (насколько я помню) так и не открыла спецификации по управлению питанием, без которых о какой-то нормальной производительности можно забыть.

          • /#21927192 / -2

            Значит, надо на законодательном уровне требовать, чтобы все такие спецификации были открыты.

            • 0xd34df00d
              /#21927222 / +2

              Зачем?


              Вот у нас уже есть опенсорсные AMD'шные драйвера. Если бы открытость была так важна, то это бы означало, что AMD бы захватило соответствующий рынок, разве нет?

              • alex1478
                /#21930262

                Процесс это не быстрый. Есть у меня старая карта nvidia, она меня пока полностью устраивает. Но при обновлении в приоритете буду смотреть AMD'шные карты, как раз из-за открытых драйверов.

                • 0xd34df00d
                  /#21930284

                  Ну и отлично! Значит, и без законов всё исправится, разве нет?

                  • alex1478
                    /#21930300

                    Мне боком до выше озвученного закона, я говорю что ситуация:

                    AMD бы захватило соответствующий рынок
                    — процесс не быстрый.

          • inferrna
            /#21928014

            Не думаю, что NVidia без поддержки коммьюнити сможет написать production-ready операционку для эксплуатации своих железок. Она, конечно, может уйти в проприетарь и *BSD, но так будет даже веселее.

            • quwy
              /#21930618

              А нафига ей это делать? Есть винда, и она для основной массы ее коньюмерских продуктов подходит идеально.

        • am-habr
          /#21940504

          Работая с производителями железа, у меня складывается следующее впечатление.
          — Создают версию 1 железа с говнософтом, который они «поддерживают». Продают.
          — Клиенты рвут одно место, чтобы описать и доказать баги, потому что вендор сам их воспроизвести не может.
          — Спустя полгода вендор выпускает патч и гордо бьёт себя в грудь.
          — Спустя два года больше не фиксит версию 1, но выпускает версию железа 2.
          — Версия 1 могла бы еще 5 лет работать, но есть уже «новое», без «старых» багов.

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

          Linus Torvalds: Disagreement With Free Software Foundation

          Linus Torvalds says GPL v3 violates everything that GPLv2 stood for

          Линус как-то сказал в одном интервью:
          I suspect — and I may not be right — but when it comes to things like DRM or licensing, people get really very excited about them. People have very strong opinions.
          I have very strong opinions and they happen to be for different reasons than many other people.

      • Paskin
        /#21927276

        Эта «подсистема» — как раз зачаток NVidia OS. Они для этого и Меланокс купили — хотят сделать «сетевой GPU», в который нужно только загрузить модель или алгоритм — и стримить туда данные. А CPU будут нужны только для мониторинга и конфигурации — на них поставят какой-нибудь «докеро-запускатель» и все.

      • yvm
        /#21928514

        Лучше я куплю железку не у самой крутой фирмы, но открывшей спеки.

        • stepuncius
          /#21929024

          Насколько я понимаю — сейчас Nvidia, почти монополист в области Deep Learning железок. ( возможно, это изменится когда допилят транспилятор CUDA -> openCL или когда появится единый стандарт TPU)

    • /#21926776

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

      • none7
        /#21926874

        Для NVidia ещё есть ЦОДы, но кроме CUDA там быть ничего не должно, иначе оно может замедлить CUDA, то есть растрачивать потенциал железа. А если сервер нужен только под CUDA, то зачем ему огромный Linux?

    • stepuncius
      /#21929064

      Датацентры, в которых по лицензии на драйвер нельзя ставить игровые видеокарты — очень вкусный кусок пирога.
      Видимо, отказаться от Linux — Nvidia не сможет…
      … Равно, как и открыть драйвера, ибо это по-сути откроет аппаратную реализацию CUDA.
      Боюсь, если протащить такой патч Nvidia просто форкнет ядро. ( дальше 2 варианта: подтягивать новые версии и иметь патч для удаления флага EXPORT_SYMBOL_GPL, если разработчики ядра запретят это модификацией лицензии — нвидия просто заморозит версию и будет в облаках вариант взять сервер с GPU Nvidia и старым ядром или с новым ядром и без GPU, лет на 5 текущего ядра с небольшими патчами от Nvidia и тех, кто ей очень активно пользуется — хватит, а потом, думаю и так они не смогут вечно держать рынок серверного Deep Learning)

      P.S. И ещё не факт, что в случае форка ядра и лицензионного запрета на удаление флага EXPORT_SYMBOL_GPL — победит ветка ядра с флагом. ( т.к. многие тех. гиганты, которые пишут немалую часть ядра могут перейти в форк без флага, т.к. сами могут хотеть втыкать и пользоваться проприератными дровами, например, спорный патч написал разработчик из facebook, которому очень нужен Deep Learning)

      • neit_kas
        /#21929794

        если разработчики ядра запретят это модификацией лицензии

        На сколько помню, не смогут. По GPL v2 они считай сами себе сделали неприятный лицензионный конфуз. На сколько помню, для правки лицензии нужно согласие всех тех, кто участвовал в разработке. Попробуй их всех сейчас найди. Кстати, поэтому не могут и на GPL v3 перейти.

        • Scondo
          /#21939480

          Читайте текст GPL — на GPL 3 они могут перейти в любой момент. Принятие GPL означает согласие с возможным перелицензированием под будущими версиями GPL.

  2. dead_moros
    /#21926736

    del

  3. DoctorMoriarty
    /#21927128 / +1

    >«Проприетарному — нет»: драйверы-прослойки для доступа к GPL-вызовам ядра Linux предложили блокировать

    Спрашивается, и почему бы фанатикам просто не взять и не уйти на своё уютненькое идеологически стерильное Linux-libre? Впрочем, это риторический вопрос, на то они и фанатики, чтобы использовать тактику саботажа и навязывания. Ну, после инициативы запрета JavaScript можно уже не удивляться.

    • nobodysu
      /#21927250

      Линукс не достиг бы текущих высот без вирусной лицензии.

      • 0xd34df00d
        /#21927528 / +1

        А как именно вирусная лицензия здесь помогла?

        • inferrna
          /#21928034

          Если есть некая маленькая компания, которая вдруг надумала: «а не оплатить ли 1000 человеко-часов на реализацию %фичанейм% в ядре», то к принятию положительного решения её подтолкнёт тот факт, что все дальнейшие наработки других компаний по этой фиче будут также ей доступны, причём сразу.
          В отличие от BSD, где скажут «спасибо за фичу», а дорабатывать будут в своём блобе.

          • none7
            /#21928358

            все дальнейшие наработки других компаний по этой фиче будут также ей доступны, причём сразу.
            Кто то где то пытается продать ядро Linux и обязан вернуть изменения? Обычно свои изменения возвращают просто потому, что сихронизация изменений с чужим кодом это время и деньги. А если код не даёт конкурентного преимущества то в чём смысл им его зажимать? Это чистый убыток. А если преимущества он таки даёт, то для ядра пишутся обёртки, позволяющие важному закрытому коду легко прилинковываться.
            Вот если инициатива действительно пройдёт, тогда и посмотрим, сколько крыс сбежит с тонущего корабля.

            • inferrna
              /#21928726

              Мда, тяжело. Ещё раз:
              1. некая компания разработала некую фичу для ядра
              2. другая компания решила эту фичу доработать
              в случае с GPL, первая гарантированно получает доработки второй. В случае с пермиссивными лицензиями — далеко не факт. Например, речь о новом планировщике — как планируете прилинковываться проприетарным модулем с улучшениями? Даже не знаю, вперёд, успехов.

              • none7
                /#21928774

                С чего вдруг? Если я это ядро не продаю другим то никому и ничего не обязан. Более того изменивший ничего не обязан именно Вам, только своим клиентам. А уж выцарапывать патчи Вам придётся уже из его кода.
                Кстати бинарники публикуются под любой лицензией и вполне можно добавить условие, что распространение любой информации об внутренней структуре ПО карается штрафом в миллиард. Не подписав это условие клиент не станет клиентом и не получит исходники.

                • inferrna
                  /#21928794 / +1

                  Если я это ядро не продаю другим то никому и ничего не обязан
                  речь не про тех, кто патчит ядро у себя дома, а про тех, кто извлекает коммерческую выгоду.
                  Если ваша компания сделала ставку на BSD, что-то эдакое закоммитила во FreeBSD, то ждать возврата наработок от Apple или Sony ей придётся или очень долго, или она их может не дождаться вовсе. Это к вопросу о том, почему Linux, развиваемый одним разработчиком, выстрелил, а *BSD, за которыми изначально стояли коллективы и институты — нет.

                  • 0xd34df00d
                    /#21930282

                    Ага, наверное, поэтому тот же Apple (или Google), работая над LLVM с известно какой лицензией, вполне себе возвращают наработки.

                    • inferrna
                      /#21930310

                      А вы уверены, что они возвращают все наработки? Вдобавок, ситуация тут немного иная: в качественном компиляторе заинтересованы, в первую очередь, крупные конторы, производящие железо, а им интереснее пермиссивная лицензия по ряду причин. С одной стороны, разрешено делиться только тем, чем захочешь, а с другой, у них достаточно средств, чтобы самостоятельно доработать то, чем не захотел делиться «партнёр».
                      У ядра ОС куча мелких интерсантов и им как раз интереснее один раз законтрибьютить, а потом получать доработки собственного кода от других участников.

                      • 0xd34df00d
                        /#21930322

                        А вы уверены, что они возвращают все наработки?

                        В случае Apple — нет, в случае Google — да, так как неформально общался с людьми, которые там компиляторы пилят, о том, как они работают.


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

                        А все те, кто под него потом писать будет, разве в этом не заинтересованы? И какое железо производит гугл, для которого был бы релевантен LLVM, кроме этих их TPU, рынок которых ну очень мелкий по сравнению со всеми целевыми платформами LLVM?


                        Допилить компилятор плюсов или сделать свой маленький DSL с компиляцией через LLVM интересно и конторам на десяток-сотню человек.

                        • inferrna
                          /#21930340

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

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

                          • 0xd34df00d
                            /#21935034

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

                            Если купленная железка — уже и так быстрейший из доступных x86-процессоров, то быстрее некуда. Только свои FPGA или азики делать (что, кстати, некоторые и делают, но компилятор допиливать дешевле).


                            Плюс, я могу быть заинтересован только в JIT-куске LLVM (и я это делал, когда пилил что-то вроде компилятора для своего личного маленького язычка). Или я могу быть заинтересован в libclang для написания всяких статических анализаторов, преобразователей кода и создания своих диалектов языка (что я тоже делал на практике).


                            не монополист, потому и прячет наработки.

                            В соседней статье вон пишут, что монополист, ату его!


                            В любом случае, и у эппла, и у гугла дофига денег, они оба могут себе позволить тратить их относительно произвольным образом.


                            в своей нише гугл пользуется её результатами в гордом одиночестве — нет причин что-то прятать.

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

                          • Viknet
                            /#21942922

                            Apple

                            — не монополист, потому и прячет наработки.

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

              • Gorthauer87
                /#21928868

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

                • inferrna
                  /#21928896

                  Что-то проще, что-то не проще. Для сравнения: *BSD используется в качестве основы для макоси (правда там другое ядро, но всё же) и операционных систем для PlayStation® — которые ближе к десктопу, чем сервера, где коммерчески эксплуатируется Linux. Однако ж, на десктопах *BSD что-то не очень видать — отчего ж так? Может быть, о ужас, возвращают не всё?

                  • 0xd34df00d
                    /#21930296

                    Однако ж, на десктопах *BSD что-то не очень видать — отчего ж так? Может быть, о ужас, возвращают не всё?

                    И кто же из тех, кто занимается десктопным линуксом, что-то не возвращает?

                    • inferrna
                      /#21930316

                      Эээ… Речь как раз о том, что *BSD и нет на десктопах потому, что вендоры, использующие её для десктопа, не возвращают ключевые наработки, делающие такое использование возможным.
                      Чего не происходит с линуксом, поэтому на десктопе он есть.

                      • 0xd34df00d
                        /#21930324

                        А, я с отрицаниями перемудрил, извините. Кто из тех, кто занимается десктопным линуксом, что-то возвращает?


                        Какие, короче, есть вендоры десктопного линукса?

                        • inferrna
                          /#21930518

                          Навскидку — Ubuntu, Suse, RHEL.

                          • 0xd34df00d
                            /#21935052

                            Мне лень гуглить и анализировать распределение по годам (тем более, что убунты в первой половине нулевых ещё не было), поэтому я взял первую попавшуюся ссылку, тыц. Интел в топе, 13%, в линуксе на десктопах не заинтересован. Редхат — следующий, 8%, редхату на десктопы на самом деле тоже плевать, он занимается серверами и их платной поддержкой. Центоси и уж тем более рхела я на десктопах не видел, наверное, никогда (а вот на серверах почти везде, где я работал, была либо центось, либо рхел, да). Сусе — 3%, смешно обсуждать, да и там ей сервера важнее (SLES, или как там?), чем десктопы. Убунты вообще нет.

              • 0xd34df00d
                /#21930242

                Нет.


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

                • inferrna
                  /#21930280

                  Да чхать на ваши подвальчики, речь о крупных конторах, которые — да, продают результат. Как работает GPL тут, как-бы, все давно в курсе, спор о преимуществах, которые она даёт. Подозревать кого-то здесь в незнании 2x2=4 и гордо заявлять об этом, как-то даже неприлично, ей-богу.

                  • 0xd34df00d
                    /#21930292

                    Да чхать на ваши подвальчики, речь о крупных конторах, которые — да, продают результат.

                    Больше десятка тыщ разрабов, офисы с девелоперами в десятке стран — подвальчики. Ну ок.


                    Подозревать кого-то здесь в незнании 2x2=4 и гордо заявлять об этом, как-то даже неприлично, ей-богу.

                    Я, увы, слишком часто встречался с мнением, что GPL требует раскрывать все ваши наработки всем, а не только те, что вы отдаёте кому-то ещё, этому самому кому-то ещё.

        • mvv-rus
          /#21929418

          Предполагаю, что именно лицензия GPL послужила IBM основой для выбора Linux в качестве своей стратегической ОС в начале 00-х. Но это неточно.
          В качестве исторической справки, для пояснения роли IBM.
          К началу 00-х IBM со своей OS/2 вчистую проиграла Microsoft борьбу за рынок ОС для широкого рынка x86 компьютеров (ранее называвшихся «IBM PC-совместимыми»), но в то же время оставалась вполне успешным производителем более мощных компьютеров с эксклюзивной архитектурой. Linux с его лицензией GPL, похоже, позволял IBM наилучшим образом защитить инвестиции в ОС одновременно для эксклюзивных архитектур и для широкого рынка от поползновений остальных (кроме MS) конкурентов.
          А инвестиции тогдашнему Linux (ядру) ой как требовались — и не только денежные, но и вложения довольноредких среди разработчиков компетенций. Потому как ядро тогда было ещё довольно примитивным: достаточно сказать, что тогдашнее ядро 2.0 не поддерживало ни загрузку модулей без помощи программ пользовательского режима (был там такой процесс kerneld, который этим занимался), ни одновременное выполнение кода ядра на нескольких процессорах (на входе в ядро стоял один-единственный спинлок). И если первое ограничение было, в основном, косметическим (хотя необходимое для него API для добавления кода в адресное пространство ядра было потенциально весьма небезопасным), то при сохранении второго ограничения уже через 10 лет Linux на рынке бы не выжил.

          • none7
            /#21930224

            У меня есть более рациональное объяснение. В то время англоговорящим разработчикам активно полоскал мозги Столлман, поэтому большинство разработчиков с «левыми» взглядами предпочитали GPL, Linux фактически стал эмблемой GPL. Так как есть большое число разработчиков ратующих за Linux, то грех их не окучить.
            А вот в России с её идеями доставшимися от Ленина, предпочитали BSD и Яндекс выбрал FreeBSD.

            • lealxe
              /#21930568

              Что забавно — GPL как раз скорее левая, а BSD либертарианская.

              • mvv-rus
                /#21945120

                Ну, товарищ Ленин левизну тоже не сильно уважал. Даже работу про нее написал под говорящим названием «Детская болезнь левизны в коммунизме».

            • alsoijw
              /#21939602

              А вот в России с её идеями доставшимися от Ленина, предпочитали BSD и Яндекс выбрал FreeBSD.
              Можете пояснить?

              • none7
                /#21939790

                «С каждого по способностям» и не ради себя, а ради всего человечества. И не суть важно будут люди использовать ваш код непосредственно или как часть коммерческого продукта. Код принесёт пользу человечеству, а если окажется очень полезен, то даже занесёт моё имя в историю.
                Мне идеи GPL не нравятся уж тем, что они отделяют разработчиков ПО от всех прочих пользователей. Ну не будут корпорации лезть в мой код и он не станет огромной независимой блоатварью с кучей не особо нужных функций. Кому надо тот допишет или купит у того, кто дописал. GPL существует ради идеи всё ПО должно стать свободным, но в мире где существуют товарно-денежные отношения это непременимая идеалогия. Оно вроде ближе к идеям программного коммунизма, но по факту гораздо больше поддаётся влиянию капитализма и вечной гонки за первенство.
                «Учится, учиться и ещё раз учиться». BSD придумали академики, GPL популист.

                • alsoijw
                  /#21942948

                  «С каждого по способностям»
                  В случае GPL, если бинарники куда-то передаются, то патчи тоже передаются, продаётся не результат, а создание/поддержка результата. А вот в BSD уже получается с каждого по желанию, хочешь — жертвуешь, не хочешь — не жертвуешь.
                  Мне идеи GPL не нравятся уж тем, что они отделяют разработчиков ПО от всех прочих пользователей
                  Почему это отделяют?
                  Кому надо тот допишет или купит у того, кто дописал.
                  Если у него есть на это целое состояние.
                  «Учится, учиться и ещё раз учиться». BSD придумали академики, GPL популист.
                  В первую очередь всё же хакер, об этом хорошо сказано в первой главе «Free as in Freedom».

                  • none7
                    /#21943232

                    не результат, а создание/поддержка результата
                    А она как известно денег не приносит.
                    Корпорации коммитят в GPL только, то, что необходимо для избежания конфликтов с их форком или софтовую обвязку для продаваемого ими железа. В итоге получается, что за биркой GPL почти всегда скрывается сырой, незаконченный продукт, который не приносит пользу никому, кроме отдельных корпораций. Если бы было иначе, то GNU/Linux давно бы вытеснил всех. В чём смысл писать открытый код для 3% населения планеты?

                    • alsoijw
                      /#21943506

                      Корпорации коммитят в GPL только, то, что необходимо для избежания конфликтов с их форком или софтовую обвязку для продаваемого ими железа.
                      Подскажите, ради отсутствия конфликтов с каким форком выкладывают патчи RedHat или Canonical, и самое главное, как это они до сих пор живы?
                      В итоге получается, что за биркой GPL почти всегда скрывается сырой, незаконченный продукт
                      Скажите, а код некоммерческих открытых проектов намного лучше? Если взять условную FreeBSD, то она мгновенно выиграет по всем критериям, плоть до графического ускорения или простоты использования софта, без красноглазия?
                      который не приносит пользу никому, кроме отдельных корпораций.
                      Да ладно. Возможность любому человеку использовать gnu/linux это не польза?

                      • none7
                        /#21944330

                        самое главное, как это они до сих пор живы?
                        RedHat это карманная фирма IBM, реализует потребности IBM в том числе и политические и обеспечивает работу легаси клиентам купивших у них железо. Очевидно, что IBM не даст им разориться. Canonical это вечный стартап, прибыль у них бывает только по чистой случайности. Формально они банкроты.
                        Скажите, а код некоммерческих открытых проектов намного лучше?
                        А чего сразу FreeBSD, есть ведь MIT и Apache со схожими принципами лицензирования, не говоря уже про public domain. Если смотреть так, то Chrome, которым так или иначе пользуются почти все люди мира, основан на открытом коде с подобной лицензией, Dalvik, sqlite, PostgreSQL, Nginx, zlib, libpng, libjpeg. Проблема FreeBSD в том каждый день появляется слишком много нового железа, чтобы скромное сообщество могло всё это обслужить. Это можно считать ответом на вопрос о графическом ускорении.
                        Возможность любому человеку использовать gnu/linux это не польза?
                        Возможность и факт использования это разные вещи.

                        • alsoijw
                          /#21945876

                          Очевидно, что IBM не даст им разориться.
                          Да ладно. Можно поискать и более свежие новости, не суть важно.
                          Canonical это вечный стартап, прибыль у них бывает только по чистой случайности.
                          Разумеется по случайности, как и у Suse, кто бы мог подумать иначе?
                          А чего сразу FreeBSD
                          Чтобы не сравнивать тёплое с мягким. А то вы сравниваете библиотеку для работы с изображениями с ядром и делаете какие-то глубокомысленные выводы.
                          Если смотреть так, то Chrome, которым так или иначе пользуются почти все люди мира, основан на открытом коде с подобной лицензией
                          Вы верно отметили — нафаршированная блобами программа, воплощение желания гугла контролировать весь интернет. Гугл спит и видит, как заставить всех пользоваться его блобами, распространяя его в нагрузку вместе с другими программами.
                          image
                          Проблема FreeBSD в том каждый день появляется слишком много нового железа, чтобы скромное сообщество могло всё это обслужить.
                          Я не задавал вопрос о количестве драйверов, я говорил про качество уже реализованного. Если бы на избранных видеокартах, пусть и на небольшом количестве в BSD было бы ускорение, а в Linux — нет, тогда можно было бы говорить о каком-то превосходстве. А так, можно говорить о явном превосходстве Linux, поскольку они даже не портировали до конца всё необходимое, когда условный Totem не может нормально отрисовать видео, и нужна явная правка конфигов, и из коробки не работает. В том то и дело, что сообщество BSD занимается разработкой перимущественно BSD, разрабатывая своё собственное окружение, такого качества, насколько им хватает сил, и если сотрудник RedHat не добавит аппаратное декодирование видео в Firefox, то они его не добавят.

                          • none7
                            /#21946690

                            Да ладно. Можно поискать и более свежие новости, не суть важно.
                            Обычно чистая прибыль известных софтверных компаний исчисляется миллиардами. За 15 лет своего существования Red Hat добиться этого не смог. Novel, которой принадлежит SUSE, существует уже 40 лет, а чистая прибыль всё так же меньше миллиарда.
                            Разумеется по случайности, как и у Suse, кто бы мог подумать иначе?
                            Они в этом году в плюс вышли? Или как всегда живут за счёт красноречия?
                            А то вы сравниваете библиотеку для работы с изображениями с ядром и делаете какие-то глубокомысленные выводы.
                            Мне казалось, что у нас тут скучный Holy War на тему какая из левых лицензий лучше для мира, а не Linux vs FreeBSD.
                            Вы верно отметили — нафаршированная блобами программа, воплощение желания гугла контролировать весь интернет.
                            Это совсем не отменяет того факта, что им пользуются почти все люди в мире.
                            Я не задавал вопрос о количестве драйверов, я говорил про качество уже реализованного.
                            В FreeBSD в основном притензии к тому, что в GNOME море багов, в том числе и Totem. Последний и в Linux совершенно неадекватно работает. А остальные дистрибутивы пишут полтора человека, какие к ним могут быть претензии?
                            и если сотрудник RedHat не добавит аппаратное декодирование видео в Firefox, то они его не добавят.
                            И оное великое событие произошло совсем недавно, а до этого все линуксоиды говорили «аппаратное декодирование в браузере не нужно, у нас есть нормальные плееры для просмотра YouTube». Firefox это Firefox, отдельный, коммерческий проект, который никак не может поставляться вместе с FreeBSD.

                            • alsoijw
                              /#21947184

                              Обычно чистая прибыль известных софтверных компаний исчисляется миллиардами. За 15 лет своего существования Red Hat добиться этого не смог.
                              То у вас убыточность, то вам миллиардные прибыли подавай — определитесь уже.
                              Мне казалось, что у нас тут скучный Holy War на тему какая из левых лицензий лучше для мира, а не Linux vs FreeBSD.
                              Чуть выше вы писали
                              В итоге получается, что за биркой GPL почти всегда скрывается сырой, незаконченный продукт, который не приносит пользу никому, кроме отдельных корпораций.
                              Получается, что вместо GPL туда можно с тем же успехом подставить BSD и смысл не изменится. Хотя туда и EULA можно подставить.
                              Это совсем не отменяет того факта, что им пользуются почти все люди в мире.
                              Разве я это отрицаю?
                              В FreeBSD в основном притензии к тому, что в GNOME море багов, в том числе и Totem. Последний и в Linux совершенно неадекватно работает.
                              ТАКОГО я не встречал ни в одном линуксе
                              А остальные дистрибутивы пишут полтора человека, какие к ним могут быть претензии?
                              Занчит там мейнтеры накладывают нужные патчи сами, не перекладывая это на пользователей.
                              а до этого все линуксоиды говорили «аппаратное декодирование в браузере не нужно, у нас есть нормальные плееры для просмотра YouTube»
                              Покажите, где я это говорил, я тоже линуксоид.
                              Firefox это Firefox, отдельный, коммерческий проект, который никак не может поставляться вместе с FreeBSD.
                              Иксы это тоже отдельный проект, однако работают на bsd не лучше чем на linux. Дальше что?

            • mvv-rus
              /#21945126

              У меня есть более рациональное объяснение.

              Я, наверное, испорчен жизнью в 90-х, но для меня слово «рациональное» имеет однозначно другое значение: оно (если не про угрозы жизни и здоровью) — чисто про бабло.
              И, насколько я знаю, типичные менеджеры корпораций рациональность понимают точно так же, меркантильно: больше доходов, меньше расходов.
              И в таком понимании ваше объяснение сложно назвать рациональным. Но я на совещаниях тогдашних менеджеров IBM не присутсвовал, так что всё может быть: не исключено — значит, возможно.

              • none7
                /#21945150

                Не надо тратить деньги на рекламирование выбранного решения, более того отсутствие кадров на рынке труда может стать решающим будет жить продукт или умрёт. Например раньше множество корпораций(в том числе IBM) вложились в COBOL и не смогли популяризировать его. Иначе говоря выбросили деньги. Так же чем специалист более редкий, тем он дороже. Поэтому набирать специалистов популярных технологий дешевле. Google например из этих соображений выбрал для Android, Java. Потому, что софт под мобилки до них все писали на Java.

      • K0styan
        /#21928484

        До какого-то момента вирусность помогала, с какого-то начали проявляться минусы. Пока их количество критической массы не достигло, да.

    • Sychuan
      /#21927660 / +1

      Спрашивается, и почему бы фанатикам просто не взять и не уйти на своё уютненькое идеологически стерильное Linux-libre?

      Так ведь коммунизм нельзя построить в отдельной стране. Только во всем мире!

    • ruomserg
      /#21928058

      — "… почему бы фанатикам просто не взять и не уйти на своё уютненькое идеологически стерильное Linux-libre"?

      — Потому что люди и компании, вложившие свои ресурсы в создание Linux-фичей — делали это на определенных условиях (GPL). Позволить определенным компаниям использовать вложенные ресурсы для продвижения своих продуктов и софта, но при этом не соблюдать GPL — это нарушение контракта с предыдущими разработчиками. Понятно-дело, что в России такое — фактически обычай делового оборота. Но в устоявшихся, цивилизованных обществах с большим горизонтом планирования — так делать обычно не допускается… Ибо грозит утратой доверия и резким ростом тразакционных издержек — а именно это конкурентное преимущество они и не хотят потерять!

      • Enverest
        /#21928174

        Эффект безбилетника — экономический феномен, который проявляется в том, что потребитель общественного блага старается уклониться от его оплаты.

      • 0xd34df00d
        /#21930304

        Потому что люди и компании, вложившие свои ресурсы в создание Linux-фичей — делали это на определенных условиях (GPL).

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


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

        Так надо, наверное, и из gcc убрать соответствующее исключение, позволяющее закрывать результаты компиляции?

        • ruomserg
          /#21930418

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


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

          Про GCC другая ситуация. Все-таки он берет ваш (!) исходный код и транслирует его в машинные коды. Тут вообще может быть ситуация, что это не будет признано самостоятельным произведением — потому что механическое применение даже сложных правил — в общем случае не признается творческой деятельностью. Но разработчики GCC для бОльшей правовой определенности явно разрешили части своего кода появляться в результатах компиляции вашего — заранее отказавшись от всяких прав на результат компиляции.

          • 0xd34df00d
            /#21935064

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

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


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

            Только любая реальная программа на C или C++ ещё #includeит всякие там стандартные хедеры, линкуется с libc (которая зачастую glibc), и так далее. То есть, это настолько же производная работа, насколько будет производной работой моя программа, использующая вашу GPL-библиотеку.

  4. ivanrt
    /#21927674

    Борьба добра со злом. Как бы под шумок не сломали за одно и ZFS. Я на него прочно подсел и не хотелось бы остаться у разбитого корыта из-за несовместимости двух открытых лицензий.

    • danfe
      /#21928546

      Как бы под шумок не сломали за одно и ZFS.
      На OpenNET в комментариях к новости высказывалось предположение, что ZFS и является главной причиной вводимых блокировок, а за nVidia можно особо не переживать, мол, Линус знает, кто ему намазывает красную икру на бутерброд.
      Я на него прочно подсел
      Дык, переходите на светлую сторону FreeBSD. :-)

      • ivanrt
        /#21929776

        В Линукс виртуализация лучше работает — vfio, kvm, я уже присматривался.

  5. quwy
    /#21927704 / +1

    То есть, как я понял, предлагается фактически запрет на использование не-опенсорсных драйверов? Молодцы, чё!

  6. ruomserg
    /#21928052

    Скорее поддерживаю. Покупатель аппаратного устройства должен иметь право использовать его по назначению. Очевидно, что такое право подразумевает возможность разрабатывать ПО для этого устройства и использовать его со свободным программным или аппаратным обеспечением. Поскольку право, не обеспеченное встречной обязанностью — фикция: производитель обязан либо раскрыть детали реализации своего устройства в достаточной степени, чтобы можно было написать полнофункциональный драйвер — либо, если производитель не желает этого делать (конкурентные преимущества, коммерческая тайна, то-сё...) — предоставить реализованный исключительно внутри устройства публичный well-known API. Сдается мне, что выставление флагов в модулях GPL — более мягкая мера, нежели антимонопольное расследование или законодательное принуждение…

    • adictive_max
      /#21929324 / +1

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

      • ruomserg
        /#21929420

        А откуда производителю знать, как именно владелец собирается использовать приобретенное устройство? Вы когда металл покупаете — металлург же не спрашивает вас, как вы это собрались использовать — просто сообщает вам существенные свойства покупаемого полуфабриката (либо через бумажку с физ-хим свойствами, либо через указание well-known сорта стали). Полуфабрикат из кремния и радиокомпонентов сложнее — но принцип тот же. Покупателю либо сообщаются существенные свойства изделия в объеме, достаточном для самостоятельного использования (втч написания драйвера). Либо устройство реализует well-known API (к которому изготовитель может сделать документированные расширения, если ему это надо). «Спецификация с функциями и условия эксплуатации» — это, IMHO из другой оперы. Так можно обращаться с готовыми изделиями, которые уже содержат все нужные конечному пользователю функции и используются per se. Компонент, который может использоваться только в соединении с другими компонентами в составе сложного изделия — обязан быть документирован в достаточной степени, чтобы независимый производитель/пользователь мог такую интеграцию производить. По-моему, для всех остальных отраслей кроме ИТ — это совершенно не обсуждаемая норма. Даже хуже — на примере John Deere, оно пытается из ИТ распространиться на элементы материального производства. Надеюсь, что не получится!

        • adictive_max
          /#21929982

          А откуда производителю знать, как именно владелец собирается использовать приобретенное устройство?
          Если владелец собиратеся использовать устройство для чего-то, не предусмотренного производителем — сам себе злобный буратино.

          • ruomserg
            /#21930452 / -1

            Производитель в общем случае не обязан, и не имеет права знать (или ограничивать) покупателя в использовании вещи. Ну вас же не удивляет, что описывая электрический интерфейс — производитель указывает, что оно соответствует спецификации, скажем PCIx4? Это явным образом определяет геометрию и назначение контактов, тактовую частоту, протокол конфигурации устройства, и так далее. При этом вы можете выбрать любую материнскую плату с таким стандартом (или, если существующие не устраивают — сделать свою с необходимыми свойствами). Я не вижу большой разницы между физическим и логическим интерфейсом устройства. Оба они необходимы для того, чтобы устройство могло быть использовано по-назначению. Поэтому у производителя в конце-концов мытьем или катаньем останется три альтернативы: раздавать на недискриминационных условиях необходимую документацию, реализовать в аппаратуре хорошо определенный стандарт, или, гм, выложить опенсорсный драйвер и переложить эту обязанность на тех, кому больше надо. Насколько я понимаю, разработчики ядра Linux мягко принуждают товарищей к третьему варианту.

            • none7
              /#21931654 / +1

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

              • ruomserg
                /#21931708

                Вот меня не очень интересует, почему (!) производитель это делает. Заставляет ли его так делать рыночная сила, флаги в модулях ядра, пункт в законе, или мужик с паяльником — какая разница? Итоговый результат один и тот же — спецификация физического подключения открыта и доступна. Я еще раз повторюсь, что не вижу разницы между физическим и логическим уровнем. Выпустили на потребительский рынок продукт — извольте спецификацию внешнего интерфейса! В случае с LGA еще можно сделать вид, что это внутренний интерфейс Intel, который используется исключительно для взаимодействия одного их оборудования внутри системы — с другим. В конце-концов, они разрабатывают и процессор, и чипсет для него. В случае с видеокартой, так не получится. Выше написали, что альтернатива NVIDIA — начать делать целиком закрытую программно-аппаратную систему (без опоры на Linux/GPL) и пытаться ее продавать. Тогда у меня лично никаких вопросов по интерфейсу к ней не будет.

                • none7
                  /#21931772

                  Эти аппаратные интерфейсы открыты потому, что обложены патентами. Вы не можете используя спецификацию создать своё устройство не заплатив при этом владельцам патентов. По меркам GPL это совсем не отрыто.

                  • ruomserg
                    /#21932572

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

                  • 0xd34df00d
                    /#21935076

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

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

            • adictive_max
              /#21931752

              «Не имеет права ограничивать» и «обязан содействовать» — это слегка не одно и то же.

              • ruomserg
                /#21932582

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

  7. svok
    /#21928270

    Кто вообще такие это самое «сообщество OpenSource»? Типа сидят такие добрые дядечки и из чисто альтруистских целей даруют Человечеству бесплатно код. А сами, как бестелесные существа, питаются исключительно чистой энергией Солнца, не живут в квартирах, не ездят на автомобилях и вообще не получают зарплату. Смешно.

    Большая часть ядра Линукс написана не каким-то там «сообществом», а вполне конкретными компаниями, прежде всего Google, Nvidia, Intel, etc. В общем, теми самыми компаниями, которые и производят проприетарный код в большом количестве. И открывают они код под OpenSource не из великого альтруизма, а по вполне меркантильным причинам.

    Так вот, если GPL не будет дружить с проприетарщиной, то просто лишится поддержки основных доноров кода. После этого можно будет закрывать проект «Линукс» и дружно пересаживаться на какой-нибудь FreeBSD.

    Ничего личного, просто бизнес.

    • Gorthauer87
      /#21928320

      А что вообще такого особенного в драйвере нвидия, чтобы он был закрытым? Intel и amd просто открыли свои драйвера и всем хорошо живется.
      В большей части драйверов нет ничего такого сверхсекретного, но если все они будут закрытыми, то не будет никакого прогресса в разработке ОСей.

      • none7
        /#21928410

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

        • Gorthauer87
          /#21928650

          Так первый вообще в userspace, а второй в микрокоде фирмвари. Это конечно тоже не так уж весть хорошо, но хотя бы развязывает руки портировать драйвер под другие ядра или менять интерфейсы ядра.
          Ради двух этих возможностей opensource драйвера это must have.
          К тому же драйвера никто сами по себе не продает, поэтому нет никакого вреда в их открытости для самого бизнеса, одни только плюсы в виде меньшего геморроя при сопровождении.

      • svok
        /#21928828

        Я не знаю что такого у Нвидиа в драйвере. Наверное, если бы все знали, то не было бы смысла его закрывать.
        Но, видимо, им есть что терять.
        На это намекает уже то, что именно Нвидиа является лидером в графических картах. Не Интел и АМД с их отрытыми драйверами, а Нвидиа.

        • Gorthauer87
          /#21928872

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

          • FreeNickname
            /#21930238

            Ну, NVidia же виднее, хотят они открывать драйвер или нет. Раз не хотят – есть причины. А надуманные или объективные – это уже дело десятое.
            Если я, как производитель железа, не хочу открывать функциональность, скрытую в драйверах, почему у меня не должно быть возможности это сделать? Какая-то однобокая «свобода». Закрыть возможность-то можно, собщество Linux просто останется без моих устройств. Или останется со сделанными левой пяткой драйверами без проприетарных фич. И тут уже вопрос в том, насколько мои устройства нужны сообществу. В случае NVidia, думаю, сообщество весьма заинтересовано в том, чтобы драйвера-таки в каком-то виде были.
            Конечно, NVidia тоже заинтересована в поддержке датацентров, но это другой вопрос.

      • zartarn
        /#21930348

        Я помню какую то дискуссию несколько лет назад, там не так уж и уверены были что АМД открыла исходники именно той самой версии дров что реально использовались. И предположения были что из за того что там много позаимствованного кода. Сейчас как то уже проверено что дрова соответствуют тому что в скомпиленом виде устанавливается? (не следил за темой не вкурсе совершенно)

        • chupasaurus
          /#21935312

          Драйвер amdgpu состоит из модуля ядра, прослойки для libdrm и фирмвари (исходников к которой нет). В случае последних линеек видях проприетарной версии драйвера (надстройки на опенсурсным) под Linux в принципе не существует.

    • /#21930222

      Кто вообще такие это самое «сообщество OpenSource»? Типа сидят такие добрые дядечки и из чисто альтруистских целей даруют Человечеству бесплатно код. А сами, как бестелесные существа, питаются исключительно чистой энергией Солнца, не живут в квартирах, не ездят на автомобилях и вообще не получают зарплату. Смешно.
      Сам пошутил, сам посмеялся.
      Большая часть ядра Линукс написана не каким-то там «сообществом», а вполне конкретными компаниями, прежде всего Google, Nvidia, Intel, etc. В общем, теми самыми компаниями, которые и производят проприетарный код в большом количестве. И открывают они код под OpenSource не из великого альтруизма, а по вполне меркантильным причинам.

      Пусть пишут, пусть гребут бабло лопатой, но на условиях предоставленных лицензией.
      Так вот, если GPL не будет дружить с проприетарщиной, то просто лишится поддержки основных доноров кода. После этого можно будет закрывать проект «Линукс» и дружно пересаживаться на какой-нибудь FreeBSD.
      Хотите дружить — делайте это с помощью LGPL, запугивать никого не надо.

    • mvv-rus
      /#21930366

      Кто вообще такие это самое «сообщество OpenSource»? Типа сидят такие добрые дядечки и из чисто альтруистских целей даруют Человечеству бесплатно код. А сами, как бестелесные существа, питаются исключительно чистой энергией Солнца, не живут в квартирах, не ездят на автомобилях и вообще не получают зарплату. Смешно.

      Нет, просто их бизнес не состоит в продаже программ как отчуждаемого программного продукта — который подходит для многих пользователей, никак иначе не связанных с производителем, в состоянии «как есть», т.е. без необходимости его доработки производителем для каждого пользователя. Именно такой отчуждаемый программный продукт и имеет смысл делать проприетарным и защищать его копирайтом. Такова была схема основного бизнеса Microsoft (по крайней мере, до того, как она решила стать поставщиком услуг на основе облака).
      Для других же схем бизнесов программы были своего рода побочной продукцией, частью чего-то более целого. Например IBM традиционно, с давних времен, производила оборудование — компьютеры со своей собственной архитектурой — и зарабатывала именно на этом, а, например, ОС шла в комплекте (и с исходными текстами, естественно). Это был исторически первый метод ведения бизнеса на рынке компьютеров, который вполне мог поддерживать разработку свободного ПО — например, как источника спроса на производимое оборудование — за счет дохода от продажи оборудования с эксклюзивной архитектурой.
      Таике бизнесы как раз сменил метод производства компьютеров со стандартизированной архитектурой (IBM PC изначально) и программными продуктами для них. Этот бизнес был по своим интересам несовместим со свободным распространением программ и стал ему препятствовать (из-за чего, собственно и возникло среди программистов, привыкших к свободному доступу к текстам программ, движение за свободное ПО как ответная реакция).
      Сейчас же основной метод ведения бизнеса опять меняется — ведущими игроками на рынке ПО становятся не продавцы программ, а продавцы услуг на базе этих программ: обычно — облачных, но и услуги по поддержке, типа оказываемых RedHat, тоже попадают именно в эту категорию. Для таких предприятий продажа ПО как программного продукта основным бизнесом не является, а потому их участие в разработке свободного ПО вполне может окупаться за счет доходов от основной деятельности — продажи услуг.

      • svok
        /#21930410

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

  8. ReklatsMasters
    /#21928364

    На opennet новость точнее написана. А это просто копипаста и так плохой заметки.

  9. iga2iga
    /#21931128

    Для того чтобы открыть драйвер видеокарты, надо его очистить от всех грязных хаков и читов, а возможно и от стыренного кода. В случае с nVidia, боюсь, это равнозначно переписать драйвер с нуля. Плюс они не смогут софтово регулировать продажи железа, т.е. фактически запрещать использование старого железа по истечении времени его поддержки. Мне довелось пообщаться с тех.поддержкой nVidia по бизнес направлению (не игровым решениям), они делали мне нервы час наверное перекидывая от одного индуса к другому, пока я не задал вопрос в лоб. Конкретно, есть ли программное ограничение в драйвере на количество подключаемых условных мониторов к ВК (в нашем случае это были проекторы)? Им пришлось ответить, что есть и их 4, вне зависимости от количества портов на ВК, вне зависимости от их пропускной способности. Т.е., имея необходимость подключить 5-6 дисплеев, я обязан купить 2 шт. Quadro вместо одной, и вместо того чтобы использовать, например, multi-stream «hub» (он кстати прекрасно работает, пока дисплеев в системе не более 4х). Плюсом сюда карту синхронизации этих карточек, по не самой демократичной цене. Думается, что имея открытый драйвер, это будет решено сразу же и не в пользу nVidia.

    • adictive_max
      /#21931696

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

      Кстати, у nVidia есть отдельная линейка Quadro для дофига-мониторных систем, и даже там стоит 2 процессора на 4 монитора каждый. То есть они даже сами для себя это ограничение снять не смогли.

      • iga2iga
        /#21931876

        Конечно я не уверен, но в тех.поддержке подтвердили, что ограничение в драйвере. Проблема, то не в шине, шина как раз при поддержке 4k вывода и поддержке мультистрима позволяет цеплять на 4k разъём, например 2 FHD дисплея. Пропускной способности как бы хватает с большим запасом.
        Отдельная линейка называется NVS и в основном используется для построения видеостен. Сами по себе такие карточки маломощные. Т.е. не особо годятся для хорошей графики. Ну и при подключении нескольких дисплеев многопроцессорность это скорее минус, чем плюс, т.к. SLI всё равно отключен.
        На счёт старых видюх, там можно было подключить только либо 2 цифровых разъёма, либо 2 аналоговых и вроде как нельзя было миксовать аналог с цифрой, потому только 2.

        • adictive_max
          /#21931912

          Проблема, то не в шине, шина как раз при поддержке 4k вывода и поддержке мультистрима позволяет цеплять на 4k разъём, например 2 FHD дисплея.
          Дело может быть не только в ШИРИНЕ шины, но и в количестве каналов. То есть рендерить одну каринку в 8K она может, а 8 картинок в 2K уже не может.

          Ну и сам термин ограничениетоже можно понимать по разному. Вы это понимаете как «мы вам запрещаем». А это может быть и «драйвер больше не умеет».

  10. Sap_ru
    /#21945040

    Плохая, т.к. не учитывает возможность разработки не-GPL модулей для внутренних/собственных целей.

    • alsoijw
      /#21945886

      Если это внутренняя цель, то как GPL может помешать? Для программиста любой код — свободный.

      • Sap_ru
        /#21946894

        Физически нельзя будет грузить модули не GPL.

        • alsoijw
          /#21947196

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

          • Sap_ru
            /#21947448

            Появляется обязанность явной декларации лицензирования всех результатов работы под GPL ещё даже до первого запуска кода. Это очень плохо. GPL вообще плохо, а в таком виде совсем ужасно.
            Пример самый главный. Я написал модуль ядра не используя ничего под GPL — всё сам написал. Это регулярно практикуется в мире OpenSource — та же Apache активно так делает в рамках борьбы с GPL. Я не смогу даже запустить этот код, пока явно не пропишу в нём (через установку соответствующих флагов), что он GPL. Хотя, я ничего из мира GPL не использовал. Т.е. принятие GPL в софте становится условием использования ядра Linux (!!!) При такой трактовке, мы быстро приходим к тому, что вообще всё что запускается под Linux должно быть GPL — чем модуль ядра принципиально отличается от любой другой программы, запускаемой под этим ядром? Зашибись?

            Пример два более сложный. Я пишу модуль. Сам себе. Никому не распространяю. В коде 100500 моих ноухау, которые я создавал всю жизнь и которые, как я надёюсь, будут кормить меня на старости. Может результат будет опенс-сорс. Может быть, нет. Может, он под MIT будет. А может GPL меня устроит. А, может, я будущий Билл Гейтс и закрою всё к чертям. Не решил я ещё. Сижу, работаю, никого не трогаю. Но я обязан явно принять GPL, выставив, соответствующий бит, чтобы просто запустить мой код. Уже ОЧЕНЬ дурно пахнет.
            И тут мой код утекает в массы. Всё — крах надежд, уныние и суицид, т.к. каждый теперь может сказать что код GPL и пользовать его на этих условиях, и любой суд это примет, т.к. я явно это указал (был вынужден) в самом коде. Т.е. мы видим жёсткое требование принятие лицензии GPL до начала распространения, что кошмар есть.
            Такой подход делает и без того токсичную и мешающую развитию малых проектов GPL супер-токсичной.

            Конкретно в вашем примере, если мой бухгалтер (а не я) начнёт распространять код даром налево и направо, то я ничего не смогу сделать, т.к. в случае разбирательств бухгалтер ткнёт в установленный бит, как явный акцепт GPL и формально будет совершенно прав. А я ещё и получу формальное обязательство код всех исходников всех родительских GPL-компонентов предоставлять каждому желающему. При том, что лично я ничего не ни под каким GPL не распространял — это другой человек сделал.