Рецензия на перевод «Если софт создаётся на общественные деньги, код должен быть открыт»

Прочитал статью-перевод «Если софт создаётся на общественные деньги, код должен быть открыт» которая вызвала двоякое чувство. С одной стороны идея кажется правильной, но в статье описано несколько принципиальных проблем, которые вольно или невольно оказывают читателям медвежью услугу.

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

Многовариативность смыслов


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

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

Например, если говорить об Open Source, то в этот термин можно вкладывать следующее:

  1. Наличие исходных кодов программного обеспечения. т. е. буквальное трактование термина.
  2. Соответствие лицензии программного обеспечения критериям Open Source Definition
    opensource.org/osd
  3. Доступность исходных кодов как обязательное свойство свободной лицензии на свободное программное обеспечение (Free Software).
  4. … можно придумать еще много вариантов использования термина Open Source, например что нибудь про истоки рек или открытые источники публикаций, использованные при подготовке рукописей или исторических исследований и т.д.

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

Contra


Мне бы очень хотелось уточнить у автора перевода публикации «Если софт создаётся на общественные деньги, код должен быть открыт», что он сам понимает под терминами «общественные деньги» и «код должен быть открыт»? Обещаю не отклонять комментарии по причине несогласия с его точкой зрения.

Ведь из текста статьи я понял, что «общественные деньги», это вроде как бюджетные, т. е. из государственного бюджета, но ведь это совсем не одно и тоже!

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

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

Это связано с тем, что требовать открытия исходных кодов может только законный пользователь подобной системы, а законным пользователем в данном случае будет ВЧ такая-то, а никак не интернет активист.

Pro


Как я уже писал, мне самому очень близка идея открытого и свободного ПО, вот только я не сторонник политизации данного вопроса. Любые аргументы из разряда «общественные деньги» и «должны», это все популизм.

Я считаю, что открывать / не открывать исходники, это вопрос либо юридический, либо экономический.

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

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

P.S.


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

Комментарии 18

    +1
    а что насчет компромиссного варианта: софт, написанный на общественные средства, должен быть открыт, но не весь одновременно, а спустя год — для обычного, спустя 5 лет — для специального (софт для мин.агропрома например), 10-20 лет — для военного\секретного и 30- верхняя планка для любого вида софта?

    При этом, в его стоимость (открытый — не бесплатный) должны входить расходы на аудит, чтобы там внутри не было утечек: типа захардкоженых паролей, логинов, телефонов, айпи адресов, хешей и т.д.
      0
      Про аудит — существенный момент, потому то проверка кода на предмет того, не раскрывает ли он какую-то информацию, которая действительно не должна быть доступна всем подряд, может повышать итоговую стоимость разработки этого кода, то есть создавать бремя для бюджета без какой-либо гарантии положительного эффекта от публикации этого кода. Легко представить ситуацию, когда абсолютно тривиальный скрипт, выполняющий какие-то сугубо внутренние задачи какого-то гос. ведомства, может потребовать формального аудита, который обойдется во много часов работы аудиторов.
        0
        Подобный компромиссный вариант вполне возможен.
        Еще в 2014 году озвучивали похожую бизнес-модель, пригодную для B2B-разработчиков, которые развивают уже существующие свободные программные продукты, но не владеющих исключительным правом на них (т.е. это наиболее часто встречающаяся ситуация).
        Суть предложения как раз и заключалась в создании временного лага между началом эксплуатации ПО и моментом публикации исходников в открытом доступе.
          0
          да, причем обратите внимание — важен не только минимальный лаг, но и максимальный.
        0
        Государство выделило подрядчику, средства на автоматизацию библиотек, ведение каталогов, книжных фондов, баз данных и т.д…
        Вопрос, исходники подрядчик может не предоставлять заказчику? Или это зависит от глубины и юридической проработанности договора?
        Как смотрится желание иметь исходный код в свободном доступе, если даже заказчик (по собственной глупости?) его не имеет?
          0
          Если какой-то мэр заказывает ремонт дороги у компании своей жены, и его не интересует будет ли она нормально отремонтирована или нет, то «Как смотрится желание общества иметь хорошую дорогу, если даже заказчик (по собственной глупости?) его не имеет?»
          0
          Я думаю что нужно разделять комерческий софт, который используется на общественные деньги, и софт который создавался внутри общественных организаций. Если штатные кодеры министерства Х написали ERP для внутренних нужд, то код должен быть открыт. А если ЗАО «Военные прибамбасы» по заказу министерства обороны пилит софт для противовоздушной обороны, то это комерческий софт, почему его должны открывать? Его еще много кому продать можно!
          BiosUefi
          опередил!
            0
            о, а интересно — кому еще?
            Или расчет на продажу софта каждой дивизии ПВО по отдельности?
              0
              Ну, всем желающим. в случае РФ — Индия, Пакистан, Египет возможно Турция?
              Вроде как продали Турции комплексы С400, не на парУ же они работают.
                0
                Ну открыли софт, а дальше продают, как Red Hat. Что толку с кода, если индусы взорвут эту С-400 к чертям, в попытках его накатить на бортовой комп? Заказчик с радостью отвалит кучу денег за поддержку и сопровождение, ибо свои штатные разработчики обойдутся дороже, которые смогут грамотно этот код развернуть и использовать. Открытый код можно продать гораздо дороже, чем проприетарщину.
                0
                Помимо боевых систем, для МО разрабатывается куча другого софта, имеющего на порядок большие перспективы применения в других областях. Лично меня тут больше беспокоит вопрос засвечивания уязвимостей в коде. А учитывая, что многие системы там вполне себе успешно работают и через 20 лет после разработки, этот вопрос может стать реальной проблемой.
              +2

              С кодом системы противовоздушной обороны дóлжно поступать как с кодом Гугла:


              1. полезные для общества вещи возвращать обществу. Это guice, guava, kubernetes, chromium
              2. всё, что привязано к инфраструктуре ПВО — расшаривать со всеми разработчиками и подрядчиками системы. Точь в точь как делает Google со свей монорепкой. Этот код вне контекста использования бесполезен.
              3. Алгоритмы поиска алгоритмы систем наведения и параметры боевых систем надо хранить отдельно и ограничивать доступ к ним.
                +2
                С интересом представляю что будет, если на деньги налогоплательщиков разработали систему, например, противовоздушной обороны, которая включает в себя программную часть. И тут приходит такой активист и заявляет, что раз разработки велись на бюджетные, а значит общественные деньги, то и софт должен быть открыт!
                И тут мы сталкиваемся с той самой проблемой смыслов. А с чего вы взяли что софт не открыт? GPL требует, чтобы пользователь продукта имел доступ к исходным кодам. Так Минобороны его и имеет. Код открыт. Но засекречен. Сторонний человек прочитать не сможет.
                  0
                  А я так и написал, что:
                  … требовать открытия исходных кодов может только законный пользователь подобной системы, а законным пользователем в данном случае будет ВЧ такая-то, а никак не интернет активист.
                    0
                    Тогда по вашей же логике все публичные программные продукты, которыми пользуется население, обязаны быть открыты, верно?
                      0
                      Это не моя логика.
                      Я привел в качестве примера свободную вирусную лицензию (GPL), и возможность получения доступа к исходникам у законных пользователей, это требование данной лицензии.
                      Если бы на порталах, которыми пользуются население, использовалась бы лицензия AGPL, то тогда их исходный код действительно мог бы требовать любой из пользователей.
                      Но обратите внимание, это условия лицензии, а не следование логики про публичные программные продукты или из-за их источников финансирования.
                  +1
                  Тоже не совсем согласен с посылом статьи. Особенно применительно к РФ — лучше не надо таких требований. Никаких «код должен быть открыт», только «может».

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

                  Да и огромная часть «бюджетного ПО» на деле не представляет из себя такой ценности, чтобы его в Open Source выкладывать. Обычные формочки для работы с БД, например.
                    0
                    Полагаю, речь идёт об открытии по AGPL. Лично я бы не отказался пофиксить кое-что в исходниках elibrary или госуслуг.

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

                    Самое читаемое