Posted on | September 25, 2007 | 2 Comments
One of the things I have been spending as much time as possible to advance lately is GNUPanel, a from scratch GNU-centric web hosting control and automation system, very similar to C-Panel. C-Panel is a proprietary web hosting control system produced by Cpanel, Inc.
Most of us know, one server is simply not enough. The emergence of social network and social bookmark services have added a new ingredient of unpredictability in the hosting industry. Out of the blue, Digg or Slashdot can and will drive millions of visitors to a web site, usually crippling the servers hosting the web site. Web hosts must be able to ‘scale’ to meet demands for their customers in such a way that customers pay for only what they use. I talk about this need more in another post.
C-Panel and (most other) proprietary control systems do not like the idea of ‘clustering’ (many computers teaming up to do one task) because it is very difficult for them to determine fair licensing costs. I once had the difficult task of erecting a 50 server cluster which used only one instance of C-Panel. This means, 50 servers ran, however, the host paid only for one license. This was not an intentional means of ‘ducking’ license fees, the host had plenty of money.. if we installed C-Panel on each computer, all cluster services broke, or we could not modify C-Panel’s behavior to lend well to clustered services (such as e-mail). We have got to get away from single server mentality, C-Panel, to date, is not willing to do this. Using proprietary software means that you must rely on someone else to fix usability bugs or glitches.
So, I did what any self-respecting GNU hacker would do, I e-mailed Richard Stallman and explained the problems that our industry is facing. Folks, say what you will about RMS – he answers his own e-mail, promptly and values input from the community. Richard agreed that the GNU project should provide web hosting companies a way out of this vicious cycle.
We can make it better, we can make it free. Since we can, we should and we will, the end result is people at large get more reliable service from the free OS that their host sells the use of, with easy (and cheap) multi server support less people will become victims of their own success.
A project named GNUPanel already existed, which has been maturing rapidly. Jorge and Ricardo (the developers) received an e-mail from Richard Stallman asking them if they would like to make their project an official GNU project, they quickly agreed and have been extremely excited to invite the community at large to help shape its development.
As it stands, GNUPanel is 300% better engineered than its commercial counterparts. It uses sensible PostgreSQL backed storage for account and virtual host data, stats collection is done sensibly and it has immense hooks for multi server (and soon virtualization) support.
Jorge and Ricardo took great care to make sure that ‘back end’ stuff was as lean and mean as it could be, so more resources are available for customers to use. GNUPanel now features (nearly) everything that C-Panel does, plus the beginnings of a built in billing system. What’s missing? Not much, a short list is below:
- Jorge and Ricardo need some help translating functions (some function names are in Spanish), they’ve been working on this quite a bit. The sooner this is done, the sooner the world can start working on it. If you speak fluent Spanish and English, contact me at firstname.lastname@example.org – we need your help.
- The user interface could use some love and new icons. If you design icons and/or your able to make neat user interface designs, contact me.
- Tools to build Apache + PHP from source would be neat, right now it relies on the OS packaging. I’ll do this K-Config here we come.
- A “Rosetta Stone” correlating about 20 Debian packages to CentOS package names so that it becomes completely platform agnostic (one install does it all).
- A “Universal” API to allow popular billing programs to ‘just work’ with GNUPanel without modification. If your system is setup for C-Panel, it should ‘just work’ with GNUPanel. Likewise, if you use Plesk, you should be able to continue using the same software.
I’m soon going to be establishing Mercurial repositories for GNUPanel (and maintaining them, plus the patch queue) while I continue to help raise funds to jump start the project. I’m also customizing SRCE to ‘drop in’ to GNUPanel to assist in improving multi-server support as well as using it to help GNUPanel be more ‘distro-agnostic’ when abstracting the OS. The only thing I don’t see supported for some time is BSD, but , err, it is the GNU panel
Within a year’s time, we could be saving this industry millions in licensing fees while giving them back their freedom to do what they want with their computers. Any network administrator offering the use of GNU/Linux computers MUST be able to modify their controls any way that they want, this is critical to develop better offerings for hosting customers and fair competition. If the control system is free, hosts can (and will) drop their costs even for complex offerings like clusters.
So, how can you help? Simple. Do you own a company that offers web hosting? Buy a membership at The Free Software Foundation and tell them you want to support GNUPanel. If you can donate a chunk of cash in addition to your membership, great!
I should also note, if you sell web hosting, you make your living selling the use of free software. Please consider a membership. If you don’t want to give money, simply change your web site to say that you offer GNU/Linux (not just Linux) hosting, Linux is a kernel, GNU is the operating system.
There will be many, many more posts coming in the near future about GNUPanel, I’m very excited about this project