Joyful Creation

This long post serves as a bit of my introduction to this community, explaining interests and drivers.


I just watched @akkartik’s highly inspiring video about Freewheeling Apps and thought to point out this idea that Dan North (@tastapod) has been putting forth as an alternative (or in addition) to SOLID principles: CUPID Joyful Code.

When I started formulating a response to the five SOLID principles, I envisioned replacing each one with something that I found more useful or relevant. I soon realised that the idea of principles itself was problematic. Principles are like rules: you are either compliant or you are not. This gives rise to “bounded sets” of rule-followers and rule-enforcers rather than “centred sets” of people with shared values.

Instead, I started thinking about properties: qualities or characteristics of code rather than rules to follow. Properties define a goal or centre to move towards. Your code is only closer to or further from the centre, and there is always a clear direction of travel. You can use properties as a lens or filter to assess your code and you can decide which ones to address next. Since the CUPID properties are all interrelated, it is likely that any change you make to improve one property will have a positive effect on some of the others.

CUPID as acronym stands for the properties of code to be:

Joyful coding

Besides these properties and their application I find something else, and important, to be conveyed in this concept. Namely with the word Joyful.

There’s a lot contained in this simple word. And I feel it is hinting at something crucial, often overlooked and missing in Free Software circles, but also more broadly in civic movements and grassroots movements in general.

In another thread @akkartik refers to this observation:

Very true. That refers to monetary compensation. But do developers work without any ‘rewards’? Do they work without incentives that provide motivation? No, they don’t. And that is only natural.

Here is a big difference to how the business world operates, where employees are set to particular tasks and see them through. Salary and job security are important motivators to keep them on it, and also do the chores.

In FOSS more hedonistic motives are the key drivers. Passion and beliefs lead to starting particular projects, and “joy of coding” is often involved to explore innovations. There aren’t fixed organization structures where collaborative relationships are hammered out, as happens in companies. The social dynamics are completely different.

Community collaboration

Having tried my best at stimulating the emergence of inclusive Communities of Action (CoA), and noticing how hard the “herding cats” challenge in grassroots movement is, this insight was kind of profound to me. Generally speaking small and focused communities work rather well. As soon as the audience gets larger and scope broader CoA’s - at least the ones having only volunteers - become nigh impossible to uphold.

Rephrased: If you want to start a highly productive CoA with both a broad audience and scope (i.e. evolve a technology, explore a paradigm), it will likely not live up to expectations unless you either:

  1. Have committed facilitators able to dedicate near full-time, willing to do the chores, for prolonged time.
  2. Are satisfied with ‘natural speed’ of evolution and patiently take to ‘gardening’ as growth happens.

Point 2) isn’t what we are used to in our hectic, results-driven society and most people joining the community come with Expectations of productivity and results delivery that do not match this approach. These people move on to ‘greener pastures’ (in their eyes).

Joyful creation

Fascinated by Dan North’s notion of “Joyful coding” I expanded the concept to be multi-disciplinary and made it to be Joyful Creation. After all, when we consider the software development lifecycle, we have many, many stakeholders each playing their part in it. If we want inclusive software development then the choreographed seamless interaction between all these people must be front and center.

Joyful creation takes hedonistic aspects into account, focuses on motivation and expectations, and the incentives that people need to collaborate with others.

Sustainable ecosystems

My biggest frustration in doing all that community work and advocacy for years was witnessing how self-centered and individualistic people are. But the insight I’ve since gleaned is that we should take this as a given. It is just how things work. When doing so, it provides a whole new angle and fresh perspective to look at how to foster healthy ecosystems where technologies evolve and new paradigms take root.

First of all we must go full-spectrum, holistic in our approach: social ↔ socio-technical ↔ technical.

What I am most interested by is 1) the much talked about inherent unsustainability in FOSS movement, and 2) the eternal fragmentation in FOSS and civic spaces. FOSS is successful only when looking at its deliverables. The fragmentation leads to continuous wheel-reinvention and small initiatives being but weak in the face of large wicked problems.

What would be needed to achieve holistic sustainability in thriving ecosystems?

Ecosystems that emerge from grassroots movements and created by and for the Commons. Consider this:

Why can Big Industry, say in the automotive field, profitably uphold intricate global supply lines, where countless high-tech factories deliver parts in a just-in-tim fashion? While a single FOSS project has the highest difficulty to overcome the challenge of becoming popular, should that even happen?

The Fediverse is very interesting here. It is among few open-standards based ecosystems that rose to popularity without any corporate involvement and driven solely by bottom-up grassroots involvement.

Fediverse is also the example where severe cracks in the success formula become increasingly apparent. Where, after W3C standardization, emergence of apps happened but at the cost of ever increasing Protocol Decay (see RFC-9413), and without being able to organize an efficient technology substrate (people and processes that evolve the standards).

Technology adoption

We’ve all heard of the Technology adoption life cycle, and how we need to somehow “cross the chasm” to introduce new technologies and paradigms to large audiences. And searching the web we find a ton of information how we can do this.

Interestingly most of this information doesn’t really apply, or applies differently, in the context of FOSS and Civic grassroots movements. Technology adoption has tried and tested methods that are designed for companies to be followed. In our setting we have unique social dynamics that we must take into account.

And as it happens there are Technology Adoption Models (TAM’s) that do so. I named them in the Fediverse challenge that observed that the technology adoption lifecycle is stuck. These models provide fascinating handholds to think how grassroots ecosystems might thrive and be long-term sustainable.

Malleable systems

I am excited I found this community. The paradigm described on Malleable Systems fits part of what is needed from, looking a (socio-)technological perspective. Smallness in all the things, Small Tech, small groups of people, decentralized all, motivated to collaborate. Spontaneous emergence.

As it happens, though this is just a hunch, when going holistic on what would make sustainable ecosystems thrive, the resulting system becomes organic, subject to the Forces of Nature.

What I observed from first impressions of this community is a strong technology focus. Not denying the social aspects, but not emphasizing them either. I feel that malleable systems would benefit from delving deeper here. Add a component that may be missing.

Social coding

All of the above fascinates me no end. The Social Coding Movement was started to explore all of the above. It is both about “social coding” and “coding social” and explicitly not a community, but a movement. There’s no expectation for its growth and ‘success’. Success is meaningless at it scope. There’s just a DoOcracy, simply meaning “pick up any task and see it to completion”.

Sustainability of FOSS ecosystems is an attention area, and for this the Free Software Development Lifecycle (FSDL) is defined to chunk it into pieces.

Substrate formation is another area. Laying the solid foundations for an ecosystem to stand upon.

And decentralized social networks and their socio-technical protocols and standards, with the Fediverse as a shining beacon and a place where unmet potential is yet to be unleashed (before corporate takeover ensues, btw).

That’s it. My intro. I hope you found it entertaining. Where will things go from here? It’s an adventure.


Thanks so much for the kind words! I don’t have much to say yet in response, except I agree with everything you wrote. In particular, non-monetary compensation (intrinsic motivation) is a huge, understudied phenomenon.


Adding some random thoughts inspired by @aschrijver’s introduction:

Fragmentation: Often the result of people pursuing idealistic goals, rather than pragmatic ones. Pragmatism leads to compromises, idealism leads to fragmentation. The business world is driven by pragmatic goals, FOSS is driven by idealism.

Maybe we could get over the technical fragmentation by integration social idealism. Playing well with others can be an idealistic goal, paving the way to compromises at the technical level. But maybe I am just dreaming.

Organization and structure: I have frequently seen the claim that humanity has figured out only two architectures for large-scale collaboration: hierarchies and markets. I agree in the sense that I couldn’t name another one, but that doesn’t mean we can’t come up with something else in the future, now that we have the Internet (assuming we can pry it out of the hands of GAFA etc.)

Grassroots, bottom-up, forces of nature: evolution is a lot slower than design, but also yields more robust outcomes. Can we develop the patience for slow improvement? Recent history suggests the contrary.

1 Like

Idealism vs. pragmatism (making concessions) is a great topic. It is a given that for any initiative to be long-term sustainable it needs to generate a decent enough income for the participants. And preferably this is done while making as few compromises as possible to ones idealistic values and beliefs.

I don’t know if I interpret this paragraph correctly. But I see fragmentation on many fronts and with different causes. I sometimes somewhat sarcastically remark that the strategy of FOSS movement seems to be “divide to be conquered”.

Fragmentation happens because “I just want to do MY thing, even if near exactly the same as yours” or “I favor a slightly different techstack” or even “my idealism diverges 0.01% from yours”. Or simply “I want to do this with my friends; people I know”.

Thing is, I’ve come to see that this is just as it is. It is the reality, and it is fine. Any effort to bring people together on a single initiave collaborating on a common cause and objectives will create structure you have to uphold, put energy in against the forces of nature. You’ll need hierarchy and governance and properly manage power dynamics that threaten to topple what you’ve built.

Yes. I agree as well. I like to use an analogy for a system that works, and it boils down to mimicry of nature. And that’s the cells in our body. Do they have a hierarchy? Is there a ‘leader cell’? No, there’s not. They are like markets and function based on supply and demand, exchanging proteins. They aren’t greedy, take just enough to sustain themselves, and instead of growing ever larger they split themselves and pass along their DNA.

When you think through a holistic system that might work for grassroots movement, operating in a hostile hypercapitalist environment, the analogy of a living organism is quite apt, I found. And it is here that I am working on a concept, or a formula rather, to be applied. I call it Prosperity Guilds.

Btw, zero ideas in this are actually new. All required knowledge and wisdom for such system is already out there. You may ask why then isn’t there a wildly successful example of such system already? Yep, that’s where the crux is… getting things right, set the proper conditions :grin:

But independent initiatives (cells) that are intrinsically motivated by incentives (proteins received) to collaborate actively (produce proteins) are key in all this, I feel.

What is very interesting to consider is how (decentralized) technology can be supportive in ‘protein distribution’.

Evolution is slow, yes. But then we are talking DNA. In terms of growth natural organisms are highly efficient.

There’s only about two options… either we evolve towards a post-growth system that is sustainable at scale. Or we devolve into all kinds of horrible dystopic futures. PS. I count revolution that many people preach for, to be an undesirable outcome. Best be avoided and have “revolution through evolution” :blush:

1 Like

Yes, exactly. But then, people also have to realize that groups that do set up and maintain structures will end up having more power. That’s just another aspect of the forces of nature. And that’s why the world has multicellular organisms, tribes, cities, corporations, and nation states. But also ant colonies and slime molds, whose structure has no clear analogue in human social structures so far. There is room for innovation.

There’s no hierarchy, but it’s not a market either. Organisms are systems with feedback loops for regulating vital parameters. It’s markets plus regulators. Not very different from markets plus democratic governance, except that organisms don’t need democracy, because the common interest of their cells is encoded in shared genes.

The art of supervising the evolution of systems without falling into the trap of wanting to design them top-down.

Exactly. But for now, too many people, maybe most, still adhere to the linear model of eternal progress and economic growth. It’s hard to change a system that has been running for a few thousand years, with increasing technical perfection.

1 Like

I think we are quite aligned in our thinking about the particular challenges to overcome. Taking this ‘mimicry of nature’ analogy further with a combined philosophical, practical and technological perspective is a very fascinating and creative exercise. Also I feel that esp. in grassroots settings holistic approaches are rare, but required.

The points you mention above and many more naturally pop up in any elaboration of this kind. And the underlying philosophy becomes more intricate when thinking solutions. The potential of tech to be supportive is huge.

One thing I have learned early on in this philosophy… a set of Mindfulness principles, if you will. Among those is to let go of any Expectations. This is essential when thinking about stuff with potentially unbounded scope. This eliminates the need for Success and also the requirement to have a vision. There’s just Dreams and Progress, however small. As long as there’s progress the effort is worthwhile. This mindset allows the efforts to be Timeless, in a world where everything is urgent and rushed.

Prosperity Guilds is now a small seed. It might take root, or it may not. It is scaleable but need not scale. “Smallness” is one of its qualities. In its philosophy: Small is Huge :grin:

I have several things on my plate that determine the future of this initiative. Like also earning a living in the meantime, but I will be sure to fit malleable systems into the whole picture.

1 Like

Let me point that the biggest problem that I am trying to solve at the moment is to enable the evolution of social structures mediated by software. To increase the effectiveness of evolution so that the old social institutions will eventually be replaced by the new ones.

I am trying to find a technical solution to this problem.

I am interested in Democratic evolution and in democratic control theory. Feedback loops that control social behavior but at the same time, it is the users that design the feedback loops.

1 Like

Thanks for sharing this topic @aschrijver, and welcome! :smile:

I do agree the social aspects of software are quite important. As you say, they are unfortunately less well understood and often deprioritised in software projects, especially FOSS ones.

One internal social aspect we’re at least okay at thinking about is the “context of use” or the “situation” (if I may twist the naming of Situated software): each group of people should be able to specialise their software to meet their own (potentially unique) needs.

If I understand correctly though, you are mainly thinking about various external social aspects beyond a single group using a thing, and in particular all of the negotiation and interoperability challenges that arise in federated environments. We haven’t yet had much discussion of these in this community so far, but they certainly play a role in the potential adoption of new ideas, so it’s great to talk about it. Thanks for bringing this up! :slightly_smiling_face:


Oww, I love :heart_eyes: that article on Situated Software. And quite applicable for Prosperity Guilds too. Thank you.

No, actually the entire puzzle. Both internal and external, situated uses and how they relate to larger contexts. Wrt the Fediverse I am more into the inter-connected small communities perspective, and I use the term “personal social networking” to indicate that each person has unique requirements of what they want to get out of their online interactions. I am decidedly less interested in “global public square” shoutspaces where all kinds of nasty social dynamics are much more likely to surface.

I once pondered “What is the shared (technology) Vision of the Fediverse?” and I see very few people ideating about unleashing the full potential of this new technology landscape. Tech can only ever be supportive, of course, but in this case it can be transformative in how we migh ‘unite-at-global-scale’ and ‘collaborate-at-human-scale’.

1 Like

I do not think you will find a technical solution, unless you first find one in sociology which can be supported by technology.

Where I’m focused with Prosperity Guilds is in providing incentives such that people are motivated to ‘weave’ themselves in a growing social fabric, as it were, which then organically grows. They would do that because there’s benefit to do so, rewards to reap. While also making clear that in order to reap them requires putting in energy in the system (i.e. give back). People must take initiative, but they can also retain full independence.

In this case the socio-technical support might facilitate people finding each other’s initiatives and status thereof online and know how to anticipate the other’s needs so they can offer help. And then ‘value-adding’ service exchange takes place.

A feedback loop might be based on synergy that’s created by such system that wouldn’t otherwise exist, and feeds like the flywheel that keeps the system going, but also speeds it up and gain inertia.

1 Like

Just two points :

a. A transfer of energy does not necessitate an exchange, meaning that a lot of times people give just to give or for other reasons other than personal gain. ex. wikipedia or open source.
Thus, I would be open for new forms of compensation, quantitatively and qualitatively.

b. I think it is important to understand such flows of information and energy, in the sense that they control our behavior as a society. In that sense, society’s self inspection allows it to change the bahavior of the controller, the feedback loop.

Society should be the controller of the controller of Society.

The technical solution is indeed trying to empower society , not replace it, as you correctly pinpoint.

Regarding your proposal, I would make the incentives you put in the system abundantly clear to all, with the ability of the people to change them. In general, I like your proposal.

Absolutely! In Prosperity Guilds there’s the idea of ‘value’, that is very broadly defined. An exchange of value can also be merely the satisfaction that you’ve helped someone else. Value becomes very interesting if you measure it against the full scale of human virtues. And then, yes, there’s also monetary value.

From a philosophical viewpoint Prosperity Guilds considers there are always hedonistic and/or other self-centered factors at play. Self-centeredness is not taken as a negative, just as a given. Something entirely natural.

Though this idea isn’t necessarily practical or measurable in any way, it is very useful nonetheless. It means that there is always a value exchange taking place in any human interaction. And now we can look at ways to maximise the mutual rewards that participants get from it. Which in turn leads to motivation for future exchanges.

Consider this, just as a random example…

  • I’ve seen your work, and it fascinates me. Based on it I appreciate what you do.
  • Can’t help you directly, but based on your interests I send you a small gift, nothing fancy.
  • Upon receipt of this token of appreciation, you feel recognized for your work.
  • You are thankful and show me your gratitude in response. I also earned a bit of trust.
  • The gratitude makes me feel good. There’s satisfaction and deeper mutual appreciation than before.
  • We are more likely to have positive interactions in the future.

Very basic stuff. Happens all the time. But in our hypercapitalist society the human value exchange is underappreciated. The system we have emphasizes wielding ones vices rather than virtues, as that ‘yields’ more in the short term. Seek the edges, and you’ll find ‘competitive advantage’, set the rules to your advantage.

Of course there’s much more to these ideas of mutualism and reciprocity, applying positive psychology. There are many ‘delayed’ value exchanges and having debit/credit not be balanced is actually a very good thing that instills trust, establishes trustworthiness. Hypercapitalism is an inherently distrust-first system. Going to trust-first maybe requires a leap of faith for many, but it is one well rewarded in terms of experiencing Humanity.

You are well-aware of this, of course. This is about point b).

Where it gets even more interesting for us techy-nerdy folks is how can you support this in the technology you offer? Starting with the awareness of where the value is, and the notion of virtues being emphasized, we have the ingredients to find synergies. This is another aspect where the idea of App Free Computing, moving beyond apps, is helpful. And instead I’d like to focus on Social experience design (SX). What do we want to get out of our social interactions? What Needs are fulfilled by them?

Oh, I should add that an ideal system is designed in such way that ‘foul players’ place themselves ‘out of the game’ in a natural way. They don’t need to be ostracized by explicit moderation and governance structures, that do not scale. If someone betrays trust, they just aren’t likely to have future beneficial interactions. They lose the rewards they get from being collaboratively wielding ones virtues.

I am not a fan of the “global town square” either, but there was something great to Twitter before its decline that I don’t find in the Fediverse, nor in the cozy Web: the possibility of discovering people and ideas via the “six degrees of separation” feature of a global network. A few hops on the social graph (follower relations) or concept graph (via hashtags) take me to people I’d never find otherwise. But that works only because there’s a single global graph. On the Fediverse, follower relations are less straightforward to exploit (but better tools could solve this), and hashtag graphs are almost useless.

1 Like

Yes. I think both perspectives have their merits. But I should just be able to separate them. Be very much in control of the audiences I’m exposed to and can reach. What I really love in the Fediverse is that my search queries reflect my past interactions with other people. They are like my memory palace and form a sort of knowledge base. This notion can be further improved. I once wrote some notes about what I’d love to have in terms of knowledge curation:

This is just an idea that’s in wait-mode for sometime later perhaps :sweat_smile:

1 Like

Semmy sounds like something I’d want to use!

Wondering if you know about Federated Wiki and Noosphere, which have a lot of overlap with your ideas.

1 Like

Yes, I know about both. I typed Semmy based on a Fediverse discussion with someone using Federated Wiki. I will look at Noosphere again, as it was a long time ago I last looked. There’s a lot of stuff happening in such spaces. I followed Underlay by Knowledge Futures but looking now it looks they dialed down ambitions to a more limited (practical) set of use cases.

1 Like