« September 2005 | Main | November 2005 »

October 28, 2005

Open Source Software for Business: The Foundation

In a previous article, Is Open Source Right for You, I considered the pros and cons of open source. Now let’s look at a few open source projects that are worth a try. Many notable open source projects exist, so it’s difficult to pick just a few. In this article, I’ll concentrate on projects that will have an immediate impact on your business. Some of these you’ve heard of and some may be new to you.

Of course, I can’t talk about open source without talking the Linux operating system. Linux has made a huge impact on the open source revolution. The Linux kernel is a UNIX-type system, is open source, and is the basis for many Linux distributions including RedHat, SuSE, and Debian. Linux is a leader in the server platform market and is used to host many commercial web servers due to its up-time performance. Its use in the home, office, and embedded systems is increasing too.

Do you find yourself waiting for MS Internet Explorer to start-up? Firefox is a slimmed-down web browser intended to provide the web-browsing features you want, without the stuff you don’t need. It’s lean and quick. The best feature, in my opinion, is tabbed browsing – each webpage can be viewed within a tab of the same window. Say goodbye to windows cluttering your desktop. You can download extensions for additional features too. My favorite extension augments the tabbed browsing allowing you to save a session: all currently open tabs are saved within one bookmark to easily recreate that browsing session. [Linux, Windows, MAC OS]

For desktop software that doesn’t skimp on functionality, OpenOffice desktop suite includes a word processor, spreadsheet, presentation, and drawing packages. It’s free and runs on multiple operating systems! And don’t worry about your old documents; the suite supports common document formats including Microsoft Word and Excel. Handy features include the ability to publish your work in PDF format without additional software. By the way, OpenOffice is the basis for Sun’s StarOffice product. [Linux, Windows, MAC OS]

Need to collaborate with your colleagues? You might try creating a TWiki website. A TWiki allows users to browse, edit, and add/delete pages using their web browser. Any type of file can be uploaded and linked into the content. It includes password protection and change tracking so nothing is ever lost. Need a bulletin board to store/share knowledge? Share ideas? Track meeting action items? TWiki can do all this and more! Extensions are available including calendar support, action item tracker, drawing and spreadsheet tools, and different “skins”. Llamawerx uses its internal TWiki extensively. [Linux, Windows, Mac OS]

Want to seamlessly share customer contact information within your organization? eGroupWare is a pluggable framework for hosting web-based applications like a group calendar, address book, email, to-do list, shared internet bookmarks, and the list continues. An access control list provides flexible support for access control and information sharing. [Any OS; Java]

For a full featured relational database, I suggest you checkout PostgreSQL. Implementation started at the University of California at Berkeley a decade ago. It has strong SQL support, is full featured, provides a powerful query engine, and can be extended by the user. While not as popular as MySQL, in many regards, it’s technically superior. If you need transactions, views, stored procedures, and triggers, but don’t want to invest in Oracle, give PostgreSQL a try. [Linux, Windows, MAC OS]

These days, almost everyone has a website and Apache powers more websites than any other. First released in 1995, it became the #1 web server on the internet – a position it holds to this day – within a year. Like many open source tools, extensibility is the name of the game. Using third-party modules, administrators can customize the web-server to meet their needs: LDAP, authentication, Tomcat, RSS, SSL and more. Apache is so well respected that Apple even bundles a version with OS X. [Linux, Windows, MAC OS]

For deploying J2EE applications, use the #1 choice among Java developers: JBoss Application Server. JBoss provides functionality for deploying large-scale web applications; functionality such as transactions, clustering, security, persistence, cache, and remote method invocation. Recently, JBoss received $10M in venture capital funding! [Any OS; Java]

Hopefully, I’ve sketched an open source foundation for you. Like any plan, the devil is in the details, but there’s plenty of help out there. Start by visiting the links in this article. Then download and install one. Try Firefox – it’s probably the easiest. Run it next to IE and I think you'll be impressed. As you gain confidence, try some of the others. Remember, you can take it one step at a time. Renovate, don’t try to build a brand new house.

Posted by Doug Griswold at 10:19 AM | Comments (0)

October 21, 2005

You forgot to dot your i’s and cross your t’s.

So, you’ve worked on this document, presentation, customer solicitation, etc… It’s not perfect, but you’re pretty happy with it and you’re ready for feedback. Trouble is, last time you sent something out for feedback, you got in an argument with the person providing the feedback. How can this time be better? How can you get the review that you want and need without the feedback loop resembling a root canal? Try a few of these suggestions.

  1. Set guidelines for the type of feedback you’re soliciting. If you don’t want every detail nitpicked, say so at the start. “I’m not finished with all the details yet, but I’d like some general feedback on the layout and content.” Starting everyone off on the right foot lays the proper groundwork for a constructive review.
  2. Choose your reviewers carefully. If you always end up in a heated discussion with a particular reviewer, wait to get that person’s feedback till you’re finished with the item. You’ll have more confidence in it and you’ll be ready for the nitpicking.
  3. Keep your cool. You’re both on the same side here. Try to figure out what the reviewer really means. If you think they’re bogged down in minutia, thank them for their feedback and move on to the next person. As teammates, you’ll need to work together in the future - Avoiding conflicts will make that easier.
  4. Ask questions. If you don’t understand the other person’s comments or don’t agree with them, ask for clarification and examples. Questions like, “I don’t understand your comment.” or “How is that different than the wording that is already here?” can facilitate discussion while letting the reviewer know you’ve heard their feedback.
  5. Use the spell checker. This might seem like a no-brainer, but you’d be surprised. It might not be perfect and it might give poor advice sometimes, but it will help with blatant typos. Eliminating the obvious mistakes will reduce the number of markups and allow the reviewer to focus on content. Isn’t that what you really want?
  6. Say thank you. Just as it took you time to write the piece to begin with, it took the other person time to review it. Time they could have spent doing their own work. You may not always agree with what you heard, but if you work in a vacuum, you’ll never learn anything.

Like anything else, there are two sides to every discussion. As a reviewer, you have some responsibilities too. Keep these in mind.

  1. Provide positive feedback first. Remember, the person that just gave you this spent their time and energy creating it. We praise our children and pets for every little thing, yet often we don’t pay any attention to how we approach co-workers. Don’t they need positive reinforcement too? Starting off with something positive sets the tone for the entire discussion.
  2. Focus on content. Unless the document has so many typos and grammatical errors that it’s unreadable, limit your discussion with the author to content issues. Go ahead and give a marked up hard-copy back to them or suggest they run it through their favorite spell checker, but don’t go through every item with them; especially not in a meeting.
  3. Give concrete examples. Saying, “I don’t like this.” or “Why did you write it like that?” just raises the hackles on the author. Try giving an alternative wording whenever possible. If it really sounds better, chances are the author will want to use it. Doesn’t that benefit the whole team?
  4. Unless you’re an English major or work in technical writing, don’t give grammar lessons. If you think something sounds odd, say so, but don’t lecture on the finer points of the language. Is that really helping the author? If things are really awry, suggest Strunk and White’s The Elements of Style.
  5. Be tactful. Remember that people develop attachments to their work. Whether or not you intended to be harsh, they are likely to take the criticism personally. If you think about how you would feel as the recipient of the feedback, you’re more likely to take a softer approach. Benevolent honesty is a good motto.
  6. Limit your feedback. Ask yourself, “Is this something that really needs to be changed or is it just different from the way I would have done it?” This is not your work and it doesn’t have to be. It does need to be correct. Does that mean you need to give all of your feedback at once? If there are too many changes that need to be made, chances are there will be more than one review. So, hit the highlights… cover the most important things first. If you’re afraid this is the only review, meet with the author one-on-one afterwards and offer to help.

Respecting the author’s feelings and their writing style may not be easy, but should be part of your responsibility as a reviewer. After all, we’re only human. Hopefully they’ll remember that when they’re reviewing for you.

Posted by Doug Griswold at 09:53 AM | Comments (0)

October 14, 2005

Cultivating ideas: helping your ideas take root

Ideas are like seeds. They must be planted, nurtured, and cared for. Throw in a little luck and the harvest will be sweet. If others have proposed this analogy, and I’m sure someone has, please bear with me…
Seth Godin’s great book, Survival Is Not Enough looks at companies, and the ideas that drive them, through the microscope of Darwin. Memes combine, mutate, and grow into complex mDNA structures within organizations.

Instead of evolution, what about farming? Cultivating ideas. Everyone’s familiar with farming – well everyone except those who think food magically comes from a can. Using some of Seth’s points, let’s apply a farming metaphor.

Harvesting ideas is probably as difficult as farming. Remember that all the results might not be golden, but you’ll learn from each and every one.

Posted by Doug Griswold at 10:05 AM | Comments (0)

October 07, 2005

Is Open Source Software Right for You?

Open source software is a growing trend, and with news that open-source project JBoss received $10 million in venture capital funding, how can you not notice? Corporations such as IBM, RedHat, Sun, and HP are all investing in open-source. The volume and breadth of projects is sometimes overwhelming; there are currently over 90,000 projects on sourceforge.net, with more being added every day.

What exactly does “open source” mean? It means the user has the right to run, copy, modify, and distribute the software for “free”. “`Free’ as in `free speech,’ not as in ‘free beer’ ”, to quote the Free Software Foundation. “`Free software’ is a matter of liberty, not price.” See also, the Open Source Initiative and the Free Software site.

Proponents of open source claim its benefits include the contribution of a large base of developers; more developers (“eyes”) equates to less bugs, increased stability, and increased reliability; improvements get rolled back in; you are not tied to one vendor; and you have the ability to debug and make modifications if needed.

Opponents to open source claim that the open source model is a “bunch of hackers” just playing in their spare time. By purchasing a proprietary product, you are purchasing the expertise of their staff, are therefore getting a better product, and will also (potentially) receive support.

So, how do you decide what’s right for you? In answering this, ask yourself these questions:

  1. What type of software are you evaluating? Is it geared toward a horizontal or vertical market? Software geared toward a horizontal market, and therefore applicable in many areas, is a better fit with open source. This type of software has a broader user base, and widespread use increases value; examples are network and communication software. Software geared toward a vertical market tends to lean toward the proprietary side. This software may require more specialist skills; examples are device drivers and financial software.
  2. Does the project have “many eyes”? Look for information such as how widely-used the software is and how active the project is. Look for statistics like use and download stats, number of developers on the project, date of the last release, activity of user/developer newsgroups, and the project’s version number (a 0.5 release may not be “ready for primetime”).
  3. Do you want the ability to debug the code, or would you rather rely on the vendor for updates? When incorporating third party software into your product, do you sometimes wish you could “get inside there” and see what’s going on? Be able to debug inside their code? If so, open source may be the answer – or, if the proprietary vendor allows it, you could pay that extra money to get the source code. Do you want the ability to fix any issues you may find, or would you rather leave that up to the vendor?
  4. What level of support would you like? Do you want the ability to call someone on the phone for help? There are a number of open source tools for which support is provided, usually for a fee – for example, RedHat provides support for its distribution of Linux. However, many open source projects do not provide that type of support; they do provide user newsgroups where you can search for questions and answers and submit new questions. With proprietary software, support is usually provided for a certain period of time, with additional support for a fee.
  5. Does development of a new tool align with your business focus? If the alternative to incorporating open source software is in-house development, ask yourself if it aligns with your company’s business focus. If the tool does video compression and your company sells video processing software, then go ahead – you know what you’re doing here and can hopefully improve it to help differentiate your product. However, if at the same company, you’re looking at a tool to handle network transfer of videos – that’s a different story. Why re-invent the wheel? If you develop it in-house, but your competitor releases their product in half the time, how do you explain that?
  6. And, of course, how much do you want to pay? We can’t forget that one!

The decision to use open source software in your business is up to you. At Llamawerx, we believe the open source model is a good one and rely heavily on open source software. Other companies are doing the same; Linux is now the preferred operating system for most servers. According the opensource.org, the Weather Channel, which can serve up to 50 million pages/day, just switched from proprietary to open source software cutting its costs by 1/3 and increasing its web-processing capacity by 30%. For information on open source projects, visit www.apache.org and www.sourceforge.net.

Posted by Doug Griswold at 10:37 AM | Comments (0)