vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2007-09-12 02:15 pm

Столлман, как всегда, велик

В недавнем интервью Столлман сказал It doesn't matter how popular GNU/Linux gets, if it fails to give you freedom.

Собственно, в этой одной фразе сконцентрировано всё содержание моих двух предыдущих постов про интерфейсы (1, 2

Современные DE (и не только DE, Office suites и даже браузеры туда же) именно что fail to give me freedom.

Свобод, согласно тому же Столлману - 4:
0. To run the program as you wish.
1. To study the source code and change it so the program does what you wish.
2. To redistribute exact copies when you wish, either giving them away or selling them.
3. To distribute copies of your modified versions when you wish.

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

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

А сколько времени надо потратить на изучение, скажем XUL, чтобы исправлять поведение браузера? Куда больше, чем на изучение shell.

[identity profile] max630.livejournal.com 2007-09-13 02:03 am (UTC)(link)
А почему интерфейсы org.freedesktop.* не систематизированы? Я даже не смог найти места, где они бы были перечислены.

[identity profile] aceler.livejournal.com 2007-09-13 06:39 am (UTC)(link)
Хм. А почему сайты в доменной зоне ru не систематизированы? :) Каждая программа может добавить свой узел.

[identity profile] max630.livejournal.com 2007-09-13 07:31 am (UTC)(link)
> сайты в доменной зоне ru не систематизированы

да ну?

> Каждая программа может добавить свой узел

это всё замечательно, но:

1) префикс org.freedesktop хоть к чему-то обязывает? ну по идее хотя бы?
2) это всё существует не в виде мозгового штурма. Это уже работащая система (ну, если верить рекламе). Об этом интерфейсе не могут не знать девелоперы kde и гнома, поскольку они уже сделали утилиты которые с ним работают. Вот для убунты я могу где-нибудь посмотреть список - какие интерфейсы какие программы в ней предоставляют, а какие понимают? Пусть даже не в самой убунте (хотя уже непонятно почему), а в интернете? Как они сами-то с этим зоопарком справляются?

[identity profile] aceler.livejournal.com 2007-09-13 07:36 am (UTC)(link)
> Вот для убунты я могу где-нибудь посмотреть список - какие интерфейсы какие программы в ней предоставляют, а какие понимают?

Запустите gdbus и посмотрите. Вам ведь нужен список интерфейсов одной конкретной программы, с которой вы собираетесь работать?

> Как они сами-то с этим зоопарком справляются?

Также, как домены в интернете или в джаве. Есть org.freedesktop.hal. И никого уже не волнует, что там за этим hal. Есть org.freedesktop.gnome. Есть org.openoffice. И так далее. Они не пересекаются, следовательно, с ними нет задачи справляться.

[identity profile] max630.livejournal.com 2007-09-13 07:43 am (UTC)(link)
> Вам ведь нужен список интерфейсов одной конкретной программы, с которой вы собираетесь работать?

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

> Есть org.freedesktop.hal... Есть org.freedesktop.gnome. Есть org.openoffice. И так далее.

это как раз я и хочу знать: что там "далее"? что ещё есть? дальше-то понятно.

[identity profile] aceler.livejournal.com 2007-09-13 08:36 am (UTC)(link)
> нет. мне нужен интерфейс предназначенный для выполнения какой-то задачи.

Тогда вы обратились не по адресу. DBUS - это IPC, а не API. API предоставляют, например, Telepathy, Decibel, Solid и др.

> это как раз я и хочу знать: что там "далее"? что ещё есть?

Конечно. Если я написал программу и назвал ее foo, то в DBUS у нее будет идентификатор вида ru.aceler.foo. Вы думаете, есть какой-то единый реестр всех программ, пользующихся DBUS? Разумеется нет. Есть только в системе - смотреть уже установленные компоненты, зарегистрированные в системе. Чтобы посмотреть реестр приложений DBUS в системе, запустите браузер DBUS, например, gdbus.

[identity profile] aceler.livejournal.com 2007-09-13 09:12 am (UTC)(link)
> Где в D-BUS аналог coreutils.

DBUS - это IPC, а не набор программ. coreutils - это набор программ. Аналогом coreutils можно считать компоненты LSB (такие как HAL) и DE (такие как Telepathy).

> Каким образом мне без нарушения целостности стандартного пакета (содержащего соответствующий файл .service) реакцию на это событие переопределить так, как мне удобно?

Не знаю, не сталкивался. Можно покурить RTFM.

[identity profile] aceler.livejournal.com 2007-09-13 09:31 am (UTC)(link)
Это уже вопрос качества документации, а не системы. Я поищу на досуге, ОК? Наверняка это есть, иначе Solid не смог бы работать поверх HAL, например.