Better Free Software Organisations?
Posted 17 Apr 2008 at 12:05 UTC by slef 
Are free software users particularly bad at the basics
of running an interest society, have I been spoiled
by cooperatives with
their friendly Member Services departments or secretariats,
or what?
Is this why so many free software orgs seem to include
self-perpetuating leadership groups?
Is this a serious problem if, as reported,
Software
Development is a Team Sport [etbe]?
Are there fully-working free software mass participation
groups out there?
Another
zero-day
announcement of a Software in the Public Interest online meeting
has been posted.
The announcement mentions "one motion has been raised" but
the
agenda
doesn't include any motions, so I'm not sure what.
Also, the agenda lists "Debian logo licence" as up for discussion but I
thought
last
month's meeting
resolved that.
I watch SPI fairly closely and I'm confused.
How about the rest of you?
SPI isn't alone in this: many software organisations seem
to suffer from similar problems. For example, I ranted
in passing about
Free Software Manchester
yesterday, who just posted
the
notes from their own zero-day meeting
and I've suggested possible ways of reforming
debian's
currently-stalled New Maintainer process
more than once. Welcoming and
expiring members, calling meetings, publishing routine
communications, and so on, are bread-and-butter tasks,
but many free software organisations I've met struggle with them.
I feel a lot of these problems are caused by attempting
to order our inherently entropy-filled world completely
and insisting everything follows petty rules, such as refusing
to answer a question because the "wrong" member asked it.
The world will not become less random just because hackers
try to impose arbitrary rules. Sometimes it's good to
put down minimum standards (because calling zero-day meetings
is a mostly-avoidable way of excluding some members) but it
will always be a poor alternative to
trying to do the best you can for others.
We're not dealing with the sort of things that governments
deal with and most of us are not experienced in running a
government, so trying to behave like governments seems
unlikely to work.
How do we get past this? I believe in cooperation,
but my own
pro-cooperation-and-better-business
platform for SPI board
went pretty badly and I've had some anti-cooperative flames
back from someone starting another free software group
this month, so I don't think I can fix these existing
organisations personally any time soon. Also, about
1 in 6 people in the UK are members of a cooperative, so even if that is
reflected
among hackers (and I think it's lower), carrying
all of their support with me may not be enough to reform much.
One of the most common memes in free software is "show us
the code" and the few other free software cooperatives I've
seen have mostly failed, with a few surviving but hitting a size limit.
As a result, I'm currently negotiating the start of a new
free software cooperative. So far, I'm really happy
with how that's going, so I wondered why:
it might be because many cooperators learn at the feet of
large consumer cooperatives like
the Cooperative
Group
who run training courses for new members about putting
cooperative values
and principles
into practice,
which we smaller groups couldn't run ourselves.
As a result, most cooperators already know how to work
well together.
Should large software societies like SPI try commissioning
similar courses?
(Slightly edited repost of an article I wrote elsewhere,
following a request from an advogato user.)
thoughts, posted 17 Apr 2008 at 16:00 UTC by lkcl »
(Master)
slef,
most timely article, particularly in light of muhammad yunus asking for someone to create an organisation called ISEP.
my thoughts:
1) many free software projects simply do not know when to stop developing - when what has been created is close to perfect for the purposes for which it was designed, and is definitely sufficient.
one example which genuinely causes me some distress in this regard is python 3000 and the removal of map, reduce, lambda and filter - all absolutely crucial and extremely powerful "compact" language primitives that have been removed, on the basis that the developers simply do not understand why they are needed. scientific users of python, with far more experience than the python developers, will as a result simply... stop using python. many of these users either cannot or will not (for example, they are in the civil service) "report a bug" - they are legally not allowed to, or never have, and never will.
one wonderful example that i give is htmltmpl. htmltmpl is simple, does the job, and does not - and never will require - further "development". as a result, its "ranking" in sourceforge is extremely low. yet, time and time again, its functionality is reduplicated, reduplicated, reduplicated, and people go "hmmm, that's boring: let's extend the syntax!" and end up very quickly in what i like to call "xml hell".
the zope project is a classic example of "xml hell", and i spent many months bashing into people a different methodology where coding was done in zope xml hell instead of in python, and i turned that practice around, drastically simplifying the codebase and making it far easier to maintain.
overall, taoist philosophy (forget the religion) states the simple principle: STOP when enough is enough.
2) what's the goal?
what is the *purpose* that you are pursuing? many free software projects have a charter, vision statement and mission statement, but many do not. (i've talked before about this - i spotted a really good charter - the world of warcraft "unity" guild charter is absolutely fantastic)
so, without an appropriate charter, vision statement and mission statement, the goal therefore becomes "enjoy playing power games".
3) "show me the code" - even the apache mission statement puts "code quality" above "strategic decisions".
for the opendce charter and mission statement, we specifically copied the apache charter, and then added that "strategic merit" was to be given equal status to "technical merit".
4) many people are deeply affected - adversely - by technology, and their valuable input screams through stress and pain that they are feeling.
i'm talking about asperger's syndrome; flickering monitors causing overloaded minds through subconscious incessant cortical resonance; repetitive strain injury due to mental and physical tension cutting off blood supply, thus inducing further distress; toxic build-up due to unhealthy lifestyle, resulting in metals in bloodstream and fatty deposits that then act as concentrators for wireless signals and mains pickup.
the list goes on but you should be - rightly - going "oh my *god*" at the above. if you're reading this, and not freaking out enough to actually do something about it, please contact me and i will give you some more examples (including some that nearly resulted in death).
immediately you hear of someone being a "****ing idiot" on a mailing list, your alarm bells should ring that this person is in quite a lot of distress which they're not aware of. *work with them* to ascertain the cause of distress - find them a mentor (or two, or three) that can, off-list, "filter" the relevant information from them.
i use phil hands and other people these days to sound out ideas that could otherwise cause me distress, and phil is extremely useful in filtering the initial distress and transmuting it into ridiculousness and extremely funny situations. from that vantage point, it is then pretty easy to come up with ideas and solutions.
(p.s. which reminds me: whoever thought that NetworkManager is a "great idea" to integrate by default into kde where "NetworkManager" completely bypasses the unix principle of simplicity and text files as the authoritative administrative front-end is a *censored* *censored* *censored*! :) ha ha)
5) hierarchy. a place in the structure.
many free software projects simply do not integrate or talk with each other. they reduplicate effort, they continue as self-serving entertainment.
the classic example of this is the intertwining of FreeDCE, FreeDCOM, Samba, Wine, ReactOS, OpenLDAP and Heimdal. microsoft successfully created this highly innovative and very powerful infrastructure. luke howard created XAD (recently purchased and buried by novell). many proprietary companies have duplicated it and made a fortune. samba is reduplicating FreeDCE, OpenLDAP *and* Heimdal. Wine is reduplicating FreeDCE *and* parts of the infrastructure in Samba.
it's genuine insanity, especially when the RFCs on the opengroup web site already exist, which indicate how previous extremely competent organisations have already done the work - work which luke howard successfully followed and completed as far back as 2001.
... but there are many more examples. the bottom line is that an overall strategy is required - a direction around which people can group together to focus on something that is more exciting than keeping themselves entertained, which actually brings meaning and purpose to their work, and allows them to cut through the crud.
usually, it's "money" that gets people to do this. Hewlett Packard dragged significant resources and focus out of the samba team by paying key memobers to work on "printing" for many years.
so - slef: the most sensible advice that springs to mind right now is to look up daoist philosophy: especially the principle of leadership that encourages people to "come up with the solution", and trusts that they will follow it through, and then congratulate *themselves* on having come up with the solution.
and lots more beside, which i've forgotten about because i started re-reading what i've written above ha ha sorry!
htmltmpl, posted 17 Apr 2008 at 16:02 UTC by lkcl »
(Master)
apologies - that's htmltmpl not http://htmltmpl.sf.net
Thanks, slef, for posting this article.
I'm guessing that the petty rules are more a symptom than a cause of ineffectiveness of free
software interest groups.
While I think the social relationships in the free software world are meaningful and that they
derive their strength from the shared productive goal of producing software, I think that they
are fundamentally less strong than the kinds of bond you find in functioning
neighbourhoods. Political parties, most churches, and, I understand, the co-op society, are
hierarchical organisations whose bottom level consists of local chapters composed of people
who meet regularly and quite often have business relationships. It's hard to overstate the
importance of this basis to these organisations.
The free software world does have such locally-based organisations, LUGs being the most
important, but I don't get the sense that they are much leveraged to serve the broader
interests of the free software community as a whole. I'm very much interested to learn how
this situation can be improved.
you _have_ to read this book, by Muhammad Yunus. pay particular attention to the concept "social business" which can be defined as a standard business which is "non-loss", and "non-dividend". other than that it is exactly the same as a "normal" pathological-profit-mongering business which is required by law to enact its articles of incorporation.
professor yunus puts it better than that and he has a nobel peace prize so don't listen to me, listen to him.
coops, posted 18 Apr 2008 at 17:05 UTC by lkcl »
(Master)
professor yunus explicitly mentions coops and their disadvantages - particularly the fact that they tend to be usurped by profit-mongering and are vulnerable to being taken over by dishonest directors.
you _really_ need to read professor yunus' book. the model he describes is a far better fit for what you want to achieve, slef, than any other model that you are likely to encounter.
In the absence of data, I don't believe that cooperatives "tend to be usurped by profit-mongering" and all organisations are at risk from dishonest directors. However, profit's place as one of a number of compatible aims is made clear in most cooperatives, so I think that model is more secure against profit-obsession than many.
I won't have access to Yunus's book for a while (at least three weeks) and neither these comments nor your previous posts appear to explain the claimed better-than-cooperative model, so I guess I'll continue in ignorance for a bit.
Harnessing LUGs, posted 21 Apr 2008 at 10:05 UTC by slef »
(Master)
Interesting point from chalst above. Are there many LUGs where there's enough shared interest to work on a common software project? Apart from organising events, local attempts I've seen haven't been very successful.
I don't suppose there are any LUGs that are big/sophisticated enough to support a really
sizeable development project, but tailoring projects for the interests of members seems to
be common enough: every other German LUG seems to have its own homegrown Knoppix
distro.
The Berlin LUG, BeLUG (German wesbite) has an
active project list, which current includes building a computer system for improving disabled
usability (THIKWA, also in
German). Cf. an old project, a linux distribution creator, whose page is in English: Beldi.
It would help make LUGs more visible, and so, perhaps, more organisable, if there were
something like a fairly comprehensive resource of active LUGs. A wiki would be the most
obvious technology to use, but nearly every wiki seems to pay some price in terms of the
spam-purpose-accessibility triad. Advogato might be an ideal starting point for
implementing this & since advogato is now an openid server, we wouldn't need to bother our
generous host to implement it...
I have to say I don't like the name "Linux User Group". I understand that there are perfectly
good historical reasons for it (they started out of the whole social-meetings-to-install-linux
movement), but now the name sort of marginalises people who want to use or develop
software running on top of MS/Apple offerings. The freeness of the software, I think, is the
main thing, not the APIs it makes use of.
cooperatives, posted 21 Apr 2008 at 20:37 UTC by lkcl »
(Master)
slef: that gives me a few weeks in which to re-read the book and find the page and quote the risks associated with running as a cooperative venture directly from the opinions of someone who has won a nobel peace prize (instead of believing that my opinion is valuable).
page 18 , posted 21 Apr 2008 at 20:48 UTC by lkcl »
(Master)
"Capitalism is a half-developed structure" - capitalism takes a narrow view of human nature, assuming that people are one-dimensional beings concerned only with the pursuit of maximum profit. The concept of the free market, as generally understood, is based on this one-dimensional human being".
it's a little oversimplified: you have "consumers" as distinct from "producers", where the "producers" are definitely concerned with maximising profit, in the model, and "consumers" can often be "producers" in a chain or cycle so i guess it's a good simplification - perhaps i should not question someone's choice of words and viewpoints, when that person's higher education studies were in Economics.
[...]
"The presence of our multi-dimensional personalities means that not every business should be bound to serve the single objective of profit maximisation. And this is where the new concept of social business comes in"
and like... free software is _so_ not one-dimensional it's unreal.
The bottom line is that a social business model as a way to develop free software would FORCE organisations to stay focussed. If they didn't make a profit, or if they weren't fulfilling the social charter, then their investors would be at liberty to stir up the mud.
once they became profitable - and had paid back the initial investment to the investors, _then_ they could buy back the shares from the investors (from the profits made) and sell them to people who contribute to the project's success.
it really _is_ an extremely good model which fits extremely well with free software.
and IBM would not have to covertly fund OSDL any more.