Giving up on Open Source Software, r0ml

r0ml, aka Robert Lefkowitz was interviewed for usesthis.com and said “I decided to stop using open source software whenever possible and use any available alternatives…”, and this article is his explanation of why:

This explanation is narrowly focused on the question of using open source software — which is distinct from my ideas on writing open source software or distributing open source software or reading open source software or modifying open source software or copying open source software. Furthermore, the using which is at issue is running it, as opposed to using it by having it be a dependency in a software project I’m building. This is about being a user of software, not a builder thereof. There are good reasons for considering open source software if you are building software. I’m not sure the same is true if you are using software.

This term of “lithification” echoes some of the redmonk posts, so I added lithification as the tag there.

There is one more digression before summarizing the conclusions to this experiment. And that is explaining a phenomenon in software development which I call lithification. I describe this in my 2017 talk at linux.conf.au

Lithification is a term from geology which refers to the process by which loose materials are converted into coherent solid rock by compaction or cementation. In the software world, the analogous process is the one in which lots of little bits of functionality get absorbed into a larger software substrate. So, for example, there was a time when there were lots of little barcode scanner libraries and apps, and eventually android and iOS just built barcode scanning in as a feature of the operating system. In the 1980’s one would purchase a networking stack which was purchased separately because the operating system didn’t include networking. Somewhere along the way, networking software got built into the operating system. Go back further and things like support for sound cards involved separately installed drivers, since the operating system did not have built in sound support. More recently, things like machine learning, or virtual reality or raytracing are being cemented or compacted into the operating system. That’s lithification. It can happen with development environments — over the years they have had lithification occurring with features like version control and syntax coloring and integration with cloud deployment and so on. Each of these features at one time was a separate application which was eventually subsumed.

(various discussions on how open source is bad at this)

On a Macintosh computer or phone, if you’re logged into iCloud, you’re logged into iCloud in every application you’re using. Every application can share with every application using the same share facility. Keyboard shortcuts are the same everywhere (mostly).

The open source crowd think that having plugins and extensions and individually installed libraries is a benefit — it increases freedom. But it also increases cognitive load and incompatibilities and upgrade complexity. It increases software transaction costs. Eventually the costs get to the point where the best strategy is to retrench and use proprietary software which is lithifying. The evolution of separate applications into pre-installed hardware features is one of the ways in which lithification manifests. When Microsoft first attempted this with Internet Explorer, to lithify a web browser into the operating system, they were sued by the government. Today, every platform includes a built-in web browser. And other built in functions as well. Like photography. Video player. Text messaging. All of these were separately purchased applications at one time.

The impact of lithification is not just felt at the application level. It also impacts the software development process. If I use a modern platform, the platform includes data and video compression libraries, cryptographic libraries, image processing libraries. It includes interfaces for software installation and updates, for backups and authentication and networking and handwriting recognition. Not only does it make it easier for the developer to create software, but applications developed by different people or organizations will be consistent in ways in which applications developed using open source libraries will not.

It also means that as the operating system continues to evolve and lithify additional functionality into itself, those software packages that disdain to advantage themselves of the hardware capabilities will constantly be falling behind those that do.

Very interesting concept Lithification

I think this picture, could and should, and in fact most likely will be flipped in the Commons based Peer production webnative space.

in that space the browser is where things that compacted, but because of the simplicity and opennes to composability, and exchangeability of capabilities/apps I see a chance for Open Peer production to completetive instead of competetive, in small self-sustained network of niches where edge-players and full-edge developer communities could emerge and form a spontaneous order of synergetic growth of the networked communities benefiting the participants first.

It is not the Opennes of the source but the openness of conversations and value flows that matter.

This is something incumbent, centralized, dominant platforms are incapable unless they cease to be platforms in the old sense.
but then, hopefully it will happen, all they have to change is everything they are. Let’s hope that will happen, or be disrupted by those who can do that.

I understand inrupt to mean just that.
After all Inrupt proposes a common semantic data model and processing technology to be shared across all SoLiD apps. It is inrupting allright.
Now if we coujld fix the web, and especially the semantic web together and combine that with Inter Planetary, Webnative constellation, licensing innovation, make Personal Online Databases
Webnative, Personal first, private first,
where algorithms come to you instead of your data stored where the algorithms coming to you for your benefit first, as is proposed by
https://polypoly.org/en-gb/

https://jonudell.info/h/facet/?user=Gyuri&any=polypoly&max=30&expanded=true

we may just help to make the change we all need.