This week we’re introducing a new series, called From the Source. In each article we’ll interview an open source developer from the web or mobile development community about the projects they’re working on and what inspired them to work on open source.
Tell us a bit about yourself. Who are you and what do you do?
Well, I reside in Pittsburgh, Pennsylvania and am happily married to my beautiful wife of 6 years, Krista. Together, we are bossed around everyday by our 3 toddlers and two mutts. I am a rabidly-obsessed Pittsburgh sports fan and work at 3PC Media as their Senior Web Developer.
For the first 6 years after college I worked for Mellon Financial in the IT field. I started out working at the IT helpdesk, then slowly moved up the middle management ranks. Even though I was happy with what I was doing, information technology was not my passion and I always had the desire to work in the web design/development field instead.
Rewinding the timeline a few years: I’ve been working on the web since I created a Pittsburgh Penguins fan site in the 6th grade. After graduating college I decided to try and earn some extra cash with web design so I started my own web design business. After 5 semi-successful years of freelancing bliss, I decided to make the jump from IT at Mellon Financial to a full-time web developer job at 3PC Media.
What open source projects do you work on?
The two I’ve worked with most are WordPress and of course GetSimple. With WP, I developed some plugins and themes, and got pretty comfortable with the project. However, the development community surrounding it was pretty large, so I kind of felt lost in the massive crowd. I also tried to lend a hand to a couple of open source invoicing systems, but their communities seemed have little or no activity, so my suggestions fell on deaf ears.
GetSimple is obviously my open source baby. My free time is pretty evenly split between developing the GS core and managing the growing (and demanding) community that has sprouted up around it. Luckily, I have a wonderful set of volunteers that have helped me a lot with both sides of the work load.
What inspired you to work on GetSimple CMS?
I started out working with WordPress almost exclusively in the beginning stages of owning my own web design company. The interface looked great, the system just made sense to me, and I loved how there was a huge development community surrounding it (for when I was looking for answers to my problems). Unfortunately, most of my clients were small businesses that didn’t use 90% of the feature set that came with it.
I started searching around and found that there really weren’t any content management systems out there that would allow for simple page editing AND also looked great. What self-respecting designer wants to hand off an ugly backend to a client? Not me.
I knew I could do better than any of the other solutions out there that catered to only small business websites. At that point, I knew I had found my calling and GetSimple CMS was born.
What plans do you have for GetSimple?
Over my 2 years of developing GetSimple, I’ve discovered that you get out of the community what you are willing to put into it. I know it’s a cliché, but it’s true. So because of this, I’ve been spending a lot of time trying to add features to the website in order to allow for more community involvement. This includes adding onto Extend (the plugin/theme repository), starting a wiki that everyone can edit and contributing a lot on the forums. Communities drive open source projects, so I am making conscious efforts engage the community every time I see a chance.
Product-wise, Version 3.1 of GetSimple will be our first major attempt at refining the backend administration UX. By taking manual features and changing them to be either automated or ajax-powered, we are making the software much easier to use. GetSimple needs to keep up its clean and simple interface in order to distance ourselves from most other competing CMS systems. (Yes, I know I am acting like it’s a business even though it is not)
If you started a new open source project today, what would it be?
Ha, I don’t think I have time for another open source project. I am always coming across an idea or script and find myself thinking “I could do this better.” However, in the end, I know I wouldn’t have the necessary time needed to devote to it. Taking the lead on an open source project is a labor of love and a time-consuming one at that.
What attributes make for a great open source project?
It services a need. This one is obvious, but when I was spending all my time trying to remove features from WordPress, I knew there had to be a better way.
An active community. Sometimes this part takes up just as much time as the code development itself, but it’s necessary to foster a healthy project. If you don’t yet have a community, add a forum, give it attention, and they will come.
Do you have any advice for aspiring open source programmers?
Create a Mission Statement. I can’t tell you how important this one is. You need to create a project that fills a niche, and does it at the best of it’s abilities. Attempting to compete with behemoths such as Joomla or WordPress would have been project suicide in my scenario. I clearly stated my niche-centric objectives in my mission statement, and regularly direct people to it when they ask for features simply because “WordPress has it”.
Pay attention to your community. An active community is just as important as your actual code. (Not to mention that it will inevitably lead to better code anyway: see the next bullet point)
Realize that there are better ideas out there than your own. This may be hard to believe at first, but there are people out there with ideas that are better than yours. The tricky part is filtering out the hundreds of ideas that are worse. If and when you find a better idea, act on it and give credit where credit is due. Your developers will inevitably disappear when all suggestions are ignored except your own.
Do it. Don’t let thoughts of failure or success get the best of you. You have nothing to loose and in the end you will be a better programmer for it. Even if GetSimple had failed, the amount of knowledge that I learned while developing it has been an invaluable tool.