Tuesday, February 5, 2013

FOSS Compensation Mechanisms

The above article and associated comments are interesting. There are plenty of kindling for flamewars contained, but its not those particular aspects that I find my attention drawn to.

Free Software.... System

The arguments about what FOSS is or who runs it or what happened are fun. The point is that "Something", a system of some form, generates software which happens to have the property of "free"ness. We have the software artifacts as evidence that this is not just some teenage RPG fantasy. The fact that this has been happening for some decades suggests that its a systemic process. At this point I conclude that its worth using the lable "System" to collectivly describe it. The fact that just about every other heuristic about "systems" is violated somewhere means that its probably not a good term. Its certainly an informal system that has displayed a wide range of emergent structures and processes. I like emergent systems. I like seeing how structure forms and fragments within a pool of chaotically swirling components. I like seeing the effects of context and environment. Its fun to see small niche opportunities appear, be filled and then fade away as other actors either colonise the niche and exhaust the resources or change the environment and disolve the niche all together.

So is it an Eccosystem? Lets drill into it a little more.

An Eccosystem is defined by its environmental constraints, resources and actors.

The actors in the Eccosystem are fairly easy to generalise:
* Producers of software
* Consumers of software
* Everyone else on the planet who knows them, sells stuff to them, talks to them, is even remotely connected to them in any distant way etc etc... living or dead....

The Environmental constraints are:
* all the computers in the past, present and some way into the future.
* all the users past, present and a bit into the future.
* the
legal, social and cultural contexts of the environments for both
producers and consumers of software.

There are probably millions of other variables within the system that could be listed.... we can play that game later. The point, I feel is to move on...

So in an effort to move the thought along... who are the big players in the eccosystem? Same rule as any eccosystem.... look at the most "successful". Look at the species or groups with the largest numbers, look for those with the longest lifespans, look at the ones with the most resources under their control, look at the ones with the biggest teeth.... pick some quality that you feel is noteworthy and then make a game out of counting it. When you're done... keep reading.

The point is that measuring "success" in an ecosystem is a game of "Eye of the beholder". Once you start to look at a system that has millions of variables and millions of actors... keeping score gets hard. Ask a biologist. Ask any academic. After a while, people develop coping mechanisms to deal with the complexity. They focus on something they think is valuable and "fixate" on it. They make up their own scoring system and their own game and play it to the exclusion of everyone else. They fight about their section of the bigger game and generally downplay everyone else's as unimportant. (That's being polite) but at the end of it... its just a coping mechanism to deal with something that is more complex than they can cope with. Its too big.

Kinda like the "flame wars" and strong opinions that manifest in the software world.

So, in summary, I would suggest that the bulk of the discussions are coping mechanisms and should be respected as such. One thing I have learned is not to mess with anyone elses coping mechanism... its not like I have something to replace it.

Once we move past the sound and fury of the coping mechanism bullshit storm... we can have an intelligent discussion about the software ecosystem.

First point worth observing is that the software ecosystem is not divisible into FOSS and "other". It's a single ecosystem where everything is connected. Many projects exists because of holes in other projects. This symbiotic relationship cannot be decomposed. But the projects can evolve away from each other.

The next point is that even within a sub-set of the ecosystem, such as the FOSS area, the complexity and variability of the people and projects is just too vast to try to clasify with a simple schema. There must be millions of instances of FOSS software running and, here I am totally guessing, millions of people making choices about FOSS software on a regular basis. It's just silly to try to argue that anyone has a good handle on what kind of decision making process those people are engaged in. The variables are exponential, not linear.

Like any good religion, its hard to change anyones mind.... simply because to display a coping mechanism means you are already reacting to the stress of the situation you perceive. You're in the tarpit. "Helping" someone else will simply pass your tar to them.

I guess the key point, rather than simply rambling on, is that the software ecosystem is, and will continue to be, incredibly complex. Trying to map it, argue about it or control sections of it, is simply demonstating one's ignorance about just how vast and variable the whole show is.

So whats the future hold? More of the same probably. More pointless arguments by people who are freaked out by the complexity of the system that they cannot understand. More chaos, more evolution by projects reacting to "local" conditions without being able to make "big picture" plans. There are probably very few players who have capacity to make really "big picture" arguments and even fewer who have the capacity to actually act at a high enough level to make any particular impact. The big platform players might be able to send ripples through the ecosystem but none of them have enough monolithic impact to really drive much. Microsoft has for years been a big player, big enough to distort the ecosystem around them, but similarly there have been thousands of others of larger and smaller degree who have created sub-ecosystems around themselves. Tools vendors, hardware platforms, game engines, social platforms, phone makers, tablets, consoles, vehicle systems, retro platforms... etc. Each one has created niches and relationships that have splashed in the pond and mattered for someone, somewhere.

Take a deep breath people... stop trying to keep score and get on with what is important to you.