Skip to content
Richard Forth edited this page Jan 14, 2017 · 9 revisions

Welcome to the apache2buddy wiki!

I am shifting gears from active development to maintenance mode.

This doesnt mean apache2buddy is being abandoned!

It just means that, as the product is now stable, with only one outstanding feature request I want to implement, I want to call time on building more and more into this massive behemothotic (is that a word?) thing I have to maintain.

The code base has grown exponentially since inception

Heres the orginal project that i forked a long long time ago: https://github.com/gusmaskowitz/apachebuddy.pl --> 'there is no active development on this perl script' Also note how many lines of code: 1101

Now, apache2buddy.pl has a whopping 2331 lines of code!!

That's a lot of development over the years, with a LOT of cool and 'killer' features Ive added to boot. We just don't need any more.

Bear in mind also that in time, as operating systems mature and develop, these existing features will start to fail and need updating or deprecating or removing or rewriting completely to support the latest operating systems and old code will need to be removed as older OSes are deprecated and reach their end of life.

Basically just maintaining the existing codebase is turning into a full time job which I do not get paid for. I will never ask for any money to maintain this, it's my baby and I love it.

But like all babies they need to grow up and move out of the family home and get a real job and start making their own way in the world. I'm not exactly building SKYNET here with apache2buddy.pl, but the principal is the same, and development has to stop at some point, in the same way that parents will eventually have to stop letting their kids free-ride on them like they did the first 18 years of their lives, albeit done with loving care, its time they moved on.

In that vein of thought, once the last feature has been implemented, I expect to do very little by way of maintenance, to keep it ticking over.

Are you hinting at abandonware status?

As long as I am alive to breathe the air from this planet's atmosphere and I have a computer and internet connection, and github still hosts my code, then this project will never be abandoned. I will fix bugs, but NOT add any new features, beyond those required to keep it working on newer releases of operating systems I already support.

Inheritance

I expect that many people will have cloned this repository before I kark it like the parrot from Monty Python, and you'll know when I've shaken off my mortal coil when the domain apache2buddy.pl is up for grabs.

Basically I wanted to get some domain security and planned register or renew apache2buddy.pl for 10 years, however it turns out that .pl domains can only be renewed or registered for 1 year at a time[4].

I have a direct debit system set up so that the domain registration will renew automatically through my bank, but this is only going to be good for as long as my account stays open, as soon as the bank account liquidates and things start to shutdown, the DD with fail, and the domain will not be renewed. I expect at that point one of two things will happen:

  1. One of you good people will do the right thing and buy up the domain, and point it at your OWN fork of this project, and do the right thing by maintaining the code for future generations.

  2. The domain will be used for something else or nothing at all, and instead people will just curl this repo directly, like this:

  3. People use their own forks or clones, and if you haven't already forked it or cloned it for your own security, if you rely on apache2buddy, you probably should get a github account and fork this into it. Just do the occasional pull to get any updates.

Why am I stopping active development?

Active development has become a pain in recent years due to going from Red Hat Only to now supporting:

RHEL (5, 6, 7) CentOS 5, 6, 7) Scientific (5, 6, 7) Ubuntu (12.04 LTS, 14.04 LTS and 16.04 LTS) Debian (maybe 5, but definately 6, 7, 8)

...thats a whopping 15 OSes!

I mean, its getting silly.

Financing

I have never done this for any profit, nor gained a penny from it, its a labour of love, that I began about 5 years ago, but it has grown to such a size that I now almost need a full Jenkins / Continuous Integration provider to run all these tests. I freely gave my spare time to wite this code, and the domain costs me real money to renew each year. With no income generated for it, the production costs are impossible to justify, and hence the bugs.

I've ironed out most of the bugs now but I am sure there will still be some I havent detected yet, and rest assured if you report any issues, I will look into them and fix bugs, put please...

...no more feature requests

Seriously, I've done all the things I wanted to do related to apache, and its now pretty much the defacto too for apache troublshooting and tuning on the internet[1][2][3]. Note I didnt pay anyone for these reviews, they happened organically.

No more operating systems

I've had requests to support different operating systems such as CloudLinux and Fedora, and I have had to push back, the main reason is the amount of testing that is already involved, 15 Operating Systems, and one person. I cant possibly test on all these without an expensive Jenkins setup I also don't have access to CloudLinux or Fedora images in my cloud account that i use to run all my test server deployments (I can spin them up and run manual tests and then delete them for pennies), it very time consuming.

You may be fooled into thinking that adding and IF statement to detect the OS as Fedora or CloudLinux, makes it supported, because you can make it run now instead of exiting out.

The truth is...

Each OS that is added to the supported list, is another operating system I have to test it against multiple versions of. So I'm calling time, further to this, Fedora is a desktop operating system, its not what i would consider enterprise class, because its so bleeding edge. Now, apache2buddy does run on RHEL / CentOS / Scientific 7, so the compatibility is there, but fedora is SO bleeding edge (in fact its red hat's Test Bed for future versions of RHEL, like RHEL 8 for example), that I cant really trust apache2buddy to run, and I don't have it as a choosable flavour to build from.

The same with CloudLinux, I don't even know what that is, I'm sticking to the mainstream, enterprise class, stable, Long Term Support Linuxes, and I will not be adding any Plans to support anythgin other than RHEL (and Enterprise derivatives), Ubuntu, and Debian.

Finally the beauty of open source

While I know my lack of active development or lack of support for random distros outside the above, the coool think is that youre totally allowed to clone this repo and make your OWN changes, you can even upload it to your own github repos (forking) and maintain your own copy with your own specific requirements.

the only downside is you dont get to use my domain, but you can use your own, for example you can set up a subdomain redirector like this:

apache2buddy.joebloggs.com -> https://raw.githubusercontent.com/joebloggs/apache2buddy/master/apache2buddy.pl

One you have that in place, you can curl an perl it just the same:

# curl -sL apache2buddy.joebloggs.com | perl

Magic!

Now y'all have a great day and thank you for using my apache2buddy tool!

Sources:

[1] http://www.techrepublic.com/article/how-to-tune-apache-in-seconds-with-apache2buddy-pl/ [2] http://www.itkonwledge.com/how-you-can-tune-apache-within-minutes-with-apache2buddy-pl/ [3] https://www.linode.com/docs/websites/apache-tips-and-tricks/tuning-your-apache-server [4] https://www.123-reg.co.uk/terms/renewal_restrictions_terms/