Adrian Short wrote:
2009/4/8 Simon Roe <[email protected]>:
Open source, in this case, made no difference, because the council a)
didn't talk to other councils and b) just paid someone else to do
everything for them.  I don't think they even had access to their
branch, but even if they did it wouldn't have meant anything.

That's a sorry tale.

Releasing something under an open source licence doesn't guarantee
good quality code nor that a sound development community will spring
up around a particular project. Indeed, Sourceforge is evidence that
most projects only ever have a single contributor and never really get
off the ground.

However, it does mean that there is the possibility that other people
could reuse and modify the project which wouldn't exist otherwise. If
that's going to happen, the councils concerned or a third party will
have to take on a project-leading role and start using the tools and
practices of open source development, not just the licences.

This is an important subject, so let's try to be very clear. Open source is *not* the be-all and end-all of anything. Nothing is, since there is No Silver Bullet....

For most domains of concern, open source is neither the best place to begin nor the most important result to be obtained. In addition, open source is absolutely *not* the end of the history of software development. It is not even the best place for most software development work to begin.

But from the extended commentary (mostly of non-engineers, note well) you would think it is.

We've had a leading international development agency insisting it's all about open source:
http://www.kubatana.net/docs/inftec/itdg_oss_briefv5_040614.pdf

We've had leading funders making similarly elaborated (but narrow) propositions:
http://www.soros.org/initiatives/information/articles_publications/articles/realizing_20030903

There are many such examples. The same idiot messages go around and around. They are confused, and they are not listening.... They aren't so much wrong, as missing five important clues. The dreadful mistake is simply to be satisfied by having one clue: "open source".

Now, it's no mere trifle that Grady Booch reports from empirical analysis there are *six* productive tendencies in the software industry:

1. Increasing use of open source.
2. Increasing use of agile approaches.
3. Increasing use of pattern languages.
4. Increasing use of multi-stakeholder approach.
5. Increasing focus of everything on building capacity.
6. Everything increasingly driven by purpose.

These six aspects should be up at the front of all such advocacy. They aren't though, mostly because the loudest of mouths are often in the least technical of heads, and most of the non-technical heads just don't get it....

For example, Ubuntu's half-yearly release cycle shows that an open source license *coupled* with an agile practice *can* intensify open source development. As it goes for the Fixed Timebox, so it goes for the Planning Game, Unit Testing, Pair Programming, etc.... These are the *agile* practices, and their coupling with open source licenses doesn't really make them into "open source" practices.

Since the limiting factor in software development is the development of the conceptual components [Fred Brooks], we must all take good care to possess and fashion adequate concepts....

So firstly, a confusion is not an adequate concept. Confusions mix concepts that cannot be mixed (such the idea of a circle with the idea of a square) and force the ingredient concepts to collapse. Therefore, it is an objective confusion to refer to "the open source practices" because as a collection they are heterogeneous and inconsistent. As an entity they don't form a closed body so there isn't any such thing to be grasped. We might know what you mean, but that isn't good enough because somebody who doesn't already know what you mean can't learn anything from what you are saying.

But in simple terms, it isn't possible for local councils to "start using the tools and practices of open source". And we must not continue to recommend that they do. Instead, the local government actors should continue their multi-lateral efforts to identify the domains and the business stories of local government: the events to which the work of local government responds; the outcomes which it attempts to obtain; and later the requirements of software that would support these stories.

They could then share any aspects of adequate support between: the common as circulated singularities, rather than as intersecting areas of interest. Open source will help, of course, but we should remember that they could make multi-lateral sharing arrangements *without* open source licenses. It would be a useful exercise to identify how this could work closed source (but then actually to do it open source). The aerospace industry has managed to circulate multi-million pound items of equipment for many years without the GPL. So councils *could* establish a closed source sharing association, and it wouldn't necessarily be a terrible idea. :-)

Local councils could equally well learn from the automotive domain, where model driven approaches have been critical to multi-stakeholder software developments (open or closed, incremental or waterfall, capacity-building or gizmo-inventing). Model driven approaches take the supported domain as their object. Actors within the domain operate particular working processes, but the working process is not to be confused with the domain which is it's context.

Domain models supports the emergence of a "ubiquitous language" that all actors can share and contribute to. Working software can reflect the model, and the users can understand the software through the model. Different ways of providing the same services are simply distinctions within the model.

So a first set of questions connects with the domain: what is local government? who are the local governments? to which events do they each respond? what do they each hope to achieve with their responses? how will such responses be supported with software? what level of provision is desired? what level of expenditure is available? etc...

A second set of questions breaks out from the current configuration: what would they like to improve? who has something to share? will they share more if others share more? can their development timeboxes be synchronized? etc....

A third set of questions would continue to try to get things moving: who broadly agrees to share analysis, to share solutions, and to share application services? who can contribute resources to basic co-ordination on the three levels of analysis, of development, and of application services provision? etc...

In summary, we should encourage CLG to help make software increasingly appropriate (not simple open source). The best thing central government could do is provide resources for the transparent co-ordination of sharing between local councils.

Then, as with local government, so with health trusts, education authorities, medical research units, etc....

Best wishes,

John.




_______________________________________________
Mailing list [email protected]
Archive, settings, or unsubscribe:
https://secure.mysociety.org/admin/lists/mailman/listinfo/developers-public

Reply via email to