Open source solutions for online enterprise collaboration

One of the challenges when starting a new project, especially in the IT industry, is designing and implementing an efficient system for managing internal information and communication.

The Paperless Office

The first concept that came into play was the Paperless Office. With the introduction of personal computers, and the availability of word processors and spreadsheet applications, the paper-based documents were increasingly replaced by their electronic versions. E-mail was another step forward, replacing written memos with electronic messages.

Since about 2000, the global use of office paper has leveled off and is now decreasing, a sign that, as futuristic as it looked in the 1975 prediction, the paperless office is now becoming a reality.

The Power of the Read-Write Web

Advances in Internet technologies in general, and web technologies in particular, took things one step further. We have moved from sending attachments via e-mail, and clicking, browsing, reading, searching through read-only Web sites (Web 1.0) to the full potential of the read-write Web (Web 2.0). The growth of such next-generation Web tools as blogs, social networks, and wikis is astounding, with new collaborative tools appearing online almost daily. [West, 2009]

The Borderless Network

The borderless network concept, promoted by Cisco, “Connect anyone, anywhere, on any device – securely, reliably, and seamlessly” brings new possibilities to modern, decentralised organisations. Virtual teams, made of people telecommuting from anywhere and collaborating on common projects, are more and more usual, with benefits for communities, employers, and employees.

Enterprise Collaboration

Solutions for enterprise collaboration come in many size and shapes. In general, they all include an online asynchronous communication mechanism, allowing for contributions to be made not in real time but at different times.

Enterprise grade technologies include complex, fully integrated, but proprietary and expensive solutions. One such good example is Microsoft SharePoint Server.

On the other hand, open source solutions are significantly cheaper, but might not be as integrated, or some features might not be available.

A very good example of a free solution intended for software projects is SourceForge, that started more like a source code repository, but evolved into a full software development management system. Other examples are Google Code and GitHub, but with fewer features.

Small teams would probably benefit from a cloud based SourceForge like commercial service, but unfortunately the existing solutions are still questionable, in terms of functionality or price (one such example is CollabNet Cloud).

This leaves us with the classical solution of self hosting, either in house or, even better, collocated in a safe data centre.

If we decide for the open source path, such a self hosting server is usually based on a standard Unix/Linux distribution, with various components installed on top.

In the traditional approach, the absolute minimum such a server should support is an email system and a source code repository; optionally a web server would be a good addition.

But for a modern approach, the web server is not only mandatory, but it needs to be extended with a blog, a wiki, a bug tracking system and optionally with a web interface for the repository and a forum.

e-Mail

e-Mail is a convenient communication tool. However, when used for enterprise collaborative work, it has a major drawback, the lack of a proper mechanism for archiving discussion threads. Once the online system is in place, with most of the communication centred around blog posts, wiki documents, bug reports, forum threads, etc. the e-Mail role can be reduced, at the limit, to a simple notification for the other online mechanisms.

The ideal email message is the one that caries no information in itself, that we can read, act and delete.

Revision Control

The Revision Control System, or the Source Code Repository, should be the central place for a software development project. It allows to track changes to source files and to any text files in general. Changes are identified by revision numbers. Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged.

One of the most used repository is Apache Subversion, or SVN. Among the other systems in use we can mention Mercurial and Git.

Web

Although the web server was traditionally the main online solution, experience proved that collaboration via plain web services is quite tedious. Publishing to a web server is usually done via file transfer protocols, like FTP, SCP, WebDAV and granularity is limited to one file at a time.

For static pages that do not require changes, PDF documents, media files (photos/audio/video), the web server is a perfect solution.

The main advantage over a local file sharing is easier access from remote locations, otherwise the collaborative features of the plain web are limited.

However, the web server, sometimes together with some additional storage, proved to be a great platform for developing Web 2.0 solutions.

On open source platforms, probably the most used implementation is the Apache HTTP server, a fully extensible and mature solution.

Blog

Blogs, short for Weblogs,  are well suited to such online activities as reflection, creative expression, and journaling. Blog postings are made in a chronological sequence, with the most recent entries typically displayed at the top of the page. Blog posts are made by a single person, and although others can be granted edit rights, contributions to the discussion are usually made via comments associated to posts.

Blog posts are assigned to user defined categories, and it is possible to dynamically group posts by categories.

Browsing the web can be done by date or categories. Searching the blog for different words is also possible.

In an enterprise environment, blogs are great for publishing announcements, tracking project progress and any other communication that needs to be archived.

As open source solutions, WordPress is probably one of the best solutions; it is easy to use, it has additional features like static pages, configurable menus, widgets and, last but not least, it has some very nice looking themes.

Wiki

A wiki is an online collaborative writing tool, a “collaborative web space where anyone can add content and anyone can edit content that has already been published” [Richardson, 2006]. Wikis represent the combination of three stable concepts — collaboration, writing, and constant Web access.

Wikis were first intended for software development, but being accessible at any place and any time, by physically dispersed virtual teams, made them the ubiquitous collaboration tool for a wide range of domains, both public and private.

Wikis can also be the central place for online enterprise collaboration. Wikis present an approach to group writing and editing that is more efficient than forwarding e-mail attachments with tracked changes, a method that supports only one editor at a time and can create issues with people having multiple and conflicting versions of the same document. No one has to wait for a current file to be forwarded to them. It is easy to track each person’s contributions and to maintain a record of all changes and edits [Waters, 2007]. Anyone with access, permission, and a Web browser can contribute to a wiki [West, 2009].

Perhaps the most well-known wiki is Wikipedia, a free online encyclopedia with completely open content: nearly every article can be edited by anyone.

From this point of view, MediaWiki, the software used for Wikipedia, is probably the best known wiki implementation.

Issue tracking

Issue tracking systems in general, and bug tracking systems in particular, are software packages that maintain list of issues/bugs.

The interface is usually web based, and all related data is stored in a database.

The best known software for bug tracking was Bugzilla, from Netscape Communication, and the big success it had is confirmed by the fact that Bugzilla is sometimes used as a generic name for bug tracking systems, regardless of their actual implementation.

However many other solutions are now available, like Mantis or Trac.

Forum

Forums are software packages that support online threaded discussions. In a threaded discussion, users access a discussion topic or thread, post  messages, and reply to the messages of others. All users who have access to the thread can read the messages. However, once messages are posted to a threaded discussion, they typically cannot be edited, except by the original author or discussion administrator. This creates a critical difference between threaded discussions and wikis [West, 2009].

In an enterprise environment, forums can be used in two situations, on the intranet, for internal discussions, and on the public site, as a place for customer initiated discussions.

Miscellaneous

Although not directly included in the Web 2.0 tools, there are additional solutions that might be useful for virtual teams.

One good example is Skype, with good quality audio/video, instant messaging, file transfers, screen sharing.

However, using instant messaging should be done with care, since conversations usually are stored on the local machine and are not archived on a server (or at least not on a server that we know!).

For slightly more conservative organisations, a VOIP system can be used for internal voice communication. For those who can afford them, Cisco provides great integrated solutions. Open source alternatives can also be mentioned, Asterisk providing a good PBX alternative.

Conclusion

As we can see, the issue of enterprise collaboration evolved from the classical typed documents accompanied by hand written memos, via electronic documents attached to e-Mail messages, to full online collaborative technologies.

According to some studies, it seems that millennials, people born after 1982, are already “wired” for online collaborative writing, and this will probably just accelerate the transition to online collaboration and to cloud based technologies in general.

[See also the post Book: “Using Wikis for Online Collaboration”, by James West]

About Liviu Ionescu (ilg)
Hi! My name is Liviu Ionescu (ilg, ilegeul or eunete for colleagues and friends) and I’m a senior IT engineer. Or should I say a real programmer?

One Response to Open source solutions for online enterprise collaboration

  1. Michael Clark says:

    Great article. Online collaboration tools helps in virtual team collaborations, web conferences, online meetings, web meetings etc. One may deploy on premise RHUB online collaboration appliances regarding the same.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: