Better Free Software Organisations?

Posted 17 Apr 2008 at 12:05 UTC by slef Share This

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)


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

The nature of free software communities, posted 17 Apr 2008 at 22:09 UTC by chalst » (Master)

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.

Creating a World without Poverty, posted 18 Apr 2008 at 17:03 UTC by lkcl » (Master)

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.

"tend to be usurped by profit-mongering", posted 21 Apr 2008 at 10:03 UTC by slef » (Master)

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.

Certainly there are some, posted 21 Apr 2008 at 12:36 UTC by chalst » (Master)

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.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page