Developers.net Newsletter

June, 2001

 

Software Licensing and Web Services

Before you license software components over the Web, you’d better check the fine print.

 

By Michael Floyd

 

When the guys at Tapestry, the folks that bring you Developers.net, suggested I talk about online software licensing, I was overcome with an overwhelming yawn. I  mean where’s the controversy? “If it aint open source, it aint squat.” Most of us even find GNU license agreements, which essentially say the source code is free, distasteful.

 

But, have you looked at your EULA lately? That’s the end user license agreement that says something to the effect that Software Vendor X takes no responsibility for damage its software may cause, including wiping out your file allocation table, hard disk failures, other forms of lost data caused by hurricanes, earthquakes or rolling blackouts. Of course, license agreements also protect Vendor X’s intellectual property, which means you can’t hack into someone’s bad code and discover how poorly it was written.

 

The bad news is that you agree to the EULA anytime you download an application or break the seal on the software packaging. I’m sorry, but if my doctor asked me to sign a EULA when I made an office visit, I’d get up and walk out. Alright, so maybe this is a topic that pushes some buttons after all.

 

Anyway, I began to think about Web Services, which is being pushed heavily by both IBM and Microsoft. Coupled with a complimentary technology called UDDI (Universal Discovery Description & Integration), Web Services allows companies to publish components and services in a directory that can be searched by other Web applications. Once a suitable service is located, it can be employed (presumably for a nominal fee) to perform specific tasks.

 

Web services are essentially black boxes that are capable of performing specific tasks, like calculating an insurance premium, or conducting a securities trade. They are self-describing modules that are URL addressable, and they can be combined with other Web services to create larger applications. That could be anything from a  simple process to a full-blown software product or application.  So, these Web applications can be dynamically changed, thereby creating new Web services.  The big draw is that applications can be accessed through a network connection and invoked at run time. Because applications call services only when they need them, you get a sort of  "just-in-time application integration".  It can all be done without prior knowledge and often without prior programming. 

 

If it takes hold, the market for Web services could be huge. Small companies with specialized expertise can offer their services without draining the talent pool in an effort to develop full-blown applications. The benefit to larger organizations is that they can tap into these specialized components without having to reinvent the same wheel.

 

So, where are all of these services and how do you find which services meet your needs. Details that I could find on this subject are still sketchy, but the general consensus is that there will be some sort of distributed catalog which will be mirrored at various locations. Entries in the catalog will use an XML vocabulary called Universal Discovery Description & Integration (UDDI). Web services providers (would that be WSPs) can publish information in the catalog that details company information, particulars about the service including descriptive information and finer points such as location of the service and how to invoke them.

 

I’ll bet that somewhere in that description, there’s also a license agreement that says that Web services provider X takes no responsibility for damage its software may cause, including wiping out your file allocation table, hard disk failures, and, well you get the idea. Yes. For better or worse, we’re probably stuck with license agreements. But I do see a new line of business for Napster.

 

Biography. Michael is a freelance writer and the author of "Building Web Sites with XML" from Prentice Hall. He also provides premiere XML training, and can be reached at mfloyd@lifestylesSantaCruz.com.