我认为Google Wave的OT实现部分是开源的(还有更多部分即将推出)。
我不确定这是否是你想要的,但OT的另一种选择是 差异同步 :
我们正在构建一个将操作转换与版本控制相结合的协作编辑器。这样我们就可以同时支持离线和在线协作。我们昨天发布了自己的OT库作为我们的开源堆栈的一部分。
http://interior.substance.io/modules/operator.html
我们还为版本控制贡献了一个库。
http://interior.substance.io/modules/chronicle.html
我编写了一个实现OT控制层的小型unixy(做一件事,做得好)库,允许您插入不同的OT类型(支持所有shareJS兼容类型)。 它与shareJS类似,但不那么自以为是,更抽象。
https://github.com/marcelklehr/gulf
其中一位前浪潮工程师发布了名为ShareJS的协同编辑算法的Coffeescript实现,现在命名为 ShareDB 。
你可以和那些家伙谈谈 Cedanet 。虽然Ceda是封闭源,但他们的网站上没有免费试用版。我参与了Ceda的开发并继续在商业项目中使用它,所以如果你沿着这条路走下去,我或许可以提供一些反馈/建议。
https://github.com/opencoweb/coweb
OT图书馆:
在HWIOS websocket项目中,我成功地使用了两者的组合(服务器端的py-infinote,客户端的jinfinote)来同步文档状态。
还可以看看这些Javascript库:
Npm为node.js提供了一些不错的ot库:
使用js客户端库(Strophe.js),您可以使用免费的XMPP服务器(如jabber.org)和我的客户端OT库(JSOTTEST)来构建完整的客户端 - 服务器系统。
当我有时间修改代码时,我将提交演示客户端 - 服务器聊天系统的src。
ot.js库 https://github.com/Operational-Transformation/ot.js 可能对多用户场景有用。
我用etherpad lite的etherpad.org优于其他解决方案。