In pair programming, two programmers share a computer and focus on different aspects of the code they create. In distributed pair programming, the two developers may work in different locations. Saros is an Eclipse plugin that connects programmers using Jabber/XMPP protocols. It features instant messaging capabilities, shared text file editing, and shared file operations – all of which, developer Christopher Oezbek says, “sets us apart from other collaborative editors such as Gobby, SubEthaEdit, or even Google Docs.”
Saros got its start in 2006 at the Freie UniversitÃ¤t Berlin when Oezbek and his colleague Stephan Salinger sat down with student Riad Djemili to find a common research area and a master thesis for Riad. Salinger was interested in pair programming, while Oezbek wanted to research how to support open source collaboration. “And Riad was a heck of a programmer,” Oezbek says. “After six months of collaboration we had a working prototype. Today, 1,500 commits later and with another five students currently at work on the software, Saros has come a long way.”
Oezbek says in recent releases the project has polished multi-driver support, which means that two or more people can edit the same file at the same time. To try it out, users can go to Eclipse preferences -> Saros -> Enable Multi-Driver Support. The team has also increased support for various Jabber and XMPP servers; for instance, with version 9.8.21, Saros can be used with existing accounts from Google Talk and Jabber.org.
Oezbek notes that Saros is still beta software and a research project, so there are still bugs in it. Some plans for upcoming releases include better support for people who are using different platforms, different encodings, and different line endings. “We are also trying to improve our list of supported programming languages, which currently includes Java, C++ via CDT, Python via PyDev, PHP via PDT, and a couple more.” Oezbek says the project follows a three-week release schedule. The next release is scheduled for September 11.
Currently Saros is used at a German telecommunications firm to let their developers in Europe and Asia work together. If anybody else is interested in using Saros as a tool in any open source project, Oezbek says the project would love to hear about it.
The project also invites people to use and test Saros and say what they would like to see in future versions. “And bug reports are good as gold,” Oezbek says, “because they tell us about things we never thought about.” Oezbek says they can also use a help from developers who are familiar with XMPP and network coding and SWT user interfaces. To get in touch, drop a note to dpp-devel at lists.sourceforge.net.