Perspectives Distributed Runtime is Open Source

As of today, we have put the sources of the Perspectives Distributed Runtime in the public domain. By doing so we hope to put Perspectives on a course towards a strong, supportive and collaborating community. We hope our work is adopted by and improved upon by others, for the benefit of the community. This is why we have published much of our work under the The GNU General Public License v3.0. Finally, we strongly believe that the internet will benefit by and is in dire need of software to easily support co-operation and that such software should be fully transparent.

The start page of the project contains links to many resources, including the projects on Github that host the sources.

NLnet supports Perspectives!

We are extremely proud to be able to announce that NLnet has kindly decided to support our project with a grant (Perspectives on the NLnet site). The project with name A Distributed Software Stack For Co-operation and number 2019-06-024 is funded from the NGI Zero Search and Discovery Fund.

The Next Generation Internet is an initiative of the European Union.

The overall mission of the Next Generation Internet initiative is to re-imagine and re-engineer the internet for the third millennium and beyond to shape a value-centric, human and inclusive society for all.

Perspectives in NGI Zero Search

There is a strong relation between the indexing capacities of Perspectives and search. Search engines were the early Web’s main indices. Today, we see many companies offering domain-specific search, paired to excellent software that supports the parties in conducting their business, after they have connected. A savvy web user does no longer use a general search engine to find accommodation, second hand goods, a cab, a partner, a book, etcetera.

To dominate a domain, combine supply-demand matching with co-operation support!

Perspectives is to co-operation, what ActivityPub is to social networks. It provides the conceptual building blocks for co-operation, laying the groundwork for a federated, fully distributed infrastructure that support endless varieties of co-operation.

ActivityPub unlocks citizens from their enclosure by the major commercial players that have come to dominate the social domain. It opens the vista of a federalised infrastructure, accommodating cultural diversity while at the same time offering a uniform, unbroken user experience.

Likewise, Perspectives provides the conceptual and practical tools to foster growth of a distributed and federated infrastructure for co-operation support that encompasses the domains of the big supply-demand matchers. Their services can and will be complemented by many others for which currently no business model exists. These services will be integrated by design, much in contrast to the vertical silos of today’s giants. In the end, supply-demand matching may be reduced to (machine-callable) services, called from distributed software for co-operation.

This opens up a vista of a large, federated infrastructure that will be navigated, rather than searched, to let citizens engage with each other and with providers of real-world services. Navigation, after all, is the complement of search!

Perspectives on Design Thinking

Design Thinking is an approach, created by the Stanford Design School, to solving problems by empathy, focus, brainstorming, and rapid prototyping. Empathy for placing yourself in the role of others to understand their goals and behaviour, focus to limit the scope of the problem that is solved, brainstorming to think out-of-the-box about solutions and finally repeated prototype and test to determine the viability of solutions in an early phase.  Obviously Design Thinking has a lot in common with Perspectives. For some more words on the commonalities between Design Thinking and Perspectives please read this.

Contexts as Behavioral Markov Blankets

Karl Friston has a very simple and elegant explanation of the definition of life from cells to bacteria to brains and human behaviour. In his theory of Free Energy, a Markov Blanket is a border that separates the inside of a system from the outside. If there were no such a border we would observe only dissipating energy and increasing entropy. 

Karl Friston

In his view, at every scale, from cells to bacteria to brains, the entity adapts to its environment to sustain its existence. A cell will only show simple, mostly chemical, behaviour. Brains will show complex behaviour, with human brains as the ultimate example.

A Context may act as a Behavioural Markov Blanket. It introduces an inside and outside, not in a physical sense but in a sociological sense. It defines a border within which certain behaviour is relevant and expected. 

This is easily put in an evolutionary explanation of cognitive development. As a way to structure reality, to be able to understand it and to choose relevant and expected behaviour. This as a prerequisite for social interaction and cooperation.

Based on statistical evidence and Bayesian learning strategies, Friston explains that human behaviour is mostly determined by minimising the difference between ones expected behaviour in a certain context, and the behaviour one actually shows. Friston calls this Active Inference and maybe it is not a coincidence that this is abbreviated AI. 

In Perspectives, we explicitly model the possible actions a role may perform in a certain context. Because of its non-deterministic nature, the model will not predict the actual behaviour of the users.  Maybe Friston's theory of Free Energy and Active Inference will one day provide a statistical background for expected behaviour in contexts, instead of just observing what happens. And maybe Friston's work may actually lead to a comprehensive theory of consciousness.

For a short introduction into Friston's ideas, please watch this interview.

Why IT As We Know It Cannot Be Private By Design

On Dennets Dangerous Idea

To the mind of an IT professional, information is the stuff to be delved and made available for the common good. Data is the new gold and digging it up can be hard work. It has tremendous value and a lot of the everyday work of an IT professional is dedicated to construct machinery to extract it, collect it, store it, ship it from one place to another and to present it in as many and beautiful ways as possible.

Privacy, however, means hiding information.

That goes against the grain!

It is, by its very nature, not on the agenda of an IT professional.

I’ve exaggerated a bit. Of course individual IT professionals may be very much aware of privacy issues. So let me switch from motive to means. I will argue that the tools available to the IT professional make it very hard for him to even think properly about privacy.

IT systems are designed before they are programmed – or at least, they should be. For design, the professional reaches to the Unified Modelling Language (UML) tool bag. It is a collection of diagram types for various aspects of information systems. As the name implies, it arose as the unification of several approaches to modelling, in the mid-nineties of the previous century. The diagrams allow an IT professional to express the structure of information, the behavior of programs in connection to pieces of information, the packaging of program parts, the deployment of the code on physical hardware, and more. And yes, it also sports diagrams showing how users perform actions. But the real weight is put behind the task of describing the program. UML is about designing software machines.

There is no symbol for privacy. There is no diagram for privacy. It was not a concern at all for the founding fathers of UML. To be fair, in recent years there have been academic proposals to add diagram types and notation to express privacy concerns. But the point I want to make is that, in its bones, UML is privacy-ignorant. It was made to describe information and machines that make it available.

Let me dig deeper yet. UML is for information systems. What is this information thing? We divide our world in two domains. On the one hand, the physical world with tangible things that we understand so well, scientifically. On the other the mental domain that each of us knows so intimately. The connection between the two is a bone of contention. What is the relation between the physical and the mental? Is there causation? If so, in what direction? All sides have been defended fiercely. 

Now information holds a special position in this great debate. Of late, we’ve come to consider it as straddling the divide. It is physical, as we can literally grasp a hard disk and yet it is mental, as the right information can sway minds. In the 1980-s, philosophers of mind recognized this and founded their theories on it. Essentially these say that the mind is a Turing machine, a computer, really: it is embedded in the physical world as ‘wetware’ and yet handles symbols, firmly entrenched in the mental domain. These philosophers have shaped the minds of many influential IT professionals.

Etymologically, ‘to inform’ is to give a shape. A shape to what? A shape to a thought. This is what we do when we want to convey that thought to someone else. We need to put it into words, or a drawing, a gesture – any shape will do as long as it is interpreted correctly by the addressed party. This is the cradle of the concept of information. It arises in the context of parties trying to share thoughts. Now we’re all familiar with the phenomenon of information used outside its original context and then being misinterpreted. So we know that there is an important triangle between information, context and meaning (where context involves people).

Yet, information has been extremely objectified, in our times. This is nicely illustrated by the phrase “information carrier”, by which I mean devices such as hard disks and CD ROMs. But it is not information, that such devices carry – they hold thoughts, given a shape! A hard disk is information: it is thoughts, in a particular physical shape. “Information carrier” promotes the thought that information itself is meta-physical, just as the popular phrases ‘information can take many forms’ and ‘information can be copied easily’. 

Why is this important? Because it is not just a play of words. It is a dangerous idea. The idea is that information is meta-physical and, in that capacity, intrinsically carries meaning. To have the information is to have the thought. Period. Regardless of context, regardless of people! But at the same time it is physical, as magnetic orientations on a hard disk or ink marks on paper. And thus can be cut up, bolted together and otherwise used to construct new things – that then are supposed to carry meaning.

This dangerous idea underlies IT’s fascination with information. It explains the mistaken idea that, once a model of information has been drawn, the machine building can be carried out without looking back. It explains why many IT projects fail and especially why ‘system integration’ is particularly hard.

No one contributed more to the spread of this idea than the philosopher Daniel Dennet. He has greatly influenced popular Western thought on the mind body problem through many of his popular books. His work is based on this alleged Rosetta-stone like quality of the concept of ‘information’. Even though he certainly is not the originator of the idea I will, in recognition of his contribution to spreading it, call it Dennet’s Dangerous Idea.

Privacy advocates have called for privacy by design. They have drawn up an internationally acknowledged framework with seven foundational principles that must lead to information systems that inherently protect privacy. The privacy by design framework was published in 2009 and adopted by the International Assembly of Privacy Commissioners and Data Protection Authorities in 2010.

This is important work. But it’s impact will be limited. I have argued no less than that in order to have IT professionals really design systems for privacy, we need to provide them with new conceptual tools. Otherwise privacy will remain an afterthought. Just think of the frustrating flurry of Cookie notices that GDPR has caused in recent months: absolutely unworkable bolted-on privacy protection.

What IT needs is a conceptual framework that recognizes that information should remain in its context. That takes co-operation between people as its point of departure and downplays the idea of information as bits and pieces that need to be captured, stored and sent.

Such a new toolset is available. It is called Perspectives, sports just five graphical symbols, two diagrams and a single connector, allows an analyst to design co-operation from many perspectives and results in an executable prototype. It’s basic concepts are contextrole and action. It does not describe software in any way, yet software can be generated from it. Combined with the distributed infrastructure that Perspect IT built to run models on, it results in truly privacy protecting systems for co-operation.


Edge computing

According to some experts, within a few years, the server capacity and bandwidth will fall short for supporting all we want to do with our devices. Therefore we will have more computing and persistence on our smartphones and tablets. this is called Edge Computing. This in addition to cloud computing and the kind with a name I especially like: Fog computing, a term coined by Cisco.

Question is, what kind of computing is done on the Edge? Every device manufacturer hurries to add neural network processors to their smartphones and tablets. This is necessary because already server capacity it too limited to compute speech-to-text and face recognition remotely.

However, Big IT will make sure that our precious behavioural data will still be send to their servers. It will be interesting to see what excuses they will come up with for doing so.

Time to make edge computing the dominant architecture and to gradually switch to distributed computing. InPlace, our own distributed computing platform will do just that. It will use Fog and Cloud Computing only when necessary. Let's not waste the enormous amount of computing power we collectively hold in our hands!

 

The Rhineland model

Historically, the Perspectives Project (2016-present) originated in work we (Cor Baars and Joop Ringelberg) did for the Dutch National Police (2013-2015). Working as main Architect and lead programmer respectively, we created a foundation for the new software to be used by all 60.000 officers (the so-called OPP program, frequently in the news: see e.g. this article). Cor perceived the police officer primarily as a knowledge worker, rather than as a production worker, as was the received wisdom at the time. But a police officer is involved in many cases at any time, switches context all the time and must rely on his own judgement continuously. This kind of work can never be captured in a step by step process model but instead relies on knowledge, insight and judgement.

From this background, eventually, during the years 2016-2018, the core Perspectives concepts of role, context, action, view, perspective and property emerged. These are the abstractions of the original ideas of (police) files, the RACI model, tasks, etc. that we used to describe the world of maintaining the law and criminal investigation.

I just read the booklet “The Rhineland Model” by Jaap Peters and Mathieu Weggeman and was struck by how this vision of organisation chimes with Perspectives core concepts. Just look at this list of Rhineland core values:

  • decentralise responsibility and power;
  • focus on employee needs and wants;
  • promote co-operation;
  • co-ordinate on lower levels: do not rule top-down;
  • put value on worker initiative
  • communicate laterally versus vertically.

The Rhineland model moves away from process models with fixed steps. It sees an organisation as a co-operation and strives towards decentral decision making. In hindsight, even though the police organisation formally has a hierarchical structure, on the operational level it is very much Rhineland oriented.

Perspectives lets you analyse co-operative work in terms of role and context. (Formal) organisations only come secondary or tertiary in the picture: organisational bounds are unimportant as employees of any organisation transcend its organisational borders (it has to interact with the world, right?). So a context in which both employees and customers, or employees of other organisations, play a role is a natural analysis. Roles are defined in terms of the actions they can perform – which we call the role perspective on the context. Process flow is only secondary, in Perspectives: we assume roles are fulfilled by knowledgeable workers.

With Perspectives, one designs (and generates!) software that supports co-operation, that is: real interaction on the work floor. This software empowers workers by enabling (structured) communication over a distance in space and time.

It may be no exaggeration to state that Perspectives is to the Rhineland model what the Business Process Model and Notation (BPMN) is to the Anglo-American model. Where the latter focusses on top-down driven, centrally designed process flow with minimal local decision power, the former enables knowledge workers in context.

In other words, Perspectives may be a natural language to describe an organisation adhering to Rhineland values. With the bonus of working software as a result, of course!

IT needs an anti-Copernicus

Copernicus famously put the sun at the center of the universe and so drove man to the periphery. Countless revolutions were to follow, pushing man ever further away in the name of objective science. But the IT industry has taken a step too far with the objectification of information. And society followed: we now take information to be physical and yet have intrinsic meaning. At the same time, we all know that words taken out of their context may take on significance and meaning never intended by their speaker. 

I realised this morning that this is exactly what we try to restore with Perspectives! We have constructed a method of creating computer programs that tie information to its context. Information is a physical object (e.g. a letter) that is the result of technology (c.q. paper, ink, the art of writing) that lets people communicate over a distance in space or time. But physical objects persist and can be moved out of that context of communication, hence re-used and misinterpreted, hence the problem. Big Tech in Silicon Valley bases its empires on that fact and thereby has a vested interest in the status quo of IT. Moving information out of its context is a business model. Alternatives have not been given serious thought: billions hang in the balance.

Enter Perspectives, that lets people keep the physical objects (data as represented on a medium like a hard disk) in their physical context of use, because the system is inherently distributed, meaning that each user brings his own device. It is back to the future in the sense that before 1990 we all kept our own (paper) files in a drawer in our study: all of our insurance policies, employment contracts, etc were in our own house. We restore that. It is as simple as that, the difference being that with Perspectives we do not need a postman to communicate: we can have the full benefits of the information age yet keep our own stuff safe.

So we need an anti-Copernican revolution, in IT. Man, for once, should be in the centre of the scheme: not his data.

Perspectives on economy

Perspectives is a new technology and a new approach to software engineering, including a new method of design. It is all about privacy designed from the ground up. But it is about creating wealth and making money, too. We like to think that, like Blockchain, we will create a new market full of new possibilities. Unlike Blockchain-based companies we introduce no ‘tokens’. But we do know how to handle money in a fully distributed fashion, safely. In a new page we explain how Perspectives, perceived as a protocol, creates that new market. We show how it is neither a fat nor a thin protocol. We will have something to say about piracy as a community phenomenon and how a thriving community can handle a little of that.

Logic and AI

Perspectives’ theoretical background runs surprisingly deep. Today I’ve added a page to our Foundation section on:

  • the logical semantic foundation of contexts and roles;
  • the MVC model that observes logical descriptions of actions in order to create a dynamic user interface;
  • the backward chaining logic of the calculated properties and roles;
  • the forward chaining system that keeps query results up to date, in effect implementing a truth maintenance system;
  • how the notions of distribution and declarative semantics – usually uneasy bedfellows – sit together;
  • how the entire system supports forms of common sense reasoning as studied by GOFAI.

In a later post I hope to announce a page that gives the Category Theoretical foundations of Perspectives.