Столлман, как всегда, велик
Sep. 12th, 2007 02:15 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
В недавнем интервью Столлман сказал 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.
Собственно, в этой одной фразе сконцентрировано всё содержание моих двух предыдущих постов про интерфейсы (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.
no subject
Date: 2007-09-13 12:33 pm (UTC)Я предлагаю отказаться только от некоторых, не слишком распространенных технологий (плагинов в форме shared library). Которые легко заменяются на плагины в виде отдельных процессов с обменом данными с основным приложением через D-BUS, RPC, да хоть SOAP с сохранением всей функциональности и 95% codebase.
А процессоры менять совсем не предлагаю. По мне они и так неплохи. И мощности у них более чем достаточно, чтобы выдержать overhead от планируемого усложнения взаимодействия приложения с плагинами.
Бенефит - очевиден. Приложение будет способно обработать ЛЮБУЮ ошибку плагина, включая Segmentation Fault.
no subject
Date: 2007-09-13 01:00 pm (UTC)Я эту фразу воспринял как предложение вообще отказаться от shared library в существующем виде. А в этом случае overhead будет больше.
А вот твоего оппонента я читал не очень внимательно.
no subject
Date: 2007-09-13 01:10 pm (UTC)В принципе, должна быть выстроена иерархия доверия. Ядру и libc мы верим всегда. Драйверам устройств - уже не всегда, поэтому драйвера устройств, которые не настолько критичны для жизни системы, чтобы при отказе этого устройства она не могла функционировать, имеет смысл выносить из ядра в userspace процессы. Что уже активно делается всякими libusb, sane, ghostscript и т.д.
Прикладной программе мы верим меньше чем wm или login shell. Плагинам - ещё меньше. Например, имеет смысл устраивать основную программу так, чтобы в случае падения какого-нибудь фильтра или экспортилки в конкретный формат, несохраненное изображение в графическом редакторе не гибло.
no subject
Date: 2007-09-13 01:21 pm (UTC)Это не процесс, это фича. :)
... И слава Богу ...
no subject
Date: 2007-09-16 11:19 am (UTC)А так как сейчас - фигушки.
Вот когда появится разумное API вида "передать сообщение" в котором можно будет аттачить куски данных (хотя бы размером кратным странице) и чтобы они шарились между процессами - может, что-то и получится. Только не надо предлагать mmap.