Original author(s) | Pablo Ojanguren & others, from the GRASIA research group, at Universidad Complutense de Madrid |
---|---|
Developer(s) | Pablo Ojanguren & others |
Initial release | July 1, 2015 |
Stable release | 0.2.0-beta / September 30, 2017 |
Repository | github |
Written in | Java, JavaScript |
Operating system | Cross-platform |
Type | Web framework Backend as a service |
License | Apache License |
Website | swellrt |
SwellRT was a free and open-source backend-as-a-service and API focused to ease development of apps featuring real-time collaboration. It supported the building of mobile and web apps, and aims to facilitate interoperability and federation.
SwellRT has its origins in the work done within the GRASIA research team at the Universidad Complutense de Madrid, as part of the EU-funded project P2Pvalue (2013–2016), in a team led by Samer Hassan. [1] In 2014, the developer Pablo Ojanguren took the lead in forking Apache Wave, dropping several components, re-engineering it, and building a "Wave API" to build applications on top. [2] In 2015, such Wave API became a standalone product named SwellRT. [3] [4]
In 2016, several discussions took place within the Apache Wave community, aiming to tackle the stagnation and crisis state of the project. The Apache Software Foundation mentor of Apache Wave, Upayavira, [5] was concerned on the project stagnation, but framed SwellRT as Wave's potential savior:
Once more Wave is on the brink of retirement. However, this time, an offer has been made of code from SwellRT, which is a fork of Wave itself, and a concall has been scheduled for interested parties to discuss whether it is a go-er. It is my (limited) understanding that many of the complexity issues in the Wave code that have prevented community development have been resolved in SwellRT. [6]
Eventually, Wave was approved to continue within Apache incubator program, and a copy of SwellRT codebase was placed in the Apache Wave repository in order to grant the Wave community access to it. [7] In this regard, Intellectual Property of SwellRT was transferred to the Apache Foundation in 2017. [8]
In both 2016 [9] [10] and 2017, [11] [12] SwellRT participated in the Google Summer of Code as part of the set of projects from the Berkman Klein Center for Internet and Society at Harvard University. In both years, the contributions were highly relevant. In 2016, SwellRT replaced its XMPP-based federation protocol (inherited from Apache Wave) for the Matrix.org federation protocol. [13] In 2017, end-to-end encryption was implemented, [14] [15] following an innovative approach to encrypt communication in Operational Transformation collaborative documents. [16]
SwellRT received international recognition within the fields of decentralized technologies [17] [18] [19] [20] [21] [22] [23] and real-time collaboration. [24] [25] [26] [27] [28] [29] In the Decentralized Web Summit, organized by the Internet Archive in San Francisco, it was selected as one of the current innovative decentralization technologies. [30] It was also selected by the Redecentralize advocacy group, as one of the redecentralization projects whose founders were interviewed, [31] [32] It launched an international contest to develop apps using SwellRT, [33] which was awarded to free/open source developers in India. [34] And the project was presented as invited talk in the Center for Research on Computation and Society at Harvard's School of Engineering and Applied Sciences, [35] [36] and in several international conferences. [37] [38] [39] [40] [41] SwellRT was one of the first adopters of the Contributor Covenant code of conduct. [42]
The project has not received new commits since 2018. [43]
SwellRT was a fork from Apache Wave, inheriting some of its architecture and technology stack. However, it grew beyond the limits of Wave, first presenting itself as a web framework and nowadays growing to a backend-as-a-service platform. [44] [45] Its technical approach covers the following:
SwellRT provides a programming model based on collaborative objects. A collaborative object is a JSON-like object that can be shared by some users (or groups) that can make changes in real-time. Changes are propagated (and notified) in real-time to any user connected to the object.
A collaborative object can store properties of simple data types (string, integers, etc.) as well as rich-text and references to files or attachments. This approach is suitable to implement any document based collaborative application like text editors or spreadsheets.
Objects and participants are uniquely identified on the Internet, enabling decentralized access from different federated servers.
SwellRT facilitated the development of mobile/web apps, and thus several apps have been built using this technology. Apart from the demos provided by SwellRT, [46] third-parties developed other demo apps, such as a Q&A site, [47] an extension to extract keywords, [48] a collaborative scrollbar, [49] a political participation Android app, [50] a Trello-SwellRT connector. [51] Besides, two fully-fledged apps are currently using SwellRT technology:
OpenOffice.org (OOo), commonly known as OpenOffice, is a discontinued open-source office suite. Active successor projects include LibreOffice and Collabora Online, with Apache OpenOffice being considered mostly dormant since at least 2015.
An anonymous P2P communication system is a peer-to-peer distributed application in which the nodes, which are used to share resources, or participants are anonymous or pseudonymous. Anonymity of participants is usually achieved by special routing overlay networks that hide the physical location of each node from other participants.
A collaborative real-time editor is a type of collaborative software or web application which enables real-time collaborative editing, simultaneous editing, or live editing of the same digital document, computer file or cloud-stored data – such as an online spreadsheet, word processing document, database or presentation – at the same time by different users on different computers or mobile devices, with automatic and nearly instantaneous merging of their edits.
XWiki is a free and Open source wiki software platform written in Java with a design emphasis on extensibility. XWiki is an enterprise wiki. It includes WYSIWYG editing, OpenDocument-based document import/export, annotations and tagging, and advanced permissions management.
Apache Cassandra is a free and open-source database management system designed to handle large volumes of data across multiple commodity servers. Cassandra supports clusters and spanning of multiple data centers, featuring asynchronous and masterless replication. It enables low-latency operations for all clients and incorporates Amazon's Dynamo distributed storage and replication techniques, combined with Google's Bigtable data storage engine model.
Etherpad is an open-source, web-based collaborative real-time editor, allowing authors to simultaneously edit a text document, and see all of the participants' edits in real-time, with the ability to display each author's text in their own color. There is also a chat box in the sidebar to allow meta communication.
Google Wave, later known as Apache Wave, was a software framework for real-time collaborative online editing. Originally developed by Google and announced on May 28, 2009, it was renamed to Apache Wave when the project was adopted by the Apache Software Foundation as an incubator project in 2010.
LibreOffice is a free and open-source office productivity software suite, a project of The Document Foundation (TDF). It was forked in 2010 from OpenOffice.org, an open-sourced version of the earlier StarOffice. It consists of programs for word processing; creating and editing spreadsheets, slideshows, diagrams, and drawings; working with databases; and composing mathematical formulae. It is available in 120 languages. TDF does not provide support for LibreOffice, but enterprise-focused editions are available from companies in the ecosystem.
Real-time text (RTT) is text transmitted instantly as it is typed or created. Recipients can immediately read the message while it is being written, without waiting.
Kune was a free/open source distributed social network focused on collaboration rather than just on communication. That is, it focused on online real-time collaborative editing, decentralized social networking and web publishing, while focusing on workgroups rather than just on individuals. It aimed to allow for the creation of online spaces for collaborative work where organizations and individuals can build projects online, coordinate common agendas, set up virtual meetings, publish on the web, and join organizations with similar interests. It had a special focus on Free Culture and social movements needs. Kune was a project of the Comunes Collective. The project seems abandoned since 2017, with no new commits, blog entries or site activity.
Apache OpenOffice (AOO) is an open-source office productivity software suite. It is one of the successor projects of OpenOffice.org and the designated successor of IBM Lotus Symphony. It was a close cousin of LibreOffice, Collabora Online and NeoOffice in 2014. It contains a word processor (Writer), a spreadsheet (Calc), a presentation application (Impress), a drawing application (Draw), a formula editor (Math), and a database management application (Base).
NuttX is a free and open-source real-time operating system (RTOS) with an emphasis on technical standards compliance and on having a small footprint. It is scalable from 8-bit to 64-bit microcontroller environments. The main governing standards in NuttX are from the Portable Operating System Interface (POSIX) and the American National Standards Institute (ANSI). Further standard application programming interfaces (APIs) from Unix and other common RTOSes are adopted for functions unavailable under these standards, or inappropriate for deeply embedded environments, such as the fork system call.
AllJoyn is an open source software framework that allows compatible devices and applications to find each other, communicate and collaborate across the boundaries of product category, platform, brand, and connection type. Originally the AllSeen Alliance promoted the project, from 2013 until 2016 when the alliance merged with the Open Connectivity Foundation (OCF). In 2018 the source code became hosted by GitHub.
iDempiere. Community Powered Enterprise, also known as OSGi + ADempiere, is an open source Enterprise Resource Planning (ERP) software that is fully navigable on PCs, tablets and smartphones, it also has customer relationship management (CRM) and supply chain management (SCM) functions. It is in contrast to proprietary or most other open source ERP solutions driven only by a community of supporters.
Briar is an open-source software communication technology, intended to provide secure and resilient peer-to-peer communications with no centralized servers and minimal reliance on external infrastructure. Messages can be transmitted through Bluetooth, Wi-Fi, over the internet via Tor or removable storage, such as USB sticks. All communication is end-to-end encrypted. Relevant content is stored in encrypted form on participating devices. Long-term plans for the project include support for distributed applications such as crisis mapping and collaborative document editing.
Apache Mynewt is a modular real-time operating system for connected Internet of things (IoT) devices that must operate for long times under power, memory, and storage constraints. It is free and open-source software incubating under the Apache Software Foundation, with source code distributed under the Apache License 2.0, a permissive license that is conducive to commercial adoption of open-source software.
Samer Hassan is a computer scientist, social scientist, activist and researcher, focused on the study of the collaborative economy, online communities and decentralized technologies. He is Associate Professor at Universidad Complutense de Madrid (Spain) and Faculty Associate at the Berkman Klein Center for Internet & Society at Harvard University. He is the recipient of an ERC Grant of 1.5M€ with the P2P Models project, to research blockchain-based decentralized autonomous organizations for the collaborative economy.
Element is a free and open-source software instant messaging client implementing the Matrix protocol.
Microsoft, a tech company historically known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.