Archive >> October 2004

Oct 21
2004

Open Source in plain English

Posted by tcallway in Advocacy

Much of the debate about Open Source has been in Technical terms, or increasingly in Political Terms.

I'm not criticising either, I strongly suspect that both will continue for some time, but many are left cold by this approach.

What is it about at the fundamental level, in plain English, in simple terms that leave no doubt?

At heart, the argument is simple - it's about cost, and it's about the best way to run IT in an organisation which gives the organisation the freedom and flexibility to run its IT for itself. It's about escaping the world where the tail wags the dog, and reclaiming the agenda to make IT serve your goals.

Look at your own organisation, and you will see that IT systems consist of three things, Hardware, Software and the 'know-how' that makes it all work. It has been said that "IT doesn't matter", and increasingly, that's true. The purpose of IT is to serve the goals of the organisation, not the other way round. We don't create IT systems for their own sake, we create them to communicate internally and externally, to create, manage and store our documents, to help run our organisations, to gain control of our finances and accounts. If we can do all this, whilst figuring out how to do it better and reduce our costs, we are meeting the economic imperative of doing business.

Hardware is now a commodity. You and I don't buy hardware for itself, we buy it to do a job... by running software. The most successful hardware companies are those that figure out how to deliver it for the lowest price.

Software, or should I say, Licence costs, is heading the same way. Open Source represents the logical end-point in this process. Again, you and I don't buy software for itself, we buy it to do a job. In a free market, the most successful software companies are those who figure out how to deliver it for the lowest price. If you can acquire software that is fit for purpose, but without buying it over and over again in Licence fees, why wouldn't you?

The real key to IT in business is the 'know-how' to make it all work, and to make it serve the goals of the organisation. Whether that's user know-how, administration know-how, or external know-how, the system won't achieve your goals until you provide it.

The Open Source formula is simple. Commodity Hardware + Open Source Software + Appropriate know-how = Competitive Advantage.

Open Source is not the best solution in all cases. There are Enterprise Class Open Source projects that are the very best in their field, others that are way behind the state of the art, and many that are simply at parity or rapidly approaching parity with their proprietary alternatives. What is true is that there is an Enterprise Class 'stack' that you can run your organisation on, or include in your mix of software that runs your organisation.

The sheer number of organisations now taking advantage of this stack is overwhelming, and it's time to discard the notion that they do it because they 'can't afford' proprietary software. Take a look at some of the emerging technology giants, (and if you thought of Google, for example, you're probably not the only one) and see that massive usage of Open Source software is a fundamental part of their competitive advantage. Add to the obvious 'bottom-line' advantages this brings the other emerging advantages of Open Source (flexibility, freedom from 'lock-in', regained control of the upgrade cycle, freedom from 'Licence management' headaches, and so on) and you have a compelling business case... a business case you can't ignore.

Two common questions that I get asked about Open Source is "how do we get started, and how do we manage it in our organisation"

There's a simple answer - you get started, and you manage it, in exactly the same way you do with any other software. Open Source software is not a stranger, and it doesn't suspend the laws we've all learnt in bringing new systems into our organisation. Except for a few features (lack of licence fees, lack of administrative burden in tracking licences) you simply apply everything you know about proprietary software. Software either is, or isn't, fit for purpose. You need to manage the process of its introduction. You need to acquire the capability to use it. Approach in the way you approach any IT project in your organisation, but enjoy the unique features that bring long-term benefits with its introduction.

by Mark Taylor, CEO

Oct 21
2004

Why Open Source?

Posted by tcallway in Advocacy

What should we think about when we select software for a given purpose? The truth is that software procurement can be fraught with danger, potentially very expensive danger. It is unfortunate that we cannot have people walk in front of us waving red flags for our safety. There are no maps with "here be dragons!" So, IT procurers, while you are contemplating cost and fitness-for-purpose etc., here is one less thing to worry about: Open Source.

People often think about Open Source in all the wrong ways. Many people, when they think of Open Source, think:

"Open Source is a development model"

Software is software, no matter how it gets from the developers' grey matter to your machine. The development practices behind Open Source software products are just as varied as they are behind their proprietary counterparts. With roughly 110,000 Open Source projects on Source Forge (not to mention the countless numbers not hosted there) it is inevitable that development practices are widespread.

"Open Source is a licensing scheme"

All Open Source software comes with a license. Yes, it is the license that protects its Open Sourceness (for want of a better phrase). Proprietary software is licensed too, you know!

"Open Source is unsupported"

Much Open Source software is unsupported. Some is only supported informally through loosely coupled (mostly online) communities. Often support can be purchased for Open Source software. In fact this is one of the more common business models around Open Source.

"Open Source is incompatible with..."

As the old adage tells us, it takes two to tango. The path to interoperability is paved with standards. Open Source software is frequently quick off the mark with these. For example, OpenOffice was well ahead of its proprietary counterparts when it came to Open Document format or ISO26300 as it is known in the world of standards.

The simple truth of the matter is that Open Source is all of these things. But, then again, so is proprietary software. In an attempt to create a more concrete differentiation between Open Source and proprietary many will tell you:

"Open Source is software development communism!"

Well comrades, come the revolution.... In all seriousness, many people genuinely believe this. It is needless to say that they are wrong, but even if they were right, who's to say it's a bad thing?

Open Source and Free Software are fundamentally the same thing. Certainly similar enough for the sake of this article. With this in mind, the Free Software foundation's definition of "Free Software" (as opposed to the Open Source Initiative's definition of "Open Source") is used as this article continues; it's shorter.

"Free as in freedom, not as in beer"

What makes Open Source different from proprietary software development can be described in one word: freedom. Of course it was the ambiguous nature of the word "free" that has blighted Free Software since its birth. "Free as in freedom, not as in beer" as Richard Stallman famously clarified. Nevertheless, freedom is at the heart of Open Source and, in fact, it comes four-fold.

Freedom 0: The freedom to run the program, for any purpose.
On face value this may seem like a simple gesture. It is. However, it an extremely powerful gesture and one which is crucial to the Open Source movement. There are no "conditions" within Open Source licensing. Compare this with the license for proprietary software next time you install some.

Freedom 1: The freedom to study how the program works, and adapt it to your needs.
Understandably it can be frustrating when a piece of software comes very close to meeting your needs, but not quite getting there. This situation occurs frequently when a general application is put to specific use with a vertical domain. There are no guarantees that a proprietary software vendor will ever make the changes you require, although you are more than welcome to ask. However, with an Open Source solution you are able to edit the source code and make the application do what you require. Government officials take note: this allows the UK taxpayer's hard-earned pound stay in the country.

Freedom 2: The freedom to redistribute copies so you can help your neighbour.
Often, when you've found a piece of software that is particularly useful, you may want to recommend it to a friend or colleague. Why not but a copy to CD and give it to them too? Well, under traditional licensing schemes you would be breaking the law. You would be branded a pirate and be made to walk the plank if you were found out. However, if you want to copy a distribute some Open Source code, you are more than welcome to do so.

Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. Access to the source code is a precondition to this.
This is a nice one. Open Source gives you the right to help others with your modifications to the software. Once you have made changes to your software, you are more than welcome to pass on the benefits. Or not. The best example of this come from the various Linux distributions. Many of them adapt the Linux kernel for their own purposes, such as performance enhancement. Often these distribution-specific changes make it back into the main kernel software itself. Sometimes they don't.

So is freedom "free", like "free beer"? The rather unhelpful answer is, it can be. This article is being written on a machine where all the software has been downloaded over a broadband connection for the cost of the electricity and 48 minutes of Internet subscription. However, it is possible to buy Linux distributions. In these situations it is not the software being purchased. The price covers the cost of packaging and, most importantly, formal support (normally favourably priced against the proprietary counterpart). This is only one of many ways in which the big Open Source players make their money.

A viable business model

Contrary to many people's beliefs, Open Source can be a key component to a thriving business model. If this were not the case, many people in the industry would not be able to pay their bills. The truth is that Open Source can make you money if it's part of your business model to gain income through software services. Here is a classic example...

Imagine you work for a major corporation in a vertical domain: medical systems. Due to competition from various competitors, your machinery (MRI scanners, X-ray machines etc.) are becoming commodotised. These days, what differentiates you from your competitor is the software that runs on your machine and not the equipment itself. Most importantly the user interaction software. By incorporating Open Source into these systems you will be saving valuable resources on system development and freeing these up to concentrate on adapting these systems to develop the parts of the system which add value to your product.

Conclusion

With a bit of luck, in the future people will not care whether a piece of software is Open Source or not. Open Source and proprietary software development share many similarities. It is, of course, the differences that count. Open Source software development exists primarily as a benefit to the end-user. IT procurers of the world, next time you are on the prowl for new software, make life just that little bit easier on yourself and stop worrying about Open Source. And may your beer always be free.

by Paul Adams, Research Manager and Chair of BCS Open Source Group

Oct 11
2004

Directory Services: Part 3

Posted by tcallway in Networks Databases

This month's OPEN For Business! continues our LDAP mini-series. The series is about using directory services to make administration of your network easier, and potentially, how to replace every bit of proprietary software you may have in the network with better Open Source software, plus how to tie it all together. So far, we've covered setting up a Directory Service based on OpenLDAP, and everything you need to do to create a single user account base and single sign-on across all of your Operating Systems, including Windows. This month we're going to begin making your Directory even more useful by moving into the realm of applications. I'm going to show you how to LDAPify (pronounced el-dap-if-eye!) your Open Source email system. You can see where this is going, can't you?

Got your CV ready?

Email systems are great! They've gone from being an obscure plaything known only to geeks to being the business critical application. Your users are guaranteed to whine about two things: "printing's not working!" and "email's not working!". And if they're correct about email not working for any length of time you'll be looking for your next job!

Email systems range from 'fast, scalable and rock solid' to 'extremely expensive and fundamentally broken'. The great news I've got for you is that it is simple to exchange them! The best email systems are, of course, Open Source.

Having said that, Open Source email systems traditionally have perceived weaknesses when compared to certain 'integrated' proprietary email products. Chief amongst these is the need to configure user account information in multiple places and configure system functionality in multiple files (e.g. underlying UNIX accounts, aliases files, virtual user tables, mutter mutter, sed, grep, awk... - you get my point...). Just imagine if you could build the ultimate integrated email system from best-of-breed Open Source components, keep each individual component dumb, but pointing to a single source of configuration information (which is where all the intelligence is).

Then, if that single source of information was easy to manage too, maybe even with a simple GUI (shock! horror!), you may even find Windows email System Administrators eager to exchange what they currently use for a licence free, killer, Open Source email platform.

Guess what? It's simple:

Here's the deal (you should be getting used to this by now). Once again, it's not rocket science, it is easy, it's fun, and it gives you a one Hell of a kick-ass IT system...

We're going to make a few enhancements to our OpenLDAP server first, starting with extending the info we keep on our users. Do you remember a couple of issues back I asked you to come up with a list of stuff that defines a user in IT terms (careful! - I heard that thought! - let's keep this clean...). Let's dig in and think about this in terms of email.

If email on your network works anything like it does on the ones I've set up, we end up with a simple list that looks something like:

  • 'Home' email server
  • Username ' i.e. Account on that email server
  • Password
  • One or more email addresses (occasionally with different domain names, but all ending up in the same inbox)
  • A few 'housekeeping' rules (like quotas, etc.)

All these bits of information can be held in your LDAP Directory. And by now I reckon you know how we make the attributes available - that's right, we register some appropriate schemas.

Some of the attributes are available from schemas we've already got (things like email addresses and usernames). The others depend on the Open Source software you're going to be using for your email system. If you use Sendmail, for example, you'll probably want to use the 'sendmail.schema' file that comes with it.

Doing it - step by step:

Ok, time to make it real. Let's build an email server from scratch and integrate it with our newly email-enabled LDAP directory. I said earlier you can use any Open Source components - we're going to use Sendmail as our MTA. Sendmail is very easy to LDAPify, you simply add some lines to the Sendmail.cf telling it to do its lookups from your directory server. Once you've done this, Sendmail can get its aliases, routing information, authentication information, simply everything from the OpenLDAP directory. The beauty of this is that you don't ever have to touch this machine again - from now on you manage Sendmail from the LDAP directory, which is pretty great in itself.

Again, in the Open Source world, there's a wealth of 'user-facing' mail delivery software. We're going to choose the fantastic project Cyrus for LDAPification.

Cyrus is simply a superb, Enterprise Class Open Source mail storage system. It handles IMAP and POP, implements single instance storage, integrates beautifully with web-email front ends like Squirrelmail, has a delicious abstracted authentication subsystem called Cyrus SASL, and integrates with LDAP (through SASL) like nothing else I've ever seen. And here's a hot tip! Use the Cyrus patches the team at the University of Athens have created – they add invaluable functionality to Cyrus (like automatic account creation the first time a user in your LDAP directory connects to the Cyrus server or the first time an email is received for that user). Trust me, this kind of functionality makes administration of your system absolutely trivial.

LDAPifying Cyrus is simply a case of compiling it against your OpenLDAP libraries (or getting the LDAPified package for your favourite Linux distribution) plus adding a couple of lines to your config files to tell Cyrus SASL to get its account and authentication information from your LDAP Directory.

And, that's it. You're done!

Bells and whistles:

You can add as many bells and whistles as you like (say spam filtering and anti-virus, maybe even calendaring, voice messaging and email to fax gateway if you really want to get fancy). But what you've now got is an Enterprise Ready email system that's fully integrated with, and managed from, your Open Source Directory Server. Now, how cool is that?

So there we are. We've made our start with applications. We've taken over the most user-critical network service and we've exchanged it for a far, far better one!

Next month I'm going to round up our LDAP mini-series by showing you how to integrate a batch of other services, plus build a company wide address book. By the time we've finished you'll be in no doubt that you can do everything the proprietary Directory Servers do for you, and do it far, far better, using superior Open Source software. It will be far faster and far more reliable. You won't be locked in to the continual upgrade cycle, and you won't have to pay those extortionate licence fees.

<< Start < Prev 1 2 3 Next > End >>