The Whos, the Whats and the Whys

I’m part of a non-profit art organization in my community.  We’re a low budget volunteer based community theater group that puts on 4-6 performances a year.

I work for a top 5 web hosting company as an accountant by training.  I’m very technical which makes me quite a good fit there.  I’ve taught myself PHP and web development and have completed a few minor work projects and personal projects .  I’ve never to this point been a part of a larger open source project but look forward to it.

Our arts council has been working on finding a good online solution for selling tickets for performances.  I volunteered to take on the search.  There are plenty of commercial offerings which in a county of only 10,000 people were well out of our budget.  So I had to forget the commercial offerings and look for any open source projects that may exist.

Based on my searches I found an older now defunct project, and a more updated project that I gladly donated to receive the latest version of.  I’ve since set it up, tested it and dug in to the source code.  It is set up and will be working for our summer family musical and that has me very excited.  One of my immediate goals when I decided that we had to look towards open source was that I wanted to join the project and become a regular contributor to the code.

So with that in mind why am I starting my own project instead of building on what is existing?  First off I’m not naming the other project because I harbor no negative feelings towards them.  Part of it is just the timing.  Based on what I know they’ve had some bad luck with a hacker type which unfortunately has shifted their focus to rebuilding and securing their site.  So currently they don’t have a development tree available anywhere or a current build or anything posted (I did ask).  Their most recent release is over a year old (which again I’m grateful for because our local arts council will be using it this summer.)

I had some requirements of the ticketing program and I was able to make a couple of changes to make things work.  However this showed me the importance of logical flowing code which is easy to follow.  Unfortunately that other project was built upon the older one so there is a lot of old code in there that isn’t well organized.  I actually needed a debugger running it line by line to help me find where to change the code.

So I simply felt that the other project really needs their core rewritten and if I’m going to do that I’d personally rather just start something from scratch.  Now once again I’m really not trying to show any negative feelings towards another project, but I feel it is important to tell where this project started from and why I will be a stickler on a few things.