[Date Prev] [Date Next] [Thread Prev] [Thread Next] Indexes: Main | Date | Thread | Author

[ba-ohs-talk] GPL as a "chaordic" constitution for augmentation (was re: More bad news...)


Mark Szpakowski wrote:
> This raises the question of how the free software definition constitutes
> an "augmentation", in the Englebart / Bootstrap sense, of the
> improvement infrastructure (at the human systems level), and how this
> approach favors bootstrapping.
> 
>  From http://www.gnu.org/philosophy/free-sw.html:
> 
> > Free software is a matter of the users' freedom to run, copy,
> > distribute, study, change and improve the software. More precisely, it
> > refers to four kinds of freedom, for the users of the software:
> >
> >     * The freedom to run the program, for any purpose (freedom 0).
> >     * The freedom to study how the program works, and adapt it to your
> > needs (freedom 1). Access to the source code is a precondition for this.
> >     * The freedom to redistribute copies so you can help your neighbor
> > (freedom 2).
> > * The freedom to improve the program, and release your improvements to
> > the public, so that the whole community benefits. (freedom 3). Access
> > to the source code is a precondition for * this.
> 
>  From http://www.bootstrap.org/augment/AUGMENT/132811.html#10G :
> 
> > And the thesis was developed that the CODIAK set of knowledge
> > capabilities - the concurrent development, integration, and application
> > of knowledge - is important to all three types of activities.
> > Therefore, if CODIAK improvement was concentrated upon early, the
> > result could improve the first and second derivatives of the return on
> > future improvement investments. 10G
> 
> - Mark    (01)

Mark-    (02)

To address the issue you raise of how "augmentation" and the GPL license
can go together to support bootstrapping, below is a modified version of
an email I sent to some people at the Chaordic Commons (disclaimer: of
which I am now an "Owning Member"). The email attempts to show how one
can see the General Public License (GPL) as effectively a "chaordic"
constitution for cooperation on developing digital patterns. I wrote
another email to the same people that clarified a few points in this and
added that material in here as well.     (03)

== first, some background on why this is an important issue ===    (04)

Doug Engelbart's work on augmentation has historically focused more on
the technical issues of enabling cooperation through a set of innovative
software and hardware tools (mouse, hypertext, internetworking, video
conferencing, etc.). Yet, for all this innovation, hardware and software
innovation has not proven enough, as valuable as it has been. What is
the missing piece? Perhaps it is combining technical insights with
social and legal insights surrounding cooperation. Where can additional
social and legal insights to continue positive "augmentation" come from?
Richard Stallman's work in a way focuses on the social issues of
enabling cooperation through innovative legal tools (like the GPL) based
in an ethical framework revolving around a definition of freedom. Dee
Hock's work on chaordic processes also focuses on the social aspects of
fostering cooperation through creating organizations of a certain form
related to efficiency, effectiveness, and accountability to a purpose.
Manuel de Landa's writings on social combinations of meshwork and
hierarchy through history illuminate dynamic reformation of social
systems consisting of many cooperating (and competing) individuals. Doug
obviously also has many such insights into social systems like
developing metaNICs, and focusing on the coevolution of tools,
community, and knowledge -- I do not mean to discount the value of these
or other social insights, although I would suggest they are not quite
enough by themselves, and that when combined with ideas such as those
from Stallman, Hock, and de Landa they will be even better.    (05)

The technical side, the social side, and the legal side of cooperation
on "augmentation" can all go well together in a free software community.
In fact, they might *have* to go together, because from tracking these
lists from the start and reviewing the wonderful links and reports
people have submitted, it appears the world is already awash in
proprietary collaborative tools (many of which have already come and
gone) which each are a piece of the collaboration puzzle, yet because of
licensing issues they really can't easily be fit together and so they
ultimately fail (unless perhaps you have both the cash flow and market
dominance of a Microsoft type entity, and even then, one can fail in the
execution or in the market, such as with Bob, WinCE or XBox).     (06)

So, on to the main point of this -- how the GPL license can be seen as a
constitution for a chaordic organization to develop digital patterns to
augment humanity's ability to survive -- forwarded in a revised form
below.    (07)

-Paul Fernhout
Kurtz-Fernhout Software 
=========================================================
Developers of custom software and educational simulations
Creators of the Garden with Insight(TM) garden simulator
http://www.kurtz-fernhout.com    (08)

-------- Original Message --------
Subject: The GPL license defines a chaordic process?
Date: Tue, 26 Mar 2002 14:59:09 -0500
From: Paul Fernhout
Organization: Kurtz-Fernhout Software
To: Joel Getzendanner, Thomas J. Hurley [Chaordic Commons email address
removed]    (09)

Joel-    (010)

[Snip]    (011)

I do, of course, find value in the chaordic ideas 
    http://www.chaordic.org/CC-Princ.html
for running the new development community, so here is an approach as to
how to pursue this by the choice of the General Public License (GPL) 
  http://www.gnu.org/copyleft/gpl.html
for the "simulation of chaordic processes" project. 
  [ http://savannah.gnu.org/projects/simulchaord/ ]
[snip]    (012)

I have been thinking further about the licensing issue which we
discussed at length over the phone, especially as it relates to the GPL,
and issues of controlling the distribution of information along
ethically-minded purpose-based lines (as touched on in a previous
email), and I have mused on a notion you might find of interest. The GPL
license could be considered to be a constitution defining one way to
cooperatively develop copyrighted or patented patterns in a chaordic
fashion.     (013)

That's a strong statement, and on the surface hard to justify because
"how can a software license define a software development process, let
alone a chaordic organization?", so let me try to back it up with some
supporting ideas.     (014)

== a new way of thinking of the GPL? ===    (015)

So, here is a proposition for discussion if you wish or others wish. At
the very least, consider this a pseudo-justification for choosing the
GPL license (text of which is at the link which follows:)
  http://www.gnu.org/copyleft/gpl.html
for the simulation of chaordic processes.    (016)

Proposition: "The General Public License (GPL) as created by the Free
Software Foundation (led by Richard Stallman) is essentially a
constitution for a chaordic organization creating digital public works."    (017)

Here are some arguments for the position, showing how the GPL implicitly
addresses chaordic issues.    (018)

== GPL and a purpose defining the GPL community ===    (019)

What is the chaordic "Purpose" of the GPL in one sentence?     (020)

The main purpose of GPL licensed copyrighted materials is to create a
common free pool of digital patterns (such as software and
documentation) from which all of humanity may draw to make things useful
in their own lives, with the restriction that all changes to these
patterns (derivative works) which are redistributed outside the
creator's organization must also be freely shared with anyone they are
given to under the same terms as part of this common pool.    (021)

=== GPL and the principles of practice ===    (022)

How does the GPL meet the chaordic "Principles of Practice"?    (023)

> 1. Work to ensure that all people, by right of birth, have adequate 
> necessities of life, including clean air, water, food and shelter; 
> an equitable share of wealth and resources; and opportunity 
> to develop their full physical, mental and spiritual potential.    (024)

By making a free pool of digital patterns (software, documentation, or
other educational materials) available to all (potentially for a free
price), the GPL ensures all people access to a common human heritage of
information they may use to improve their lives. The restriction of
requiring derivative works to also be contributed to the pool ensures a
continuing equitable distribution of improvements to the key productive
resource these days of copyrights (and related software patents). When
confronted with a GPL'd artifact that does not meet an individual's
needs, the individual can in theory improve that artifact in such a way
as they see fit. Contrast this with a world (where we are otherwise
heading) where copyrights effectively last forever, and patents protect
computer technology during the entire useful lifetime of that
technology, ensuring that those without money are unable to access or
legally use most of modern information.    (025)

> 2. Work to ensure that human capacities, technologies and organizations 
> protect and support, not systemically alter, degrade or destroy, 
> the Earth, its diversity of life and its life support systems.     (026)

There is nothing directly in the GPL which addresses this. However, by
implication, a world of open knowledge, where individuals can change
their tools to meet their needs, will presumably (see Langdon Winner's
book _Autonomous Technology_ for details) result in a world better
adapted to human needs. Presumably, since a clean environment is one of
those needs, people will be more able to work towards this end as
individuals than as parts of organizations owning all copyrights and
patents with different and less humane (i.e. "love of money" only)
goals.    (027)

> 3. Work to ensure interdependent health and diversity of individuals,
> communities, institutions and cultures.     (028)

The GPL helps define a common pool of information which all societal
actors may freely draw from and contribute to. They may make derivative
works in whatever style they wish, without having to obtain prior
permission or approval from the author(s) of the work. The GPL defines
an agreed on license to which all authors by default are bound when they
work together in a collaboration based on other GPL'd works, while at
the same time not preventing them from moving the result in a new
direction by their own effort.    (029)

> 4. Resolve conflict creatively and cooperatively without resort to 
> physical, economic, psychological, social or ecological violence.     (030)

Conflict on GPL'd work has a simple resolution when social cooperation
fails -- that is through a process called "forking" whereby subgroups
simply decide to move the patterns of information in their own way in
their own repositories. However, it is true that "forking" is sometimes
a very emotional and socially divisive process best avoided if at all
possible. Note that under the GPL, the forks will remain legally
compatible, and so may again be merged at some point.    (031)

One problem with a democratic voting such as outlined in the Chaordic
Commons' constitution is that it can lead to a "tyranny of the majority" 
  http://www.google.com/search?hl=en&q=tyranny+of+the+majority
which is why in theory U.S. democracy, for example, if it it to
retain legitimacy, respects the minority view in compromise legislation,
or as a last resort, the courts declare things as unconsitutional in the
sense of not respecting the constitutional purpose. Presumably that
would happen too for the Chaordic Commons in arbitration or the courts.    (032)

In practice any project has 20% of the contributors doing 80% of the
work. So, by majority rule in voting, even with constitutional
safeguards, almost all projects can be easily subverted by the majority
who for that project have not contributed much. That may be on reason
why many software projects are run as either "benevolent dictatorships"
or by consensus. To an extent, the GPL license protects against the
tyranny of the majority, because the minority can always take a copy of
the code and fork it, and also, they can still benefit from improvements
made by the majority built on their earlier work (as long as they can
directly or indirectly obtain a copy of the results from the majority,
such as by approaching a sympathetic member).     (033)

> 5. Freely and fully exchange information relevant to the Purpose 
> and Principles unless it violates confidentiality or 
> materially diminishes competitive position.     (034)

The GPL requires disclosure of new patterns derivative of GPL patterns
from the common pool, promoting a free exchange of information. Those
wishing to keep things confidential can decide not to put them under a
GPL license by choosing not to incorporate GPL patterns into their
approach. Note that the author who chooses to put a work under the GPL
(and which was not otherwise made as a derived work from a GPL'd
pattern) retains control over that work such that they can relicense it
to others under different terms (for any amount of money). Similarly,
those wishing to maintain a proprietary approach may do so by also
avoiding GPL patterns, or by using them in such a way that their
creations are not considered derivative works of GPL patterns, but
simply coexist with them. (An example of coexistence would be creating a
proprietary program that generates complex proprietary documents from
proprietary templates, which are then further edited using a
non-proprietary GPL'd editor, where the editing results remain
proprietary.) A work derivative of GPL patterns must remain under the
GPL, unless either all authors of all works involved agree to a license
change, or unless some way is found to use part of the new derived work
with changes in a non-derived fashion. This might be accomplished by
changing the base subroutines calls it might make from calling a GPL'd
library (which makes it derivative) to calling a non-GPL'd library
(which might make it non-derivative).     (035)

Note that although I refer above to a common pool of GPL'd patterns,
that is a bit of a mistake. The GPL does not require you to give
anything to anybody or to everybody. It only says that if you do give
someone a derived work, that you give them the source under the same
conditions as the work you derived it from -- that is, allowing free
distribution with source. You can always sell the first copy of a
derived work for a large sum of money, or you can only give derived
works to those who you think will not redistribute them. However, you
can't compel those people not to redistribute the derived work. I bring
this up, because if, say, you personally had a huge library of GPL'd
works, you could pick and chose which works and to whom you wish to
distribute them, as can everyone else with those works. Thus is for
example, you had a copy of potentially dangerous program under the GPL
(e.g. a nanotech design for a weapon) you don't have to give it to a
three year old child on request. However, if you did give that design to
the three year old child, you could not legally prevent them (or their
guardian?) from further redistributing it under the GPL (unless the
child was your legal ward or issues of national security or criminal law
etc. overruled copyright law). My point is that there is some room under
the GPL for controlling distribution since data can be distributed by
being given to trusted individuals rather than being posted on a web
site. In practice though, everything gets posted to web sites...
However, even then, people may now know about it unless sent a pointer
from a trusted source -- in the same way people can go to the library to
read the details about Christopher Columbus and what he and his men did
to the Arawak Indians but hardly anyone ever does (see for example _A
People's History of the United States_ or _Lies My Techer Told Me_).     (036)

=== GPL and the principles of organization ===    (037)

Now let us see if GPL'd works satisfy the chaordic "Principles of
Organization":    (038)

> 1. Be open to Owning Membership by any Individual or Institution 
> subscribing to the Purpose and Principles in conducting activities 
> [of GPL software].     (039)

Anyone can take a GPL'd pattern artifact (e.g. a program) and make
changes to it. By definition, a GPL'd artifact comes with source or a
way to get source to make changes. Anyone can create a new pattern
artifact and put it under the GPL license (subject to prior contractual
obligations such as preexisting copyright assignments with their
employer.) In this sense, and "Owning Member" of the GPL "Commons" is
simply an "Author" either putting a new work under the GPL or making a
derived work from another Author's previously GPL'd work.    (040)

> 2. Have the right to self-organize at any time, on any scale, 
> in any form or around any activity consistent 
> with the Purpose and Principles.     (041)

Anyone can start a new GPL project, or fork an old GPL project, at any
time, subject to the restriction the result, if it is a derivative work,
remains under the GPL. Anyone who want to contribute to the GPL'd store
of useful digital patterns can do so at any time, in any organizational
form desired, as long as they accept their work will be available to
anyone who receives it under the GPL license.    (042)

> 3. Conduct deliberations and make decisions by bodies and methods 
> that reasonably represent all relevant and affected parties 
> and are dominated by none.     (043)

The Free Software Foundation 
  http://www.fsf.org/
that defined the GPL license is essentially structured as a non-profit
run by a board (and heavily influenced by Richard Stallman, the
founder), and the license allows this board to create new versions of
the license similar in intent which may optionally at the user's and
author's choice supersede the previous license. This is clearly not
chaordic. However, the pool of patterns and existing license do define
an existing structure, and code written under the current licenses can
continue to be used under those licenses even if the license is revised.
So, while the license redefinition process may not be chaordic, the
current users of this pool of GPL'd patterns may be functioning in a
chaordic manner. To the extent anyone can "fork" a GPL'd project,
decisions about the direction of GPL'd code are made by those who
actually are doing the work. Note that most or all of the informal
organizations creating new GPL'd works reflect non-chaordic structures
(typically either individual, hierarchical or consensus-based), however
taken as a whole, the process might be seen as chaordic -- or certainly
flexible enough to allow chaordic patterns to emerge.    (044)

> 4. Vest authority, perform functions and use resources 
> in the smallest or most local part that includes all 
> relevant and affected parties.     (045)

Anyone can make a "fork" of GPL'd software.  Typically those needing or
desiring changes to GPL'd code make such changes themselves, or through
discussion lists make complaints which may or may not be taken up by
others. Any group can self-organize to address complaints related to GPL
code for free or for money (e.g. RedHat).    (046)

> 5. Educe rather than compel behavior to the maximum possible degree.	    (047)

No one is forced by the GPL to use the results. No one has to make
improvements based on GPL'd patterns. It is true that if the GPL'd
pattern base becomes the dominant one, people may have no choice but to
use it and put derived works under the GPL. Some would argue that is not
a bad thing -- however, for those who think it bad, they can always
decide not to cooperate and to make new works from scratch or from
proprietary works.    (048)

== two disclaimers ==    (049)

First, as I said over the phone, let me say I have released free or open
source software under several different license (GPL, BSD, Squeak,
public domain, proprietary) so I would not classify myself as completely
a strict GPL adherent. I believe in using the right tool for the right
job, and the GPL isn't always it. For example, code whose main focus is
defining an industry-wide standard for right now for use in every
application (proprietary or not) might be most effectively released
under the BSD license. Even Richard Stallman, 
  http://www.stallman.org/
creator of the GPL license and its strongest proponent, suggests
alternatives in various situations. However, after writing this essay, I
definitely become more positively inclined towards the GPL in general,
and also for this simulation of chaordic processes.     (050)

Second, building on a theme in a previous email, I do think there are
ethical issues to be explored about when and to whom information should
be released. For example, one does not hand a typical three year old
human child a gun, and neither should they be handed either the launch
codes for a nuclear weapon or a design to build such a device. As a
reminder, and on reflection, the GPL does not force anyone to disclose
information to anyone -- however it does put restrictions on how those
disclosures can be made if they are made, to ensure the recipient of the
information can freely redistribute the information (subject to the same
provision). Whether this is adequate remains to be seen, but the
alternatives may all have their own shortcomings.    (051)

=== conclusion -- GPL as implicitly chaordic ===    (052)

So, to conclude, I would argue the GPL implicitly defines a chaordic
process for software development, and I think it appropriate to pick it
for the license for developing a simulator for chaordic processes for
this and other reasons, even though there potentially remains the
section 14.01 issues we discussed in terms of how the GPL relates to a
Chaordic Commons Community. The GPL Commons of code and content released
under the GPL license is effectively owned by it members (Authors, and
perhaps also Users). It may be of value to the Chaordic Commons to
reflect on this license, because this licensing approach may provide a
new way of defining a chaordic community. (I am not necessarily saying
all Commons work should be under the GPL, just that "license ==
constitution" provides a model to think about.) Feel free to either
elaborate or disagree; I will then learn more about the nuances of
defining chaordic processes (which will be useful for the simulation).    (053)

As a final point, if what I write (pending discussion and refinement...)
is more or less persuasive, then you can now point to the GPL as yet
another example of a chaordic process in action -- and one with much
name recognition, as it has produced much of GNU/Linux -- an influential
technology potentially someday soon touching as many lives as VISA (as
GNU/Linux works its way into embedded systems (like TiVo) and web
servers). I know that the JINI community operating under the Sun
Community Source License is trying to be a chaordic organization in a
formal way using a certain license and membership agreement. It is
surprising then if the GPL community is from a certain perspective
effectively an informal worldwide chaordic organization that has grown
large without even especially trying to be explicitly chaordic, because
of the implicit chaordic nature of the license even without a membership
agreement. Perhaps this idea is so obvious it is easily overlooked, just
as some of the successful concepts behind VISA became only more apparent
after its success.    (054)

[Snip]    (055)

== gpl: requiring disclosure or allowing privacy? ===    (056)

This is to answer [a] question regarding the apparent conflict between
my statements about the GPL license requiring disclosure and not
requiring giving anything to anybody. I may have put it poorly, so sorry
to cause any confusion.     (057)

To clarify, the GPL essentially requires that, if you make a new derived
work from a GPL work, and if you distribute that derived work, you must
also provide the source and permission to use it under the GPL license.
Essentially,  "distribute" generally means giving the derived work to
people outside your organization. So this allows you to keep
modifications in-house and thus maintain privacy -- as long as the
derived works are not "distributed". But in a practical sense, most
GPL'd works or derived works are written to be given to others outside
the organization, and in this sense the GPL on a practical basis
"requires disclosure".     (058)

On the other hand, no one is forcing people to use GPL software. (They
could find or make an alternative.) No one is forcing people to make
derived works from GPL software. (They could contact all the authors and
request different licensing terms or just start over from scratch.) And
if derived works are made, no one is forcing anyone to distribute them.
(People could simply choose to keep derived works private.) In this
sense, "The GPL does not require you to give anything to anybody or to
everybody" because you don't have to be in the entire game of
distributing works derived from GPL'd materials. But if you are in the
entire game, you have to play by all the rules.    (059)

Note that the GPL has some of this flexibility because requirements for
"disclosure" relate to acts of "distribution". For contrast, other
licenses, such as the Squeak Smalltalk license (originally from Apple)
require disclosure of any "modifications" of certain parts of the code
(whether they are distributed or not). Some might consider this to be a
violation of a right to privacy -- although on the other hand that
Squeak license has a possible loophole relating to the timing of
disclosure. Other licenses, such as the BSD or Python licenses have no
requirements whatsoever for disclosure of the source of derived works
whether the derived works or distributed or not. For example, Microsoft
used some BSD code for a TCP/IP stack in some versions of windows.     (060)

For some, such a proprietary use of their work would be a horror, for
others it would be an honor. One of the biggest problems I have with the
GPL is that because it essentially prevents such use within proprietary
products, people making such products don't learn the ins and outs of
the GPL code base on their employer's money, and so they are less likely
to be able to contribute to the GPL codebase in their spare time. On the
other side, such engineers often have employment agreements preventing
them from contributing in their spare time anyway (at least, until they
leave...)    (061)

=== some flaws in the GPL ===    (062)

Here are two disclosure issues with the GPL related to the meaning of
"distributed". A work derived from a GPL'd product done by a large
organization like IBM apparently does not have to be disclosed with
source under the GPL to anyone outside the organization. One might
question if changes to a GPL'd program by Chaordic Commons Owning
Members given to other Owning Members were considered "distributed"
outside the organization  -- this is a classical issue with trying to
subvert the GPL (forming a club with rules limiting distribution and
requiring a fee to join it) but I have no interest in pursuing that line
of reasoning. Also I think given the intent of the GPL license one could
not legally stop a rogue Owning Member from distributing GPL'd software
outside the network (but I may be wrong). The GPL license also has
allowed web server based companies to use GPL products with proprietary
changes.  Both of these possibilities (clubs and servers) are points of
contention among some people who are looking at revising the GPL
license; however it is not clear how the GPL license could be changed to
then still allow private modifications not intended for release (like
intermediate testing versions or customized in-house products including
confidential materials). In any case, the current version of the GPL
license may not prevent such proprietary actions. If you are worried
about future versions, the way the GPL license is written, typically you
may opt to use a later version of the license than the one you received
with the code if you wish and one has been released by the Free Software
Foundation, but you do not have to use the later version if you prefer
the one you received. The Author can can also specifically remove the
provision allowing a selection of later version of the license.    (063)

=== other licenses have other approaches ===    (064)

The choice of license if a complex one depending on what one wants to
accomplish. Some people argue the GPL ensures freedom by guaranteeing
access to future source code (at a cost of not allowing proprietary
derived works to be distributed) but others argue the GPL license
damages freedom of the user to distribute proprietary derived works
based on present source code. Essentially, the choice of GPL is more for
those making an activist stance of essentially "everyone working with
this code will share" whereas BSD code is more "here is a line in the
sand -- no one will ever have to cross it again by having to reinvent
this wheel". Personally, I have problems with the activist stance of
forced sharing. Python has succeeded quite well without a more BSD type
license. However, from a project management point of view, the BSD
license makes more headaches for me because then I have to inquire on
the licensing status of all contributions. By picking the GPL, I can be
more easily sure of the licensing status of contributions making derived
works. Also, I am guessing the typical GPL using author may be more
sympathetic to chaordic organizational forms. Here are pointers to
hundreds of discussions on this issue of "GPL vs. BSD" (many with strong
opinions):
  http://groups.google.com/groups?hl=en&q=gpl+vs.+bsd    (065)

-Paul Fernhout
Kurtz-Fernhout Software 
=========================================================
Developers of custom software and educational simulations
Creators of the Garden with Insight(TM) garden simulator
http://www.kurtz-fernhout.com    (066)