FOSDEM 2007 report
Once again FOSDEM is over and was a great success for GNUstep. Attendance by GNUstep developers/users was, if anything, even better than last year, and the combined GNUstep/OpenGroupware booth was well attended and looked very good with a selection of leaflets to give away, books to show NeXT and Cocoa relationships, and T-shirts for sale (the excellent GNUstep Orca logo was admired by many people and was definitely one of the most stylish T-shirts on any stand).
Organisation of FOSDEM itself was much better than previous years, with good reliable and fast wireless LAN connections to the internet, plenty of power sockets, and decent projectors supplied for presentations in the developer rooms (though VGA cables were late arriving for the first presentation ... so taking your own cables was still a good idea).
Attendance at presentations was generally very high, with all the seating in the developer room filled and some people being forced to stand for some of the presentations. Sunday morning being the exception (people were too tired to get out of bed early after the partying on Saturday night), and Sunday afternoon was also fairly quiet as many people left early to travel home, so the developer's evening meal on Sunday was reduced to 5 (mostly Étoilé developers) from the 18 present on Saturday.
I wasn't able to attend all the presentations, but I can do a summary of what I took from some of them:
On saturday, regular university classes were taking place in the developer rooms until 14:15, so the morning was spent manning the booth in the main corridor ... trying to look interesting and suck poor innocent newbie programmers into partaking of the addictive drug which is GNUstep. Actually, it's quite interesting to answer the questions and instructive to find out that the general conception is still that GNUstep is a desktop or operating system. A common question is 'is that still going?', so we definitely need more publicity and a clear message.
Nicola's talk on gnustep-make 2.0 was well received. It took the form of an overview of the history of the make package, Starting with the initial design decisions taken in order to support the objectives of:
1. Supporting the custom, user-friendly filesystem layout pioneered by NeXT and continued by Apple with MacOS-X.
2. Providing an exceptionally simple and fast mechanism to build projects.
Then describing how this has evolved to the current situation where those two functions are cleanly separated and the package is now capable of providing (2) on systems where (1) is not required/desirable. As I have tracked the progress of gnustep-make quite closely, I can't really tell which parts will have been new to most people, but the explanation was certainly clear and coherent.
Fred Kiefer's impromptu talk on the Cairo backend (filling the slot of Saso Kiselkov who was unfortunately unable to make it to FOSDEM) was illuminating for me in the way it focussed on key strategic advantages of using Cairo rather than technical details (though those were interesting too).
- highly optimised drawing by experts (i.e. we don't have to learn all about graphics rendering ourselves)
- portable ... should easily be used to ms-windows as well as X, so the backend code for drawing would be the same on both systems and we only need to concentrate on the different event handling.
- it will generate pdf for us!
- it uses pango for typesetting ... perhaps we could do the same somehow ... typesetting for non-western languages is really tricky in the gui.
When Oliver Langer and Helge Hess's talk/discussion commenced, I think most of the people not involved/interested in GNUstep related projects will probably have left, but the room was still quite full. Helge took the role of primary moderator and wrote ideas on the blackboard, while Oliver entered the ideas into some sort of mind-map software on his laptop (so the results can be posted on the wiki - here they are: FOSDEM_2007_Developer_Workshop) and made judicious interruptions when things got too far off-topic. We listed duplicate or forked variants of several different frameworks, then tried to come up with ideas about why all the variants exist, and finally to come up with ideas to reduce duplication of effort. While we didn't come up with definite solutions (and never expected to), I think the whole debate was very positive and cooperative and did produce a lot of good ideas.
After this presentation, at 18:00, Fred, Nicola and I attempted a Skype conference call with Greg and Adam in the US, but due to a large background noise level, and the fact that we only had one headset at our end, tis was not very successful beyond an exchange of greetings. However, we have learned from that, and given the reliability of the internet link and the good quality of the supplied projector, I think next year we might be able to have a presentation done from the US and (if we could rig up speakers) a question and answer session with one person relaying questions to the US and with the answers being heard by everyone via the speakers. While we were doing this, Gerold Rupprecht and Nicaols Roard were busy arranging dinner ...
Once all this was over, we just had time to get back to central Brussels, stash our laptops away in our respective hotels, and meet up at the restaurant where we had a good meal (paid for in large part by Gerold who, while not doing any coding work, is a great cheerleader for GNUstep). Much entertaining conversation was had, and some of it was even about topics unrelated to computers. This continued in a bar after dinner, but I left early knowing I had to be up in time to get to FOSDEM by 9am on Sunday.
Sunday ... my discussion/presentation on base library priorities at 09:00 was very quiet ... I was the only one there at 9am (perhaps because the presentation didn't make it onto the official FOSDEM schedule, or everyone was asleep, or they just hate me). Actually, Fred asked to see it later and I ended up going through it for him, Nikolaus, Nicola and another interested bystander.
Oliver Langer's presentation on FortyTwo at 10:00 was also poorly attended because most people still hadn't made it out of bed ... the numbers gradually increased as the presentation went on. FortyTwo is a database system intended to represent nodes in a directed graph of information. The idea is to investigate methods of ordering knowledge in modern information systems such as the internet where a conventional relational database model cannot be applied. The work is still at a fairly early stage, but the foundation mechanisms are present and working and provide mechanisms to set up nodes and 'edges' where each node has an ordered set of incoming and outgoing edges. Hopefully Oliver will et his presentation onto the Wiki to provide more detail.
Dr Nicolaus Schaller's talk and demonstration on gnustep on handheld devices was very well attended with a particularly large number of people from outside the GNUstep community. It was interesting to see how little needed to be done (once you know how) to convert from compiling locally to cross-compiling for a PDA (I think this may have inspired Nicola with some ideas for gnustep-make), but I think the main theme was probably the immense amount of work done on providing the key components needed to support the features of the quantumSTEP (proprietary) applications designed to run on PDAs. Much of this work is being integrated into the GNUstep core libraries where appropriate.
At 12:00 to 13:00 we had a lunch break ... bad idea since many people had only recently had breakfast ... next year we should schedule presentations to start later in the day and continue over lunch (the idea of organising a working brunch at 10:00 was raised). At 13:00 Helge Hess and Marcus Müller presented on Open Groupware (OGo/JOPE/SOPE) ... unfortunately I missed that as I was manning the booth :-(
The Étoilé presentation was due to start at 14:00, but Nicolas Roard and Quentin Mathé didn't make it there until nearly 14:15 (I cynically assumed that they had spent too long in the bar with the Belgian beer the night before, but it turns out they were hard at work hacking on the Étoilé live CD). Even though it started late, this presentation was one of the best attended with standing room only a few minutes after I arrived. There was a demonstration of Étoilé (and it really does look good now, in no small part due to the work of Jesse Ross who has produced some stunning icons and is working on a new default font). There was a quick run-through of the state of development and changes since last year, and a public commitment to focus more on applications and less on frameworks :-) The second part of the presentation was about the philosophy behind Étoilé (IMO identical to the NeXT and, at least in my case, the GNUstep philosophy). In particular there was strong emphasis on use of the services and filters mechanism to allow individual apps to concentrate on what they are good at, and get other apps to do the things they are less good at for them. Getting this functionality working in gnustep-gui was one of may first major projects in GNUstep, and it's really good to see people starting to use it seriously. The other emphasis for future development was upon linking data within one document to data from another application for dynamic update etc. This is the NSDataLink functionality introduced by NeXT, copied poorly by Microsoft in their OLE mechanism, and insanely dropped by Apple from MacOS-X. So I look forward to seeing NSDataLink (and associated classes) used in real applications in future. Perhaps we should consider extracting this from gnustep-gui and providing this functionality as an add-on framework for MacOS-X users?
At 15:00 we had a gdl2 presentation by Matt Rice scheduled, but there was some sort of mixup about this and it didn't happen, but the room was still quite full with small groups of people in animated discussion about ideas and questions raised by the previous presentation. I left to go back to the booth in the main corridor and ended up giving my base library presentation there.
Theoretically, I had the theming presentation to deliver at 16:00, but it wasn't on the official schedule and I was still talking about base library priorities and saying goodbyes to people who were leaving to try to get home on Sunday evening in time to go to work on Monday... so that just never happened ... perhaps I'll tidy up a bit and put it on the wiki.
By the end of the day, the FOSDEM people were packing up around us as we continued hacking on code, until the point where all the tables and chairs were packed away and Nicolas was sitting on the floor busily coding a last fix for the Étoilé login panel and finalising the live CD ... he was persuaded to move only by a FOSDEM guy saying 'we love you, but go away'.
After much wandering around the center of Brussels, we (Lars and the Étoilé team and myself) finally ended up at a Japanese restaurant which was really good ... excellent food at a reasonable price ... and they patiently put up with us hanging around for ages after the meal, just talking and copying Étoilé live ISO images between machines and not eating or drinking anything. If only I could remember the name of the place I'd recommend it.
One common point that seemed to come out in presentations and various discussions is that GNUstep programming is FUN, and that's why most of us do it ... and getting together and talking about problems is fun and inspirational and really productive, in fact there seems to be common approval of the idea of trying to get together twice a year (renting a chalet near Zurich was suggested as the second venue) and unless Gerold has reconsidered, I think we may well end up doing that. I think we would need to find dates where at least six people would be able to sign up to definitely attend in order to make organising that worthwhile.