Kurtz-Fernhout Software
pdfernhout@kurtz-fernhout.com
Message-id: 3CC9F5AD.DA5AE9C0@kurtz-fernhout.com



Date: Fri, 26 Apr 2002 20:49:49 -0400

04 00067 60 02042601




Unfinished Revolution
ba-ohs-talk@bootstrap.org
OHS DKR Project
SRI International
333 Ravenswood Avenue
Menlo Park, CA 94025
..
Subject:   Licensing Problems Slow Knowledge Management
GPL as a "chaordic" constitution for augmentation

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)

..
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?
Tue, 26 Mar 2002 14:59:09 -0500
BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="85%">

FACE="Times Roman" SIZE=5 COLOR="black">

FACE="Times Roman" SIZE=4 COLOR="black">
Fernhout
WIDTH="13%" VALIGN="TOP">

FACE="Times Roman" SIZE=4 COLOR="black">
Software

Getzendanner, Thomas J. Hurley [Chaordic Commons email address

(09)




6 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

Sincerely,



Paul Fernhout
pdfernhout@kurtz-fernhout.com
Kurtz-Fernhout Software



..
Copy to:
  1. mdupont777@yahoo.com,
  2. Richard Stallman, rms@gnu.org