Saros (software)
Saros is an Eclipse plug-in for distributed collaborative text editing that can support arbitrarily many 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.
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 ("host") 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 ("awareness information"). 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.
With multiple concurrent writers, write conflicts can occur. Saros will RESOLVE them consistently by means of the Jupiter algorithm. Separate audio conferencing (such as Skype) completes the collaboration scenario. Basic screen sharing and whiteboard sketching functionality are built in.
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 (typically because their computer is behind a firewall or NAT). 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.
Saros is an open source project under GPL. It is hosted at SourceForge.
See also
- Collaborative editing
- Pair programming