Going Open Source

The first time I wrote a full website, I made a lot of mistakes. A LOT.

Although not completely obvious from looking at it on the outside, H2H Security Group is built on a pretty shoddy content management system (CMS). There are bugs, there are incomplete sections of the site, and there is little administration that doesn’t require direct database access. I’ve stopped development on the current CMS and decided to go for a complete overhaul. That’s right: I’m completely re-building the system, H2H CMS, from the ground up.

Normally, this would be a preposterous idea, and perhaps it’s not the most efficient route for me to take, but I won’t be walking away from the CMS empty handed. It was an amazing experience working on it. Despite it being terribly designed, I’ve grown a lot as a programmer since I first started. I’ve learned about things like classes, hierarchies, debugging tools, exceptions, mysqli, more advanced MySQL statements, and caching. I’ve learned about the differences between versions of software such as PHP, which had monumental changes from PHP4 to PHP5. Most importantly, I learned proper software development in a university course. Looking back, every mistake I made during the design of the old CMS I have learned from, and I’m willing to make a mistake if it means that I learn from it.

Another big change I’m making is that I am going Open Source: letting anyone take a look at the source code. I’m sticking with a Creative Commons license, which allows anyone to take the code, modify it, and redistribute it for free, providing they give me credit for the original work. I think it’s the right choice to make, sticking with the hacker mentality and whatnot. With a goal of distributing knowledge and information to the masses, I think the open source route is a logical step to achieving that.

I started off the development of the new CMS quite differently than before; rather than jumping straight into the coding, I started off old-school: with a pen and paper. Design before development helped ensure everything stayed organized this time. Developing class-by-class, piece by piece allowed for logical places to start and stop work.

The part about this CMS that I am most proud of, however, is that security is added and implemented standard – not as an afterthought. Being interested in security, this seemed like a no-brainer, but it seemed to be either non-existant, poorly implemented, or at the expense of efficiency in other systems available. By considering both security and efficiency at the same time, I hope to develop a system that maintains both equally.

I always like to see people become involved in my projects. If someone is interested in helping with the development, let me know, and maybe something can be arranged.

Ohloh Page: http://ohloh.net/p/h2h-cms/

Project Trac Page: http://dj-bri-t.servehttp.com/projects/cms/

4 thoughts on “Going Open Source”

  1. Hey Dj,

    Don’t forget that the current CMS is a huge achievement in its own right. I can understand you wanting to rebuild now that you’ve matured as a programmer, and that there are areas which could be improved upon, but it’s still an impressive piece of software.

    Are you able to use the project for any sort of course credit? I’m sorry I don’t have more time away from making games to help you, but there seem like a lot of keen web developers on H2H so I hope they will take the opportunity to be part of this.

    Just a question though – why a Creative Commons license rather than say… a BSD or MIT license? It seems kind of unusual for software, even if it does set out the necessary rights.

    Anyway good luck with development, it will be great to see how the project progresses.

    1. Unfortunately, none of the development work I am doing applies for course credit. Perhaps in the future I might be able to convince a professor to let me use it as a credit. It has made a few assignment much easier however (and dare I say fun?).

      I chose the CC license because it did encompass the gist of what I wanted people to do with it: although it’s my code and I own it, I want people to be able to edit, customize, and reroll it as they see fit, providing it remains open source, free, and I am credited for my work. I must admit I didn’t do a lot of reading up on different licenses prior to assigning one to it, but I’m sure I could be convinced otherwise if you were to try 🙂

  2. I am sure there also wouldn’t be anything wrong with having multiple licenses (or can you not do that?) 😛

  3. Hehe I don’t really know if you need to change, I just thought it was an unusual choice for software.

    You can’t revoke open licenses, but I’m pretty sure you could apply another license, or share future versions under a different compatible license.

Leave a Reply