Project of the Month, May 2011

OpenPetra

OpenPetra is a free and easy-to-use administration software package for non-profit organizations.

Specifically designed to meet the administrative requirements of an international mission agency or other non-profit organisation, OpenPetra runs standalone or as a multi-user system in an office network or on the Internet.

OpenPetra has six integrated modules:

* Partner Module: A contact management tool which is used to record contact information, set up subscriptions, enable bulk mailings among other functions.

* Finance Module: This provides a general ledger, processing of donations, accounts payable, double-entry book keeping and budgeting. All currencies are supported.

* Personnel Module: This is used to manage personnel information for short-term workers and long-term staff and handle data from applicants.

* Conference Management: This module is used for arrival and departure arrangements, accommodation allocation, to track attendance and group assignments, among other functions.

* Financial Development: This is used to manage project funding.

* System Manager: This enables the system administrator to manage users accounts.

OpenPetra is a unique administration package that integrates all these modules into one application. Contact management packages and accounting packages exist, but a charity requires an integrated solution that is also able to handle donations integrated with bookkeeping.

Why and how did you get started?

OpenPetra is based on the PETRA software, which was written in the nineties by OM (http://www.om.org), an international, Christian mission agency. For 14 years PETRA has been used for administration in more than 80 offices of OM worldwide, which needed to be replaced with up-to-date technology without vendor lock-in.

From 2004 to 2009, we developed code in .Net, but realised that we were not able to complete the project on our own. So we decided to change to an Open Source development process, which motivated the existing developers and increases the potential for the software. We believe that many organisations, small and large, can benefit from such a software, which has proven so useful for OM.

OpenPetra was published under the GPLv3 in June 2009.
We still use all the experience and most of the proven database model of PETRA, but now with standard tools and Open Source databases for development and implementation.

Who is the software’s intended audience?

International mission organisations and non-profit organisations. It is suited for small organizations, which have no office or a single office, and for organizations which have several offices in one country and also for larger, organisations that have offices around the world.

Since the software can be localised and translated as needed, it is intended for organisations in many countries.

What are a couple of notable examples of how people are using your software?

OpenPetra is in Alpha Version, hence not many people are prepared to use it yet, although we encourage them to check it out, so that we can get early feedback.

Currently one small organisation in the UK is using it for recording contacts and a small organisation in Germany, which uses it for writing receipts for the donors. Another small organisation in Germany is currently in the process of migrating their data to OpenPetra.

What are the system requirements for your software, and what do people need to know about getting it set up and running?

The download ‘OpenPetraSetup’ requires a computer running Windows XP or later and features an installer that sets up a ‘standalone installation’, in which no dedicated server computer is needed. This is a straightforward process which requires no special technical skills. The hardware requirements are easily met by an older PC. About 24 MB of disk space is required for version 0.2.8. A Tutorial is available that shows and explains some of the areas of the software, which are already working.

In a typical office scenario, the server end of OpenPetra would run on a dedicated server running Linux or Windows operating systems. A downloadable archive (‘openpetraorg-mono’) is provided for Linux. The hardware requirements on the server side depend mostly on how many users are working concurrently on the system, which is usually met by an older, single-CPU server, if the OpenPetra server is running on a Linux operating system. OpenPetra needs a Relational Database Management System to be installed on the server. Currently supported are PostgreSQL, MySQL and SQLite.

What gave you an indication that your project was becoming successful?

* Encouragement from a number of people external to OM, including people from the Open Source community

* OpenPetra being well received at several conferences

* More developers joining the project

* A University from the U.S. that brought seven students to the UK to work on OpenPetra for two weeks during their inter-term break

* Increasing number of enquiries from various organsiations in several countries

What has been your biggest surprise?

To see how quickly some students were able to add new screens to the project. We have used code generation and other means for rapid application development, and it was good to see that it paid off. One guest student helped us for 2 weeks on the project and was able to add 20 screens.

What has been your biggest challenge?

Attracting and growing a developer base is not easy without a usable product. Therefore our main focus was to get the software to a stage where it could be used by small charities..

Why do you think your project has been so well received?

We believe it provides something that was missing so far: an integrated administration software solution for non-profit organisations of various sizes ,which covers many aspects of a non-profit organisation’s important administrative needs, offered without a license fee and Open Source. Possibly, also, that it is a re-write of a successful software package that is used daily by hundreds of users in a truly global setting.

What advice would you give to a project that’s just starting out?

Build a good infrastructure for the developers and potential users. Examples: Forums, Wiki, IRC Channel, Blogs, mailing lists and email notifications, website based on WordPress pages and articles.

Try to avoid choosing ‘exotic’ development tools that might appear ‘cool’ and handy , but are hardly used by other Open Source projects, esp. in important areas, such as source code versioning and Integrated Development Environment.

But it isn’t all about the technical side! Good communications and well written information (preferably laid out in a user-friendly way) definitely helps. This type of information needs to quickly provide what people initially are looking for, for both developers and users.

Also, be very aware of the whole social aspect of an Open Source community, which is largely made up of individuals, who offer their help and expertise free just because they like to and perhaps because, in the end they get software that works and fulfills their requirements.

Where do you see your project going?

We need to replace the PETRA software used by OM and so there is a definite drive to succeed by completing OpenPetra.
The re-write is a major task that will still take quite some time. We plan on creating a first official release that will have an important subset of the features of PETRA. We plan that first release (1.0) to be available soon. We will choose the subset so that smaller to medium sized offices of non-profit organsiations will have a working system at that stage.

What’s on your project wish list?

* More full-time developers and volunteers

* More funding for the development

* An Open Source project community manager (see http://www.om.org/en/job/s2522)

* A good online project management system which works very well for a sizable codebase, a distributed software engineering team and for occasional source code contributors.

What are you most proud of?

Generally:

Being able to create a free and easy-to-use administration software package, which is Open Source, for non-profit organisations.

Technically:

* Multi-user, multi-site, multi-currency and multi-language enabled software

* Multi-platform (Windows, Linux)

* Supporting several popular database systems on multiple platforms, giving IT admins a choice

* Screen scaffolding (declarative GUI creation)

* Extensive use of code generation

If you could change something about the project, what would it be?

We would have a wider (volunteer) developer base and would prefer the involvement of at least one other larger organisation in the development of OpenPetra.

How do you coordinate the project?

* We have a weekly phone conference involving all developers and other regular project contributors. Between those conferences, IRC Chat is heavily used, and phone calls between individual as needed.

* All development tasks are managed using our issue tracker (http://sourceforge.net/apps/mantisbt/openpetraorg).

* We use Bazaar as our distributed code repository system. We have a main code line and have branches for every bug fix and feature. This helps integrate different code contributions from various people.

* We use Unit Tests.

How many hours a month do you and/or your team devote to the project?

Currently, we have three full-time software developers, three part-time software developers and a few software developers who contribute occasionally. A few volunteers are translating OpenPetra into various languages. Two Computer Science students from a U.S. university are contributing a total of 15 hours a week to a specific sub-project of OpenPetra in the 2011 Spring Term, under the tutelage of their professor.

What is your development environment like?

* We currently develop OpenPetra on Windows operating systems only – development setups on other operating systems are possible as well!

* Linux servers and Windows Terminal servers are used for various tasks in the project lifecycle.

* For developing and debugging the software we use the SharpDevelop IDE (http://www.icsharpcode.net/opensource/sd/).

* For compilation we use Microsoft’s C# compiler, csc.exe.

* Compiled .NET assemblies are executed on the Linux platform using Mono (http://www.mono-project.com).

* We use NUnit (http://www.nunit.org/) for Unit Tests.

* Inno Setup (http://www.jrsoftware.org/isinfo.php) is used for the Windows Installer.

* Our projects are built with NAnt (http://nant.sourceforge.net/).

* We use a Continuous Integration Server, Hudson (http://hudson-ci.org/) running on Debian. We haven’t had time to migrate to Jenkins yet.

Milestones:

Date Version / Milestone
June 19th, 2010 0.1.0 Alpha Release/td>
September 9th, 2010 0.2.0 Alpha Release
September 28th, 2010 0.2.3 Alpha Release
December 9th, 2010 0.2.6 Alpha Release
February 18th, 2011/td>

0.2.8 Alpha Release

We plan to release 1.0 by year end of 2011

How can others contribute?

* We have ‘Community’ and ‘Developers’ sections on our web page, which contain information about how to get involved in the OpenPetra community and how to start with helping in the development of OpenPetra.

* A list of projects to work on is available at: http://apps.sourceforge.net/mediawiki/openpetraorg/index.php?lang=en&title=Documentation_for_Developers#Projects

* Our Forums (http://sourceforge.net/apps/phpbb/openpetraorg/index.php) are a good place for submitting feature requests, suggestions, questions and bug reports.

* Our IRC Channel (irc://irc.freenode.net/OpenPetra) is somewhat more technical, but suitable for developers and users alike. Both English and German are used.

* Non-technical people can help us in translating OpenPetra into various languages (see http://sourceforge.net/apps/mediawiki/openpetraorg/index.php?title=Documentation_for_Translators) and by answering questions in the Forums.

If you think some functionality is not covered in OpenPetra and believe it should be, do not hesitate to get in touch with us. The fact that something isn’t yet available in OpenPetra doesn’t mean that we are not planning on including it, as we are re-writing a huge amount of functionality in a gradual process. If we are not planning on it, but think it would fit into OpenPetra, you are very welcome to discuss it with us to see how it could be done.

If you are a software developer and think you can implement that feature, then we would most likely like to have your contribution. Sponsoring some functionality of OpenPetra would be another possibility.


More projects of the month

Project name: OpenPetra

Date founded: 2004

Project page: http://sourceforge.net/projects/openpetraorg/

Project Leader

Timotheus Pokorra

Occupation: Project Leader, German Development Team Lead, Software Engineer

Location: Mosbach, Germany

Education: Diplom Informatiker (FH) (Computer Science study)

Key Developers


Wolfgang Browa

Occupation: OM Team and Project Lead, Software Engineer

Education:Dipl.Inf. (FH) (Computer Science study), about to complete an MSc in IT & Management.

Location: Carlisle, U.K.


Christian Kendel

Occupation:Software Engineer & Architect

Education:Self-taught IT & software engineering skills

Location: Carlisle, U.K.


Wolfgang Uhr

Occupation:Software Engineer

Education:Ph.D. in Physics

Location:Schˆmberg, Germany


Matthias Grutzeck

Occupation:Software Engineer

Education:Diplom-Informatiker (~ Master Of Computer Science)

Location: Gieflen, Germany


Matthias Hobohm

Occupation:Software Engineer
Education:Diplom-Informatiker (~ Master Of Computer Science)

Location: Buckenhof, Germany


Why did you place the project on SourceForge.net?

We looked at the infrastructure tools on our wish list, and realised it was easier to use the hosted applications from SourceForge rather than to host them ourselves.

How has SourceForge.net helped your project succeed?

Using the hosted applications has helped us keep the costs down and saved us a lot of work of configuring and maintaining servers.

The number one benefit of using SourceForge.net is:

Hosted applications for Wiki, phpBB, and WordPress.