A Case Study about Open Source Internet Software in the eThekwini Municipality and a discussion of the relevance of open source software in libraries Angela Spencer Angela Spencer E-Communications Manager, Communications Department, eThekwini Municipality, Durban email@example.com Abstract This paper describes the use of open source software applications on the web sites of the large eThekwini municipality in Durban, South Africa. The implementation of open source was both a response to the 2003 South African Government approval of open source solutions in government departments and because open source was the most suitable option. The use of Zope and Plone and some of the challenges of the implementation are discussed and an assessment of the resulting product is given. Introduction First we had Web 2.0 – a second wave of highly usable, collaborative sites, then came Library 2.0 – which revolves around ‘user-centered change’ (Casey and Savastinuk 2006). As the web industry matures users have higher expectations of any online offering. For librarians this results in increased demand around digital media. Can it be met? One librarian commented: “Traditional library websites drain the life-force from patrons. Our OPACs finish the job” (Blyberg 2006). One temptation is to save money by using open source (OS) software. But what is involved here and what should you plan for? This paper outlines the use of Open Source Software for a municipal site which has been in operation since 2003. It outlines aspects of the project and the pitfalls and advantages that have emerged. Spencer : A Case Study about Open Source Internet Software … 49 Context and History of the Project EThekwini Web Sites Part of the context of this project is that in 2003 the South African cabinet approved an Open Source strategy that encouraged government departments to implement open source solutions. The eThekwini Municipality is one of the first South African government institutions to deploy Open Source web sites. However our decision to go open source was not solely due to this directive, it just happened that the proposal we liked best had an open source solution. Before 2003 the municipality had two internet sites – one for tourists and one to report on the work of municipal departments. There was also a collection of departmental intranet sites established and maintained by departments. Proprietary technologies had been used to create these sites, specifically MS Frontpage and .asp coding. A need was identified to amalgamate the internal and external sites into a single portal in both cases. This was because it is difficult to manage and search sites sitting on different servers. It was also necessary to completely re-design the internet and intranet sites, providing a new information architecture (the way the information was labeled and structured on the site), and a new graphic design. The sites were large and likely to grow further and the system chosen had to facilitate that growth. In November 2003 a consortium led by CS Holdings (now Bytes Technologies) was awarded a contract to re-build the sites using the Zope application server and the Plone Content Management System, both open source applications. Plone is a powerful content management system (CMS). Zope is an open source application server for building content management systems, intranets, portals, and custom applications. Content management systems are software used to manage the content of web sites. First Re-Design Work began on the project in January 2004. The internet site had approximately 3000 pages and a number of applications linking to it. The first phase of the project involved moving all content and applications across to the new site. The 50 Innovation, No.36, June 2008 re-designed site went live in mid 2004 and after that work began on the new intranet. The eThekwini municipality employs 18 000 staff in approximately 40 departments across our geographic region. These departments include: water and sanitation, electricity, housing, health, libraries, cemeteries and parks. There are approximately 6 000 staff members using computers - the target audience for our intranet, an internal site used to disseminate information to staff. The new intranet was rolled out in May 2005. Second Re-Design In mid-2007 a new version of the internet site was introduced. The reason for the re-design was that the look and feel of a site has to be periodically updated to make it fresh to users. Furthermore, other requirements had arisen like the need to offer more interactive features to users, and the need to re-work the information architecture, which did not meet the organization’s needs. The plone software was upgraded to Plone 2.5 and various new features were planned – blogging functionality, web polls and discussion fora for example. Not all the new features were introduced at once, their introduction was staggered through the rest of 2007, and will continue into 2008. After the new intranet was introduced research was conducted into staff response to the site. Staff found the site an improvement on what had been before, but reported problems with the navigation and information architecture. A re-design of this site, including a far more detailed IA exercise, improved graphic design and new functionality, is about to begin at time of writing (February 2008). This re-design will also incorporate new features like staff being required to periodically update their details so as to create a usable directory of the most skilled staff in the organization. Another feature to be added will be wikis – areas where staff can add and edit content themselves. Assessment of Zope and Plone Introduction Zope and Plone are available freely on the internet at www.zope.org and www.plone.org respectively. There is no initial outlay but costs will be incurred when customizing the application. As there are no licensing fees involved an Spencer : A Case Study about Open Source Internet Software … 51 organization can have an infinite number of staff using it without incurring further cost. Zope is the underlying application running the web site server. Zope is used widely as a server application and not only by Plone sites. Viacom is one large company that uses Zope. According to the Plone website the benefits of Plone include: • • • • • • It is a powerful and flexible content management system It is easy to download and install Plone is international and has more than 50 language translations as well as tools for managing multilingual content It is supported by a large development community A non-profit organization called the Plone Foundation owns the copyright to the source code. This organization ensures neutral and clear ownership of code and domain names. Plone is used by many international organizations, including NASA, Computer Associates and, in the NGO sector, Oxfam. This broad user base sustains demand for the software and means that a skills base to maintain it is assured Plone follows standards for usability and accessibility. It meets US Section 508 and the W3C’s AA rating for accessibility, as well as using bestpractice web standards like XHTML and CSS. These functions are extremely useful in ensuring that your site can be easily accessed by a wide variety of people. Plone is technology neutral in that it can interoperate with most relational database systems and runs on many platforms, including Linux, Windows, Mac OS X, Solaris and BSD (6). It’s recommended platform is Linux. • • Any extra features developed on the eThekwini sites can be fed back to the Plone community and used elsewhere. The municipality can also take advantage of Plone improvements – if another version of Plone is released we can update the site. Since the municipality has two sites the functionality developed on the first was subsequently deployed onto the second and vice versa. Furthermore, Plone has a package of modules that can be downloaded and added to the system. Plone allows site managers to control the look and feel of the site and have a high level of security. It allows for a workflow around articles that is very useful in a publishing environment – one person can create the article, the 52 Innovation, No.36, June 2008 second person can proof-read it and the third do a final proof-read and publish – this workflow makes it easy to produce high quality content. The previous authoring system we were using was a powerful and complex program, difficult for non-technical staff to learn but easy for technically sophisticated staff to use to create their own look and feel on their sub-sites, thus disrupting the corporate image. Plone is simple and easy to learn and allows the site administrator to have more control over the rights of an individual user. The content management system assigns keywords to every item on the site, be it an article, file, image or other form of content. These are aggregated into a useful search engine. A powerful search function is important on large sites due to the vastness of the content, making it difficult to find content. We have also been able to tweak the search function by adding a ‘Search Override Keywords’ field. Any keywords entered in this field will cause that item to appear first in a search results. Thus if a user entered ‘policy’ as a search term we can choose a page about policy that will appear before any other in the list of search results. Challenges Displaying legacy .asp applications within the site was the first challenge encountered. Applications are small programs developed (generally) to query a database and return a reply. For example we have an application where someone can type in their account number and find out what their account balance is. On the old system all these applications had been written in .asp. Ideally, the applications had to be re-written in an open source language (python) in order to display seamlessly on the site. Obviously this would require a huge amount of work, so this was not our first choice. A range of solutions was sought to this problem. Firstly an audit was conducted of the existing applications. Applications that were no longer high priority were moved across at a later stage. Large applications written in .asp were not rewritten but were simply displayed in a different frame. A decision was then taken to write all new applications for the site in Python. Another challenge was that Plone does not have some of the powerful functions of other html authoring systems like image maps and hotspots, which have to be developed from scratch. Some of the content manager roles also had to be modified to achieve more advanced functionality. We assumed that the software would contain the same level of functionality as proprietary solutions, but this Spencer : A Case Study about Open Source Internet Software … 53 was not the case. Furthermore whenever Plone is upgraded to a newer version problems occur because some functionality falls away or changes, some of the site’s existing settings are lost and have to be reinstalled and the applications that run in conjunction with the site may also be affected. Documentation also presented a problem. The municipality now has adequate documentation, after writing some ourselves and receiving some from our developers. It should be noted that all custom-made systems will require specialised documentation so this problem would occur with proprietary systems as well. The difference is that there was a wide range of excellent guides to Frontpage available, but not so much on Plone. The final challenge to be noted is lock-in. Five years down the line our sites now have about 10 000 pages each, as opposed to around 4000 initially. If we were to move to another system all these items – (comprising articles, files, folders, press releases, images, flash movies, groupspaces, calendars, tables of contents and so forth) would have to be individually moved, with all their associated metadata (title, description, keywords) seamlessly into a new site. This is an unattractive prospect for any web manager. Who wants to spend time on that when you could be adding more functionality to your site? Your site will only be treading water, not progressing. Assessment Open Source is attractive for many reasons – it results in a wider range of software options available to us, it can contribute to the economy in that intellectual property and skills are built locally, and in some cases, it is of much better quality. Going Open Source is not necessarily cheaper than using proprietary software, the costs just come in at a different phase of the project. With proprietary you pay at the beginning of the project, and then possibly every year you pay for licenses. Open source is free, but a good deal of programming is required to tailor the software to your environment. We initially saved money because we did not have to use expensive proprietary licenses on our servers and our software is free and can be used by an unlimited number of people. Whether we are still saving money with all the customization that the software requires is a moot point. However proprietary software can also require extensive customization. 54 Innovation, No.36, June 2008 A huge problem for us was accessing people with the skills to develop and problem-solve on the site. Do not embark upon an open source project if you do not have a reliable local resource to maintain and develop your site, or if you cannot afford to import those skills from other cities. The company you use needs to have programmers of different skill levels – beginners, intermediate and advanced. A group of middle-level programmers may not be able to crack tricky problems and your site could languish as a result. Ensure too, that your provider has an efficient system for managing and tracking work on bugs and new tasks, or you will waste a lot of time. The model of using more than one service provider is something to consider as being reliant on a single company may put you in a risky position. This can be difficult to coordinate however as a second company may need a lot of orientation before they are sufficiently au fait with your site. It is hard to say whether our experience with OS was an unqualified success or an unqualified failure. ‘Neither’ would be my initial response - or at least, nothing so dramatic. A programmer might be able to say whether the software is easy to work with. Having watched software development in proprietary and OS it seems that Plone is a little more difficult, but that is an outsider’s perspective. It is also hard to compare the two because when we used proprietary technologies we did not have full-scale content management system so the site was not of the same size and complexity. There are factors which impact on successful software development that aren’t related to the software - like careful business analysis of the problem at hand, combined with clear mapping of the projected solution, as well as competent project management of the work required. To the outsider it can be unclear if the software, or these factors, is the issue. In the final analysis the fact that two large sites function every day using the product is important (at the moment we have approximately 4500 unique users per month on the intranet, and sometimes up to 9000 unique users per day on the internet). To me the software seems solid, but tricky to adapt or modify. The only failsafe way to compare this product with a proprietary one is to jettison it and adopt the latter, or use proprietary for one site and OS for another. Using both technologies on sites of similar scale would provide an interesting comparison, but would be a costly exercise, one we would only embark upon if there are significant benefits – so for now the idea is academic. Spencer : A Case Study about Open Source Internet Software … 55 Conclusion Eric Raymond (2005) in his lively piece The cathedral and the bazaar makes a good argument for the lawless world of open source. Problems are viewed and fixed by everyone, which means that the solutions are more robust after withstanding scrutiny. He paints a picture of an exciting environment which produces an excellent product. This can be true, but there are far more aspects to the open source/proprietary debate. References Blyberg, J. 2006. Library 2.0 websites: where to begin? http://www.blyberg.net/2006/03/12/library-20-websites-where-to-begin/ Accessed: 4/5/2008. Casey, M. and Savastinuk, L. 2006 Library 2.0 service for the next-generation library. Library journal 9 January. http://www.libraryjournal.com/article/CA6365200.html Accessed: 4/5/2008. Engelbrecht, L. 2007. Armscor eyes open source. http://220.127.116.11/sections/business/2007/0711281038.asp?S=IT%20in%20 Defence&A=DFN&O=FRGN Accessed: 4/5/2008. Plone Foundation. 2006. Plone website. http://plone.org Accessed: 4/5/2008. Raymond, E. 2005. The cathedral and the bazaar. http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ Accessed: 4/5/2008. Wikipedia. 2008. Web 2.0. http://en.wikipedia.org/wiki/Web_2 Accessed: 4/5/2008.