Saros (software)


Saros is an Eclipse plug-in for distributed collaborative text editing that can support five participants at once. It can be used for a variety of purposes ranging from simple remote code review, over Remote pair programming, through to variants of Side-by-side programming with more than two participants.

Functionality

All members of a session have an identical copy of Eclipse projects and Saros keeps these copies in sync as editing progresses.
At the beginning of a session, Saros will automatically synchronize the contents of the Eclipse project from the initiator of a session to the other participants.
During the session, markers in every participant's viewport will indicate who is currently seeing what and who made recent changes where.
Explicit highlighting of text for others is done by means of simple text selection which will be shown in a color that indicates who performed the selection.
Separate audio conferencing completes the collaboration scenario. Basic whiteboard sketching functionality is built in.

Underlying technology

With multiple concurrent writers, write conflicts can occur. Saros will resolve them consistently by means of the Jupiter algorithm.
Saros uses an XMPP/Jabber server for session initiation. It will also use XMPP for subsequent communication if and insofar as some participants cannot be reached directly via IP.
However, Saros uses Socks5 to provide low-latency, high-bandwidth connections whenever possible and is able to apply UPnP for traversing the NATs of typical home networks.

User Experience

Compared to cooperation via screensharing, working with Saros has a number of
advantages:
The latter can be advantageous even in comparison to local pair programming.

License

Saros is an open source project under GPL. It is hosted at GitHub.