SmallTech

From Wiki
Revision as of 03:09, 29 March 2021 by Joseph (talk | contribs) (improve references)

"Cloud computing is like factory farming for servers. My home server is a pet."
a toot on Mastodon


Disclaimer: This article is written from my own personal experience working on big tech and small tech. I don't claim to have built the the biggest tech or the smallest tech, but I have a feel for both.

Definitions

Big Tech[1] is the collective name given to the largest tech companies in the world (as of 2021). They are also collectively referred to as FAANG by those who admire their technology and as GAFAM by those who understand their business model to be based on monopoly and surveillance capitalism. Small Tech[2] is a term that has been popularized recently. It refers to technology that is built to be the opposite of Big Tech's technology.

In this article, I use "big tech" and "small tech" in lower case to refer to the technologies themselves. "Big Tech" and "Small Tech" refer to the collection of organizations developing these technologies.


big tech vs. small tech

Centralization/Decentralization

Centralization of disempowered users into large walled gardens is a common business model for Big Tech companies. Their technology choices reflect this. Proprietary protocols are used. Interoperability is intentionally prevented. DRM is introduced into the client software to punish any attempts at reverse engineering or creating adverserial interoperability[3].

Small tech is software built by people to empower themselves. Since there is no incentive to lock-in all users into one walled garden, open protocols are used. Usually peer-to-peer protocols or protocols that support federation are used. Multiple independently developed software implementations co-exist and may even interoperate. Modification and adaptation of software to local needs is encouraged.

Software Licensing

The software produced by Big Tech is usually proprietary with extensive use of permissive open-source libraries and tools in the process. Big Tech companies avoid copyleft free software licenses like the plague and encourage permissive open-source licenses that can be easily incorporated into proprietary software.

Copyleft licensing is the norm for small tech software. When permissive licensing is used, Big Tech companies can co-opt the small tech software and change it to their requirements[4].

Scalability

Supporting large scale deployments is a primary consideration when building big tech software. This requirement drives most architecture decisions. Scale often comes at the cost of system complexity and difficulty of maintenance. Most big tech software cannot be used for small tech purposes even if they released the source code because of fundamental differences in assumptions made during the design of the software.

Small tech is usually not meant to scale, since it is built for small-scale use by individuals or small communities. This does not mean that small tech is inefficient. Small tech is built to run efficiently on small computers like SBCs and other low-powered hardware like old PCs. This design choice itself can limit how many users can be supported.

References