Sustainable software development

in Synergy Builders22 hours ago

I like to think that my special "set of skills" is related to the multi-nodal and integral (in a holistic sense) theory of Sustainable Development.

Sustainable development is simply to recognize three axis of analysis, Environmental, Social and Economic. And finding synergies, is part of this dimensional analysis.

Can this theory be applied to software development?

I think so, and I aim to leave some mental notes for you all in this post about the topic.

Economic Sustainability

Possibly this is the most practical, but any software based project must be economically sustainable. There are different ways to achieve this, but some lessons are:

  1. No game lasts forever
  2. Free work, don't work long term

There are best practices, from the perspective of all different types of participant: developer, investor, user - and we should always be mindful to learn the lessons of past failures.

Sustainable with its Environment

This might be obvious, but anything, any organism (organization) whether digital or biological, must exist "in harmony", in a healthy relationship with its environment or ecosystem.

In the case of software, it might not be quite so obvious as with biological organisms, but perhaps its enough to give an example: we exist within the HIVE ecosystem, which also connects to the open source ecosystems of github/gitlab; etc etc. We bridge to other ecosystems, we are a living community of organizations/organisms.

Living organisms thrive; adapt and change - responding to stimulus!

Socially Sustainable

This is somehow and some what of a specialty of mine, social skills in a world of nerdy basement dwellers.... Well maybe its not all that bad but suffice it to say - we are all weird in our own ways!

There is something to be said here, I'm sure I've been trying, but "open source software" is something of a "political" endeavour - and it requires social skills to navigate and get things done.

A person with keys to the repo might be a president or executive, but node runners are the legislature. Users, or possibly app developers can be represented as the judicial branch of "open source governance".

Sure there are all types of tricks and fillibusters possible, life is a game after all; life is a social game.

For an application, there must be a healthy level of communication between all stakeholders, developers and users, investors and management. If this sounds like a lot of work, its probably because it is - if it were easy, every project would be successful.

All living systems

These three axis of analysis, together representing "sustainability", exist and are essential in all realms of human endeavours. Whatever we do, it should be sustainable, even if its not meant to last forever, especially so if its designed or desired to stand the test of time.

In an ecosystem, there are always multiple types of organisms. Monoculture is not a natural state, it "doesn't exist", at least when speaking of sustainable realities outside of the imagination of the spreadsheet-brained office dweller.

Building Sustainably

To adapt and survive, an organization must take all this into consideration, to establish a healthy and profitable niche. Despite many people's (mis)conception, ecosystems are not zero sum games. There are ways, many ways in fact, even obvious ways, to add value without taking anything from anyone, without eating anyone's lunch.

Zero sum games do exist, but there is no law that we have to focus our efforts on such things. We can build, for a better tomorrow - we can be sustainable.

I choose, synergy and sustainability.

IMG_20250523_050418.jpg

Freedom and Friendship

Sort:  

Here I was thinking you were going to include tech debt as an element of sustainability. It isn’t sustainable dev if every time a library is updated or compromised you need to refactor 90% of the code to get it to work, or worse still, rewrite the entire logic.

Perhaps we should just steal a quote used in art, and adapt it to code.

Code is never finished, just abandoned.

(The original quote is Art is never finished, just abandoned)

Absolutely true, and entirely applicable. No game lasts forever, that's for sure, and software seems to be a more fragile game than most even!

You're right, many people see software as just code or a product. But you're viewing it as a living being within an ecosystem and that shows a deep level of maturity and awareness.

Ecosystems probably have awareness of some sort, and now that both Bitcoin/crypto and AI is mixing with both culture and the real world we might be seeing something really new emerging...

For good or bad, up to the individual!

Of Course

Hehe, I like that a lot, a simple "of course" is what we need a lot of when writing things like what I just did! :-)

Well written. I do not disagree with anything here, also its so complex that no one understands it fully.

Which is how it should be. I often use a jungle as an example: I have started from next to nothing several times, including in the open source software space, so I know how to get through that "jungle", even if its one that I have never gone through before.

I do see some changes now, though, so I have some things I want to push a little:

  1. The stacks are getting super obscure. Yeah they work very well, but who knows all the code in the whole stack they build on any longer? For myself I keep some minimal stacks running, and will try to simplify that further, so that I know that I can at least do some things on a stack that I know very well.

  2. AI will now start to use all these stacks for real. Of course the code in the stacks can easily be handled by AI, so very soon these "building blocks" will be combined, recombined, fused and split up by AI. It might get very scary and wild...

  3. The fakery will skyrocket even further, due to these things. So being real will be key, especially when it happens in organic networks like here on Hive. Personally I'm intentionally doing things in a rough, unruly, gritty and wild way, not only do I enjoy that, but I know that I'll then attract the right, real people :-)

  4. We need to fight hard to own AI, to the degree that it is possible. Who or what can do this? Only the real people, cultures and traditions. In short: the old has to inform the new.

For that last part I've got on my list to get one of those chips that seemingly can be used to index photos locally. Its not on top of my priority right now, but I would really enjoy using it that way while doing my rough, happy and immersive traveling in cheap, unruly areas :-)

Will I get into a position where I can become really useful in this fight? Well, I need to take care of myself and survive to fight the next day, every day. But also I'm open to that, and working towards it long term.

I've mentioned meeting a local entrepreneur in Nepal who is doing these things the right way, I'll probably write about that, and also this is exactly the type of intersection of almost any really important issue that I'm aiming to focus on for years to come :-)

Be wild, unruly and fully human out there!

This is a fascinating perspective.
I really appreciate how you've connected the principles of sustainable development to software development, it’s a unique and thought-provoking approach.
The breakdown into economic, environmental, and social sustainability makes a lot of sense, especially when considering the long-term health and adaptability of software ecosystems.

!BBH
!WINE

A good point to think about. I think sustainable part of the code depends on its outcome, on what kind of result it will bring.

!BBH

Sustainable development is simply to recognize three axis of analysis, Environmental, Social and Economic. And finding synergies, is part of this dimensional analysis.

SoftwareDevs.jpg