[okfn-discuss] The Four Principles of (Open) Knowledge Development (v0.1)
Rufus Pollock
rufus.pollock at okfn.org
Mon May 8 13:06:26 UTC 2006
I've been talking for a while about the 'other' aspects of open
knowledge -- i.e. those other than licensing and here's a first stab at
getting my thoughts down on paper. Comments/critiques/additions
*greatly* appreciated.
Regards,
Rufus
PS: in the spirit of open knowledge development I should probably wiki
this ;) but for me -- probably as for many of you -- the mailing list is
still the low-level tool of choice for iterating text such as this
The Four Principles of (Open) Knowledge Development
***************************************************
Introduction
============
Open knowledge means porting much more of the open source stack than
just the idea of open licensing. It is about porting many of the
processes and tools that attach to the open development process -- the
process enabled by the use of an open approach to knowledge production
and distribution.
The Four Principles
===================
Open knowledge allows (and requires for its success) a development
process that is:
1. incremental
2. decentralized (and asyncrhonous)
3. collaborative
4. componentized (and 'packagized')
Incremental
-----------
Incremental implies a process that allows for lots of gradual
improvement and contribution. Like all of the the four principles this
applies to the development of closed as well as open knowledge. However
it operates more powerfully in an 'open' situation where the boundary
between participants and non-participants is porous and it is easier for
'just anyone' to get involved.
Decentralized
-------------
Open knowledge allows for a decentralized (and asynchronous) development
process. This greatly reduces rigidities and also allows for a far wider
participation in a given project. At the same time it demands a more
sophisticated set of development tools and processes.
Collaborative
-------------
Just like code, knowledge can be developed by a single individual but
its real strength is that it can be developed collaboratively. The
collaborative aspect of open knowledge is strongly related, and
dependent upon, the the principles of decentralization and componentization.
Componentized
-------------
This probably the most important feature of (open) knowledge development
as well as the one which is, at present, least advanced. If you look at
the way software has evolved it now highly componentized into
packages/libraries. Doing this allows one to 'divide and conquer' the
organizational and conceptual problems of highly complex systems. Even
more importantly it allows for greatly increased levels of reuse.
The power and significane of componentization really comes home to one
when using a package manager (e.g. apt-get for debian) on a modern os. A
request to install a single given package can result in the automatic
discovery and installation of all packages on which that one depends.
The result may be a list of tens -- or even hundreds -- of packages in a
graphic demonstration of the way in which computer programs have been
broken down into interdependent components.
Conclusion
==========
We are currently at a point where, with project such as wikipedia, we
have powerful examples of the first three principles in action but
little or none on the on the fourth.
In the early days of software there was also little arms-length reuse
because there was little packaging. Hardware was so expensive, and so
limited, that it made sense for all software to be bespoke and little
effort to be put into building libraries or packages. Only gradually did
the modern complex, though still crude, system develop.
The same evolution can be expected for knowledge. At present knowledge
development displays very little componentization but as the underlying
pool of raw, 'unpackaged', information continues to increase there will
be increasing emphasis on componentization and reuse it supports. (One
can conceptualize this as a question of interface vs. the content.
Currently 90% of effort goes into the content and 10% goes into the
interface. With components this will change to 90% on the interface 10%
on the content).
The change to a componentized architecture will be complex but, once
achieved, will revolutionize the production and development of open
knowledge. Along with the other three principles of incrementalism,
decentralization, collaboration it will characterize the process of open
knowledge development.
More information about the okfn-discuss
mailing list