Greenpeace Planet: Background to selection of technical path

 

1.      Greenpeace, the web, and the Open Source way.

2.      Why OpenACS?

3.      Why Open Source/Free Software?

 

 

Greenpeace, the web, and the Open Source way

 

Around 1997-1998, when the Greenpeace web team was just composed of two people, it became evident that traffic to the website http://www.greenpeace.org was notably increasing. At the same time, the amount of information uploaded to the site was also increasing daily.  We needed a way to get content up faster, and to reduce the technical skills needed to post to the site, in order to allow more people in the organization who were already content producers to get content to the web themselves.

 

At that time we didn’t have any system in place to manage the content in a structured way (for such a big site). The website had been managed by an external company and not in-house, and when we took direct control of the situation the need to get a sustainable solution became evident. The demand on the web team as a resource was becoming unmanageable. Luckily we developed some very simple scripting that allowed us to at least upload Press Releases quite quickly, and automatically update parts of the site. But this was only a partial stop-gap solution – we needed something longer term, something we could count on to be flexible, scalable and robust.

 

Our interest in a Content Management System (CMS) was growing. In 1998 we had been approached by a couple of companies wanting to sell us (at outrageous prices) their CMS solutions, but since our budget at that time was very limited, we had to refuse and look for different alternatives. We had been using GNU/Linux for many years, and so we decided to research Open Source alternatives and evaluate them against commercial CMS.

 

At the time, the evaluation was restricted the field to two commercial packages: Vignette (http://www.vignette.com/) and Cold Fusion (http://www.macromedia.com/software/coldfusion/) and three opensource alternatives: Midgard (http://www.midgard-project.org/), MasonHQ (http://www.masonhq.com/, currently in use on Greenbase) and Zope (http://www.zope.org, currently running the public cybercentre)

 

Vignette's combination of high price, limitation in language support, and its bloated array of (for us, useless) features, made it the first to be eliminated. From the opensource side, Midgard looked promising but it wasn't stable yet and Mason was not providing features like templating, something that we badly needed to develop and manage different designs.

 

The two final candidates were Cold Fusion and Zope. Cold Fusion was very interesting, offering greater stability and support worldwide.  However at the time, the inflexibility of the product, the lack of multilingual support, and the parent company's poor history of upgrade provision and support were cautionary.

 

In 1999, in consultation with our technical staff worldwide, we came to a decision to focus our studies on Zope. 

 

We were in the process of recruiting the New Media team at this point, and it was in fact through a Zope mailing list that we found our Systems Administrator, Bruno Mattarollo.

 

Zope was the lead but not final candidate. As the Planet project started to develop, instead of a simple CMS we found out that we needed more requirements than Zope could offer.   Crucially, the ability to support Hebrew, Chinese, and Arabic alphabets was a mission critical spec.

 

For this reason, we settled finally on ACS (now OpenACS).  It provided the following advantages over all other packages considered:

 

·        Full multilingual and alphabet support to meet our mission of delivering a product which was PLANETARY in its ability to address the needs of our offices

·        Modular design, so that all offices could contribute functionality, Lego-like, to the final product to create an ever-building product.

·        Existence of much of the functionality we sought in already-written modules

·        Templating support for alternate front ends

·        OpenSource architecture to ensure product development is not vulnerable to the fate of a commercial enterprise.

·        Lower cost

 

Why OpenACS?

Bruno Mattarollo is the technical lead for this project.

 

It all started back in 1999, before I even was hired by Greenpeace. Reading the most interesting book regarding online publishing (http://www.arsdigita.com/books/panda/) was what started my interest in ArsDigita (aD), the company founded by Philip Greenspun, the author of that book, and in ACS, ArsDigita Community System, the toolkit developed by aD. This toolkit is Free Software and is based on one of the best Relation Database Management System (RDBMS) that you can find around, Oracle 8i. It has proven to be a very scalable and successful toolkit to build traditional database-backed web sites (aD’s website is build on their own tool, Photo.net is also based on the same toolkit), e-learning communities (Sloan School of Management from MIT), knowledge management system (Siemens ShareNet), e-commerce (Away.com), etc… The toolkit is a framework that you can use to build your own web enabled application. It’s build using three technologies in two tiers. First, the use of AOLServer, the web server that AOL uses (tested in the most demanding production environment in the world, as it is that AOL server sites are the most busy that you will ever find) and that is Open Source, the second technology used is TCL, a programming language that is embedded in the web server and thus provides extremely high performance, and finally, as mentioned before, the use of Oracle 8i. This architecture is optimal for web services where performance and scalability are of extremely high importance.

 

The original requirements for the Greenpeace Planet were mainly focused on community and content sharing. Since the cost for the system (except the database) was 0 (Free Software), it was an easy way to start testing the core functionalities. This is an excellent framework with most of the functionality that was needed, i.e. collaboration, workflow, content publication, user management, templating and the possibility to modify the whole thing if we want to. It proved to be a flexible solution, well engineered, efficient and would allow our editorial teams to re-use content without major problems.

 

Obviously, as well as with any other CMS, a large customization has to be done and this is what we commissioned to various companies. We got the most effective results from companies that were well known entities in the OpenACS community.

 

We migrated to OpenACS due to the fact that ArsDigita was sold to RedHat in January 2002. This migration was not problematic and was done in less than 2 hours. We can now have all the support from the OpenACS community, which is actively working on new releases of this software, mainly based on code from ACS version 4.2 with heavy modifications to enhance even more the performance and the scalability of it and solving, by the way, some bugs found in the original software.

 

Bruno Mattarollo

 

Why Open Source/Free Software?

 

“Free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech”, not as in “free beer”.

 

Free software is a matter of the users' freedom to run, copy, distribute, study, change and improve the software. More precisely, it refers to four kinds of freedom, for the users of the software:

 

  • The freedom to run the program, for any purpose (freedom 0).
  • The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.

 

A program is free software if users have all of these freedoms. Thus, you should be free to redistribute copies, either with or without modifications, either gratis or charging a fee for distribution, to anyone anywhere. Being free to do these things means (among other things) that you do not have to ask or pay for permission.

 

You should also have the freedom to make modifications and use them privately in your own work or play, without even mentioning that they exist. If you do publish your changes, you should not be required to notify anyone in particular, or in any particular way.

 

The freedom to use a program means the freedom for any kind of person or organization to use it on any kind of computer system, for any kind of overall job, and without being required to communicate subsequently with the developer or any other specific entity.

 

You can find more information about Open Source / Free Software at the following locations:

 

The philosophy behind Free Software (more information that you could imagine): http://www.gnu.org/philosophy/philosophy.html

 

Very interesting study about the widespread adoption of Open Source software and the comparison with many studies made by commercial companies selling closed-source software: http://www.dwheeler.com/oss_fs_why.html

 

Bruno Mattarollo