I was generally pleased with what I could do with Clonezilla. There is some good documentation available on the project web site, but I also found a good tutorial that gives a step-by-step demonstration of what it is like to work with Clonezilla. Within the project web site you'll find all the information that I used to create a bootable USB key that contained the full Clonezilla as well as the base image.
Later on, I'm hoping to use those same ideas to make one that will be automated... boot from that key and it re-images the C-drive, no questions asked... and some PXE booting that I'll combine with the wake-on-lan to automate updates we may do down the road. These are pretty techie projects and not designed for someone who is not an expert, but that's really the point. I'm not really trying to eliminate the expert. I think that environments running without an expert available deteriorate into chaos because no one pays attention to the warnings of disaster. Rather, I'm trying to use these tools to make it easier for an expert to volunteer and help out without having to go "in house." A team of technical people can cooperate to keep things running reasonably smoothly doing a little here and there within their schedules.
Other Open Source Solutions
Someone asked about open source solutions for things such as Point of Sale. This, and other areas such as CRM, are important applications that need to work well for an organization. I am absolutely not saying that open source solutions don't work well. I'm just suggesting that when you select a solution in these areas that it is a much larger commitment than a web browser or word processor. Your business data and practices will be wrapped around this choice. It's not a choice to be entered into lightly.
I'm a huge fan of open source solutions. I generally use all open-source for solving my own problems. However, there are times when I hesitate to recommend that course to others. Why? Well, I'm a techno-geek. I love to play with these things and explore them and make them work. Decades of that attitude have made me so that I'm pretty flexible and adaptable and don't let things like mysterious error messages stand between me and my work. However, I deal with users-- volunteer users who could be at home doing things with their families-- who experience a sort of panic when technical things happen. They may want to have someone to call to answer questions. That person may become me, and that can steamroll into a lot of volunteer time rather than the time I am paid for. That's the sort of scenario that drives volunteer technical expertise away. If the open source option is not stable, or is vastly different from what people might be used to in their commercial background, then I would hesitate.
Another issue which can occur with these situations is there may be some specific business requirements, maybe not within the organization, but in their interaction with other organizations that demand certain protocols or formats. This used to be a big issue with documents going to printers. They needed it in specific file formats, which were generally tool-driven. Much of that has changed over time with things like the openness of PDF, which provides a neutral format which many tools can produce. You will need to what the real business needs are for your organization and make sure that there are not critical business functions which demand specific commercial tools. As much as we might like to keep things "free and easy" these requirements may trump the open ideals. The good news, is that good application of open solutions where appropriate will often free up funds which can be applied to these commercial tools. Continued evolution of open source may mean that "no" really means "not right now." It may be that down the line that interoperability standards put an open source solution back on the table. Keep an open eye and an open mind.
Having commercial software as a part of your environment doesn't necessarily crush the work that you've done with open source there. You should try to select solutions that fit with the environment that you want to create rather than allowing them to dictate the environment that you must have. I like the stability of Linux running on servers in our environment. (More than 3 years without a single server issue and 99% of the support done completely remotely.) I resist solutions could not include a Linux server solution. It's always a battle, because most people who suggest solutions have a pretty narrow view of operating environments. However, in each case we've been able to find an approach which gave everyone what they needed.
I will say that one of the things that I like about IBM commercial solutions (and those of our partners) is that they tend to exist in a multi-platform world. If you can buy (or get donated) an IBM-based commercial solution then it will likely fit into an environment that has a lot of open source and play nicely. (That has been getting better and better over the last ten years and continues to improve.)
Let's say, though, that you've considered your options. You have determined that a commercial answer is not needed, or not available because of resource. You're going to go open-source. There is not a magic way to find the right package. Quite honestly, the way that I begin such a search is go to Google and enter "open source XXXX" where "XXXX" is the function that I'm looking for. The most popular projects for that solution will come up on top of the search. Then I dig through them. I look at the features and functions. I look through the forums for complaints. Lots of discussion entries that say things like "I reported this bug six months ago! When is it going to get fixed?" are dead give-aways. I tend to favor applications that run in Linux, but could run in Windows or Mac. Those seem to me to be the best thought out and working with the most stable technologies. I look for things that use open data formats like XML and standard SQL servers. If it seems to have some proprietary approach to holding the information then I tend to back away. I may need to rescue some of this information at a later time. I want a level of transparency. If you establish your criteria, test for your requirements and are willing to walk away from applications that don't fit then you should be abe to find good fits.
So, why am I not providing a list of recommended applications? Well, I think that this is an area where there is a lot of subjectivity. My perspective of which one is better doesn't really matter because I'm not really using some of them right now. If I deploy one to solve a problem I'll write about it, but until then they are all candidates. I would rather talk about what did work for me rather than what should work for you.
One thing I will say is that at this stage in open source evolution, you take on a level of risk when you invoke an open source solution. It's less from the software itself which, as I said before, tends to be pretty good. The risk is more from the politics and societal view of open source. I think I said before that in my project there are knowledgeable people who seem to withold their Windows expertise on the workstations because we won't run Windows servers. Non-profit environments can get pretty political and you may need to exert a good deal of leadership to make these things work. Some of the answers are not obvious. I highly recommend that you associate yourself, either in person, or virtually in some community areas. There are two good groups right here on My developerWorks:
Real world open source - a group started by Yours Truly to help gather people who are trying to make this stuff work.
Start a Group
|Upload an image for your group|
|Optional: You can upload an image that will appear in the overview page for this group. Please ensure that only a business-appropriate photo is placed on this site. The photo must be in JPEG, GIF, or PNG format. Larger images may take several minutes to upload.|
The level of access for a group can be set to open (anyone can see and join), moderated (anyone can see, but you must ask to join), or private (only visible to members). You can amend the access level of a group at any time using the Edit Group form.
You can choose to associate applications with a group, such as wikis, if they are available for your deployment. When you do this, a link and a feed to the parent wiki page are provided in the group's overview page.
When you create a group, you can associate a specific image with the group. The image you choose should be closely associated with the group's identity. You can change the image at a later stage using the Edit Group form.
I'm on vacation for a bit, but when I return we'll get back to the church office and how we're using wakeonlan, ssh and vnc to remotely support workstations.