LINUX.ORG.RU
ФорумTalks

Что вообще значит свободный софт?

 


1

1

В рамках подготовки к длинным европейским выходным, давайте обсудим.

Что вкладывается в это понятие? Только лицензия?

Правильно ли называть свободным всё что выпущено под одобренными FOSS-лицензиями? Достаточно ли одной только лицензии для того чтобы софт считался свободным, этичным, и т.п.? Должна ли это быть copyleft-лицензия?

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

★★★★★

… Можно изучать, как программа работает, и адаптировать её для своих целей («первая свобода»). Условием этого является доступность исходного текста программы. …

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

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

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

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

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 1)

Как вписать сюда встраиваемые устройства,

Никак

приватность,

А вот это можно. GPL не продвигает и не запрещает приватность.

облака

Никак

и микросервисы?

Что такое микросервис?

tiinn ★★★★★
()

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

Встраиваемые устройства - это устройства, их к термину FOSS (free open-source software) нельзя притянуть.

Достаточно ли одной только лицензии для того чтобы софт считался свободным, этичным, и т.п.?

На мой взгляд, да. Код может быть сложным для понимания и просто плохим, но в моем понимании несвободным от этого он не становится.

Leupold_cat ★★★★★
()
Последнее исправление: Leupold_cat (всего исправлений: 3)

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

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

В реальном — хотя бы роутеры, смартфоны, телевизоры и всякие умные колонки дотянуть до этого, но увы…

Монополии облаков нужно противопоставлять p2p-технологии.

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от wandrien

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

Да тут дело даже не в корпорациях как мне кажется.

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

При этом вопрос документирования кода лицензиями не покрывается.

alpha ★★★★★
() автор топика
Ответ на: комментарий от alpha

Если он специально обфусцирован, да.

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

wandrien ★★
()
Ответ на: комментарий от wandrien

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

Ну если считать сфот может быть либо только свободным или только несвободным, то так.

Но можно ввести например уровни свободности. Или можно например говорить не о свободе, а о доступности.

И тогда допустим доступность python-скрипта можно ставить против доступности в проектах типа systemd или ядра.

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

alpha ★★★★★
() автор топика
Ответ на: комментарий от alpha

Обычный код, написанный частным лицом:

Было:

Стало:

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

wandrien ★★
()

Свободный софт. Тут главное понять, что такое свобода. А уже потом проецировать на софт. Поломав много шпаг, я понял, что свобода - это возможности. Чем больше возможностей, тем софт свободнее 😁

Ну и да, внесите дэ9, фернандоса и турновала.

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

Никак. Бородоликий против аренды чужого машинного времени.

chenbr0
()
Ответ на: комментарий от wandrien

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

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

chenbr0
()

Не благодарите https://www.gnu.org/philosophy/free-sw.html.

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

Код не зависит от устройств.

fernandos ★★★
()
Ответ на: комментарий от chenbr0

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

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

tiinn ★★★★★
()
Ответ на: комментарий от wandrien

Предлагаю забанить тебя

Где соответствующая тема? 😁

общую безблагодатность

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

chenbr0
()
Ответ на: комментарий от tiinn

Я что-то упустил и здесь появились еще пункты о качестве и читабельности кода?

chenbr0
()

Достаточно ли одной только лицензии для того чтобы софт считался свободным, этичным, и т.п.?

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

По этому критерию например GNOME/GTK несвободный потому что его разработчики не прислушиваются к мнению сообщества и делают всё по своему и решения мягко говоря спорные.

X512 ★★★★★
()

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

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

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

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

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

Но вообще-то смысл есть.

Обозначить необходимость хорошей документации может быть очень даже полезно.

alpha ★★★★★
() автор топика
Ответ на: комментарий от tiinn

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

Да уж, я вот на форуме сижу, потому что меня там ждёт переписывание куска бэка, отвечающего за трансляцию запросов админки в SQL. Там и кода-то немного, зато какой!

Ладно, пойду, помолясь…

wandrien ★★
()
Ответ на: комментарий от Leupold_cat

Код может быть сложным для понимания и просто плохим, но в моем понимании несвободным от этого он не становится.

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

mimico
()
Ответ на: комментарий от X512

В таком прямолинейном виде – не согласен. Если сообщество не способно само форкнуть продукт, значит им и не нужно. (При условии, что продукт в принципе возможно форкнуть, а не очередной «браузер».)

Mate сделали форк, Корица делает свою ветку.

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

wandrien ★★
()
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от alpha

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

Это сложнее. Чего вы написали код без комментариев и тд? Либо вы сами можете в нём разобраться без документации, значит код не настолько сложен, либо вы работаете в компании, которая открывает исходники версии софта без комментариев, а читабельную закрывает. Это такая себе Open Core модель разработки.

fernandos ★★★
()
Ответ на: комментарий от alpha

Согласен со многими мыслями. Сам задумываюсь о подобном.

Возможно Столлман упустил развитие и переосмысление идеи, необходимое по мере эволюции, слишком зафиксировавшись на формальных правилах GPL.

Тут как и в политике, формально декларируемые правила игры могут иметь мало общего с сутью дела, даже если по закону всё правильно. Просто закон не успевает за ситуацией.

Обозначить необходимость хорошей документации может быть очень даже полезно.

Где-то было давнее движение на этот счёт, но я не найду ссылок.

wandrien ★★
()
Ответ на: комментарий от fernandos

Как могу так и пишу, лицензия-то GPL.

Open Core - это если бы я платные закрытые фичи поставляла, а я не поставляю.

alpha ★★★★★
() автор топика
Ответ на: комментарий от fernandos

Если ты пишешь код с комментариями, а перед публикацией их удаляешь, то это по сути обфускация, хоть и очень вырожденно примитивная. Следовательно, такой код не свободен.

Khnazile ★★★★★
()
Ответ на: комментарий от alpha

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

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

n_play
()
Ответ на: комментарий от wandrien

Mate сделали форк

Они уже вроде бы забросили форк и перешли на обычный GTK 3+.

X512 ★★★★★
()
Ответ на: комментарий от wandrien

Меня вот этот текст заинтересовал https://cooperativetechnology.codeberg.page/

И там его автор в Fediverse ведёт интересные обсуждения

Можно тут ветку почитать https://libranet.de/display/0b6b25a8-3060-61f6-28df-cae554943983

alpha ★★★★★
() автор топика
Последнее исправление: alpha (всего исправлений: 1)

Шапка уже начинает ревизионизм? Или это частная инициатива?

BceM_IIpuBeT ★★☆☆☆
()
Ответ на: комментарий от alpha

Как могу так и пишу, лицензия-то GPL.

Открытый тогда конечно.

Open Core - это если бы я платные закрытые фичи поставляла, а я не поставляю.

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

fernandos ★★★
()
Ответ на: комментарий от alpha

Кстати, комментарии очень неоднозначная тема.

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

Конкретнее, преимущественно какие комментарии использую лично я:

  • Документация. Если из комментариев генерируется справка по API, то это и не комментарии по сути, это документация.
  • FIXME, TODO, XXX, HACK. Оставляю заметки о том, что требует доработок. Потом алиасом в bash грепаю по ним.
  • Визуальное разделение разных секций файла горизонтальными линиями и т.п.
  • Отсылки к использованным алгоритмам, математическим формулам, ссылки на интернет.
  • Обоснования, почему здесь требуется именно такое поведение ПО в соответствии с требованиями заказчика и т.п.

Если нужно пояснять сам код, «что тут происходит», значит код плох.

wandrien ★★
()
Ответ на: комментарий от alpha

тут кто-то задвигал что свобода = ответственность

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

то ты безответственная =)

Minona ★★☆
()
Ответ на: комментарий от chenbr0

свобода - это возможности

Сидя в тюрячке ты имеешь возможность пойти на прогулку, или не пойти и получитить по пяткам... свободен ли ты? :)
Так что нет. С другой стороны референсное описание свободы очень хорошо проецируется на ПО, и не надо ничего выдумывать...

Jetty ★★★★★
()

облака

One reason you should not use web applications to do your computing is that you lose control. It's just as bad as using a proprietary program. Do your own computing on your own computer with your copy of a freedom-respecting program. If you use a proprietary program or somebody else's web server, you're defenceless.

TooPar
()
Ответ на: комментарий от wandrien

Ну это отдельный интересный разговор.

Я в принципе согласна что комментарии дублирующие то, что написано кодом, не нужны.

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

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

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

alpha ★★★★★
() автор топика
Ответ на: комментарий от TooPar

Это тоже интересный момент. Я недавно осознала что никогда всерьез не задумывалась о таких вопросах, потому что «Свободно то, что назвал свободным RMS. Обсуждению не подлежит».

Но вообще тред не об этом.

alpha ★★★★★
() автор топика
Ответ на: комментарий от alpha

разобраться не может

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

TooPar
()
Ответ на: комментарий от fernandos

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

Ты опять про компанию, а я про код который я пишу. И нет, я его не пишу сначала хорошо, а потом пряму и публикую плохой. Я его плохо пишу. Что тогда?

alpha ★★★★★
() автор топика
Ответ на: комментарий от TooPar

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

Khnazile ★★★★★
()
Ответ на: комментарий от alpha

Что тогда?

Код свободен, просто он отвратителен, несвободным его это не делает.

fernandos ★★★
()
Ответ на: комментарий от alpha

И все их можно обойти

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

TooPar
()

Свободный софт это понятие некогда существовавшее на Земле, до ухода Stallman from FSF

Так-то, маляты

Shulman
()
Ответ на: комментарий от alpha

Ну, фигни Столлман не говорил. О полной картине не заботился, это да, мусорософт потом троллило всякими TCO. Но цитатки хрен оспоришь. Вебня - неподконтрольна. Нет контроля - софт несвободен

TooPar
()
Ответ на: комментарий от X512

Я считаю, что для того чтобы называть софт свободным ещё необходима свободная разработка.

Вот когда OpenStack Foundation формулировала свои принципы у них было четыре свободы:

  • Open Code
  • Open Design
  • Open Governance
  • Open Infrastructure

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

Последнее вообще достаточно уникальная вещь для FOSS. Потому что мало кто понимает насколько инфра на самом деле является частью проекта. И что проект это не только код в репе.

alpha ★★★★★
() автор топика
Ответ на: комментарий от alpha

Последнее вообще достаточно уникальная вещь для FOSS. Потому что мало кто понимает насколько инфра на самом деле является частью проекта. И что проект это не только код в репе.

+100500

wandrien ★★
()
Ответ на: комментарий от fernandos

Очень сомнительно, что так кто-то делает. Вообще, если ты обладаешь полными исключительными правами на код, то ты в праве выкладывать что угодно, и объявлять это свободным. Никто это оспорить не сможет, т.к. в данном случае, ты являешься первоисточником, автором оригинального произведения.

Khnazile ★★★★★
()
Ответ на: комментарий от wandrien

Условием этого является доступность исходного текста программы. …

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

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

Хороший пример: открытые исходники некоторых систем OCR. Допустим cuneiform. Много там кто-то наулучшал их движок без документированной математики и всех формул, что в основе были положены? Вот-вот.

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

praseodim ★★★★★
()
Ответ на: комментарий от Minona

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

praseodim ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.