Tom Petrocelli's take on technology. Tom was a IT industry executive, analyst, and practitioner as well as the author of the book "Data Protection and Information Lifecycle Management" and many technical and market definition papers. He is also a natural technology curmudgeon.

Showing posts with label Open Source. Show all posts
Showing posts with label Open Source. Show all posts

Wednesday, February 17, 2010

Into the Matrix with Neo

Everyone needs a hobby. Lately, mine happens to be writing code. I used to be a software engineer so I used to code for a living. Over time two things happened. One, it ceased to be fun (that's why we call it work folks) and two I didn't need to do it anymore. As my career transitioned into management and then executive management, I rarely got my fingernails dirty with real coding projects.

What's good about that is that coding could become fun again. So a couple of months ago I decided to start on a new coding project. I had two goals – learn some new technology and do something at least marginally useful. That has led to my latest project, a document management system built on the idea of relationships between documents.

Most document management centers around classifying documents in some fashion. Whether you use a hierarchical category system or free form tagging schema, it's about putting documents in buckets. I wanted to add something else to the mix. Documents rarely stand on their own. They exist in relationship to other documents. Think social networking for your files.

Unlike people, documents don't know other documents nor do they care if another document is having lunch at Spot Coffee. Documents do belong to an ecosystem just like we humans do. They refer to other documents and are part of larger documents and collections of documents. They have their own relationships.

To model these relationships in more traditional databases is difficult. Using an SQL RDBMS you end up with a lot of cross reference tables and lots of Joins. It's not what SQL or relational databases were designed for. Instead, I decided to use a graphing database called Neo. Graphing databases organize data as a series of nodes connected by explicit relationships. This allows you to build applications that focus on finding like objects. For example, what documents are referenced by this one? Or, which are the child documents to this one? These questions are more easily answered by graphing database.

To date, Graphing databases are primarily used for social networking applications. That makes sense since managing data by relationships sits at the core of social networking. Graphing databases have a lot of other potential uses. They would be great for modeling workflows, simulations, and building ontologies, all hot areas of software.

Neo has a few warts. It's still only a release candidate so things are still changing. The recent most version, bringing Neo out of Beta and to an RC, changed the names of several basic objects. That forced me to go back and recode certain key sections of the application. The online documentation is good at documenting the API but light on how to make things work right. Figuring out the transaction model, even though it's pretty simple, required digging into the class level documentations and a bit of trial and error. Might be a book in there. Hmmm...

In the end, I won't have a commercial grade application. My GUI design skills are too poor to make it look and behave the way I want it to. However, once my pet project is done, the application will at least be useful. I will have learned something interesting and it will have been fun. What more can one want out of a hobby.

Monday, January 11, 2010

What's On My Mind

A little career downtime can sometimes be a good thing. Whether your sabbatical is planned or, as in my case unexpected, it represents a rare opportunity to delve into new areas of interest. Academics and clergy do this regularly as a way of expanding their skills, working on projects that they can never get to, or simply as a way of recharging their psychological batteries. This is not an extended vacation or time to simply relax. Career downtime has to be used to expand your horizons.

Consistent with my beliefs about downtime, I've been using my current “sabbatical” to embark on areas of discovery that I previously hadn't time for. As my Twitter followers know, some of my time was used to explore the biotech industry. On the more geeky side I've been going back to my software roots to look at things that have fascinated me for a long time. Namely, how to manage unusual or difficult data stores in different ways.

More precisely I've been looking into:

  • Managing large unstructured data sets, a constant problem in certain industries;

  • Applications driven by relationships between entities more than their structure and;

  • How to make smaller applications by embedding data management into them.

This journey of discovery has led me to a number of software technologies that I find very interesting. Let me share with you what's on my mind these days.

Managing Metadata

One of the major bugaboos of the last decade or so has been dealing with the explosion of unstructured data. The simple solution is to wrap metadata around the real data. This descriptive information adds the machine manipulable context that unstructured information lacks. However, managing the metadata itself has become a big problem. Individual metadata is generally small and many data management tools, such as relational databases, are overkill. Implementing a full blown SQL database to manage metadata is like hunting deer with a tank. Expensive and more than you need to get the job done.

XML has helped but managing XML text files is difficult when there is a lot of them. You might need to open and close lots of small files constantly, straining a lot of file systems. The other option is to process one giant XML file which can be processor intensive and slow. Worse yet, these are decisions you have to live with and are hard to change once an application is underway. XML is not ideal for dealing with relationships between entities either.

Social Media Does Change Everything

Okay, I don't believe social media changes everything. What it does do is address the fact that humans are social creatures. We view the world as a series of relationships. Relationships between ourselves and the world around us, between each other, and between everything that makes up the world. The natural schema for a human is relationship based.

Computers don't always reflect that. They tend to be concerned with structures more than the quality of a relationship. This is one of the problems with SQL. It is damn hard to code reciprocal relationships, the strength of a relationship, and the ways entities may be interact. A good DBA can tell you how to do it but it gets complicated quickly especially when modeling real human type relationships.

Small Applications That Can Grow

Enterprise applications have gotten huge. Worse yet, they require boat loads of infrastructure. This is why enterprise applications developers always talk in stacks. LAMP stack, WAMP stack, .Net stack. Developers can declare that their apps aren't really as big as they are because they assume that a stack is in place.

There are a lot of negatives to relying on these stacks. For one, you are at the mercy of whoever is designing the pieces of the stack. Applications also use different versions of the programs that make up these stacks, leading to compatibility problems. Not to mention finding an application that you love on a stack you don't support.

The biggest problem with stack-based enterprise applications is that they are not compact and simple. They don't port to small systems and devices easily. Try implementing a single user version of most enterprise apps. Who is going to install and maintain an Apache web server for one or two people? Cloud businesses like this since they provide an alternative but not all applications lend themselves to the cloud.

What Am I Looking At?

In thinking about these issue, I have come across technologies that address some or all of these problems. I especially like embedded data management tools. I especially like Derby and SQLite, Lucene, and Neo. Derby and SQLite are open source or public domain RDBMS' that allow developers to embed a SQL database in an application. Derby has a server version as well, allowing applications to be small and compact or to scale up to large enterprise size. Derby is from the Apache Foundation and Java-based. This allows it to nicely integrate with Java applications and object mapping frameworks like Hibernate. SQLite is C++ based making it excellent for embedded applications and is extensively used by the Mozilla Foundation. Being a Java geek, I'm planing on spending more time with Derby.

Another Apache project, Lucene, embeds a search engine in an application. With Lucene, a developer is able to manage large amounts of unstructured text using methods familiar to everyone. Lucene also works well with other types of data management tools to add search functionality to all kinds kinds of data.

One the other technologies that Lucene works well with is Neo. Neo is a graphing or network database (there is debate as to what the difference is between the two). Graphing databases view data a bit differently than an RDBM. Data is stored as key-value pairs called properties in an interconnected network of nodes. Finding data is through it's relationships with other nodes. With Neo, information is stored and retrieved in a way that humans organize information, by it's relationship to other data. This fits in well when modeling people or other entities that rely on interactions with others. Some examples are biological ontologies, proteins, and documents. At the moment I'm experimenting with Neo and Document and Content Management.

While there are a lot of things that stink about career downtime, if used effectively it can be a transformative experience. Discovery of this type almost always leads to something good. If nothing else, it helps us to grow as professionals and people. It's also better than sitting around watching television.

Monday, November 23, 2009

Take Your Hands Off My Hard Drive You Damn Filthy Ape!

If this is the future of computing, then I want out now.

Not something that I would typically say is it? I've had just about enough of the run to the cloud. The latest shove out the door is the announcement of Google Chrome OS. The name says it all. The entire OS will act like – basically be – a browser. No local applications. No local storage. While I'm confident that they will figure out how to cache data when you are disconnected (they do it now with Google Gears) it will still be completely dependent on the on-line applications and storage.

Am I the only one who gets what's wrong with this. Let's start with complete dependence on a service provider. We finally can choose broadband services from the cable people or the phone people or the cell phone people. Yet now we are supposed to become drones to Google. What happens if I don't like Google applications or have a problem with them holding on to my data? It's not like moving the data will be easy, if even possible.

And how comfortable are you with Google having sensitive data like a trade secret or the name of your doctor. That's what we are talking about here. Handing your personal or critical data to another company. Are we all confident that they are up to the task.

Can we talk availability? How many times in the last year has Gmail been out for some reason? Too many for anyone that isn't a casual user. So this probably isn't about the corporate folks but more on that later.

Do you mind tossing out all of your applications? That's what Chrome OS is all about. With Chrome OS, Google may well be able to control who you can get applications from. Like Google or their partners. So many people whine about how Microsoft dominates their lives. Okay. There are alternatives that don't require that you hand over your precious data to some company. Free ones at that. The proper reaction is not to hand over the keys to the kingdom to Google. Microsoft may own the application space but they don't own your data.

What worries me most is their approach to rolling out the software. So far, they are only releasing source code that is optimized for solid state devices. That reveals their strategy. Make this an OS that predominantly comes with consumer products. That way the great masses don't realize what they are buying into. Ooh. Look grandma! Cheap netbook/phone/blender doo hickeys. Sorry, but the “no local, persistent storage” aspect of this gives me the willies. Google wants our data and I'm not sure for what purpose.

So, call me a Luddite but I don't like what I see so far. Blindly handing over your data in exchange for a cheap device seems like a bad trade off for me. I'm not against cloud applications – in a controlled corporate data center. I am against people unwittingly handing over data to a faceless corporation with no guarantees. It's the dependency I despise.

The other night I envisioned a new Mac commercial in 2011. The first character is the slacker Mac guy (who never appears to have a job – just saying). The second is the boring PC guy who at least looks dependable. Finally, the Google Chrome guy who is a shadowy figure, dark, mysterious, and somewhat unsettling. As soon as the Mac guy starts to say something about the Chrome guy, the shadow reaches out and engulfs him. The last sound from slacker Mac is his muffled scream. The PC guy cries and wets himself.

And in the distance there is disembodied laughter. An eerie voice intones “Don't be evil” followed by maniacal cackling. Dissolve to black.

Thursday, October 22, 2009

eBox Shebop

Back in the day, Linux was mostly a geek toy. You had to compile the kernel from source and install all the applications including the GUI by hand. Even by Windows 3.1 standards, it was very technical and primitive. In those days, Linux's best attributes were that it was free and basically UNIX. A lot has changed since then. Linux has become a viable UNIX replacement in servers, helping to fuel the rise of a great many Internet companies. It has also tried, with limited success, to become a desktop operating system and rival to Windows and Mac OS X.

One of the biggest holdups to widespread adoption of Linux has been installation and configuration of software applications. Linux distros seem to subscribe to the philosophy that real men hand edit configuration files. It's the command line that separates the men from the boys. Linux is like a techie version of a sports car. It's about proving something. I just won't say what that something is. Package managers have done a lot to streamline installation but configuration has always been a black art. There are entire books written to help trained system administrators tackle SAMBA configuration. Not to mention every other major Linux package.

This might be fine for the hard core sys admin. It makes them feel superior to the rest of the morons out there. It doesn't work, however, for the vast majority of people milk fed on Windows installation and GUI-based configuration. Even when there are decent configuration tools (which often, in an awesome display of irony, have to be installed and configured separately) and package managers, everything is piecemeal. To set up a user on a box requires configuring many different applications using different tools, some only available from the command line. All of this has been holding back adoption of Linux as a commercially viable alternative to the Windows hegemony.

The good news is that this is changing. A fairly new distribution called eBox has solved many of the problems that have plagued Linux server installation and maintenance. Perhaps it's fair to say that eBox is a mega-distro. It is based on Ubuntu Server, which is itself Debian based. What sets it apart is the comprehensive web-based management tools. They allow single screen configuration for many typical tasks that a sys admin faces. For example, you can set up a user account along with associated file shares, email accounts, and groupware configuration all from one place. This is even better than Windows which still relies on wizards walking you through the process.

Think of it this way. Old Linux is like shopping on a busy city street. You have to walk and walk to lots of individual stores to get what you want. Windows Server is like a department store. Everything is in one place but you still have to go from department to department. eBox is like a personnel shopper. Everything comes to you.

One of the best features of eBox is the initial package installation. It groups packages into functions like networking, security, communications, office (basically file and print services), and infrastructure. This makes it easy to configure a server for specific purposes such as an office file server or a network gateway. The documentation clearly shows where to place the different types of servers in your network to get maximum safety and effect.

eBox is not perfect by any means. Installation (on a virtual box I admit) was difficult. Not difficult in the sense of hard to do since it walked me through every step. Difficult because it hung up a bunch of times. The root password is not obvious. I wasn't asked for it and it isn't the same as the initial admin account as is typical of most Linux installations. That severely restricts what additional software I can install on the server.

While the seection of packages are good, there is not database server package. I know that PostGre SQL server is installed but configuration for it is not included in the web-based configuration system. Application or database server and developer packages would be a good idea. Virtualization packages would also be nice in the future. Maybe a “cloud” package although I suspect that way madness lies.

eBox is an important step forward in making Linux a viable alternative for enterprises of all types but especially for the Small-Medium Business market. With limited or no IT resources SME organizations need easy setup, configuration, and management. That was hard to deliver using Linux before eBox.

There is one truly unfortunate aspect of eBox: it's name. It shares said name with a small PC product from Taiwan. It's bound to cause confusion. I suggest changing it as soon as possible.

Disclosure: The eBox software was provided for free. Of course, it's provided to anyone for free. Just download it from their web site. So, I guess this doesn't really count but why mess with the FTC.

Tuesday, August 04, 2009

Tom's Cheapskates Roll Call of Productivity and Multimedia Apps for the Truly Frugal

When I blogged about Microsoft and Netbooks, I made the statement that nobody uses OpenOffice.org because they already use Microsoft Office. While I still maintain that is true, it doesn't mean that you can't dispense with all those expensive software applications in favor of open source. That includes Microsoft Office.

In fact, it has become even easier to put together a sophisticated set of software for everyday use using only open source or freeware offerings. There is now a critical mass in productivity and multimedia applications that can be had for nothing. This is the good news.

The bad news is that the free stuff is rarely as elegant as the commercial versions. In almost all cases, the GUI leaves much to be desired and not just the eye candy part. Most free software seems to have been designed by and for computer geeks. There is a somewhat old school feel to much of it and, at times, can be downright confusing to use. If you compare software like Audacity, a sound recording and editing tool, to commercial software such as Pro Tools or even the software that comes bundled with a Mac, the interface falls woefully short. This means the learning curve is high, especially for non-professional users.

So, I now present to you my Cheapskates Roll Call of Productivity and Multimedia Apps for the Truly Frugal. The first thing you will probably note is that there is no video editing software on the list. I have never found a free video editing suite that is reliable (as in doesn't crash a lot) and so I stick with bundled commercial applications.

Office Applications: OpenOffice.org

Okay, they need to figure out the name problem. Because of trademark issues, the OpenOffice.org people have to tack on the .org to the name of the suite. That's stupid. Get a new name. No one will care.

Strengths: It's a complete office suite,with MS Office compatibility and native exporting to PDF. The Writer word processor application is a darn good word processor. The presentation and spreadsheet applications are also pretty good though not great.

Weaknesses: The Draw program is just plain lame, hard to use, and lacks features. The OpenOffice.org GUI is ugly and many icons don't look like anything. The database program seems more techie than Access and lacks application tools.

Email: Thunderbird from Mozilla

This is an example where the open source/freeware version far exceeds the commercial variety. Simply the best email client for most people with awesome anti-spam filters. Add the Lightning add-on for calendaring and you have everything you need.

Strengths: Manages multiple email accounts as one. Freely available add-ons give Thunderbird all kinds of features that are not found in other email clients without creating bloatware. The anti-spam and security features are unbeatable. It's fast and easy too. Lots of support for use with online services like Google Calender, Remember the Milk, and Trip It. Thunderbird integrates news feeds from RSS, ATOM, and Newsgroups into your email.

Weaknees: No native Exchange or Blackberry sync support. This kills it in the business environment. Yes you can have Thunderbird access the same LDAP compliant address books as a Blackberry and make Exchange available as a POP server but that's a kludge. Could also use IM support.

Browser: FireFox from Mozilla and Chrome from Google

This isn't fair of course since almost all browsers are free. Still, you don't have to live with Internet Explorer. As a side note, this is what I find so odd about the recent EU slapdown of Microsoft. They didn't seem to understand that you can install five other browsers with less effort than uploading photos to Flickr. I still don't get it. But I digress...

I could write for days about the strengths and weaknesses of these two browsers. Needless to say, they are better than IE and everyone knows it or doesn't care.

Image Editing: GIMP (Gnu Image Processor).

Despite another lousy name which makes it sound both broken and politically incorrect, GIMP is the best image editor this side of Adobe Photoshop. You can actually get an add-on that makes it look and act sort of like Photoshop.

Strengths: Up to your eyes in features and filters. You can pretty much do everything imaginable in GIMP. Lots of add-ons give you all kinds of additional image manipulation features.

Weaknesses: A lot of time add-ons simply don't work and they are always tough to install. The standard GUI is also quite hideous which is ironic given what the software does. It can be hard to do more complex manipulations that commercial software has wizards for.

Sound Editing and Recording: Audacity.

Gotta love the name which is clearly a play on words. Audacity is a sound recording and editing program with a host of features including the ability to use industry standard VST plugins. This makes Audacity a great tool for the amateur and a platform for the pro.

Strengths: Gobs of features. Does all the basics such as analog and digital recording plus lots of signal processing to clean up what you record. My favorite feature is the ability to mark places in an analog signal and export them as separate MP3 files. If you are ripping an old analog record, this is a very necessary function.

Weaknesses: No mixer. You can mix but it is not as simple of moving a bunch of virtual sliders. The interface is busy and complicated. Compared to commercial offerings like Pro-Tools, Audacity can be confusing. A lot of the plugins you find on the Internet don't work well or at all. You need to have a good grounding in signal analysis or sound engineering to do most anything.

Instant Messaging: Digsby

I've tried a lot of IM clients including Trillian and Pidgin. None compare to Digsby. What makes Digsby special is that it can handle a wide range of Internet-based messaging. Not only does it connect to every major IM system, it can also connect to Facebook, Twitter, LinkedIn, POP email, and Online Email like Yahoo. Email support mostly allows you to preview messages and launch the real site or client, but that is more than most of the others do.

Strengths: Extensive support for all the major (and quite a number of the minor) IM networks plus social networks and email. Malleable and attractive interface with support for skins. Good Twitter support.

Weaknesses: Email support is not complete so it cannot be used as an all-in-one messaging platform. Digsby also lacks user created plugins which limit functionality compared to more open offerings such as Pidgin. It is also the only program mentioned here that is Windows-only. The website says that “ digsby is coming soon for Mac and Linux!” but that is not the same as now or even “November”.

I'm sure there are a bunch more if I took the time to think about it. What is most encouraging is that the ability exists to put together a complete set of desktop applications for nothing. You just have to compromise a bit, especially in terms of support for corporate systems and GUI. That is might be enough for some folks to pass. Too bad. They are missing out on a great opportunity in these frugal times.

Wednesday, June 18, 2008

Waiting on Extensions

I don't know when the Mozilla Foundation will finally get this straight but here it is again - some extensions really matter! For those upgrading to Firefox 3.0, there will be grave disappointment when they discover certain popular and key extensions are not yet updated.

I get the philosophy of having a lightweight browser where you add the features you want through extensions. However, some extensions are so popular that they take on the same weight as a standard feature. Ultimately, if the extension is not ready, then the whole software package is not ready. You can't act like extensions and plugins are part of the rich universe of your product and then ignore them when you launch a new version of that product. When the extension doesn't work it is the same as having removed a feature.

Take IETab. This extension is not only great to have, it's essential. There are still a great many websites that are built for Internet Explorer and won't render or function correctly in Firefox. IETab elegantly deals with this problem by allowing Firefox to use the IE engine in a tab. Other extensions simply launch IE which is not what you want when you open a bunch of tabs. This is a critical feature for Firefox to be useful outside the closed world of Open Source people who have disdain for Microsoft. Yet, IETab is not ready for download into Firefox 3. Heck, I can't even find it in the Add-ons site anymore. It only seems to exist at the development site, Mozdev.org.

Every time Mozilla launches a new version of Firefox or Thunderbird, we go through this. Half of the important extensions don't work or are unavailable from the automatic upload service. This is too consistent a problem to be accidental.

It calls into question the whole idea of community development. I'm not criticizing the author of IETab. They have better things to do than keep up with Mozilla. It's up to Mozilla to make sure these important extensions (really features) are available. If the community can't do it then Mozilla has to. This is the millstone around the neck of the Open Source community - inconsistent support for vital features. If Mozilla has to rely on people who do this as a hobby for their product to be functional, it will never be truly competitive.

Since I hate complaints without solutions here's what I suggest. First, find out what extensions are important to the majority of users. These are now features. Whether you make them available as a built in feature or an extension doesn't matter. They just have to be available. Second, design Firefox to insure backward compatibility with older extensions. A lot of extensions won't load because they say they only support the last version. My guess is that many of these extensions would run fine if it weren't for the version check. Maybe the solution is as simple as a override on the version check for a particular extensions.

Finally, stop releasing product until you have tested the critical extensions. Recognize that your work is not done until the extension maker's work is done. It would also help if the latest version is available for automatic update. Sometimes extensions are available on the author's website for quite some time before they hit the automatic update facility.

Luckily, I backed up my extensions and kept FireFox 2.0 around. I'll stick with that until I know all my critical extensions are updated. This is not the way I would have liked it to go.

Thursday, June 05, 2008

Virtualization Made Easy


I've worked with a number of virtualization products including VMWare and QEMU. While they are fine products and definitely get the job done, I've always had two complaints about them. First, they are tough to configure. In a lot of cases, getting a virtual machine up and running is time consuming and frustrating. The second complaint is the footprint it leaves on the system. VMWare in particular uses up a lot of system resources and can take forever to get loaded. Now, VMWare folks, don't get angry. I like your product and it is definitely industrial grade.

That said, I like VirtualBox from Sun a whole lot better. To begin with, it has a very small footprint of it's own. It loads quickly and takes up few resources. The interface is clean and easy to use. It has wizards that walk you through setting up virtual machines easily. There are presets for different types of common operating systems such as Linux and Windows variants. Setting up virtual disks is a snap and connecting to CD Image files (commonly known as ISO files) is equally easy.

Does this make VirtualBox the most robust, industrial grade virtualization system for use in data centers? I dunno. For the casual user who might want to do some cross OS development or a QA engineer testing on various platforms, this is so much easier than anything else I've tried. You don't need expensive training. You don't need the "Enterprise" addition to get anything meaningful done. And you don't need to read a manual the size of the New York City phone book or hire a consultant for the equivalent of the GNP of a small country just to do the basic stuff.

Some of the ubergeeks out there will probably assume I'm just stupid. They will argue that VMWare and its ilk is plenty easy. Argue all you want. I've used the others and this is, by far, the easiest to use and the quickest to deploy.

Besides being easy, it works very well. I have installed a variety of common operating systems, including various Windows and Linux systems, as well as more unusual ones like OpenSolaris and FreeDos. With the exception of OS/2 Warp (I don't have a floppy drive and the OS requires one to load) and Windows 98 (still don't know what that was about) everything installed flawlessly. I can't say I've had that same experience with other virtualization software.


Oh, and did I mention it was free. That's right. It Open Source from Sun. Sure, if I was deploying this in a data center I would pay for the service and support. At least I would have been able to fully evaluate what I was paying to get serviced and supported.

Virtualization is a great idea. It beats dual boot arrangement or having multiple machines. VirtualBox has made it very easy and cheap to do. It's great for the occasional or medium duty user.

Tuesday, September 25, 2007

A House Divided Against Itself Cannot Stand

I've been watching the fratricidal spat between Sun and NetApp with increasing interest. Since I started working for IP.com, I've been much more immersed in philosophy and mechanics of intellectual property. Since patent litigation is complex and I'm not a lawyer (nor do I play one on TV), I am not going to comment on the validity of the suits. If you are technical enough, go ahead an read the patents involved and the legal filings. Draw your own conclusions.

What I don't understand is why there wasn't another way. Patent suits in the computer industry are notoriously bad for both companies. For those without long-term memory, please recall the patent infringement suit that Crossroads brought against a bunch of companies including Chapparal. Look how that worked out for them. They are not exactly Brocade now, are they? That might be a bad comparison given Brocade's recent legal woes but you get the picture.

In the computer industry, patent litigation breeds several effects. One, people stop buying stuff from both companies. Let's face it, do you want to buy a product that the company may not be able to sell in the future. Anyone who doesn't think that the SCO suit effected the adoption of LINUX is kidding themselves. The result of this suit will be to slow down sales of NetApp boxes as much as the ZFS file system. Since Sun is giving it away as open source, you have to wonder who this will hurt more, at least in the short term.

The second effect is to reduce the collaboration so necessary to the functioning of the industry. Suits of this nature build mistrust and fear. This, in turn, makes it less likely that companies will want to work together on certain projects. Who wants to work with the folks that might sue them tomorrow.

What is almost sad is how these two companies have let an opportunity pass by. That's a polite way if saying they had a chance here and screwed it up. Let's face it, Sun's storage offerings have always been weak. They are the almost-rans of the storage industry.

NetApp is constantly fighting for business against the stronger EMC, IBM (with its legions of loyal customers), and a host of smaller, nimble competitors. A connection with Sun would have benefited both. Sun has the breadth of hardware and software products and NetApp the storage strength. Instead of beating the heck out of each other, they should have decided to work together, whatever that takes.

I firmly believe that intellectual property is the cornerstone all industries, especially technology industries. It does need to be protected strongly. However, like all assets, it's there to be used constructively. This is not a good use of valuable assets. Instead, the patents are being used as blunt weapons. Sort of like using a gold bar to beat someone upside the head, rather than buying food.

So, here's my message to Sun and NetApp, two companies I respect - Stop fighting like dysfunctional siblings. Instead, bury the hatchet now (but not in each other's heads) and work together. I will even propose something radical - a merger. I'm sure the financial people will tell me I'm stupid but from a market perspective, it makes sense. You would end up with two stronger companies, better positioned to compete with the tech companies emerging in Asia and the already strong domestic competitors.

Make love, not war!

DISCLAIMER: Now that I work for another company other than my own, I need to point out that this blog is all my own thoughts and opinions. I do not represent in it any of the positions of my company. If you think it's stupid, then I'm the one you should blame. If you like it, then I'm brilliant but so is IP.com for hiring me. While I'm entitled to my opinions, when I'm doing my thing as an IP.com executive, I keep some of them to myself.

Friday, September 14, 2007

SCO Gets Pinned To the Mat

It looks like we are finally winding down the sad history of SCO. For those who have been living in a cave these past few years. SCO has been locked in a brutal legal battle with some of the software industry's heavyweights such as IBM and Novell. Before you start feeling sorry for them, their wounds are self-inflicted.

SCO was once an early purveyor of UNIX on PCs. That may not seem radical now but in the late 1980's it was completely insane but very cool. Their products were good but the company foundered and sold its assets to what was then Caldera, one of the many Linux companies started in the 1990's. So ended SCO Phase 1.

Caldera then changed its name to SCO and abandoned any pretense of selling software. Instead, they sent nasty letters to Linux customers accusing them of absconding with SCO's intellectual property and threatening legal action. They then went about suing companies involved in Linux, picking on IBM especially.

One problem: They didn't actually own the copyrights to UNIX. Oops! According to court documents, when the original SCO bought the rights to UNIX from Novell (who acquired them from AT&T), they got licenses to distribute UNIX but not the actual copyright for the software. In fact, Novell explicitly kept the copyrights for themselves. When SCO phase 2 realized this, they claimed that they should have had them and it was a misunderstanding on Novell's part. The judge didn't see it that way. Now, you can't sue someone for misusing something that isn't yours to begin with. So SCO had nowhere to go and might actually end up owning Novell money. With that in mind, SCO filed for Chapter 11 Bankruptcy. While not as bad as liquidation, it's not likely they can continue to exist when they own and do practically nothing of value.

Usually this would be sad, but not in this case. This is an example of an the worst sort of patent troll - the highwayman. Unlike many trolls who have legitimate intellectual property and only want a fair deal fro a license, SCO is the sort that lies in wait and then threatens someone with a loaded pistol. Only in this case, there were no bullets in the gun. Once they ran into someone (Novell) who was bigger and unimpressed, they got their clock cleaned. They were shooting blanks, so to speak.

Thus, we shall let's raise a glass in remembrance of SCO phase 1. Too bad what happened to them. Let's laugh at SCO phase 2 and hope that they serve as an object lesson to those who only want to disrupt and suck on the teet of technology, and not create. They will get their just desserts.

Monday, March 05, 2007

My Top Five Reasons Why The Open Source Community Should Stop Whining

I like open source products. I use them, write about them, and recommend them. What I can't stand is the constant whining and sniping about Microsoft from vocal members of the open source community. They position Microsoft as the Evil Empire. The popular wisdom amongst the anti-Microsoft crowd is that the company owes its success to being technology buccaneers. They steal other people's good ideas and then crush those people under their mighty fist.

I see this every day. Every press announcement from Darth Ballmer or Gates is seen as a pronouncement from the depths of Hades. Vista was lambasted even before it was released and not for the reasons it should be lambasted. The loudest and most persistent whining was over the mutual patent agreement with Novell. It's not a sign of the apocalypse. Companies make these kind of arrangements every day. It's called covering your behind.

What these folks fail to see is that Microsoft is good for open source. In the spirit of giving back to the open source community, I have compiled my top five reasons why Microsoft is good for the open source community. Take heed and maybe you will have something to think about.

5. Jealousy Makes Open Source People Look Like Babies. Oh grow up! When all you can do is cry about Microsoft you look silly. Wah! Wah! Bad Microsoft took all the corporations away from me. Stop telling us why they are lousy and tell me why open source is good. “They stink more” is not a an effective communication strategy. Nor is “Because Microsoft is a bunch of meanies.” If you can't present a compelling reason why your solution is better then maybe it's not. What's sad is that there are a lot of compelling reasons for open source. They just get lost in the self pity.

4. They Have Figured Out the Desktop. Unlike everyone else, they figured out that mix of features and cost that works on the desktop computer. In fact, I think pushing the “Wow” factor of Vista is misguided. People who want eye candy pay the extra it takes for a Mac. People who want really cheap but more geek factor use a Linux desktop. Microsoft has the mix right and is an example for future desktop operating systems. Good enough and cheap enough.

3. Microsoft Actually Makes Some Good Software Sometimes. Sorry but it's true. Let's face it, OpenOffice.org is a copy of Microsoft Office. And every word processor touts MS Word file compatibility, even Google Docs. In this instance, Microsoft became the leaders by making good software such as PowerPoint (which created an entirely new category of software). You can't act like everything they do stinks. It's simply not true or fair.

2. The Eye of Sauron Effect. Without Microsoft to draw their attention, open source software would attract the black hats. For proof, look at the growth in the number of Firefox attacks since it started taking market share from Internet Explorer. Also keep in mind that the short comings of open source software are often overlooked because people are busy complaining about Microsoft.

1. Competition is good. If Microsoft did not exist, then open source would stagnate. Without something pushing the development, without a sense of oneupmanship, it would be hard to justify the effort that goes into open source development. The open source community needs a big monolithic company as its foil. Otherwise, they have no reason to exist.

The unkindest cut of all is that Microsoft actually helps promote open source products. Check out the MSN Tech site. Right on the front page is a link for Firefox and other open source products. I'm no Microsoft apologist but fair is fair. Criticism is fine but constant attacks are unproductive.

Stop the whining and crying and get on with making software. If you make it better than Microsoft then you deserve attention. Otherwise, you end up looking like a crybaby. And here's the world's smallest violin playing just for you...

Friday, February 23, 2007

Back To The Future with Google Apps

I am generally a proponent of Software as Service (SaS). To me, the advantages are clear. With central control you eliminate the costs associated with updating and distributing client applications. It's also much easier to share information that resides in a central repository. Even client-server applications, where data is stored and managed in a central database, have the problem of client distribution. Strip away the GUI and make it a web page and you will achieve cost savings. SaS makes the most sense for enterprise applications such as MRP, CRM, and other three letter acronym systems. It also works well for social networking. What I don't get is SaS for office productivity applications, such as word processors and spreadsheets. I'm not even convinced of web-based e-mail except as an adjunct to a client-server environment or as a low-end, free, consumer product.

Google has been rolling out free versions of its word processor and spreadsheet products for months. They hope to entice corporations, big and small, to use this service instead of buying standalone productivity applications such as Microsoft Office. Google, like Yahoo and Microsoft, has been selling premium on-line e-mail packages for quite some time and think office applications dovetail nicely into this business. The e-mail services have been popular with individuals and small businesses because of their low or no cost. The fact that they lack the features of Thunderbird or Outlook matters very little to the technophobic low-usage public that doesn't want to install and, more importantly, configure an e-mail application. However, that won't be a problem for business of more than a few people.

What Google seems to be recreating is the ancient IBM PROFS suite. PROFS was developed by IBM in the 1970s and deployed on mainframes throughout the US Government. It had an integrated e-mail and calendaring system and was often used for word processing as well. PROFS got killed by client-server e-mail systems in the 1980s, though it lingered on under the name OfficeVision for quite some time until finally replaced by Lotus Notes and Domino.

PROFS became irrelevant for the same reasons that Google Docs and Spreadsheets are a tough sell for me. They can't create the kind of user experience you need in a word processor or produce the range of features desired in a spreadsheet. Even with all the new techniques for enhancing user experience, these applications are slow, quirky, and lacking in features when compared to established office suites. Even more importantly, you need to be tethered to a high speed network connection. That eliminates the ability to work on an airplane, secluded beach, or anywhere else that you can't get a broadband connection. A secure and reliable broadband connection at that. Add to that all the normal problems of network applications such as network congestion and overloaded servers – again the problems of mainframe applications – and you have to wonder why we seem to be going backwards in time.

There are also some special problems associated with SaS for office applications. For starters, you have to feel comfortable having your intellectual property and trade secrets housed off-site by different company. That pretty much killed the Storage Service Provider Market five years back. It scared the pants off corporate security analysts to have someone else control many classes of corporate data. Will spreadsheets be okay somehow? What about privacy? Will there be problems if I write a performance review or termination letter in Google Docs?

A key argument in the sales pitch for office SaS is that the cost of applications such as Microsoft Office are high. True enough. The latest version of Office is very expensive not only to buy but to deploy. You have to believe that the benefits of the revamped Office interface will pay off enough to overcome the costs of retraining and supporting confused workers.

There are alternatives that don't include a feature poor service. You can avoid the high purchase costs of upgrades or even new deployments by using open source applications such as Thunderbird for e-mail and the OpenOffice.org productivity suite. There are a number of lower cost commercial suites as well such as the storied WordPerfect. All of these are perfectly good for the modern office. Besides, no one says you have to update you word processor just because Microsoft has a new version. With on-line applications, you may not get the choice.

Ultimately, SaS makes sense when there is a natural advantage to being connected. In that case, you are going to be networked anyway. Intranet portals, order entry, customer management, workflow management, and group calendaring makes sense as a service. To be useful, they have to have access to a central data repository so you might as well make the whole system centralized. Productivity applications are designed around individual work and need to be available when there is no network.

Google thinks they can take us back to the days of PROFS. Nice idea but I doubt it will work. Centralized mainframe office applications suffered a quick death for a reason. Those reasons haven't changed. While they may get a bunch of consumers to use these applications and sell ads around it (nothing wrong with that) they won't get a sufficient number of corporate clients to make it viable as a Word or Excel killer. If I were Microsoft, I would be more worried about the Open Source community than Google's on-line apps.

Friday, November 10, 2006

Mozilla Firefox 2.0 Update

Well, I finally got Firefox 2.0 to work. It required an extension (Tab Mix Plus) that allows you to control the behavior of tabs and links better. I am mystified as to why this isn't a core function. It's not like this is new. There have been extensions for this since the browser was first released and tab management extensions are among the most popular. By leaving it to extensions, there is always some lag between when a new version is released and the functionality becomes available again.

I was also able to change the security settings. When I first installed the software, it didn't want to recognize a previous profile for my local web server. Now it does. I don't know why that is, just that it is. That's a bit disconcerting. Things should only change when you make them change, not on their own. Change is good. Unpredictable change is not.

So far, I can say that I don't see many major improvements in Firefox. Certainly not enough to warrant wallowing in upgrade hell. It's a bit quicker and appears to have a lower memory footprint. The tab and session management options are okay, though not as important as the ones the extensions provide. I would argue that Mozilla has it backward in this regard. Tab sorting and session saving could be left to extensions while link behavior configuration made a core function.

The other big feature is the anti-phishing capabilities. I can't say I've noticed anything. Perhaps I've been around the block enough times to not be fooled so I don't run into the problem. I'm guessing it has more to do with not using webmail very often. Whatever. It does not add to my quality of life. If this was in Thunderbird, then you would have something.

Probably the best part of the upgrade is that it forced extensions makers to upgrade their extensions and fix bugs. A bunch of non-critical yet annoying bugs have been fixed in add-ons. Perhaps these are really manifestations of the "under the cover" changes that pundits and Mozilla supports keeping crowing about. However it came about, I don't care. Stuff works better now and that's what matters.

So, once again, I love Firefox. I don't think this was much for a major release. It's still the best browser and IE 7.0 is still playing catch up.

Monday, August 07, 2006

Linux Breaks Apart Under the Open Source Model

I first worked with Linux back in the mid-90s. At the time there was only one real distribution, the Slackware distro, and it was a serious chore to install. It required manual configuration that was much more difficult than your average UNIX box let alone Windows or DOS.

Back then, as we experimented with Linux, one thing became abundantly clear - it was a one size fits all approach and that didn't work. The truth is, operating systems variations proliferate because different missions have different needs. A server OS is different than a desktop OS. A secure server is a totally different animal altogether. The requirements of multimedia development, programming, and games all vary widely. Linux in the old days really wasn't designed for that.

To be fair, Linux was (and technically still is) just the kernel. Diversity tended to be across operating systems then instead of within them. Desktop applications? Windows. Server applications? UNIX and maybe Windows NT. File server? Windows NT and Novell for the die hards. Multimedia and graphics? No question about it, go Mac.

This is in sharp contrast to the OS world of today. Starting with fragmentation of UNIX in the 1980's, we now experience so many variants of operating systems, that the mind boggles. The latest list of Vista variations shows six different types and that doesn't include the Microsoft server operating systems or versions of Windows for embedded and mobile applications. Windows Server 2003 also has a bunch of variations, such as the Storage Server, and Longhorn is expected to be completely modular. Just trying to figure out which future Windows to use makes my head hurt.

It should then come as no surprise that the once unified Linux now ships in more distributions (a fancy word for versions) then there are mints in a Altoids tin. The Distrowatch website lists a top 100 distributions. That implies that there are more than 100 hundred distributions! I can believe it. There actually are hundreds of distributions. While many are simply different packaging, most are specialized distributions aimed at increasingly narrow markets. Talk about slicing the baloney thin. There are special multimedia distros like Gen Too, desktop-oriented ones like Ubuntu, server versions like Red Hat Enterprise, and many more. Some are designed for lower end machines, such as Damn Small Linux, and a few, like Slackware, seem to be heirloom distributions. More to the point, there are dozens of entries in each category, even relatively narrow ones like embedded real-time operating systems.

Ultimately, this is a ying-yang situation. While being able to find an operating system variant that suits a very narrow need is attractive, supporting that many operating systems drains resources away from the core system. It is also pretty confusing. Just trying to compare this many versions of an OS can be daunting. It's no wonder that only a small number of distributions make up the majority of installations with a few additional ones staking our majority claims only in special niches.

Altogether, this is what happens with open source. Everyone wants their own flavor or feels like tinkering with it. Before you know it, variations proliferate like zebra mussels. Even fairly obscure new technology like VoIP fractures quickly under the open source model. There are lots of SIP servers out there and a bunch of variations on one implementation called Asterix. Great stuff but there's no control.

It is clear that there should be variations on the Linux theme but a limited number. One for servers, one for desktop, one for embedded, etc. The very nature of the Linux and open source world makes this unlikely. Unfortunately, the proliferation of Linux distros will weight down on Linux, hurting it in the long term.

The fracturing of the Linux world into hundreds of variations is a side effect of the open source movement. In the end one of two things will happen. Either most of these distributions will fade away as the programmers get bored with it or Linux will eventually fail altogether, paving the way for more years of the Windows hegemony. I wonder if Bill Gates and Steve Ballmer are sitting down with a glass of champagne right now toasting Linux.

Friday, August 05, 2005

Open Source Fails for Enterprise Applications

I have this real affection for open source software. The whole idea of legions of programmers, working together for the shear joy of creating is very attractive. It speaks to the geek in me. What bothers me is the near religious fervor of the open source community coupled with this "open source everywhere" attitude. I'm sorry folks, but open source doesn't work for everything.

Let's, for the moment, set aside the whole "what is open source and what is not" debate. Sure, some products marketed as open source aren't really and open source is not necessarily the same thing as free. That doesn't take away from the usefulness of the model. It is a detail that still needs attention.

It is more useful to dialog about where open source is useful and where it is not. Clearly, open source has shown that it is attractive as infrastructure. Linux and the Apache web server, to name two popular packages, are the backbones of many corporate systems.

On the desktop, open source makes infinite sense. Applications like Firefox, Thunderbird, and OpenOffice are popular because they are multi-platform and evolve features more quickly than commercial applications. Even more interesting is that the development agenda tends to coincide closely with the end-user's agenda. They are not hampered by the need to make money.

When you step up to Enterprise applications, open source's advantages dim. Look at a typical open source Enterprise applications such as ERP or CRM. These are complex applications that rely on a host of infrastructure products. Practically none support commercial products such as Oracle. The true cost of these products is not in the liecense costs but maintenance, development, and administration.

I'm constantly amazed at how long the list of required software is for an open source application. Commercial Enterprise applications almost always ship with most of the software they need. The list of non-bundled software is short, usually only a database and operating system, sometimes a development framework.

Contrast that with the a typical open source version. One product I saw required Linux, MySQL, Apache web server, Tomcat, Perl, PHP, and three other open source products I hadn't even heard of. You had to get that all in place, tested, and fully operational befor installing the application.

That's an incredible amount of work. It also doesn't plug-in to the infrastructure of many companies which rely on Windows and Oracle. I can even understand the need to first install the database and maybe a development framework, but the all the other packages? I can't see too many companies wanting to do that unless they have already made a committment to these applications and packages.
This complexity makes maintenance cost more, not less.

On top of that, who is going to support it? The application vendor will provide support for their product but support for the ten other pieces of software are either going to come from a bunch of other vendors or "the community". That won't give a system administrator a warm and fuzzy for sure.

The idea of Enterprise open source is great. The packaging is all wrong. Vendors need to make all products available in a single install, expand support for non-open source infrastructure especially databases, and reduce the shear number of contingent packages. Otherwise, this will be great for hobbyists but never for the datacenter.

Meanwhile, I'll keep using Firefox and OpenOffice which install everything I need nice and easy.