Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

LibreOffice build on Windows with ccache for MSVC

I have just revived my 4 years old hack that adds MSVC support to ccache. The use case is a bit limited - you have to use it from inside cygwin; but that is exactly what LibreOffice needs :-) So I have updated LibreOffice's configure.in to be able to handle it well - so far in the libreoffice-3-4 branch, but it will get to master the next time we merge the branch there.

How to use it? Download the ccache.exe binary, put it to eg. your ~/bin (or somewhere else in your PATH), setup the CC and CXX environment variables, and compile as you are used to (./autogen.sh, make, ...), like:

 CC="ccache C:/PROGRA~1/MICROS~1.0/VC/bin/cl.exe" CXX="ccache C:/PROGRA~1/MICROS~1.0/VC/bin/cl.exe" ./autogen.sh make 

And yes, it would be great to do the ccache support as simple as a --enable-ccache configure option - but I did not find time to fine tune it on the other platforms, so I'll go for that only when I find there is a demand for that - drop me a mail ;-)

If you want to have a look at the ccache's statistics, run ccache -s. I've done no measurement how much time it saves overall - if are able to do any, please mail me your results too.

a silhouette of a person's head and shoulders, used as a default avatar

the avatar of Thomas Thym

Contributions that matter

CC-BY-NC-SA by __Dori__ @ flickr

In the last days I read two post on planetkde and planetsuse, written by (to me) new contributors with the best intention to help their projects. However the response of the community was not as positive as they would have expected. What happened?

3 types of potential new contributors

Some lines from my last years Akademy paper.
"Krogh, Spaeth and Lakhani analyzed the characters of potential new contributors in mailing lists.[12] Based on that work three types could be found.
  • Proactive problem-solver: They use the program, find a bug, and work out the solution. In the first mail to the list they send the patch. These people are very successful in communities and often become continuous contributors.
  • Waiting volunteer: This group offers their abilities to the community and waits until they get a job allocated. In general this character is not very active. Most communities can not integrate them successfully.
  • Visionary: They use the program and have ideas on how the program should be improved. Although visions and aims are important in communities, the character-type visionary is not successful. In the past his/her visions were not identical with the ideas of the code developers. The resulting costs of conflicts exceed the benefits of the discussion."
Even the headline of one of the post gives you a hint which type might be behind the post in question. Visionaries often use words like "it should", "you have to" etc. instead of "I have done" or "I am going to do".

Results matter - words do not

In open source communities the developers decide what they do. They want to get work done. In most cases they have a vision for their project and not enough time to do as much as they would like to. That's one of the reasons why achievement is the currency. Talking and writing visions is not. If you want a change - do it.

This does not mean, that your contribution is not appreciated. The contrary is the truth.

Contributions that make a difference

KDE as well as openSUSE have special pages to guide new contributors. They propose your first steps into the project. (You will find other useful information about how to start contributing at openhatch a plattform to bring new contributors and projects together.)

Contributions that make a difference are contributions which are important and valuable from the perspective of the community; things the developers want to get done. Help them and you will succeed. Junior Jobs (JJ) are a good starting point as well.

Start now doing things!

There is really a lot to do. Your contribution is very welcome. Visions are important in communities, but they are not the best point to start with.
Instead, grab a task the community needs to be done. Inform yourself first, invest some time and love. Then contact the mailing list and post your questions or ask for a mentor. Present a solution and be amazed by the positive feedback you might receive.

Good luck!

P.S.: If you have an idea how the program could be improved use the provided tools (the brainstorm section in the KDE forum is the place for your are locking for; more experienced users could open a feature request at bugs.kde.org; openSUSE has openFATE.) or contact the developers on the mailing list.

a silhouette of a person's head and shoulders, used as a default avatar

По следам прошедшего Open Source Summit'а


Календарь существующих курсов позволил мне побывать на этом прекрасном мероприятии. Организация была на высоте, было много чего интересного. На всех секциях побывать не удалось, главным образом, потому что не получилось разорваться :).

Сначала о выступлениях в торжественной части.
Первым выступал директор Департамента государственной политики в области информационных технологий и координации информатизации Минкомсвязи России с докладом на тему - «Создание национальной программной платформы. Разработка приложений, основанных на использовании СПО» - г-н Милашевский И.А. На доклад, естественно, он вышел с ноутбуком от Apple и презентациями, сделанными в самом популярном офисном приложении (к слову, из всех выступающих только у Марка Шаттлворта были слайды в PDF :) ). Доклад был посвящен основным вопросам, которые необходимо будет решить для создания национальной операционной системы. В частности:

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

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

Марк начал с обращения к присутствующим по-русски, сказав, что немного знает русский язык, но поскольку он его знает не в том объеме, чтобы читать на нем доклад - он продолжит по-английски. Само выступление касалось множества политических и организационных вопросов (я предвижу, что его за это будут «пинать» многие линуксоиды, которые вечно всем недовольны). Доклад начался с того, что на сегодняшний день Linux и все, что его окружает (движение Open Source), становится мейнстримом всей IT-сферы. Все технологические новинки появляются в первую очередь здесь - это виртуализация, новомодные облачные вычисления. Linux неумолимо пробирается на телефоны, встраиваемые устройства, начинает предустанавливаться на новые ноутбуки.
В то же время, если мы хотим ориентироваться на что-то большее, чем серверные решения, - в этом случае необходимо предложить решения «из коробки». Огромный недостаток Linux в том, что пока таких решений мало. И Canonical пытается решить именно эти вопросы. Что нужно большинству людей - чтобы после установки система просто работала, находила все необходимые драйвера для подключаемых устройств (естественно, что для этого необходимо, чтоб они были :) ). В частности, Марк упомянул, что, например, при внедрении Linux в российские школы многие столкнулись с тем, что не со всеми версиями дистрибутива работал драйвер «электронной доски». И именно проблема с недостатком драйверов пока является самой большой и самой «неудобной» для массового внедрения Linux.
Следующее перспективное направление - снижение «фрагментации» Linux-сообщества путем создания глобальной экосистемы. Ни для кого не секрет, что сейчас сообщество сильно разделено. Многие работают над одним и тем же одновременно, распыляя усилия и плодя множество однотипных проектов. Ведь OpenSource, как движение, и создавался для того, чтобы можно было по максимуму использовать уже существующие решения, доводя их до ума, а не изобретать каждый раз велосипед заново. Не поддается сомнению и то, что помимо глобального сообщества, работающего над мейнстримом, необходимо учитывать локальные проблемы. Тут Марк опять упомянул российские проблемы с «электронной доской».

Следующая проблема - это то, что существующая инфраструктура компаний-продавцов «железа» и программного обеспечения построена вокруг проприетарного ПО. Это одно из самых перспективных направлений. И акцент тут нужно делать не на бесплатности Linux, а на предложении пользователям тех возможностей, которых нет у «конкурирующих» систем: гибкость, простота использования, открытые стандарты и т.п.
И, конечно же, самое главное - это не повторить ситуацию 80-х годов и путь Microsoft. Сейчас в мире многое меняется и нельзя замыкаться в рамках каких-то границ (будь-то государственные границы или социальные), интересов. Необходимо сохранить то, чем всегда отличалось движение программ с открытым исходным кодом. - глобальная совместная работа над многими проектами. Соответственно, нужно менять и бизнес-подходы, позволяющие получать прибыль на свободном ПО, не повторяя историю успеха всеми «любимой» корпорации.

Следующим выступлением было «Информационно безопасные технологии на основе свободно распространяемых исходных кодов». Доклад читал первый заместитель начальника Центра ФСБ России Баранов А.П. Его выступление было, скажем так, очень спорным. В основном оно касалось вопросов государственной сертификации операционных систем ФСТЭК и создания на их основе решений для обеспечения безопасности государственной информации. По затратам на сертификацию и последующую доработку ОС под государственные требования нет никаких различий между Windows, Linux и BSD. Более того, докладчик посчитал, что в Linux серьезные проблемы с драйверами устройств, даже P'n'P там работает не так хорошо, как в Windows. Он объяснил это так - все производители «железа» работают прежде всего с Microsoft, поэтому и драйвера для Windows появляются раньше. Еще одна проблема Linux - недостаток прикладного ПО. А все потому, что Microsoft лучше стимулирует и направляет разработчиков своего ПО, поэтому оно у них и лучше и качественнее. Поэтому по прикладному ПО Linux так и будет отставать, потому что курировать разработку некому. В свете программы создания национальной платформы необходимо создать государственную структуру, которая будет курировать разработку такого прикладного ПО, необходимого госкомпаниям.

Следующая проблема для массового внедрения Linux - во многих государственных компаниях есть свое ПО, которое они не хотят переписывать под другую систему.

По возможностям, связанным с обеспечением безопасности данных, г-н Баранов считает, что система, «созданная из кусочков», гораздо менее безопасна, чем целостная и монолитная система от одного производителя. Для госцелей и для Windows и для Linux была создана своя система мандатного доступа. Для Windows она существует в виде отдельного диска, доустанавливающего все после установки базовой системы. Сама компания Microsoft не возражает против такой модификации своей операционной системы (еще бы она возражала - прим. автора.). Докладчик также отметил, что вследствие открытой модели разработки программисты под Linux и BSD-системы менее квалифицированы, чем их коллеги, пишущие программы под сами знаете что. Именно поэтому, затраты на создание мандатной системы доступа для Linux были гораздо больше, чем под Windows.

Следующий доклад читал директор ИПИ РАН Соколов И.А. на тему «ТП НПП в контексте общих задач разработки ПО в России». Свое выступление он начал со слов, что несогласен со многими положениями предыдущего докладчика, но формат встречи не позволяет дискутировать и если кто хочет поучаствовать в дискуссии - то следует это сделать в специальное время в отдельной секции. Основные тезисы его выступления:

  • Многие организации хотят участвовать в разработке национальной ОС, поэтому необходимо с самого начала решить проблему координации усилий, для чего необходимо создать регулирующий госорган.
  • Программирование, как таковое, давно стало отдельной отраслью научного знания.
  • Производительность труда программистов выросла в несколько раз, благодаря новым языкам программирования, множеству существующих алгоритмов и повторному использованию кода.
  • Разработка ПО глобализуется, потому что компьютер и программы становятся неотъемлемой частью нашей жизни и потребность в ПО растет.


Последним докладом, на котором я присутствовал, было выступление г-на Петренко А.К., заведующего отделом технологий программирования ИСП РАН на тему «Свободное программное обеспечение, открытые технологии и открытые стандарты». Начал он с того, что из себя представляет свобода ПО в понимании Free Software Foundation и положений GPL. Я не буду это тут писать, потому что, думаю, многие с этим знакомы. Главным преимуществом свободного ПО докладчик считает возможность изучать код, учиться и учить других, зарабатывать на распространении и экономить на лицензиях, строить международные партнерства.
При создании национальной ОС необходимо разработать адекватную систему оценки качества создаваемого ПО - по результату, а не по статусу компании-разработчика. В качестве основного критерия результативности предлагается принять количество патчей, принятых международным сообществом.

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

Планируемые результаты, которые планируется получить от использования национальной ОС:

  • Экономия государственных затрат за счет повторного использования программного обеспечения;
  • Приоритетная поддержка проектов, занимающихся научными исследованиями в области разработки программного обеспечения. Для этого необходимо разработать новую систему оценки конкурентных заявок по IT-проектам. По мнению докладчика, тут самым главным должна быть открытость полученных результатов, что позволит оценивать результат честно.
  • Государственная поддержка центров компетенции по ключевым направлениям.

После перерыва я переместился в секцию, где состоялась встреча Марка Шаттлворта с участниками сообщества Ubuntu. Ему задавали множество вопросов. Попробую тут привести некоторые из них по памяти:

Вопрос: Зачем нужна разработка Unity, если есть GNOME/KDE/что-то еще? Какова на сегодняшний день стабильность Unity?
Ответ: Пользователям системы нужно простое и удобное решение «из коробки». Имеющиеся среды не удовлетворяют таким требованиям. Например, если есть прекрасное решение, которое чтобы довести до ума нужно долго настраивать - оно не будет никому нужно. На настоящий момент Unity находится в активной разработке, именно поэтому разработчики Ubuntu до сих пор не решили - стоит ли включать ее в грядущий релиз. При разработке активно используется помощь простых людей «с улицы», которых сажают за систему и просят выполнить какую-то простейшую операцию, например, подключить веб-камеру, сделать с ее помощью снимки и выложить их на Facebook. Если человеку это удалось, значит интерфейс прост и удобен.
В качестве бета-тестеров Unity и Ubuntu участвуют и родители Марка. Он привел такой пример, что у его родителей на протяжении 6 лет стояла Ubuntu и когда он купил им новый ноутбук с Windows 7 - они сказали ему: «Убери эту неудобную гадость и поставь нам Ubuntu».

В: Что думает Марк Шаттлворт о конкуренции с Google Chrome OS? Какие будут его действия, если победит Google?
О: Конкуренция идет на пользу конечным пользователям и ее Марк не боится. Пусть пользователи выберут то, что считают нужным. Но лично для него хранить свои приватные данные где-то в облаке Google - странно. Он не может доверять кому-либо свои данные, в обмен на честные глаза. Но это лично его мнение и пусть каждый решает за себя сам.

В: Планирует ли компания Canonical выпускать планшеты и наладонники с Ubuntu на борту?
О: Да, если будет такой спрос.

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

Затем я переместился в секцию, где директор по продажам компании Canonical Пол Хольт и инженер по политике продаж Борис Девоуг делали доклад о корпоративных решениях для закачиков. Небольшой нестыковкой было то, что слайды были переведены на русский язык, поэтому докладчики выступали «вслепую» :). Но свой текст они знали на пять баллов, поэтому не ошиблись ни разу.

С саммита мне пришлось уйти раньше, о чем я сильно сожалею, но надеюсь, что подобное событие произойдет и на будущий год :).

a silhouette of a person's head and shoulders, used as a default avatar

Packaging python packages in opensuse

While getting one of my packages rejected for inclusion into the python lang repo for openSuSE, the comments made by the reviewer pointed me to find the package: py2pack.

This package made the packaging of Python packages on OpenSuSE brain dead easy by doing all of the heavy lifting, creating a sample spec file that really needs very little editing. Install py2pack, and follow this guide, http://en.opensuse.org/openSUSE:Packaging_Python#The_fast_and_automated_way and put that together with the great openSuSE build service and you will have a great time packaging which is usually a thankless job no one wants to do.

Update:

Wow the ruby packaging method is about the same too: http://en.opensuse.org/openSUSE:Packaging_Ruby
a silhouette of a person's head and shoulders, used as a default avatar

OBS 2.2.72 released, switch to apache and SSL as default

We just released OBS 2.2.72, another alpha release for OBS 2.3. The most significant change to former alpha snapshots is the switch to apache. We do so for a number of reasons:

  1. Getting a maintained base again for our default httpd
  2. Using mod_rails (passenger) is more flexible then the static setup before
  3. Optimizations are possible via additional modules (more about that later)

We think that some bugs like the invalid occassional empty replies by the api server are solved via this switch as well.

The OBS 2.2.72 appliance is already comming with apache setup. Please note that we use also SSL by default, a default SSL CA is created on bootup and becomes part of your data partition.

In case you use the packages outside of the appliance, you need to do some configuration steps. But don’t worry, a apache vhost file comes with the packages already and only a few steps need to be done, the README files should reflect this already.

lighttpd setups should still work, but please note that lighttpd is running with an own user id (“lighttpd”) and the default is now the generic “wwwrun” user for some directories.

the avatar of Will Stephenson

KDE 6 Roadmap: The Desktop Is Dead

Did that get your attention? Good, it was supposed to. Now get back to making KDE 4 rock in whatever way you are able and resist the temptation to put 'KDE 5' in your blog title to get some clicks. KDE 4 is not going anywhere in the foreseeable future because GNOME just increased their major release number.

the avatar of Andrés G. Aragoneses

Calling hackers who care about Android+Banshee

If you care about the neat feature about synchronizing metadata to your device using Banshee, and you have an Android device, you may be interested to hear that I created a patch for it, and it was recently reviewed requesting some changes here.

Unfortunately my Android phone broke completely (don't ask me the details...) so I cannot work on the patch anymore. Anyone wants to continue the work?

If yes, go ahead and ask me anything you want, I'm usually in irc://irc.gnome.org/banshee with the "knocte" nickname, or you could also ask the question on the channel if I'm not there, there are usually awesome contributors there that will try to help. If you haven't ever coded for banshee, check the Contributing page first.

BTW, kudos to all the people involved in the Banshee v.2.0 release!

a silhouette of a person's head and shoulders, used as a default avatar

Gnome 3 Launch Party MadLab Manchester April 10th 2011

 The MadLab - Manchester Digital Library

Feedback from MadLab Gnome3 Launch, a talk was given by a Gnome Developer on the latest and greatest features of gnome3, however it was also mentioned that it only works on Intel 3D graphics cards at the moment, due to the closed source nature of the NVidia drivers as well as the ATI events these cards are not supported.

 The room is basic - desks chairs and wireless broadband.

The launch was attended by a total of 25 people including the speaker and the room was full.

On a more general note the attendees were general linux and FreeBSD Users one user was from ArchLinux, 2 users were from Ubuntu (although one - the presenter was disgruntled that as of ubuntu 11.04 Unity is default, gnome 2.x as backup for users not happy with unity and from ubuntu 11.10 gnome fallback will be dropped completely.  Other users represented Debian, Linux Format Magazine and Manchester Linux User Group.

I gave out old 11.3 Promo DVD's and I had and introduced the concept of the Retail Boxes.  Comment was made that Fedora and openSUSE only exist to serve Redhat and SLED - open source distributions which exist to serve as beta software for their enterprise cousins.

I argued that openSUSE was more than just a launch platform for enterprise systems, and whilst I cannot argue for Fedora I would doubt they would accept that claim also. I stated that through the retail boxes my aim was to get openSUSE available in high street computer shops as well as online.


Discussion was made that Microsoft pressurize retailers to include Windows on their computers, that a real opportunity was last after the release of Windows Vista to target disgruntled windows users through NetBooks.



Comments were also made that HP have announced they will be shipping WebOS PC's where all documents are stored online and all applications are launched online so no operating system will be required. Is the age of the OS (Windows or Linux) dead regardless so there is little or no point in launching any kind of legal claim against Microsoft for shipping oem windows.

Many users were dissatisfied with both Gnome 3 and Unity I suggested that instead of promoting Ubuntu for those new to Linux they should now seriously consider promoting openSUSE instead.  Those interested took Live DVD's and promised to take a look.

It was argued also that Novell and RedHat provide more developers into Gnome than Canonical have ever done.  Ubuntu may have brought a lot of positives into Gnome in terms of desktop users but this is likely to change as Ubuntu switches to Unity.

Further from a developers point of view Canonical's submission agreement is quite vague in its wording, and if followed to the letter could result in Canonical using code in corporate versions, without the permission of the developer and all rights being transferred to Canonical's ownership by default. 

the avatar of Andrés G. Aragoneses

WTF reduction

My first patch to FluentNHibernate was just merged upstream!

What it basically does is a bit of what I call WTF reduction: you will no longer get a confusing message like "For property 'Foo' expected 'Bar' of type 'Bar' but got 'Bar' of type 'Bar'" when unit testing your entities' properties.

AFAIK the next release will include this, and will be the first one to link to the new version of NHibernate, 3.0, which I've found that works very well.