• Home
  • Resumé
  • About Me
Blue Orange Green Pink Purple

Use Open Source or Build Your Own

Posted in Technology. on Saturday, May 2nd, 2009 by m4cc4s Tags: build your own, byo, development, open source, programming, website
May 02

As I have now been working in IT for the past year as a Software Engineer (specialising in Web Application Development), and been actively building web application for the past eight years, I have begin to wonder if using an open source application and extending it is better or worse than building your own application from the ground up. I know that open source has most of the work done to begin with and I have meet people that will argue until they turn blue in the face that open source is the way to go. I’m a person that is not easily convinced and I find it better to learn how applications work by looking at them in the most basic of forms.It is without a doubt that I like to build everything from the ground up, it feels more rewarding and I find it easier to debug any problems that may occur. That said there are some things that I would use a pre-made open source application for, this blog is an example of that. I use Wordpress here because I think it is better than what I could develop in the amount of time it took me to setup my domain, hosting, download Wordpress, create the database and install. So I won’t be creating a new piece of blogging software anytime soon, not saying I never will but just not now.

There are some applications that I feel are either missing something or have become too big and try to do to much. One thing that I know I could build is a project management application. At work I use Trac. I have no problems using Trac but there are some improvements that could be made to make it better. Yes I have heard of Trac Hacks and I have gone though that list, but I’m talking about applications that use no plug-ins that have to be installed after the base installation of the application.
Trac seems to have missed the more advanced features that project management applications need. For example, somewhere where the project manager could look at the workload of all the people involved with the project, charts, and notifications of new tickets that have been created by someone else. Trac seems to be alright on a per project basis but once you have more projects it becomes hard to maintain the workload of individuals over a number of different projects. Really there is not much to add to Trac but would it be worth extending Trac or to use the feature list of Trac and build something new, even if it was only for internal use and was kept internal to the company.

Another application on the other end of the spectrum is OpenX. OpenX is a really nice Ad server, but after using it for the past 6 months via the API there are inconsistencies between the web interface of OpenX and the API interface of OpenX. This is one application I would like to build from the ground up. To me OpenX seems to big there are features that are there and are only sometimes used. It makes a good personal ad server, but once you want to make it a distributed ad server over many websites using invocation codes that relate to only that website and a pool of thousands of interactive HTML banners it starts to fall apart and the complexity of the application makes debugging what is going on very difficult.

Without starting from scratch when building a custom piece of software, there is another option that borrows from Open Source that may make it easier to do. This option would be to use the structure of the open source application and some of the more basic functionality. Most plug-ins are basically just that, they talk directly to the database of the application to do stuff without having to use an API or add via a user interface. This way it makes you have more control over what is happening and how you want it to happen. What makes an open source project expandable is the amount of help, support and documentation on how the functions work. It is no use providing an API and not giving users the arguments for the API functions.

So after all this the question still remains. As a developer is the best to use Open Source (as is), expand the Open Source application, build something new and borrow from the open source application or build something that is completely new?

2 Comments

  1. Olli on July 2nd, 2009

    The difference is time, money, fun and idealism.
    A project manager’s favorite saying is “copy or use something and change it a bit”. Further they are happy if all looks good from outside and they don’t care at all about code quality, security or maintenance in the future. And there is no difference between Germany or Australia and I believe in any country.
    In the worse case scenario you have to copy crap and you produce crap to fit it into crap. That is depending on the companies quality aspirations.

    However, after my opinion should every serious PHP programmer work with a MVC framework, a company should choice one or build there own. That is the start of re using high quality modern OOP code which you can give to customers with a good feeling. Further you have no issues with licensed software. GPL is like a virus and infected your software if you use some integrated GPL software.

    And who worked seriously with Joomla knows that it is just a pain in the arse not alone for developer as well later on for user. That is more something for guys who are interested in web and like to play around.

    I’m definitely on the side of the developers who develop and make it on my own. Start an application framework and do it yourself as individual or company. The results are better and you know it is quality code.

    Nothing is more frustrating then produce crap for crap.

    cheers

    olli

  2. Olli on July 2nd, 2009

    i forgot, it’s just 11 hours now to your birthday (after Adelaide time)…



Leave a Reply

m4cc4s Blog

  • Countdown
    • No dates present
  • Categories
    • Animals (2)
    • Entertainment (4)
    • Enviroment (2)
    • General (16)
    • Going Places (4)
    • Movies (1)
    • Music (13)
    • Projects (5)
    • Song of the Moment (8)
    • Technology (13)
    • Travel (1)
  • Recent Articles
    • Use Open Source or Build Your Own
    • First Year Working in IT
    • 2008! The Year That Was
    • Building a Theme for Trac
    • The Computer: Part 5
    • The Computer: Part 4
  • Archives
    • May 2009
    • March 2009
    • January 2009
    • November 2008
    • October 2008
    • September 2008
    • July 2008
    • June 2008
    • May 2008
    • February 2008
    • January 2008
    • December 2007
    • September 2007
    • August 2007
    • July 2007
    • June 2007
    • May 2007
    • April 2007
  • Search






  • Home
  • Resumé
  • About Me

© Copyright m4cc4s Blog. All rights reserved.
Designed by FTL Wordpress Themes brought to you by Smashing Magazine

Back to Top