OpenMeetings Project Proposal

Authors: Sebastian Wagner <seba.wagner AT gmail DOT com> Alexei Fedotov <alexei.fedotov AT gmail DOT com>

Date: October 2011

Online version: http://wiki.apache.org/incubator/OpenmeetingsProposal

Status: Proposal Accepted

Abstract

Openmeetings is a web conferencing solution.

Proposal

Openmeetings provides video conferencing, instant messaging, white board, collaborative document editing and other groupware tools using API functions of the Red5 Streaming Server for Remoting and Streaming.

Background

Openmeetings was developed since 2007 by Sebastian Wagner and willing developers. The project ships a release approximately once per quarter. It was developed using LGPL license, and developers are currently thinking of re-licensing it under Apache License 2.0.

The project started as module by Sebastian Wagner for an ELearning platform (Dokeos) and was then split into a separated project. That is the reason why there is a strong relation to educational institutions that are using OpenMeetings and there are integrations for platforms like Moodle, ATutor, Sakai, STudIP or ILias available (http://code.google.com/p/openmeetings/wiki/MoodlePlugins). The relation to educational institutions also subsequently lead to some projects funded by the EU where OpenMeetings was involved, for example by the Swedish/Finnish Centre of Open-Source OpenKarken (Case-Study about the EU project at OSOR.eu: http://www.osor.eu/studies/finland-and-sweden-collaborate-using-oss )

The integration and internationalization of the project was a primary focus right from the start of the project. Since Version 0.5 there is a Language-Editor (http://code.google.com/p/openmeetings/wiki/LanguageEditor) to edit labels, export and import them as XML and you can use those XML files for future installations (or contribute it to the community). There are currently around 30 languages available. Since version 0.5.1 there is also a SOAP API to integrate OpenMeetings. We constantly improve this SOAP/REST API (http://code.google.com/p/openmeetings/wiki/SoapMethods) with new functionality with a strong focus on security and usability. The auth-mechnism is quite similar to OAuth, you create some token and then assign rights to the token. (Documentation for Single Sign On: http://code.google.com/p/openmeetings/wiki/DirectLoginSoapGeneralFlow)

The project name "OpenMeetings" and logos are inspired by Ludovic Gasc who has been the project manager at Dokeos at the time Sebastian split OpenMeetings as separated project.

Red5 Server provides an "Edge-Orion-Clustering" (http://trac.red5.org/wiki/Documentation/Tutorials/EdgeOriginClusteringConfiguration). We hope to extend this clustering solution with support for rtmpt and rtmps and integrate that into our application as native clustering option.

Rationale

Last year most major vendors started commercial web conferencing solutions. This is an important part of software ecosystem, and there is an urge to consolidate open source development efforts in this direction.

According to several studies demand for synchronous Communication, in opposite to asynchronous Communication like wiki's or email, will raise the upcoming years. For example Gartner promises that 2011 the market will grow 20% according to their "Magic Quadrant" report 2010 ( http://www.gartner.com/DisplayDocument?doc_cd=205941 ).

Openmeetings is a unique solution in terms of patent purity and potentially can grow into solution built on top of the fully open source stack. That is why it is a good candidate for consolidating web conferencing community efforts.

Initial Goals

Each of project committers has their own set of goals, but we all share the following.

To become popular we plan to do the following.

Current Status

We have agreed on applying for the Apache Foundation and preparing our proposal for the vote.

Technical status of the project is: Current stable tree is 1.8.x, Trunk is 1.9.

Meritocracy

Developers community is successfully driven by consensus now. If there are more developers on board, consensus may turn into meritocracy.

Community

The developer community is active. The mailing list is active with dozens of messages every day, mostly user support topics.

Currently the User Mailing list has over 1000 members, the dev-list has around 250.

Core Developers

Sebastian has started the application 07/2006. Current development team counts 21 programmers from Germany, Russia, China, India and South America.

Alignment

The project provides a safe ground for Apache for entering a complex field of video streaming. It avoids complex patenting issues by using proprietary Adobe Flash. From the other side it may grow into independent solution because it uses OpenLaszlo RIA framework rather than a particular proprietary vendor language, and after framework evolves can use other frontend representations such as javascript.

Known Risks

Orphaned Projects

Openmeetings project has developed a sufficient functionality to be a popular solution for a small businesses. The number of site visits of the googlecode project website increased to 50.000 in October 2011 which is a good sign of people interest. The overall statistics for the last 4 years shows around 4 mio pageviews (google-analytics graphic:http://wagner-sebastian.com/_log/website.png). We believe that visitors convert to users, and users convert to developers in some standard rate.

Inexperience With Open Source

Two committers have GSoC experience. One committer is an Apache committer. The project exists since 07/2008 already as an open source project hosted at GoogleCode http://code.google.com/p/openmeetings

Reliance On Salaried Developers

Some contributors get paid from Openmeetings-based consultancy.

Relationships with Other Apache Products

Web application part of Openmeetings runs under Apache Tomcat. It uses Apache Commons and Apache Velocity. Red5 server uses a lot of Apache components, including Apache Mina. OpenMeetings itself uses Apache Axis2 for the SOAP / REST API. OpenMeetings was reworked to use Apache OpenJPA instead of Hibernate. Since revision 4000 (version 1.8) all dependencies to Hibernate have been removed from the source.

An Excessive Fascination with the Apache Brand

The Apache Foundation is the home of vendor neutral and industry standard software. By joining the Foundation we will apply Apache's Release and Licensing Standards to our product. Doing that we will improve our release processes, quality standards and it should give a planning reliability to our end users. But our main motivation is that our project is about collaboration, communication and enabling people to easily interact with each other. We think that the "Apache Way" of community driven software development with flat hierarchy and transparency in decision and design will reflect best those core activities of our software.

Well, or course we want our project to be alive, and useful. Several contributors have former experience with Apache Harmony project (which previously has been known as SourceForge ORP project). Apache brand is really helpful compared to SourceForge brand for community building and getting support from commercial companies. From the other side org.apache.harmony story shows that the brand cannot help when there no community remain. Hence we try to keep people interested, and the product developed at the first place, thus supporting Apache brand fame with good facts.

Initial Source

External Dependencies

Adobe Flash (by means of OpenLaszlo) and open source projects compliant with current Apache policy. The UI code is compiled by using OpenLaszlo, not by using Adobe products. OpenLaszlo is licenced under the CPL. OpenLaszlo's concept is that you write the code in a XML based approach, it is possible to compile the output to Flash or DHTML/HTML5. So on the long run it might be possible to replace the Flash UI with a DHTML one. But as there is little multimedia support in HTML5 especially for Webcam and Microphone access it is not possible yet to prevent using Flash in general. The needed Real-Time Communication could be done using Ajax and HTTP-Push mechanisms like Comet instead of AMF which is currently used.

For Flash Streaming Red5 is used ( http://code.google.com/p/red5 ). Red5 is currently a LGPL licensed Software based on Apache Tomcat / Apache MINA and Spring. Red5 will change to APL very soon, they already internally discussed that some time ago and voted on it:

https://groups.google.com/forum/#!searchin/red5developers/apache/red5developers/QkwBygXUGM0/KK4uICz0wEsJ

Dependcies to Red5 API as graphs: Java Web-Start application (Screen-Sharing and Recording) http://openmeetings.googlecode.com/svn-history/r4162/docs/Red5.webstart.png Java Web-Application (http://openmeetings.googlecode.com/svn-history/r4162/docs/Red5.webapp.png ).

Cryptography

OpenMeetings can be deployed using HTTPS and RTMPS (Flash Streaming and Remoting over SSL): http://code.google.com/p/openmeetings/wiki/RTMPSandHTTPS

Required Resources

Subversion Directory: https://svn.apache.org/repos/asf/incubator/openmeetings

Issue Tracking: JIRA (OPENMEETINGS)

Required Mailing lists:

Wiki, Webspace: Confluence or similar software where we can integrate our current wiki and documentation (http://code.google.com/p/openmeetings/wiki/MainPage?tm=6)

Other Resources:

Continuous integration and Nightly Builds may eventually require hardware

We are currently hosted on googlecode. There was an option in googlecode available to transfer a googlecode project to Apache. We would like to ask the hosting staff at Googlecode if they could maybe give us advice how we can easily get a copy of our project to import it into the new project space at Apache.

Initial Committers

If any other existing Apache or Openmeetings committers would like to be grandfathered into the list then feel free to ask.

Sponsors

Champion

Mentors

Volunteers, please.

Sponsoring Entity

We would like to ask the Incubator PMC to sponsor Openmeetings.

OpenmeetingsProposal (last edited 2011-11-24 15:12:41 by RossGardler)