Development
KDE and FreeDesktop.org
FreeDesktop.org always raises a little controversy in conferences - any group trying to integrate some of the most competitive projects in the free software community is bound to do that - and this year's KDE World Summit, aKademy, was no exception. Daniel Stone, freedesktop.org's release manager, gave a well-received presentation on the project to KDE developers, covering both the future of the project, and where he sees KDE fitting in. What follows is a writeup of his presentation, and some reflections from when I caught up with Daniel and Aaron Seigo of KDE later in the summit.Daniel began his talk by sketching out freedesktop.org's main projects, describing briefly what the future holds for each of them. First on the list was X.org, whose cutting-edge developments has already been covered in some detail on LWN. Happily, Daniel managed to cover entirely different material, but gave a good impression of how X.org development is moving forward.
We should see X11R6.8 released in the near future, bringing Composite and many of the eye-candy enhancements first really developed in Kdrive to our desktops. But freedesktop.org also have their sights set on X11R7, with some major architectural changes planned or in discussion. Since they forked from XFree86, the developers have been trying to modularize the codebase to make it more manageable and digestable, and by X11R7 they hope to have completed this process. They're also thinking about moving the files from /usr/X11R6 to /usr (a pet hate of Daniel's), and after some developers expressed misgivings about CVS they are now discussing which Revision Control System (RCS) to use. Character set problems should also receive some attention, with Smart Common Input Method (SCIM) and Universal Input Method (UIM) bringing proper support to non-Latin character sets like Japanese.
The other major change he discussed was a migration from Xlib, which is said to be too unwieldy, as it is trying to work both for toolkits and GUI developers. A new low-level implementation of the X protocol in C, the X11 C Bindings (or XCB), provide a foundation for toolkits to build upon, allowing them to better optimize their interaction with X and allow developers to focus on the toolkit alone. The X.org project will no doubt attract plenty of attention in coming years.
Of particular interest to many KDE developers was the section on DBUS and HAL. With KDE4 now on the horizon, KDE developers are able to think about major architectural changes. Starting to migrate the internal messaging system from DCOP to DBUS and adapting KDE libraries and applications to take advantage of HAL are both hot topics. Daniel described how they can make the user experience seamless if applied universally across the desktop. DBUS in particular will bring all of the benefits that KDE enjoys from DCOP to the rest of the desktop. It promises an improved system that can, for example, change the proxy settings universally from one place whether it is the KDE or GNOME Control Center or even just a shell script.
When I talked to Daniel and Aaron later, it became clear what KDE will have to do to migrate to DBUS and other freedesktop.org technologies successfully. To begin with, there will be namespace issues that will mean it won't be a straight translation between DCOP and DBUS, though Qt 4 bindings should make accessing DBUS easier. Adapting to composite being available in X will also require removing the pseudo-transparency code found in several KDE applications, and integrating HAL will require entirely new code, although KDE's network/device transparency should mitigate conceptual difficulties. The key, Daniel pointed out, is that KDE can and should migrate gradually, maintaining backward compatibility. Aaron Seigo echoed this sentiment, saying that KDE has to approach the task pragmatically. KDE, he believes, must help drive DBUS and other standards, and properly address problems of how to migrate, what migrated code would look like, how much effort it would take, how compatibility could be preserved, and all the other questions typical for such a change.
The issue of driving standards is particularly poignant given that freedesktop.org is due to release it's first platform, freedesktop.org 1.0, within a couple of weeks. This will provide a stable set of APIs, libraries and standards that developers and companies can use, and it will lay the foundations for freedesktop.org's future. The conservative nature of the freedesktop.org process is best illustrated by the fact that key technologies like DBUS, HAL and Cairo aren't included in the platform, omissions that caused some concern among KDE developers who would like to integrate them within the time frame when the platform will be stable (a matter of years - release 1.1 is planned for late April 2005).
Daniel explained that their omission from the platform doesn't preclude their use in KDE or other desktop environments, and that the process of developing standards is more a matter of trial and error, seeing what works, encouraging projects to coordinate development, and only moving forward when everyone involved can arrive at a consensus. KDE developers were also concerned about this decision making process. Within KDE, technical decisions are made by the person who implements a working solution, and so they didn't want to feel pressured to adopt a solution that freedesktop.org prefers. When talking to Daniel privately, and in the discussion after his talk, he took care to address what he sees as a fundamental misunderstanding about freedesktop.org. The project's decision process is open to all, and the approach is that if people from all the major projects concerned cannot reach a consensus, then there is something wrong with the proposal being discussed. In other words, if developers from any project that relates to freedesktop.org is worried about a particular proposal, they should get involved and either explain why they want it stopped, or how they think it should be modified.
For the moment this loose and conservative approach seems to be working. Aaron Seigo pointed to examples like the icon, .desktop files, drag and drop, thumbnail and menu structure specifications, and the recent decision to drop the systray specification, as evidence that the process has worked well so far. I put it to Daniel and Aaron that freedesktop.org may in fact need to be more assertive. The decision of which multimedia framework to adopt, for example, is one that should be done through freedesktop.org across all environments to avoid yet more fragmentation. Yet this decision requires some body to help form consensus, since the decision is not so simple as: "do we like this proposal?" Daniel agreed, and suggested that KDE, GNOME and other desktop developers need more joint meetings to discuss the more contentious and complex decisions, much like the multimedia track in aKademy; he was, however, uncertain about how this could be done.
The key to freedesktop.org is active participation, a subject to which Daniel and Aaron kept returning. At present, Aaron believes the perception amongst some KDE developers that freedesktop.org is too GNOME-friendly simply comes from the fact that not enough KDE people are involved (particularly in the logistics). Daniel emphasized in his presentation that KDE is underrepresented, which is both dangerous for KDE, since it may find itself having to either accept the dictate of those that participate or to break away, and it is dangerous for freedesktop.org, which relies on the active participation of the major desktop players for credibility and progress.
Aaron firmly believes that freedesktop.org can provide a politically neutral ground upon which developers can cooperatively develop a platform, one which can then compete with proprietary software produced by companies that have these same kinds of processes internally. If developers in competing projects can come together and discuss where it makes sense to integrate, then not only can problems with integration be solved, but the combined skills and knowledge of all free software desktop developers can bring major advances. It is, they claim, a project with no losers, except those that don't take part.
System Applications
Database Software
PostgreSQL Releases 7.2.5, 7.3.7, 7.4.5 Available
Several new releases of the PostgreSQL database are available. "Due to insufficient interlocking between transaction commit and checkpointing, it was possible for transactions committed just before the most recent checkpoint to be lost, in whole or in part, following a database crash and restart." Upgrading is recommended.
PL/Java now supports both PostgreSQL 8.0 and 7.4
Version 1.0.0.b4 of PL/Java, a project which provides server side Java for the PostgreSQL database, is available. "The 1.0.0.b4 release of PL/Java is out. It takes full advantage of the new exception handling and custom variables introduced in PostgreSQL 8.0".
PostgreSQL Weekly News
The August 24, 2004 edition of the PostgreSQL Weekly News is out with the latest PostgreSQL developments.
Interoperability
Samba 3.0.6 Available for Download
Samba 3.0.6 (Samba goes for the gold!) has been released. Click below for the announcement and changes. "This is the latest stable release of Samba. This is the version that production Samba servers should be running for all current bug-fixes. There have been several issues fixes since the 3.0.4/5 release and new features have been added as well."
Mail Software
bogofilter 0.92.6 released
Version 0.92.6 of bogofilter, a spam mail filter, is out. "Bogofilter-0.92.6 cleans up minor issues with bogofilter's documentation and adds a "-QQ" option to display all the options that can be used in the config file."
New mail filters
Milter.org lists several new mail filters including milter-siq version 0.7, milter-limit version 0.1 and seven other milters with support for libsnert 1.39.
Networking Tools
GNOME Nettool 0.99.2 released
Version 0.99.2 of GNOME Nettool, a network information tool, is out. "This is the first release of GNOME Nettool after being splitted from GNOME Network. Version 0.99.2 is feature complete, and will be released as 1.0 after some testing period."
Peer to Peer
giFT 0.11.7 released (SourceForge)
Version 0.11.7 of giFT, a cross-platform collection of software components for peer-to-peer file-sharing networks, has been released. "This release is primarily a bugfix release that contains some rather critical bugfixes which affect Windows and 64-bit platforms."
Printing
Common UNIX Printing System 1.1.21rc2
Version 1.1.21rc2 of CUPS, the Common UNIX Printing System has been announced. "CUPS 1.1.21 is primarily a bug fix and performance tuning release and includes fixes for the IPP, LPD, parallel, serial, and USB backends, authentication and status processing issues in the CUPS API, and various PostScript and PDF printing issues. The new release also adds support for Zebra label printers and IPP device URI options."
Web Site Development
Gallery 1.4.4-pl1 now available (SourceForge)
Version 1.4.4-pl1 of Gallery, a web-based photo gallery system, is out. "Gallery v1.4.4-pl1 is an update to Gallery 1.4.4 to resolve several issues found after the release. Most of these issues are fairly minor, and the one security issue fixed in this release requires a fairly unusual Gallery configuration and a bit of effort to exploit"
mnoGoSearch 3.2.20 released
Version 3.2.20 of mnoGoSearch, a web site search engine, is out. Changes include improved support for multiple search databases, URL parser improvements, bug fixes, and more. See the change history for details.ZopeMag Weekly News
The August 14-24 edition of the ZopeMag Weekly News is online with a new collection of Zope and Plone articles.
Miscellaneous
GNOME System Tools 0.91.0 has been released
Version 0.91.0 of the GNOME System Tools, a set of configuration utilities, is out with lots of improvements.
Desktop Applications
Audio Applications
WaveSurfer 1.7.1 released
Version 1.7.1 of WaveSurfer, an audio file editor, is available. Changes include new command line options, bug fixes, and more.
Desktop Environments
GARNOME 2.6.2.1 announced
Version 2.6.2.1 of GARNOME is available. "This release incorporates the GNOME 2.6.2 Desktop & Developer Platform, as well as plenty of new bugfixes and third-party package updates that have been made since the initial release."
GDM 2.6.0.4 released
Stable version 2.6.0.4 of GDM, the GNOME Display Manager, is out. Most of the changes involve bug fixes and translation improvements.Gnome OSD 0.4.0 Announced
Version 0.4.0 of Gnome OSD, the On Screen Display notification system, is out with a few new preference choices.KDE 3.3 released
The KDE Project has announced the release of KDE 3.3. The list of enhancements is quite large; see the announcement for an overview or the changelog for a rather more detailed picture.KDE-CVS-Digest
The August 20, 2004 edition of the KDE-CVS-Digest is online, here's the content summary: "KDM implements session switching and improves shutdown. KDEPIM adds configuration wizard for Novell Groupwise client. And many bugfixes in KST and Korganizer. Krita now has a gradient tool."
Desktop Publishing
Scribus Team Releases First 1.2 Release Candidate (KDE.News)
The first release candidate of Scribus 1.2, a desktop publishing system, has been announced. Changes include a new story editor, new plugins, PDF exporter improvements, an EPS/PS importer, SVG importer/exporter improvements, a print previewer, a table creator, support for right to left languages, bug fixes, and more.
Electronics
gEDA: SPICE GUI
Mike Waters has announced a new GUI front-end project for Spice. "For some time I've been looking for a circuit simulator I could use under Linux. After coming across gEDA I found that there was no GUI for the circuit simulator and decided to start writing one myself. Please find attached the results of my efforts so far. This is alpha code and so is highly likely to contain bugs. It has been developed over the last 12 month and is getting to the point where it has some usable functionality."
XCircuit 3.2.23 released
Version 3.2.23 of XCircuit, an electronic schematic drawing package, has been released. The changes document says: "Rather important fix from back in revision 19, in which routine "pointtonet" is supposed to merge crossing wires if they cross on top of a subcell port. This is the method used to connect crossing wires with the "dot" symbol, so it is rather important."
Financial Applications
BIE 6.0.4 Stable Released (SourceForge)
Stable version 6.0.3 of BIE, the Business Integration Engine, has been announced. "BIE 6.0.3 adds bug fixes for Map Builder macros and stability."
SQL-Ledger Version 2.4.2
Version 2.4.2 of SQL-Ledger, a web-based accounting application, is available. Changes include price list functionality, reconciliation screen changes, bug fixes, and more.
Games
GLightOff 0.1.0 announced
Initial version 0.1.0 of GLightOff is available. "GLightOff is a gtk+ version of lightoff, a simple (but not so easy to solve!) puzzle game where the goal is flip to black all the tiles on the 5x5 board."
Graphics
Gmsh 1.55 released
Version 1.55 of Gmsh, a 3D mesh generator for FLTK, has been announced. Here are the changes: "added background mesh support for Triangle; meshes can now be displayed using "smoothed" normals (like post-processing views); added GUI for clipping planes; new interactive clipping/cutting plane definition; reorganized the Options GUI; enhanced 3D iso computation; enhanced lighting; many small bug fixes."
GUI Packages
GFC-Core 2.3.1 Announced
Development release 2.3.1 of GFC-Core, the GTK+ Foundation Classes, is out. Changes include a new signal system, dynamic creation of GFC objects, a C++ wrapper for GModule, improved examples and documentation, and more. Version 2.3.2 of the companion GFC-UI package was also announced.GLib 2.5.2 released
Unstable version 2.5.2 of GLib, the low-level core library for GTK+ and GNOME, is available. "This is the third development release loading up to GLib-2.6. This release contains a number of bug and portability fixes and some new API."
PythonCard 0.8 Announced
Version 0.8 of PythonCard, a GUI construction kit for building cross-platform applications, is out. "Release 0.8 includes over 50 sample applications and tools to help users build applications in Python, including codeEditor, findfiles, and resourceEditor (layout editor)."
Interoperability
Wine Traffic
The August 20, 2004 edition of Wine Traffic is online with the latest Wine project developments.
Music Applications
dssi-vst 0.1 announced
Version 0.1 of dssi-vst is out. "dssi-vst is a DSSI wrapper plugin for VST plugins. It enables any compliant DSSI host to use VST instruments and effects. It requires Wine, liblo-0.9, dssi.h, and the Steinberg VST SDK headers to build."
liblo 0.9 released
Version 0.9 of liblo, an implementation of the Open Sound Control protocol, is out. Changes include a nonblocking mesage dispatcher, Unix and TCP domain FIFO support, bug fixes, and more.TAP-plugins 0.7.0 announced
Version 0.7.0 of TAP-plugins (Tom's Audio Processing plugins) is out. New plugins include a Chorus/Flanger, a Sigmoid Booster, and a TubeWarmth filter. Bug fixes are also included.
News Readers
Liferea 0.5.3b announced
Version 0.5.3b of Liferea, a multi-protocol news aggregator, has been released with bug fixes and translation improvements.
PDA Software
Guikachu 1.4.2 is available
Version 1.4.2 of Guikachu, the GNOME Resource editor for PalmOS projects, is available with bug fixes.
Web Browsers
Mozilla 1.8a3 Released (MozillaZine)
Version 1.8a3 of Mozilla has been announced. "Mozilla 1.8 Alpha 3 release includes a large amount of backend work, including site-specific CSS rules, transparent windows on Windows and GTK2, and undetected document."
Epiphany 1.3.7 released
Version 1.3.7 of Epiphany has been announced. "Epiphany 1.3.7 is a beta release in the unstable series leading up to GNOME 2.8." Changes include bug fixes and translation work.
Miscellaneous
GENIUS 0.7.1 released
Version 0.7.1 of Genius, a calculator program with plotting capabilities, is out. "The coolness factor of this release then is that you can export to PNG. In any case this release is a bunch of fixes and some minor changes. For one we now have short documentation strings for all built-in functions. Secondly the continuity and numerical derivative functions now actually work instead of going into an infinite loop."
Gwget 0.14 is out
Version 0.14 of Gwget, the download manager for Gnome 2, is available. Changes include a new speed limit option, show recursive options, bug fixes, and new translations.Nautilus Sendto 0.1 announced
Version 0.1 of Nautilus Sendto has been launched. "This application provide integration between nautilus, evolution, and gaim."
Languages and Tools
Assembly Language
libdisassemble 1.0 released
Version 1.0 of libdisassemble has been released under the LGPL. "Libdisassembly is simply a python library for disassembling x86 opcodes. It has been made for Immunity's PDB Project (a vulnerability development focused debugger), and is partially based on mammon's libdisasm opcode list (http://www.eccentrix.com/members/mammon/). There is still a lot of work to do with the Metadata, but the library tries to return as much information it can get off of an opcode."
Caml
Caml Weekly News
The August 17-24, 2004 edition of the Caml Weekly News is online with the week's new Caml language articles.
Lisp
GCL 2.6.5 released
Version 2.6.5 of GCL (GNU Common Lisp) has been released. "This version, the latest in the `stable' series, features changes to gmp, support for gprof, performance enhancements and bug fixes."
Python
Dr. Dobb's Python-URL!
The August 23, 2004 edition of Dr. Dobb's Python-URL! is available with links to numerous Python language articles and resources.python-dev Summary
The August 1-15, 2004 edition of the python-dev Summary is available with coverage of the python-dev mailing list traffic.
Scheme
Schemer's Gazette 2
Issue #2 of the Schemer's Gazette is online with a new collection of Scheme language article links.
Tcl/Tk
Dr. Dobb's Tcl-URL!
The August 18, 2004 edition of Dr. Dobb's Tcl-URL! is out with the week's Tcl/Tk article and resource links.Dr. Dobb's Tcl-URL!
The August 23, 2004 edition of Dr. Dobb's Tcl-URL! is available. Take a look for the latest Tcl/Tk articles.
XML
XML in localisation: A practical analysis (IBM developerWorks)
Rodolfo M. Raya explores the topic of XML Localization on IBM's developerWorks. "Learn how XML standards help facilitate translation processes that involve many participants in different locations. This article focuses on the most common XML formats used in the localisation industry to show you how important XML is becoming in multilingual document exchange."
Serializing Java Objects with XStream (O'Reilly)
Michael Fitzgerald writes about XStream on O'Reilly. "Joe Walnes's XStream is a unique open-source Java library for serializing objects into XML and deserializing that XML into objects. Unlike other APIs, such as David Megginson's XMLWriter or Elliotte Rusty Harold's XOM, which use specific classes and methods to produce XML, XStream relies on Java idioms such as object names to produce element names and strings within classes to produce element content. It also produces a kind of reflection of objects in XML."
Build Tools
Improve collaborative build times with ccache (IBM developerWorks)
Martin C. Brown introduces ccache on IBM's developerWorks. "Collaboratively building a C/C++ project using cc or gcc to share source files and other components works fine with CVS, but the time required to build the application when it has been merged with everybody else's changes can be significant. Even if you're not developing a project as part of a group, recompiling an application can take a lot of time. The ccache tool improves the build performance by caching the incorporation of header files into source files and therefore speeds the build time by reducing the time required to add in header files with each compilation stage."
IDEs
Develop Your Own Plugins for Eclipse, Part 1 (O'ReillyNet)
O'Reilly is running part one in a series on writing Eclipse plugins. "Eclipse is a nice IDE, of course, but it's arguably the best platform for hosting your own applications. Using Eclipse facilities spares you from re-coding, for the 100th time, a framework for dealing with online help, generating wizards, or saving a file to disk. Eclipse ships with many helpful features, such as a Lucene-ready engine for searching your help documentation. Like any object-oriented developer, you don't want to reinvent the wheel."
Miscellaneous
Gaphor 0.5.0 announced
Version 0.5.0 of Gaphor, a Python-based UML (Unified Modeling Language) modeling environment, is out. Changes include support for Stereotypes and UseCases, plugins, drag-and-drop package reordering, and interface support.Build code with lex and yacc, Part 2 (IBM developerWorks)
Peter Seebach continues his IBM developerWorks series on lex and yacc with part two "The second article of this two-part series explores more advanced lex/yacc development and introduces basic troubleshooting techniques. See e-mail headers parsed before your very eyes! Marvel at cryptic error messages! See a computer actually compute something!"
Page editor: Forrest Cook
Next page:
Linux in the news>>