Subsections

Libre Services: From concept to reality

Figure 3: From concept to reality
 
From concept to reality
Figure 3 provides an overview of the major stages of development needed to establish Libre Services as a reality, and the principal deliverables needed at each stage. The major requirements are:

Transformation of software into services

Figure 4: Transformation of free software into Libre Services
 
Transformation of free software into Libre Service4
Figure 4 provides an overview of the technical processes required to transform free software components into a working service for delivery to users.

In addition to free software components, two other important elements are required to create a service: an integration portal, and LSIP. These three elements are integrated together to create a Libre Service Engine.

The Libre Service Engine is a key technological component of the Libre Services model. It is a complete, fully integrated package of service features and capabilities, ready for deployment and delivery by a service provider. It is part of the definition of a Libre Service that such an engine exist, ready for deployment without requiring any further software integration work.

It is the responsibility of a service provider to create a deployed service based on the service engine. This includes binding the service to a specific Internet domain, branding the service with the provider's trade name, and providing the technical and business structures required to deliver the service and support users.

The vertical line in Figure 4 represents an important conceptual point of demarcation in the Libre Services model. It is the division between industry-general engineering activity, and provider-specific deployment activity. Engineering development is a collective activity, undertaken by the industry as a whole. The resulting assets are industry-generic, available for use by all industry participants. Deployment and delivery, on the other hand, is undertaken by a commercial or non-commercial service provider. The resulting deployed service is associated with and carries the brand name of a specific provider.

Thus LSIP and all service engines are industry-generic resources. ByName, a deployed service, is associated with a specific service provider, in this case Neda.

In the Libre Services model any engineering development, taking place at any point within the industry, becomes immediately available to the entire industry. This means that differentiation and competition among service providers no longer takes place on the basis of service functionality. Instead it must now take place purely on the basis of deployment and delivery characteristics such as service cost, reliability, and customer service.

Freedom in principle vs. freedom in practice

Both free software and Libre Services offer total transparency and freedom of action. In the case of free software, anyone can copy the software, run it on their own computer, modify it, and redistribute it to others. Libre Services provide an analogous set of freedoms. In the case of Libre Services, anyone can reproduce the entire service, operate the service on their own server, modify the service, and redistribute it to others.

These freedoms are real, and in principle can be exercised by anyone. In practice, however, exercising these freedoms requires specialized skills and expertise. For someone to modify a free software program they must first set up the necessary programming environment, including an editor, compiler, linker and various other tools. They must have the necessary technical skills to do this, and they must also have the necessary programming skills to do the software modifications.

Modifying a Libre Service requires even greater expertise. In addition to all the skills required for free software programming, someone wishing to do this must also have the necessary technical skills to set up and operate their own server. Exercising programming freedom in the context of Libre Services is therefore more technically demanding than for free software, and may not be practical for an individual programmer.

In practice therefore, the freedoms associated with free software and Libre Services can be exercised only by a minority of people with the necessary expertise. The majority of people within society at large have neither the know-how nor the inclination to do hands-on software programming, and so in practical terms cannot exercise these freedoms at all.

Nevertheless, all of society benefits from the existence of these freedoms, because the results are available to all. In the case of free software, a community of free software programmers exists, who do actual hands-on software programming. The result is new and better software applications, which can then be used by anyone. In addition, free software development is done in a open democratic manner, by members of society itself, rather than being under the control of a specific private party, as is the case for proprietary software.

Society benefits from Libre Services in much the same way, though there are some important differences. In the case of Libre Services there will also be a community of services developers, with the technical expertise to do actual services development.

But for Libre Services this development will more typically be undertaken as a group activity rather than an individual activity. Many free software programs are stand-alone applications, running on an individual's own computer, and here software development is something that can reasonably and practically by done by the individual programmer. Libre Services, on the other hand, are normally operated by and provided to groups of people, rather than individuals. Thus in the Libre Services domain, the analogous thing to the individual user is the collective group of users, who wish to operate their own Libre Services and/or do services development.

But as with free software, the results of this development are then available to all of society. And as with free software, this development is done in a open democratic manner, rather than being under the control of a proprietary service provider.

Another difference between the free software and Libre Services models is how the end results are utilized by society at large. Among other things, free software frequently takes the form of a stand-alone application, suitable for use by an individual user. In this case the beneficiary is the individual user who can run the program.

But a Libre Service is not usually something that is run by an individual user. Instead, Libre Services are utilized by society at large via two different sets of beneficiaries. As a service, there is both a provider and a user of the service. In general these need not be the same entity, and both are beneficiaries of the Libre Services model. The results of Libre Services development are available for deployment by any service provider--commercial or non-commercial; public, corporate, or private. And the resulting deployed services are then available to the community of end users of the services.

Thus in the case of both free software and Libre Services, all of society benefits from a set of freedoms available in principle to all, but exercised in practice by few.

Local software vs. network service

As we noted in Section 2.1, there is a major trend towards providing functionality as a remote service, rather than as a local application. The commercial service providers are actively promoting this trend, since this directly increases consumption of their own services. As a result, network-based services are becoming a pervasive model for how people access computing resources and functionality. However it may not necessarily be in the user's best interests to access functionality remotely, when equivalent functionality can be provided locally.

Some types of computing functionality are not practical for a user to run locally, and such functionality must be provided as a network service. An obvious example is an SMTP e-mail server. Technically one could run this as a local application, but it is far more convenient and cost effective to implement this functionality on a centralized server, shared by multiple users. Another example would be search--it is not feasible for an individual user to run an Internet search service locally. And many other examples. Certain types of functionality are inherently service-oriented, and in practical terms must be implemented in the form of a network service.

On the other hand there are some software components and functionality that must be run locally. At these two extremes there is no discussion to be had--inherently service-oriented functionality must be provided as a service, and inherently local functionality must be provided locally.

But intermediate between these two extremes there is a large class of software components that can reasonably be implemented either as a local program or a remote service, and here the merits of the two approaches are open to discussion.

Certainly, the network-based computing model provides a number of important advantages. These include:

However, there are also a number of major disadvantages to accessing computing resources remotely, when equivalent functionality can be provided locally. These are:

There are thus a number of reasons to maintain computing functionality locally rather than remotely. In general, the partitioning of functionality between the local free software environment and the remote Libre Service should be based on consideration of all the relevant issues.

Other considerations

The above discussion focusses on providing functionality on a user's desktop rather than as a network service. But a user may wish to access her services when she is away from her home desktop, for example at an Internet cafe. Under these circumstances the user may want to have a full suite of computing functionality provided entirely by the service.

It must also be borne in mind that the Libre Services model has a very significant business dimension. It fully supports a model in which services are provided in a commercial, for-profit context, and in this context commercial Libre Service providers must be responsive to their market.

Regardless of the merits of maintaining local functionality, users of the service may wish to access their computing resources remotely. If Libre Service providers are to compete against the proprietary service providers they must fully cater to the demands of their users in this respect.