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