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
Openmeetings is a web conferencing solution.
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.
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.
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.
Each of project committers has their own set of goals, but we all share the following.
- Move to Apache.
- Become popular.
To become popular we plan to do the following.
- Improve ecosystem around the project.
- Improve release process.
- Improve project testing and stability.
- Apply modular architecture/SOA for better integration with other projects.
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.
Developers community is successfully driven by consensus now. If there are more developers on board, consensus may turn into meritocracy.
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.
Sebastian has started the application 07/2006. Current development team counts 21 programmers from Germany, Russia, China, India and South America.
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.
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:
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 ).
OpenMeetings can be deployed using HTTPS and RTMPS (Flash Streaming and Remoting over SSL): http://code.google.com/p/openmeetings/wiki/RTMPSandHTTPS
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)
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.
Sebastian Wagner <seba.wagner at gmail dot com>
Oliver Becherer (smoeker) <ich at oliver-becherer dot name>
Rodion Volkov <volkov.rodion at gmail dot com>
Alexei Fedotov <aaf at apache dot org>
Evgeny Rovinsky <e.rovinsky at gmail dot com>
Maxim Solodovnik < solomax666 at gmail dot com >
Sascha Xander < sascha.xander at googlemail dot com >
Johnny Strom <johnny.strom at osp dot fi>
Eugen Schwert < eugen.schwert at googlemail dot com >
If any other existing Apache or Openmeetings committers would like to be grandfathered into the list then feel free to ask.
Andrus Adamchik <aadamchik at apache dot org>
Alexei Fedotov <aaf at apache dot org>
Jim Jagielski <jim at apache dot org>
Ross Gardler <rgardler at apache dot org>
Yegor Kozlov <yegor at apache dot org>
We would like to ask the Incubator PMC to sponsor Openmeetings.