Linux

Creativity + Linux = Solutions


Recently I was asked to set up a groupware-like solution for a small company that had no budget. Of course the first thing that popped into my head is not reproducible in this blog. But as soon as the initial reaction faded away I was left with one thought: Linux.

The small company (one owner and roughly seven employees) needed a web site (they already had the domain and the DSL), email, shared calendaring, and notes. At first I was looking at solutions such as Share360, but the cost of the the applications ruled them out immediately. Eventually I started approaching this problem one step at a time - which ultimately lead to the perfect solution. I first decided to approach the email issue. The employees wanted to be able to access email from pretty much anywhere, so web-based email was going to have to be deployed. This was fortunate because those needs sent me to SquirrelMail.

It wasn't too far into the installation of SquirrelMail that I discovered the available plugins. After a cursory look I realized that SquirrelMail might be my total solution for this client.

After injecting a bit of creativity into the equation, I had my solution. And of course this made me think of how I have managed to solve problems in the past.

I don't know if many of you have used Linux in your IT worlds but I can tell you, after about ten years of solving issues with Linux I am happy to say that the open source flagship has pulled me out of sticky situations non-open source software would manage. Why? Because Linux stretches and flexes beyond description. After all these years I have come to the conclusion that Linux is only as limited as your imagination.

Of course I am fully aware that most IT professionals aren't hired because of their imagination. Quite possibly you were hired because of your ability to stay within budgets, or your solid understanding of networking or your grasp on Microsoft Server. And I would say many of you probably scoff at the idea of creatively solving problems.

But then...aren't geeks naturally drawn to creative problem solving? Wouldn't you rather be praised for your prowess of thinking than praised for your ability to read a manual and set up any given MS product?

Creativity is where Linux shines above all the rest. You give a good Linux administrator a problem and that administrator will come up with countless ways of solving that problem using software often not intended to handle such problems. I've seen uber-level Linux admins solve problems in ways I never thought possible. It's MacGuyver at its best. It's an operating system, a paper clip, and a wad of chewing gum to solve network security.

I applaud anyone who considers creativity one of their tools in their toolkit. And if you use Linux, you know that creativity can be stretched in ways your computer science degree never prepared you for.

About

Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website getjackd.net.

18 comments
Justin James
Justin James

... this kind of thinking is extremely risky to one's career, for good or for worse. Remember "no one ever got fired for buying IBM"? Well, no one ever got fired for buying Cisco or Microsoft. Sure, SquirrelMail is a nice little piece of work, and a solution of BSD or Linux, qmail, Apache, MySQL, BIND, and Webmin will do wonders for the small company looking to have a solid solution on the cheap. But the big companies are willing (and want to!) pay through the nose for the privilege of having an account rep who knows your name, support 24 x 7 from a real live phone voice (even if the accent is thick on occassion), and a shelf full of manuals which no one will ever need. Because on the very slim chance that the system blows up and the fingers start getting pointed, no one wants to hear "well, there are plenty of Web sites that I can find with Google that are filled with help!" Especially when the system crash took the WAN link down and without that shelf of manuals and that 24 x 7 support contract, no one can get to Google. It's just the way of the world. I use BSD at home. But Linux in the enterprise is a hard sell without a vendor behind it. There is a good reason why you see SLES and RHEL in the enterprise, but not Ubuntu or Slackware or Gentoo. J.Ja

j-mart
j-mart

The Technical institions are geared up to producing wave after wave of Microsoft Tech's of varing skills and abillities. Those in the workplace with Linux skills are either old school trained (at great expense) mainframe Unix Techs or keen enough to get off there rear end, go out and upgrade their skills and learn. As both of these are in short supply there is not the push needed for a rapid take up of Linux in corporate world. Those that make the decissions in the corporations know very little about IT so go with whatever their technical people push on them

Justin James
Justin James

What I see in the UNIX world is that the majority of folks who "learned UNIX" in the last few years are really just people who learned the nuances of GNOME or KDE, I certainly would not want them inside my server room. The "enterprise Linux" distros like SLES or RHEL do not encourage the kind of knowledge that a true UNIX guru has, everything is done through a point-n-click interface, the same thing that UNIX folks look down on Microsoft folks for. The real UNIX gurus are an increasingly smaller percentage of the IT industry because of this. Such a small portion of new UNIX users are of sys admin quality. The real question is, for Linux's long term potential in the server room, is "will the GUI tools reach the point where the CLI is no longer needed for full blown sys admin work?" If the answer is "yes", then the crusty old UNIX guys will not be needed, and the current crop of Linux users will make the grade. If the answer is "no", then I see Linux on the backend being in trouble in 5 - 10 years. At this point, the "Linux experts" that I have worked with have been so dissapointing that I almost ignore it on a resume. If someone lists Solaris, AIX, BSD, etc. on their resume, I know that they know what they are talking about most likely. When I see "Liunux expert", I have to ask "tough" questions like, "how do you unwrap a tarball from the CLI?" to see if they know what they are doing. Sad state of affairs, really. J.Ja

apotheon
apotheon

"[i]That being said, I like my *Nix plain, CLI only, at least in the server room.[/i]" If it's managed by physical access to input and output peripherals plugged directly into the system, and via the use of GUI tools, I don't even think of it as a proper server, really. It's just a desktop system with some network daemons running. "[i]When I see 'GNOME' or 'KDE' listed under 'skills' on a resume, it raises a flag just as large as 'MS Access' does on a DBA's resume.[/i]" "GNOME skills" and "KDE skills" is like "MS Windows operator skills", generally. Yeah, I can see that being a bit of a negative indicator. I could see "MS Access" being useful to a DBA, as long as it says "MS Access database migration", indicating that the guy's particularly good at migrating data from MS Access to real DBs. "[i]I assume that someone can figure out how to click around GNOME or KDE, if they consider it an accomplishment, I do not want to hire them.[/i]" I'm less than enthused or encouraged to hear that you actually see these things on resumes.

Justin James
Justin James

I see this kind of thing *all the time*. It scares the pants off of me. I've had "long term Linux users" ask me how to use the tar command, or how to edit a file from vi because GNOME or KDE stopped working, and now they have to try fixing it from a command line. Maybe it is a measure of relative popularity, but only Linux users ask me these kinds of questions. I will say, it is a backhanded compliment to these distros, since it allows people to go years without ever seeing the CLI if they do not want to, much as Windows has over the last 10 years. If a "Windows-like experience" is the goal, it is within reach. That being said, I like my *Nix plain, CLI only, at least in the server room. The right tool for the right task, and all of that. The idea of weighing down a server with a GUI when it does not need one just pains me to think about it. Lack of a "CLI only" mode in Windows server bothers me. When I see "GNOME" or "KDE" listed under "skills" on a resume, it raises a flag just as large as "MS Access" does on a "DBA"'s resume. I assume that someone can figure out how to click around GNOME or KDE, if they consider it an accomplishment, I do not want to hire them. J.Ja

j-mart
j-mart

Many of the current generation seem to avoid command line at all costs and this can become a handicap to progress, my own son will avoid using comand line, my daughter's boy freind is at the start of an IT career will avoid command line. Even when using microsoft products sometimes command line is usefull. Those of us who started ut in the DOS days know its value, even using windows products at work I use bat files for repeditive tasks that take longer using GUI. I am still finding my way around Linux but the key to mastering this OS is to become familiar with command line, and like any thing new effort is needed to make progress. Some of the younger ones,if they can't work it out imediatly would never dream reading a book or two and put in some time to learn what's required

apotheon
apotheon

"[i]When I see 'Liunux expert', I have to ask 'tough' questions like, 'how do you unwrap a tarball from the CLI?' to see if they know what they are doing. Sad state of affairs, really.[/i]" Are you serious? Do people really claim to be "Linux experts" without knowing [b]tar -xzvf foo[/b] (or -xjvf, as required)? By the way, I discovered shortly after starting to use FreeBSD that BSDTAR actually doesn't even need the z or j option. That's pretty spiff.

techie
techie

What is unthinkable at the enterprise level, is daily necessity in MicroBusiness. The concept of using Open Source creatively, and to do a job beyond what it is thought of as doing, is a living, breathing reality for businesses of the size described in the original article, and more so for even smaller ones. Businesses of this size require something beyond make-do desktop solutions, but cannot afford enterprise level solutions, which are geared for business needs far beyond what MicroBusinesses require. We find the most varied needs, and the greatest degree of scalablility, required in businesses with less than 20 employees. The needs of these businesses are very often not classifiable by standard corporate models, and they are widely varied, so that each contract presents a new foray into the unknown. We rely almost exclusively on Open Source, most of it Linux or Unix based. We've searched out the better supported, and more sustainable pieces of software. We don't hack code, for the same reasons it has been mentioned that ZenCart would be unsustainable - if you cannot easily and quickly update something without having to hand edit hundreds of bits of code, then it isn't going to be an affordable solution long term, ESPECIALLY for a budget operation. But there are many stable, flexible Open Source components which can be assembled into an interim level solution for businesses within a growth phase where they are aware that they'll need to make radical changes again in 2-3 years. When the prospect of another level of changes is that far out, it makes sense to offer them a solution you know they'll outgrow, because technology is changing fast enough that major changes would be required within that time frame anyway. And in the mean time, a solution that has some limitations that do not affect a smaller company's ability to meet day to day needs, is perfectly achievable. It does put more of the support and maintenance burden on in-house or contracted tech support rather than on the software company, but that is also a sustainable and affordable reality IF the right applications are chosen to start with. Laura Mom to Eight and CEO

Tony Hopkinson
Tony Hopkinson

I dare say you've developed a fair bit of skill of what to use, judging stability, how they fit together and so forth. This is not a skill that generally exists in the enterprise. They have an MS server, MS offer exchange, end of story. Even if you worked for them, they'd get nervous about you becoming mum again :D , being run over by a bus, or being offered more money and how to get someone else with your skills mix as back up. They don't care about best solution, just whether the booty is completely covered up. Not completely fair I suppose, basically enterprises tend to be much more risk averse than smaller businesses, in terms of support functions. With good reason as well any saving on software costs, could be completely wiped out in an hour, if one of those risks turned out to me more risky than they thought.

Tony Hopkinson
Tony Hopkinson

have a program about employees accepting change. May be they should practice what they preach. Most of the big places I've worked have been widely distributed, so there's been a bit of each, but fighting 'city hall' is indeed a tough row to hoe. A few failures and you end uo in 'ah f**k it' mode. Boring, unrewarding and indeed time to move on.

Tony Hopkinson
Tony Hopkinson

But the next job that came in, was required yesterday and I still remember what I did today, so I'll do it in a spare moment. :p The trick is to have a system where the job can't be completed until it's complete. Which is when it's been documented.

apotheon
apotheon

Big, established corporations are risk averse for the same reason they don't innovate worth a damn: they have no goals other than survival, market dominance, and profit, and not ethics to guide them. That's why, given a choice, I'll always go for the small, dynamic, up-and-coming business rather than the big, established corporation, all else being equal. I want to help [i]people[/i] doing interesting, [b]good[/b] things, not [i]corporations[/i] doing repetitive, [b]amoral[/b] things.

jlwallen
jlwallen

i know it's crazy but i always tell people to document what you do or create. it's always the very last thing people think of but imagine the headaches you would avoid if systems were properly documented.

Tony Hopkinson
Tony Hopkinson

If you want to push open source in any business, then you need to treat it more like in house code. Basically you need to actively contribute as an organisation, otherwise whether the software meets your needs is more down to luck than good judgement.

jlwallen
jlwallen

i didn't even address the issue of altering open source code to fit your needs. yet another way open source flexes itself.

Tony Hopkinson
Tony Hopkinson

If you don't want to generate the in house skill to contribute and get the changes you want back into the standard code base, then what you have is seemingly zero cost piece of critical software without the comfort blanket of a purchase agreement. Selling open source to management as desirable because there is no purchase cost, is dumb.

Justin James
Justin James

While I love having the flexibility to edit source code to meet one's needs, the fact is, most organizations lack the talent to do so. More importantly, though, is the difficulty caused in re-merging your changes later on. No IT executive that I have met will sign off on a project where if a critical update is released, not only do you need to re-test before pushing to Production, but you also need to check the changes in the patch against your customized changes. As an example, a while back I was working with ZenCart. The thing was architected like a level from Pipe Dream. Every change I needed to make involved ripping apart the core of the system. Upgrading to a newer version would have involved at minimum a week of source code inspection, reverification, and code merging. 99.9% of IT shops are unwilling to take that on, and it is reflected in the number of enterprise IT shops that actually modify the source code to their OSS apps. When you pay thousands for RHEL or SLES because you need support, you are not going to turn around and invalidate that support by hacking up the code in the approved stack. When you call your vendor for support, they will hang up the moment they find out that you touched the certified stack. In other words, one of the great strengths of open source goes completely unleveraged, because it is contrary to the needs of most businesses. J.Ja

Tony Hopkinson
Tony Hopkinson

if you want a change that the community feels is ah unpalatable. Be careful how you wire it in though it's a bit like changing source in 3rd party components, a serious stumbling block each version. The ideal though is to join in and not treat the community like some sort of free labour gang.

Editor's Picks