User: Password:
|
|
Subscribe / Log in / New account

Development

Looking Past CVS: The Future is Distributed

November 30, 2004

This article was contributed by Mark Stosberg

The field of alternatives to CVS has exploded. Alternatives have been documented and compared, but the trends deserve further analysis.

It's truly a critical moment, as the winds of change are shifting over the landscape of source control. Major projects, such as PostgreSQL, KDE, and emacs are discussing the dumping of CVS for an alternative. Smaller Projects, such as wxRuby and Rhythmbox have already switched.

A Source Control Management (SCM) system is important because this software choice impacts a whole group of developers, and changing systems can be very disruptive to a project. The larger the project, the greater the inertia, and higher the cost to switch.

Here's my analysis of trends that will emerge:

What won't happen: No "CVS replacement" will emerge, at least not with the dominance that CVS has had. Instead, what we will see will follow the patterns of the expanding offerings of scripting languages. Although Perl has long dominated this category, other languages have dared to challenge the heavyweight, and they have prospered. Python, PHP, and ruby are all doing well, with growing communities building up around them.

Don't expect to see one clear SCM leader, with the rest hopelessly out of sight in terms of popularity and usability. Many sufficiently capable alternatives are emerging. The diverse environment we will see will play a part in determining which projects stand out. Those projects that grasp the importance of playing well with other SCMs will see increased popularity.

The young svk project seems to understand this issue. They integrate with VCP, a framework designed for interchanging formats of various SCMs. Svk is being designed so that at maturity, you will be able to use it as a client for several other SCMs.

Consider the following situation for a typical open-source programmer: The programmer would like to contribute to one project that uses CVS, another which uses Subversion, and a third which uses Arch. Rather than learning all three, she can use svk, reduce her overhead time, and improve her overall efficiency. Currently, svk can mirror a CVS archive, but not perform a "commit through" on your changes.

As people contribute to this 'glue' project, it will be easier for participating SCMs to update their own offerings to allow better interoperability.

One important trend is the removal the "single central server" limitation of CVS. New distributed systems allow developers to share changes in a peer-to-peer mode without going through a central server. This feature will gain prominence for two reasons. Most importantly, the centralized model is a subset of what a distributed system can do. So users don't have to pick an "either or" solution. Also, a distributed design maps extremely well onto the organic global network of open source software development.

Developers who do not have "commit access" benefit from distributed systems because they are given a much expanded toolkit, giving them access to the same command set that the core developers have. With better tools for more developers, more time can be spent writing code instead of managing it.

Distributed SCMs should be equally beneficial to corporations, with their increasingly distributed structures. More activity can happen locally to the developers, making a fast link to a distant central server less critical for developer productivity.

I have followed two distributed SCMs in particular, Arch and Darcs. Arch currently has a larger user base, and arch repositories exist for popular projects such as the Emacs and Vim editors. Arch is also noticeably more complex to set up and use.

Darcs, which just turned 1.0, shines because of its ease of use, clear documentation, and powerful underlying unique "theory of patches". Svk is working on emulating the Darcs interface, while Arch would like to support the Darcs patch handling features.

It's not all roses for Darcs, though. While it receives praise for use on small projects, it is known to hang for hours on large trees like the Linux kernel as well as when large scale conflicts occur.

Colin Walters, an Arch hacker, shares my vision of a distributed future. He concluded recently: "The contender for the future of free software revision control is still very much up in the air..

This much is clear: If you are still using CVS, it's time to evaluate the alternatives, and think distributed.

Comments (18 posted)

System Applications

Database Software

Glom 0.8.9 announced

Version 0.8.9 of Glom, a database table designer GUI, is out with numerous bug fixes and translation improvements.

Full Story (comments: none)

JabRef 1.6 released (SourceForge)

Version 1.6 of JabRef, a graphical application for managing bibliographical databases, has been announced. "Being the first version preceded by a public beta, we hope that JabRef 1.6 will be the most stable release so far. There are many new features since version 1.55, including greatly improved handling of bibtex strings, export to MODS format and facilities for detecting and handling external changes to open files. Many bugs have been fixed, and the user interface has been improved in many small ways."

Comments (none posted)

PostgreSQL 8.0.0 Beta 5 Now Available

Version 8.0.0 Beta 5 of the PostgreSQL database has been announced. "Its been almost 4 weeks since Beta4. After a lot of work involving a lot of bug fixes and documentation improvements to the source tree, we have just released our 5th Beta of 8.0.0. All of our major Open Items have now been completed, and we're slowly entering the final stages, involving a lot of testing and documentation changes."

Comments (none posted)

PostgreSQL Weekly News

The November 29, 2004 edition of the PostgreSQL Weekly News is available with the week's PostgreSQL database news.

Full Story (comments: none)

Libraries

libxklavier 1.12 released

Version 1.12 of libxklavier, the X keyboard utility library, has been released. "The very first xmodmap-enabled release of libxklavier is out. The API/ABI were broken again (sure, compatbility in GNOME CVS HEAD is maintained). Really hope to keep 1.1x series API stable from this point."

Full Story (comments: none)

Mail Software

Standalone email package 3.0 final

Version 3.0 final of the standalone email package for Python is available. "Python 2.4 final will probably be released in a few hours so this seems like a good time to release the standalone email package, version 3.0 final. Unless there's some last second snafu, this will be identical to the version released with Python 2.4."

Full Story (comments: none)

Networking Tools

Firestarter 1.0 announced

Version 1.0 of Firestarter, a visual firewall tool for GNOME, is out. "The program features a friendly setup wizard, a real time firewall event monitor and an advanced rules based system for creating traffic policy. The program also helps you set up Internet connection sharing in just a few clicks, or port forwarding when used on a LAN." Changes include a redesigned user interface, a new security policy system, DHCP service support, a view of connections, and more.

Full Story (comments: none)

Web Site Development

BIG SAM 1.2.02 released

Stable version 1.2.02 of BIG SAM, the Built-In Guestbook / Stand-Alone Module (written in PHP) is out.

Comments (none posted)

mnoGoSearch 3.2.25 released

Version 3.2.25 of the mnoGoSearch web site search engine has been released. See the Change Log for details.

Comments (none posted)

First stable version of phpPgWeb is out

The first stable release of phpPgWeb has been announced. "This PHP lgpl library is intended to make quickly a user friendly web interface to a postgresql database. It is thought to be configurable, manage automatically references between tables, has multilanguage support, and could be extended quite easily. It is not intended as admin tool (see phpPgAdmin), but as an intuitive web mask to a database."

Comments (none posted)

Quixote 2.0a2 is out

Version 2.0a2 of the Quixote web platform is available with lots of changes. "We still have a lot of work to do before a stable release. The documentation needs to be updated. The mod_python publisher is broken. The Quixote 1 style publisher probably needs some more work."

Full Story (comments: none)

Install XAMPP for easy, integrated development (IBM developerWorks)

Nils-Erik Frantzell writes about XAMPP on IBM developerWorks. "Open source stacks such as XAMPP from Apache Friends are simplifying open source development by making it easier to write and distribute applications in a stable and standardized environment. Traditionally, AMPP -- Apache, MySQL, PHP, and Perl -- have all been installed and configured as separate products. The trend of combining them into integrated middleware stacks promises to make open source development more competitive with J2EE application development, at least for low-end applications. In this article, you'll learn how to install, configure, and back up XAMPP on Mandrake Linux 10.0 and also how to configure and administer XAMPP, as well as how to install your own applications in an XAMPP environment."

Comments (none posted)

Web Services

Make minor backward-compatible changes to your Web services (IBM developerWorks)

Russell Butek covers web services versioning issues on IBM developerWorks. "Web services versioning doesn't really exist. To achieve new versions of a service, you have to create a new set of WSDL/XSD files with new namespaces, essentially creating a new Web service. That's a rather drastic solution. There are some changes you can make to an existing set of WSDL and XSD files that are backward compatible so that you can evolve your service, to a limited degree, without the drastic measure of creating a new one."

Comments (none posted)

Desktop Applications

Audio Applications

amaroK 1.2-beta1 Released

Version 1.2 beta 1 of amaroK, a KDE music player, is out with numerous changes.

Full Story (comments: none)

QjackCtl 0.2.13 released

Version 0.2.13 of QjackCtl, the Qt/GUI frontend for the JACK Audio Connection Kit, has been released with minor improvements.

Full Story (comments: none)

Data Visualization

Kst 1.0.0 Released

Kst is "a real-time data viewing and plotting tool with basic data analysis functionality." Version 1.0 of Kst has just been released; click below for the details.

Full Story (comments: none)

MultiPlot 0.4 released

Version 0.4 of MultiPlot, an FLTK-based graph plotting utility, has been released. Here is the change summary: "new version with minor bugfixes. sould now easily compile under linux and windows."

Comments (none posted)

Desktop Environments

Elektrified X.org released

The Elektra Project is an attempt to rationalize Linux configuration files by bringing them all into a standard key/value pair format (apply your favorite registry analogy here). The project has just released a major proof of its concept: an "elektrified" version of the X.org server. Click below for lots of details.

Full Story (comments: 85)

KDE CVS-Digest for November 26, 2004 (KDE.News)

The November 26, 2004 edition of the KDE CVS-Digest is online. Here's the content summary: "Extended password dialog can define length and strength thresholds. Dell Laptop Buttons Plug-in for KMilo . As-you-type spellchecking with aspell. KAddressbook import/export filter GMX addressbook format. X-Face support for Kmail and KNode. New blogging resource for Korganizer."

Comments (none posted)

gnome-utils 2.9.2 announced

Version 2.9.2 of gnome-utils, a collection of utilities for the GNOME desktop, is available. "The biggest change overall is that GNOME Screenshot has been moved from gnome-panel to gnome-utils."

Full Story (comments: none)

gnome-panel 2.9.2 announced

Version 2.9.2 of gnome-panel is out. "Since gnome-panel 2.9.2, the gnome-panel use the /apps/panel gconf directory to store its settings. The settings that were previously stored in /apps/panel/profiles will be automatically migrated."

Full Story (comments: 1)

Electronics

Open Collector Releases

The latest new electronics applications on Open Collector include new versions of annotate_gschem, gschem2xpcb, and Oregano.

Comments (none posted)

Financial Applications

SQL-Ledger 2.4.5 released

Version 2.4.5 of SQL-Ledger, a web-based accounting system, has been released. Changes include a couple of bug fixes.

Comments (none posted)

Games

gnome-games 2.9.2 announced

Unstable version 2.9.2 of gnome-games, a collection of games for the GNOME desktop, is out with numerous changes to individual games.

Full Story (comments: none)

New version of 'HLA Adventure' for Linux released

A new release of HLA Adventure, a text-based adventure game, is out.

Full Story (comments: none)

Choosing a Language for Interactive Fiction (O'Reilly)

Liza Daly introduces interactive fiction languages in an O'Reilly article. "IF languages have various structural and syntactic optimizations for writing games. Turn-based time (or even, in some cases, real time) is a built-in. It's easy to define conditions on which the game can be won or lost. An IF language already knows not only that GET HAMSTER means the player would like to perform an action called GET on an object called HAMSTER, but it also knows that PUT HAMSTER ON TABLE is an entirely different matter than PUT TABLE ON HAMSTER and that PUT NORTH ON HAMSTER is something altogether nonsensical."

Comments (1 posted)

Graphics

Inkscape 0.40 released

Inkscape 0.40 has been released; click below for the details. There are some major enhancements in this version, including support for layers, the ability to render text along a path, and "bitmap tracing," which turns bitmap images into vector graphics. A new set of tutorials has been added as well.

Full Story (comments: 3)

GUI Packages

Gtk2-Perl 2.9.2 announced

Unstable version 2.9.2 of Gtk2-Perl, the Perl bindings to GTK+, has been announced.

Full Story (comments: none)

gtkmm 2.4.8 announced

Version 2.4.8 of gtkmm, the C++ interface to GTK+, is out with bug fixes and documentation improvements.

Full Story (comments: none)

Interoperability

Wine Traffic

The November 26, 2004 edition of Wine Traffic is available with the latest Wine project news.

Comments (none posted)

Multimedia

GStreamer Plugins 0.8.6 released (GnomeDesktop)

Version 0.8.6 of the GStreamer plugins have been announced. "Lots of bugs fixed in this release (44 bugzilla items closed). New polypaudio sound server plugin and support for musepack files. Another important addition to this release is support for chained ogg files, which is important for many ogg web radio streams for instance. Some important fixes to our ALSA support was also made, so people who had troubles with ALSA output with earlier releases are advised to give this one a go."

Comments (none posted)

Music Applications

Hydrogen v0.9.1 is out

Stable version 0.9.1 of Hydrogen, a drum machine, has been released. Changes include a new ALSA driver, French documentation, and bug fixes.

Full Story (comments: none)

News Readers

Liferea 0.6.4 announced

Version 0.6.4 of Liferea, the Linux Feed Reader, is available. Changes include a Polish translation, global article skimming keybindings, and bug fixes.

Full Story (comments: none)

Office Applications

gcalctool v5.5.16 released

Version 5.5.16 of Gcalctool, the default GNOME desktop calculator, has been announced, it is considered stable. Changes include translation work.

Full Story (comments: none)

Office Suites

OpenOffice.org 1.1.3-kde released

KDE.News has the announcement for OpenOffice.org 1.1.3-kde. This is a version of ooo-build which has been reworked to fit into the KDE environment; it uses the KDE native widget framework and features KDE icons.

Comments (1 posted)

KOffice 1.3.5 Released

Version 1.3.5 of KOffice has been released, this is the fifth bugfix package for this series. Changes include Breton language support, a security fix, and KPresenter fixes.

Full Story (comments: none)

OO.o build-1.3.7 is available

Build 1.3.7 of OpenOffice.org has been announced. "This package contains Desktop integration work for OpenOffice.org, several back-ported features & speedups, and a much simplified build wrapper, making an OO.o build / install possible for the common man. It is a staging ground for up-streaming patches to stock OO.o."

Full Story (comments: none)

Web Browsers

Epiphany 1.4.6 released

Stable version 1.4.6 of Epiphany, the GNOME web browser, has been announced. Changes include numerous bug fixes and more.

Full Story (comments: none)

Epiphany Extensions 1.4.3 released

Version 1.4.3 of Epiphany Extensions has been released. A security bug fix is included, upgrading is advised.

Full Story (comments: none)

Epiphany 1.5.2 released

Unstable version 1.5.2 of Epiphany, the browser for GNOME, is out. Changes include interface improvements, bug fixes, and more.

Full Story (comments: none)

Epiphany Extensions 1.5.2 released

Unstable version 1.5.2 of Epiphany Extensions has been announced. Changes include an important security update, bug fixes, and more.

Full Story (comments: none)

Independent Status Reports (MozillaZine)

The November 2, 2004 edition of the Mozilla Independent Status Reports are available. Here's the content summary: "The latest set of independent status reports includes updates from mozImage, Biobar, fireFTP, Habari Xenu, Checky, citations nd Linkvisitor."

Comments (none posted)

Miscellaneous

Bakery 2.3.10 announced

Version 2.3.10 of Bakery, a C++ Framework for creating document-based GNOME applications, has been released. This is a bug-fix release.

Full Story (comments: none)

gnubiff 2.0.3 is out

Version 2.0.3 of the gnubiff mail notification program is out with bug fixes and security improvements.

Full Story (comments: none)

Languages and Tools

Caml

Caml Weekly News

The November 23-30, 2004 edition of the Caml Weekly News is online with news of the week's Caml language developments.

Full Story (comments: none)

Java

Juggle Your Java with JDistro (O'Reilly)

Howard Wen examines the JDistro project on O'Reilly. "Appropriately enough, running multiple Java applications at once can be akin to drinking too much coffee in one sitting: You get erratic results and ultimately crash hard. But having more than one Java program running can be helpful for development. Java programmer Guillaume Desnoix wanted such a robust environment, so he created his own: JDistro."

Comments (none posted)

Enhance looping in Java 5.0 with for/in (IBM developerWorks)

Brett McLaughlin looks at for/in in Java 5.0 in an IBM developerWorks article. "The for/in loop -- often called either enhanced for or foreach is largely a convenience feature in Java 5.0. It doesn't really offer any new functionality, but certainly makes several routine coding tasks simpler. In this article, you'll learn about many of those, including using for/in to iterator over arrays and collections, as well as how it can help avoid unnecessary (or just plain annoying) typecasts. You'll also learn how for/in is implemented, glean details about the new Iterable interface, and even understand how to make your own custom objects usable with this new construct."

Comments (2 posted)

Taming Tiger: JDK 5.0 source code licensing (IBM developerWorks)

John Zukowski examines the JDK 5.0 license on IBM developerWorks. "Sun recently released the JDK 5.0 source through the Sun Community Source License (SCSL) and Java Research License (JRL). This month, Tiger columnist John Zukowski takes a break from the details of the new release and overviews the licensing terms and what access to the source offers developers. He also provides a quick look at the surprise early access drop for Mustang, the J2SE 6.0 release."

Comments (none posted)

Lisp

SBCL 0.8.17 released

Version 0.8.17 of SBCL (Steel Bank Common Lisp) is out. "The main new feature of this version is Unicode support."

Full Story (comments: none)

Perl

Perl 5.8.6 released (use Perl)

Perl 5.8.6 has been announced. "The Perl 5 developer team is pleased to announce the Perl Release 5.8.6, the sixth maintenance release of Perl 5.8."

Comments (none posted)

PHP

PHP 5.0.3RC1 released

Version of 5.0.3RC1 PHP is available. "This is the first release candidate and should have a very low number of problems and/or bugs. Nevertheless, please download and test it as much as possible on real-life applications to uncover any remaining issues."

Comments (none posted)

PHP Weekly Summary for November 22, 2004

The PHP Weekly Summary for November 22, 2004 is out. Topics include: Broken pipe in fork, Overloaded class registration, CLI and go-pear in win32 installer, Binary compatibility broken, SPL's Countable, Cleanup for sprintf, libgd fonts, and Browscap.

Comments (none posted)

PHP Weekly Summary for December 1, 2004

The PHP Weekly Summary for December 1, 2004 is out. Topics include: Detached processes, php_iconv_string exportable, Segfault in PHP 5, PHP 4.3.10 RC1, Additional module registration, Per-directory magic quotes, Binary compatibility and Reverted commits.

Comments (none posted)

PostScript

GSview 4.61 beta release

Beta release 4.61 of GSview, a PostScript previewer, has been announced. Numerous changes are included. "Please send in bug reports before the GSview 4.7 release, scheduled for mid December 2004."

Comments (none posted)

Python

Python 2.4 released

Python 2.4 is out; this is a major release which adds a number of new features to the language. Click below for the announcement, or see the Python 2.4 page for download and change information. There is also a 2.4 highlights page for those in a hurry.

Full Story (comments: none)

ActivePython 2.4.0 build 243 is available

Build 243 of ActivePython 2.4.0, ActiveState's quality-assured binary build of Python, is out. "This is a release candidate matching the recently tagged core Python 2.4.0. Builds for Linux, Solaris and Windows are available."

Full Story (comments: none)

Tcl/Tk

Dr. Dobb's Tcl-URL!

The November 23, 2004 edition of Dr. Dobb's Tcl-URL! is out with the week's Tcl/Tk articles and resources.

Full Story (comments: none)

XML

Mapping and Markup, Part 1 (O'Reilly)

John E. Simpson discusses the Geography Markup Language (GML) on O'Reilly. "Geography Markup Language (GML), now at Version 3.1, is a specification of the Open Geospatial Consortium (OGC). (This standards body was formerly known as the Open GIS Consortium--GIS being an acronym for Geographic Information Systems.) If you're used to W3C-sized specs--even behemoths like XML Schema--you'd better sit down before glancing at the GML "Recommendation Paper"; it's a monster, weighing in at over 600 PDF-formatted pages, supplemented by nearly three dozen separate schemas."

Comments (none posted)

Location, Location, Location (O'Reilly)

Uche Ogbuji writes about XML locations in an O'Reilly article. "It is often useful to keep track of the location of some data in an XML file being processed. If you are parsing a file in order to perform sophisticated search and analysis tasks, you may want to know in which element or other such node a specific pattern was found (or even at what file location). XPath is the standard way to convey the location of an XML node. In the case of DOM, you might like to be able to compute an XPath expression selecting a specific node. In the case of SAX, you might want to have an XPath location for a current event, or you may want to get information on a current file location from the parser. In this article, I cover techniques for figuring out such location information. Along the way, I shall be providing some examples of marginally documented corners of Python's SAX libraries."

Comments (none posted)

Build Tools

NAnt 0.85 Release Candidate 1 available (SourceForge)

Version 0.85 Release Candidate 1 of NAnt has been announced. "NAnt is a free .NET build tool, allowing applications to be built targeting both Microsoft .NET and Mono while supporting both win32 and Linux." See the latest release notes for change information.

Comments (none posted)

Editors

gedit 2.9.2 released

Version 2.9.2 of gedit, the official text editor for GNOME, is out with lots of bug fixes and translation improvements.

Full Story (comments: none)

IDEs

DrPython 3.7.0 released (SourceForge)

Version 3.7.0 of DrPython, a cross-platform Python IDE, is available. "I added Optional Text Drag and Drop (Thanks Robin Dunn), and finally nailed the encoding bug (swedish character display). The Plugin List is now updated from the website, so version number do not need to be updated by developers." See the announcement for the full list of changes.

Comments (none posted)

Page editor: Forrest Cook
Next page: Linux in the news>>


Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds