понедельник, 30 ноября 2015 г.

Разработчики LibreOffice с моей точки зрения

Этот пост сугубое ИМХО и основан на терках всего с одним разработчиком. Суть проблемы в том, что некто Маркус Морхард (или типа того как-то) запилил (а вернее допилил даже) фильтр импорта файлов в формате .gnumeric (от одноименной программы Gnumeric) для LibreOffice. Он сделал патч, запихал его в мастер-ветку, написал о своем достижении в вики проекта, как одну из фич предстоящего выпуска версии 5.1 и успокоился. Ради пустого интереса я решил эту фичу проверить. Оказалось, что фича не работает должным образом, о чем и было в багзиллу доложено. Г-н Маркус, после того, как к нему обратились с просьбой багу починить, через губу ответил, что будет заниматься тем, чем угодно ему самому и править те баги, которые интересны ему, а не кому-то там. После поднятия волны в списке рассылки, он таки пересилил себя и родил патч, исправляющий проблему...как оказалось только для Linux! Багу резко закрыли, как "фикс" с камментом, что кто-то там в чате сказал, что Маркус багу пофиксил и типа этого достаточно. О как. Друг подруги телки брата сказал, что всё ОК. Сама бага правда была заведена для Windows, и после проверки оказалось, что бага для Linux реально исправлена и импорт работает вменяемо, а для Windows по каким-то причинам исправление не сработало и дальнейших действий не последовало. Товарищ Маркус отписался от баги с тем же переплевыванием через губу "у меня нет винды, идите в задницу, я самый умный аще". А дальше началось самое интересное. В IRC-чате разработчиков на просьбу к Маркусу таки исправить этот баг, ВСЕ, кто был активен встретили такое в штыки! "У нас свободный проект, а значит каждый волен заниматься тем, что ему нравится или ближе!" - сказали они. "У большинства кодеров нет винды и нам трудно править вин-специфичные баги" - сказали они. Отличное, просто прекрасное положение вещей. Получается, что каждый недоумок, который научился вчера писать "хелло мир" на паскале, может смело ринуться в проект LibreOffice, анансировать супер патч, впихнуть его в мастер (и его пропустят безо всяких тестов!) и свалить в туман. А править регрессии или тупые недоработки самого патча не будет никто. О как. Свобода во все поля, в том числе и от ответственности за свой код. Хоть вирусню запихни в Либру, все прокатит.

Разарботчики LibreOffice, я надеюсь, что вы понимаете, что с таким положением вещей и хотением привлечь к работе тысячи новых кодеров, без контроля со стороны каких-то ответственных товарищей, вы просто утонете в говнокоде, который некому будет разгребать. Релиз 5.0 был уже странно багованный, 5.1, я чувствую, будет вообще швах, что же дальше будет?

Update во имя справедливости из 2017 года: в итоге оказалось, что проблема была в библиотеке, которая отвечает за импорт и разбор формата gnumeric, как-то там не так ее собирали сами создатели. Им было об этом отписано, проблему в либе исправили и Маркус таки родил еще пару патчей, которые проблему в LibreOffice исправили и импорт gnumeric-файлов заработал, как было изначально задумано. В итоге на всё про всё потребовалось полтора года времени.

воскресенье, 29 ноября 2015 г.

LibreOffice и OpenGL

Что такое OpenGL? Это такой API, позволяющий ускорить отрисовку 3Д (и 2Д) картинки, путем перекладывания этой деятельности на плечи видеокарты. Это если просто. Если чуть сложнее, то смотрите эту страницу в Wikipedia
В один прекрасный момент головы разработчиков посетила мысль ускорить некоторые операции отрисовки в LibreOffice, используя OpenGL. И они споро начали это реализовывать. Начали они с попытки создать и отладить 3Д-переходы между слайдами в Impress. Получилось слабовато. В настоящее время эти самые 3д-переходы работают, но разных ОС по разному, бывают либо вообще отказы в работе, крэши, зависоны, а бывают различные искажения в момент самой анимации.
Продолжить разработчики решили, сделав вообще всю отрисовку LibreOffice через OpenGL. Начиная с версии 5.0.2 соответствующая опция активна по умолчанию для новых инсталляций. Из-за этого начались вообще странные проблемы в виде глюков интерфейса, крешей Хорг-сервера в линуксах, проблемы с видяшками от Интел. Это только то, с чем столкнулся лично я. В багзилле проекта есть несколько метабагов, в которые собирают все, что имеет отношение к OpenGL.
Информации о том, что же пилят в настоящий момент разработчики в плане реализации OpenGL в LibreOffice нет совсем. Просто потому, что разработчики в массе своей ничего не пишут о своей работе. Из них надо молотками выбивать признание о каких-то изменениях к лучшему или худшему в проекте. И даже это не всегда получается.
Итого: если Вы установили себе LibreOffice и столкнулись с глюками интерфейса, замедлением в работе в плане отрисовки Ваших документов (особенно графических) первым делом попробуйте отключить опцию "Весь вывод при помощи OpenGL" в меню "Сервис-Параметры-LibreOffice-Вид"

суббота, 28 ноября 2015 г.

Проблемы LibreOffice Base

Самым проблемным компонентом LibreOffice является Base (аналог MS Access, инструмент для создания баз данных). С тех древних времен, когда произошло отделение LibreOffice от OpenOffice.org, этот компонент вообще разработчики не развивали и не исправляли в нем ошибки. И вообще эта штука устроена крайне неудобным образом. Движок для создания БД используется древний HSQLBD, который хочет для своей работы JAVA. Версия движка не обновлялась со времен Царя Гороха да и сам по себе движок не очень прямой от рождения. Недавно (по галактическим масштабам) разработчики решили выпилить эту фигню из состава ЛО, заменив движок БД на Firebird Embedded. По идее эта замена должна принести кучу профитов, поскольку планируется не просто проволокой прикрутить некий билд FBE к LibreOffice, а они хотят сделать нормальный, современный, обновляемый и активно развиваемый компонент, который, кстати, JAVA для себя не требует. Эта замена началась, как один из проектов GSoC (Google Summer of Code - это гугл платит бабло студентам со всего мира за создание кода для свободных проектов), и продолжается по сей день. Для пользователя пока хороших новостей на этом фронте нету, информации о степени готовности новинки также нет.

Я столкнулся пару раз с работой Base в его текущем состоянии. Он просто не работает. Будьте готовы к тому, что поработав над созданием БД пару часов, вы потеряете все данные или тщательно проработанную структуру БД, просто потому, что Base зависает при самых простых манипуляциях. Причем зависает намертво, утаскивая с собой в могилу не только Вашу БД, но и ВСЕ документы, которые у Вас открыты в LibreOffice, как текстовые, так и электронные таблицы и рисунки и презентации, все!

Мой Вам совет: если Вам приспичило создать БД для личных нужд, НЕ ИСПОЛЬЗУЙТЕ Base. Найдите ему замену. Используйте электронные таблицы с фильтрами, что угодно, но не Base.

Выпуск LibreOffice 5.1 Beta 1

Анадысь состоялся выпуск первой беты LibreOffice 5.1 (вот ссылка на скачивание для различных ОС). Чем это событие примечательно? Хотя бы тем, что релиз версии 5.1 стал ещё чуть ближе. В бете исправили кучу ошибок (вот ссылка на лог), начали активно допереводить добавленные или изменённые разработчиками элементы интерфейса. Насчет того, что кучу ошибок исправили, не обольщайтесь, еще большая куча была добавлена. Если посмотреть багзиллу проекта, то можно увидеть огромное количество подтвержденных ошибок, некоторые из которых висят годами.

О чём будет этот блог

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

Кстати, если кто-то не знает, то LibreOffice - это офисный пакет, аналогичный по своим возможностям офису от Microsoft, но при этом является программным обеспечением с открытым исходным кодом, рапространяется бесплатно. Подробнее можно узнать вот тут (англ.) https://www.documentfoundation.org/