An Open P2P Requirements Definition and Design Specification Proposal

Google Doc created June 6, 2012

Last updated October 19, 2012

PeerPoint shares a vision of “Sovereign Computing”:

“To be the true owner of your information and of your computer's hardware resources, as well as to share these things in any way you want and only with whomever you want. To participate in the Internet free of the middleman, as an autonomous, independent and sovereign individual.” (Klaus Wuestefeld)

PeerPoint’s version of the sovereign individual is the peer. A peer is a critter of the bio-digital ecosystem. The bio-digital ecosystem includes nature, human culture, machine devices and the internet. The term "peer" can apply to a person or a machine, and either kind of peer can play different roles in various groups, networks, and communities. But there are no "second class" peers -- only variable trust relations between sovereign peers. A sovereign peer may choose to interact through any kind of network and with any entity whether it be a trusted equal or an untrusted corporate giant.  A peer always retains an autonomy of agency to consent to or reject any relationship. There is no particular entity, group, or service in the “internets” that a sovereign peer can't go around or do without.

Arguably life on the internet is already like that and always has been. The problem is that for most internet users their agency, or sovereignty, is severely compromised. They submit to many relationships and services without really being informed. Is it their own fault? No, because the deck is stacked against them. Important facts and choices are unknown, withheld, or obfuscated. There are either insufficient alternatives or so many choices no human person has time to evaluate them all. Out of necessity we put our trust in proxies (others who make decisions for us), and that trust is very often betrayed.

The PeerPoint project is intended to serve several communities of interest from average internet users to social entrepreneurs and technology innovators. The project will need to present different faces and appropriate on-ramps to these different communities. This document is only a beginning.


The Arab Spring, the Occupy Movement, Los Indignados, and similar uprisings around the world demonstrate that a new, open society and open democracy is struggling to rise from the bottom up. But the internet has been captured by giant corporations whose business models are based on centralized infrastructure, proprietary technology, user surveillance and censorship, and unilateral terms of service. These developments threaten the success of our collective aspirations.

The PeerPoint Open P2P Requirements Definition and Design Specification Proposal describes an evolving, crowdsourced design specification for sovereign computing in the form of a suite of inter-operating peer-to-peer (p2p) applications to include (but not limited to) social networking, real-time project collaboration, content management, distributed database management, voting, trust/reputation metrics, complementary currency, crowdfunding, and others. This specification overlaps with existing p2p projects but also goes substantially beyond anything currently in the pipeline.

The PeerPoint Open Design Specification is not meant to replace or down-play existing p2p initiatives. It is intended to complement such efforts by providing an open vehicle for cross-community collaboration involving users and developers alike and by working to facilitate technical interoperability and synergy between open P2P implementations. PeerPoint aims to involve a broad base of stakeholders to jointly:

  1. identify detailed user requirements across a broad range of social and digital collaboration needs
  2. document best practices and solution sets favored by the technical community
  3. make informed and detailed correlations between the requirements and prefered solutions

The project is intended to clarify and prioritize what the user community needs from the technical community, in order to prevail in the social, political, and economic struggles facing our digital society now and in coming years. With the participation of the developer community it could also become an open reference and repository of best practices and prefered solution sets in p2p technology.

Members of p2p projects, interested programmers and designers, power users, activists, and others are encouraged to participate in the collaborative development of the open PeerPoint Design Specification and to adopt any part of the specs they can use in their own work.


The initial methods for collaboration are limited, and one of the first priorities is to expand them.

Joining the Next Net Google group automatically enables edit permission for the present document.

As soon as an appropriate wiki-based platform is selected the project will move there. A GitHub wiki was created but it was too bare bones. A better wiki platform is desired and suggestions would be appreciated. We are considering the Referata hosted semantic mediawiki platform. If you know of an existing Referata wiki that might welcome this kind of content please let us know.

To begin actively participating in the PeerPoint project, please read the PeerPoint topic thread at the Next Net Google Group.

Editing of this document by Next Net members is encouraged but please:

  1. don’t delete existing material without permission (discuss at PeerPoint topic @ Next Net)
  2. do add new text in a color other than black-on-white and add your name below in that color (I suggest including the RGB values so you can reproduce your selection later)
  3. Or, if you prefer, make a copy of this doc and edit that, but please share what you come up with!


PeerPoint = Peer-to-Peer Everything

[This is a back-of-the-envelope first draft of top-level design specifications.]

PeerPoint is an evolving, crowdsourced design specification for a suite of integrated peer-to-peer (p2p) applications to include (but not limited to) social networking, real-time project collaboration, content management, distributed database management, voting, trust/reputation metrics, complementary currency, crowdfunding, etc.

The PeerPoint Requirements and Design Specification is not meant to replace or supersede existing software and technology development efforts. It is intended to elicit and catalog the needs of the user community and to help inform and coordinate the work of the floss / p2p / hacker community to promote more rapid convergence towards common standards and interoperable solutions. It is intended to be an open P2P development roadmap, collectively designed by all the stakeholders in a free, democratic future for the internet and its users.

Members of p2p projects, interested programmers and designers, power users, activists, and others are encouraged to participate in the collaborative development of the PeerPoint project.

The initial scope consists of:

All of these threads can be pursued in parallel with only a minimal amount of sequential dependencies.

PeerPoint is a design to Occupy the Internet.

The PeerPoint project might ultimately produce far more than a set of design documents. The PeerPoint design specifications could contribute to the development of an operational suite of improved application software specifically designed for social collaboration and activism. The PeerPoint project could also help to create new software development tools and new distributed network infrastructures.  But more than that, PeerPoint could help to shift the balance of power from central, corporate authorities to independent digital citizens.

At its most extreme potential, the PeerPoint specification could lead to an inexpensive (or free) self-contained, all-in-one, plug-and-play personal network appliance. Such an appliance would be connected between a user’s PC, home network, or mobile device and a network access point such as a connection to an internet service provider (ISP). It would support multiple access methods (phone lines, mobile devices, wifi, ethernet, etc.) for maximum connectivity. It might be accessed by remote mobile devices either over commercial cellular networks or over independent wireless mesh networks like those used by Occupy Wall Street.

With the PeerPoint approach, each user would retain ownership and control of all the data and content they created. PeerPoint users might connect to the internet via commercial ISPs, but those ISP’s would, if the user so desired, only act as blind, passive carriers of PeerPoint encrypted communications and content.

That is the ultimate vision behind the PeerPoint project framework, but PeerPoint is not intended to be the “one true path” to that goal or any other. It is a complementary and parallel process among all the other R&D efforts in the diverse and evolving ecosystem of open, p2p technology.

Regardless of how far the PeerPoint project evolves, it is designed to create some value at each step along the way. The PeerPoint conceptual framework already adds some value to the conversation among internet stakeholders. The project will evolve outward from this initial nucleus with each incremental addition requiring minimal investment and adding some immediate value for stakeholders.

The Need

The social tools provided by Facebook, Twitter, Skype, etc. have been fun and fairly useful, but if we think about the serious and intensive collaborative effort it will take to shift an entire civilization onto a more principled, democratic, and sustainable footing, we are going to need more powerful and comprehensive digital work tools. Those tools need to belong to us and they need to meet the social and political needs of our time, not the needs of a few self-serving corporations or their shareholders.

Google, Facebook, Twitter, etc. are proprietary, for-profit platforms that exploit users to create content and value. But they provide value as well, so a “Facebook killer” must provide greater user value (functionality, privacy, etc.) than Facebook. For numerous reasons the services provided by the commercial companies do not adequately meet the creative, social, political, and financial needs of the 99%. They are not up to the tasks that participatory democracy, non-violent social change, and sustainable economic systems will demand of our internet communications and our evolving cooperative methods of creating, working, organizing, negotiating, and decision-making together, in groups large and small, regardless of the geographical distances between us. This new kind of group interaction over distances is what allows self-selected individuals to coalesce into powerful workgroups, forums, and movements. It is also what will enable direct participation in the legislative process to function at a large scale for the first time in human history.

The corporate internet business model is based on surveillance of our online activity, our thought, and our expression. By data mining the vast amounts of our information in their custody, they identify our patterns of thought and behavior. They do this ostensibly to sell us stuff and to make money, and so far we have accepted this as the cost of our “free” use of corporatized internet services. But what other, less benign uses can this surveillance and data mining be put to?

I have been hoping for somebody like the Linux community or Wikipedia Community to step up and create an appliance-like p2p node that provides all the apps needed for secure (and when desired, anonymous) social networking, voting, collaboration, crowdfunding, etc. -- something that comes complete, out of the box, with the apps pre-installed; that connects easily to your personal computer, home network, or mobile device, and solves all our needs for personal and social digital tools... But it ain’t happening. Most existing organizations and projects already have a particular vision, scope, or direction that stops somewhere short of the PeerPoint scope or heads in a different technology direction. On the other hand there is a variety of visionary writers and thinkers who imagine next generation networks or future netscapes in graphic terms, but who haven’t created detailed roadmaps to, or technical specifications for, those inspiring visions. PeerPoint is trying to work the middle space between the brick-and-mortar institutions and the visionaries -- with the intent to lay some track between the two.

What to what?

Peer to peer (p2p) theory can be applied to many different domains. The three domains most important to the PeerPoint project are p2p culture, p2p production, and p2p technology. There are a number of different (and sometimes conflicting) versions or interpretations of these domains.

Peer-to-peer (P2P) is not restricted to technology, but covers every social process with a peer-to-peer dynamic, whether these peers are humans or computers. Peer-to-peer as a term originated from the popular concept of P2P distributed application architecture that partitions tasks or workloads between peers. This application structure was popularized by file sharing systems like Napster, the first of its kind in the late 1990s. The concept has inspired new structures and philosophies in many areas of human interaction. P2P human dynamic affords a critical look at current authoritarian and centralized social structures. Peer-to-peer is also a political and social program for those who believe that in many cases, peer-to-peer modes are a preferable option.

An encyclopedic wiki on every p2p topic imaginable is maintained at the Foundation for P2P Alternatives.

The PeerPoint project will use the following summaries of the three domains as a jumping off point, but participants are encouraged to consider these as open definitions. No attempt to establish a PeerPoint p2p orthodoxy is implied.

1. P2P Culture (or p2p social process)

P2P culture is a post-capitalist socio-economic framework that includes but transcends capitalism and encompasses many hybrids of open and closed, public and private, and hierarchical and egalitarian associations.

P2P emphasizes cooperation, openness, fairness, transparency, information symmetry, sustainability, accountability, and innovation motivated by the full range of human aspirations including, but definitely not limited to, personal financial gain.

P2P is a "post-capitalist framework" because many peers are quite happy to abandon capitalism's euphemisms and reductio ad absurdums altogether. However, others consider aspects of capitalism to have played a role in lifting millions from poverty and would rather adapt it to changing social and ecological needs than to abandon it for something novel. I think it is entirely possible to craft new forms of natural, ecological, and democratic capitalism which "do no harm", and I think there is ample room in the p2p community for such a "diversity of tactics."

P2P social process can operate in almost any economic context if two specific rules are respected. P2P capitalism, p2p Marxism, p2p anarchy, or p2p whatever must honor:

  1. the political and legal equality of every peer
  2. the fully informed consent of every peer

The relative degree to which these rules are followed is the relative degree of p2p-correctness, regardless of any other characteristics of the socioeconomic environment. It is entirely up to the self-identified capitalist, Marxist, anarcho-syndicalist, or whatever, to accept or reject these rules, in which case they are (or are not, respectively) a p2p capitalist, p2p Marxist, etc.

However, the simplicity of these two rules is deceptive because they have many corollaries and implications. And they don't solve the problem of competing or conflicting rights and interests among peers--we still require courts, legislatures, and social contracts for that.

In an ideology-agnostic nutshell, you could say the P2P social framework is about cooperative individualism (this is precisely how Michel Bauwens describes peerism in "The Political Economy of Peer Production").

Individuals are interdependent but retain a self-identity, dignity, and an autonomous intellectual and moral agency. Any system which diminishes that diminishes itself.

A peer is a self-directed individual, voluntarily consenting to various cooperative social contracts or arrangements. Whether cooperation is one to one, one to many, many to one, or many to many, all cooperators are peers. If they are not peers, the enterprise probably should not be called cooperation. Instead it would be some variety of coercion, manipulation, or exploitation.

A person's success at being a peer and cooperating with other peers depends largely on how well they absorb the ideas of composability,  subsidiarity, intersubjectivity and enlightened self-interest.

The mixture of individuality (selfishness) and sociality (cooperation) in each person may reflect the multilevel interaction of individual and group selection in evolution. This often carries a level of cognitive and cultural dissonance that each peer and peer group must grapple with.

2. P2P Production (or Peer Production)

Per Wikipedia: “Peer production (also known by the term mass collaboration) is a way of producing goods and services that relies on self-organizing communities of individuals who come together to produce a shared outcome... In these communities, the efforts of a large number of people are coordinated to create meaningful projects. The information age, especially the Internet, has provided the peer production process with new collaborative possibilities and has become a dominant and important mode of producing information. Free and open source software are two examples of modern processes of peer production. One of the earliest instances of networked peer production is Project Gutenberg, a project that involves volunteers that make "etexts" from out-of-copyright works available online. Modern examples are Wikipedia, an online encyclopedia, and Linux, a computer operating system. For-profit enterprises mostly use partial implementations of peer production. Amazon built itself around user reviews, Google is constituted by user-generated content (i.e. Youtube). Peer production refers to the production process on which the previous examples are based. Commons-based peer production is a subset of peer production.”

3. P2P Technology

Per Wikipedia: “A peer-to-peer computer network is one in which each computer in the network can act as a client or server for the other computers in the network, allowing shared access to files and peripherals without the need for a central server. P2P networks can be set up in the home, a business or over the Internet... P2P networks can be used for sharing content such as audio, video, data or anything in digital format. P2P is a distributed application architecture that partitions tasks or workloads among peers. Peers are equally privileged participants in the application. Each computer in the network is referred to as a node. The owner of each computer on a P2P network would set aside a portion of its resources - such as processing power, disk storage or network bandwidth -to be made directly available to other network participants, without the need for central coordination by servers or stable hosts. With this model, peers are both suppliers and consumers of resources, in contrast to the traditional client–server model where only servers supply (send), and clients consume (receive).”

Important concepts common to p2p culture, p2p production, and p2p…

Important concepts common to p2p culture, p2p production, and p2p technology

All of the following concepts are highly recursive and interwoven so it is difficult to organize them. The following outline could be arranged in many alternate ways.

  1. Individual sovereignty (need definitions--what it is & isn’t in p2p context)

  1. Interdependence
  2. Equality of agency

  1. Cooperation (need definitions--what it is & isn’t in p2p context)

  1. Intersubjectivity
  2. Reciprocity
  3. Meritocracy
  4. Enlightened self-interest

  1. Openness (need p2p definitions)

  1. Transparency
  2. Security
  3. Anonymity
  4. Informed Consent
  5. Open participation

  1. Commons (need p2p definitions)

  1. Physical & virtual
  2. enclosure
  3. boundaries
  1. logical
  2. physical
  3. social
  4. political
  5. geographic
  1. Geography
  1. locality
  2. bioregions
  1. Sustainability
  1. Renewable
  1. cradle to cradle metrics
  1. Resilient
  1. Diversity
  2. Capacity
  3. Aware & Adaptive
  1. Climax, steady-state, homeostasis
  2. Externality
  3. Conservation
  1. metrics
  2. Efficiency
  3. recycling & reuse
  1. Access
  1. openness
  1. public/private
  1. Scarcity and rivalry
  2. Contestability: There are alternatives in principle to the dominant solution, even if everyone takes the dominant solution. In economics it often stands for a Thatcherist abuse of the term, meaning you don't need antitrust, it is enough to make dominant players contestable. But what is meant here is "contestability" of technical solutions. E.g. I am not forced to use Internet Explorer anymore.
  1. Production
  1. supply chains
  2. adding value
  3. value chains
  4. recycling
  5. scale & scope
  6. economy and efficiency
  1. Distribution
  1. exchange
  1. valuation
  2. reciprocity
  3. symmetrical
  1. one to one
  2. many to many
  3. fair trade
  1. asymmetrical
  1. one to many
  2. net gain or loss
  1. free?
  1. gifts
  2. sharing
  1. co-consumption
  2. markets
  1. composite networks
  1. nodes
  2. structures (ring, star, cluster, etc.)
  3. relational algorithms
  1. metrics & accounting
  2. profit
  3. externalities
  4. intangibles
  5. currencies
  6. barter
  7. trust/reputation
  8. regulation
  1. free vs fair

  1. Composability

  1. Per Wikipedia: Composability is a system design principle that deals with the inter-relationships of components. A highly composable system provides recombinant components that can be selected and assembled in various combinations to satisfy specific user requirements. In information systems, the essential features that make a component composable are that it be:

  1. Subsidiarity


  1. (Christianity / Roman Catholic Church) (in the Roman Catholic Church) a principle of social doctrine that all social bodies exist for the sake of the individual so that what individuals are able to do, society should not take over, and what small societies can do, larger societies should not take over

  1. (Government, Politics & Diplomacy) (in political systems) the principle of devolving decisions to the lowest practical level

  1. Per Wikipedia: The concept of subsidiarity is applicable in the fields of government, political science, cybernetics, management, military (Mission Command) and, metaphorically, in the distribution of software module responsibilities in object-oriented programming. Subsidiarity is, ideally or in principle, one of the features of federalism, where it asserts the rights of the parts over the whole.


Sidebar for developers:

One approach to the PeeerPoint design process would be to start with an existing foundation platform like the FreedomBox and extend the spec outward from that. If a FreedomBox were used as a starting platform, the PeerPoint application package would be added on top of the FreedomBox security stack.

The PeerPoint apps don’t yet exist as an integrated package, or even as individual apps that are adequate to replace Facebook, Twitter, Google Docs, Google Search, Google Earth, YouTube, Kick-Starter, etc. etc. All this functionality is envisioned for the PeerPoint eventually.

It will be necessary to include interfaces/connectors to the most popular proprietary client-server applications like Google and Facebook so that PeerPoint adopters can choose to abandon those systems (or not) in their own good time. This contingency is important because some users will adopt PeerPoint entirely for its collaboration facilities rather than its security or privacy features.

Initially the specified solution set would consist of a first tier of essential apps that must be tightly integrated in their interfaces/connectors, protocols, and data structures. After defining the first tier, development of the specs would continue on a second-tier of applications. Work on the second-tier specs could be much more distributed and parallel since the final specs for all the basic interfaces, protocols and data structures of the first tier modules would be available to all interested designers and developers.

A minimalist approach to the solution side of the PeerPoint design spec would be to identify existing p2p applications that could be stitched together with the least amount of effort and then create specs for the glue, string, and middleware required to hang it all together.

However, p2p architecture has some additional wrinkles or permutations that might expand the range of potential PeerPoint components beyond the classical or “pure” p2p applications.

Peer-to-peer can mean client-to-client or server-to-server, and within one node it can include client-server, too. Multiple clients and/or servers can reside on a node and act as a team. Stand-alone or conventional free/open (non-p2p) client-side applications can potentially be modified to communicate with remote peers.


The common requirements for each PeerPoint app are:

First tier services & applications (this needs to be expanded and organized into user requirements, systems requirements, and proposed solution sets for the services and apps in each category)

  1. integrated development tools: comparison of open source code repository/hosting facilities, Comparison of IDEs, application life-cycle management (ALM), open source ALMs, open-source collaborative IDEs: Cloud9, Collide
  2. identity management
  3. semantic web ontology specs, APIs, and libraries
  4. security & anonymity platform (FreedomBox, Freenet, I2P or better)
  5. a system library that is really good at security, p2p service discovery, storing & transmitting data, etc. Application developers can build on this to make p2p applications.
  6. a library of p2p middleware and APIs for interfacing with conventional apps and between p2p apps
  7. ubiquitous trust/reputation metrics (like/dislike, trust/distrust, P2P Metrics, )
  8. distributed data store (distributed hash tables, CouchDB and/or Freenet or better)
  9. asynchronous coms (email, microblogging, chat, voicemail, etc.) (Syndie or better)
  10. real-time communication (IM, voice, videoconference, etc.)

Second tier services & apps

  1. social networking: list of distributed projects, Wikipedia: distributed social network apps,
  2. crowdsourcing: content collaboration & management  (semantic wiki engine, wiki farm platform, Etherpad, Google Docs,, LibreOffice, or better)
  3. project management/workflow or integrated collaboration environment (ICE), Bettermeans, ChiliProject
  4. enterprise resource planning
  5. user-customizable complementary currency and barter exchange (Community Forge or better, Bitcoin or better)
  6. crowdfunding (, Selfstarter)
  7. accounting & financial reporting
  8. voting (LiquidFeedback or better)
  9. universal search across all PeerPoint data/content and world wide web content (YaCy or better)

Third tier services & apps

  1. thinktank farming

Digital Commons

One contribution the PeerPoint can make to the digital commons and the ethics of sharing is to incorporate a computing resource- sharing capability into its system design. Every personal computer, tablet, smart phone, etc. is idle or operating far below its capacity most of the time.

Added up, this unused capacity is equivalent to many supercomputers sitting idle. Those idle virtual supercomputers could be used in the public interest if the personal computing devices connected to the internet were designed to share their idle capacity for public purposes. Users might also be given the option to designate various percentages of their idle capacity to different uses, causes, groups, etc.

BOINC: Open-source software for volunteer computing and grid computing. Use the idle time on your computer (Windows, Mac, or Linux) to cure diseases, study global warming, discover pulsars, and do many other types of scientific research. It's safe, secure, and easy:

Peer Publica

Once PeerPoint is up and running with the first tier applications we may be able to organize the 99% well enough to begin rapid development of the more complex second-tier applications and to start building or buying alternative network infrastructure.

Our new public internet won’t be owned by corporations or by the state. It will be owned by the people, an instrument of the people to invoke the people’s will and help bring both government and corporations under civic control.


“We are not progressing from a primitive era of centralized social media to an emerging era of decentralized social media, the reverse is happening…. Surveillance and control of users is not some sort of unintended consequence of social media platforms, it is the reason they exist….Free, open systems, that neither surveil, nor control, nor exclude, will not be funded, as they do not provide the mechanisms required to capture profit….we do not have the social will nor capacity to bring these platforms to the masses, and given the dominance of capital in our society, it’s not clear where such capacity will come from. …Eliminating privilege is a political struggle, not a technical one.” (emphasis added) Dmytri Kleiner

I partly agree, but I think we have both a political struggle and a technical struggle rolled into one.

The integral organizing and collaboration tools described in PeerPoint are tools (maybe I should even call them weapons) that we need now to conduct our political struggle, not later. The community that brought us Linux, Wikipedia, Project Gutenberg, and LibreOffice (the integrated suite of open source applications that replaces Microsoft Office), is capable of bringing us a PeerPoint or something equivalent if it understands the imperative nature of the need.

If anyone doubts this, look at Wikipedia’s impressive List of Open Source Software.

But free/libre/open source software (FLOSS) and hacker development community is largely self-motivated and idiosyncratic, with many islands of genius and inspiration separated by vast seas of  minutia and trivia. Or to put it another way, the FLOSS & hacker community is like an orchestra tuning up or playing without a score. It is a cacophony of individual efforts most with relatively narrow scope compared with that of PeerPoint. The bulk of the community does not yet seem to perceive its enlightened self-interest in our existential struggle for open source, p2p society and open source p2p government. The digital space for activism lags far behind the social space that it should mirror. Maybe the “digital libertarians” in the software development community feel they can outwit Big Brother better on their own terms as individuals. Perhaps we need to help open their “Doors of Perception” wider.

The PeerPoint Design Specification is not intended to replace or supercede existing software and technology development efforts. It is a complementary program designed to help coordinate the work of the floss/hacker/p2p community towards a future point of convergence and interoperability. It is essentially a statement of what the progressive user community desperately needs from the technical community in order to prevail in the social, political, economic, and environmental struggles that confront us. It is intended to be a description of needs and potential solutions collectively designed by all the participants stakeholders in a free, democratic future for the internet environment.

Criticisms of PeerPoint

(see Next Net Google Group > PeerPoint Discussion topic)

Some have accused the PeerPoint project of being too ambitious and naive--they've seen & done it all before and have a smug, superior attitude. They argue that the correct approach is more of the same process they are accustomed to--don’t make a “master plan”, just put your head down and code, code, code.


But it is exactly the laissez-faire technocratic approach that produced the present state of affairs in which the internet is now colonized and dominated by huge corporate predators. Digital anarchists, libertarians, cynics and other self-interested technocrats may be the naive, unwitting pawns of the powerful actors they intended to defy or hold in contempt. They almost seem to hold social justice and participatory democracy in contempt as well, or at least to view it with apathy.

We need to admit that the world got a whole lot closer to going down the tubes on our watch. Despite the best of intentions, we all get a really big-assed #FAIL.


Einstein's definition of insanity is doing the same thing over and over and expecting different results. By that definition anybody who thinks that old-style FLOSS and independent, freelance, DIY, ad hoc, iterative development is going to pull us through the crises and the threats we now face is not just naive--they are buried inside a mystery wrapped in a conundrum, locked within an enigma. They are lost in space.


The threats to privacy, liberty, democracy, and equality have steadily grown worse despite all our BRILLIANT efforts up till now, so only a different strategy can be expected to reverse that trend.


That strategy is not a continued, exclusive reliance on autonomous, self-organizing, emergent systems. That's all well and good but not, by itself, enough. We need to try something else as well. That something else might even be something that was tried in the past and discredited because it was ineffective then. It might be large-scale collective organization and design.


Critics of PeerPoint have suggested that on its best day it would be a vain effort to imitate the W3C (perhaps as PeerPoint can be see as a standardization effort). On its worst day it would be no more than an over-ambitious pipe dream. But they aren't the only ones who don't want another W3C. What we want is more like a combination of the Linux Foundation and the Wikimedia Foundation. Not that I'm knocking the W3C (peace be with them) but I am proposing something fresher and more agile--more like an on-going re-mix+mashup+hackathon...


The critics also say [Strawman phrase w/o reference] that nothing good was ever designed by a "committee" implying that I have proposed some kind of bureaucratic nightmare. They point to giant, government-sponsored boondoggles they were part of in the past. My friend Fabio had a better rebuttal than I could have given:


"Design by committee may not work, but design (and build, review, adjust, adapt, discover, unfold, involving everyone during the whole thing) by community does work and is proven to produce life-affirming architecture, in contrast to deadening architecture produced by the default "efficient", commercial endeavor. A committee and a community. Both are groups of people. So is a mob, or an army, or a corporation. What's the difference?"

Complex structures may emerge from simple social actions which do not intend to create the complex structures, but we don’t need to depend on fortunate cases of emergence and serendipity alone. Design and planning are useful, too.

In the past, large-scale, collective design often stalled, bogged down, or failed because it was forced to adopt centralized, top-down planning and organization methods. Now we can do things in a much more distributed, horizontal, and agile manner. (Its called peer to peer culture, or as Fabio put it--community.)


Grand designs also failed due to organizational structures and designs that were monolithic (and hierarchical with geographic + political boundaries). Now we can create organizations and designs that are modular and composable, and which obey subsidiarity.


Finally, many parties to conflict have won or lost based on their access to technology. The famous metaphor is “bringing a knife to a gun-fight.” It reminds me of the scene where Indiana Jones faces the menacing swordsman. (does anybody know how to embed a video in a Google Doc?) Somehow ignoring the thesis of Guns, Germs, and Steel, some PeerPoint critics argue that revolutions are not about tools or technology, they are just about people and social relations. The politically correct position in some circles is that technology doesn't make revolutions, people make revolutions. Tell that to an Afghan tribesman and see if he will discard his AK-47 or his satellite phone.[???]

 [The war example is good, not the ingeniuity of leaders but technological progress often shifts the weights. There is a phrase by Ernst Jünger that a machine gun outweights the patriotic heroism of a 1914 volunteer battalion]

As Elinor Ostrom wrote in her last words to the world before her death on June 12, 2012,


“The goal now must be to build sustainability into the DNA of our globally interconnected society. Time is the natural resource in shortest supply...We have a decade to act before the economic cost of current viable solutions becomes too high. Without action, we risk catastrophic and perhaps irreversible changes to our life-support system. Our primary goal must be to take planetary responsibility for this risk, rather than placing in jeopardy the welfare of future generations.”


The bottom line is that the PeerPoint Open Design Specification project is meant to promote a more rapid and coherent development of our next generation of non-violent weapons of social revolution.


Let those who don't think we need a non-violent social revolution shut the hell up and get out of the way.

We have lots of programmers, but not lots of time.


At the very least we need to offer something like an X-Prize (or an X-P2P Prize) and we need to be ready and willing to fund and provision projects that fall within PeerPoint’s conceptual design scope. That could begin right now with FreedomBox, a base on which a PeerPoint might be constructed.

So pony up, folks. Like the old auctioneer says, “What’s it worth? You tell me.”

Poor Richard

“All right, now, folks–what’s it worth? Com’on–you tell me!”

PeerPoint Requirements Definition

PeerPoint Requirements will be divided into the following (frequently overlapping) topics:

Tier 1

  1. integrated development tools
  2. identity management
  3. semantic web ontology
  4. security & anonymity
  5. system library 
  6. library of p2p middleware and APIs
  7. distributed data store 
  8. trust/reputation metrics
  9. asynchronous communication
  10. real-time communication

Tier 2

  1. social networking
  2. crowdsourcing: content collaboration
  3. project management/workflow
  4. enterprise resource planning
  5. complementary currency and exchange systems
  6. crowdfunding
  7. accounting and financial reporting
  8. voting
  9. search

Tier 3

  1. thinktank farming
  2. computing resource sharing (cpu, graphics card, storage, bandwidth, etc.) (Parallella)
  3. 3D hypergrid browsing
  4. 3D game engines
  5. computer-aided design (CAD) tools
  6. data analysis and visualization
  7. Personal Health Record (PHR) system
  8. Disaster Preparedness & recovery

I. PeerPoint Requirements: Integrated Development Tools

II. PeerPoint Requirements: Identity Management (IM)

The first step in defining the problem space of identity management is to define identity. What is it?  From The Free Dictionary (

identity: 1. The collective aspect of the set of characteristics by which a thing is definitively recognizable or known

Wikipedia defines Digital identity as “a set of data that uniquely describes a person or a thing (sometimes referred to as subject or entity) and contains information about the subject's relationships to other entities.The social identity that an internet user establishes through digital identities in cyberspace is referred to as online identity. A critical problem in cyberspace is knowing with whom you are interacting. In essence, the problem is that "on the Internet, nobody knows you're a dog."

According to Wikiperdia, “an online identity, internet identity, or internet persona, is a social identity that an Internet user establishes in online communities and websites. It can also be considered as an actively constructed presentation of oneself. Although some people prefer to use their real names online, some internet users prefer to be anonymous, identifying themselves by means of pseudonyms, which reveal varying amounts of personally identifiable information. An online identity may even be determined by a user's relationship to a certain social group they are a part of online. Some can even be deceptive about their identity. In some online contexts, including Internet forums, MUDs, instant messaging, and massively multiplayer online games, users can represent themselves visually by choosing an avatar, an icon-sized graphic image. Avatars, digital representations of oneself or proxy that stands in for a person in virtual worlds, are how users express their online identity. As other users interact with an established online identity, it acquires a reputation, which enables them to decide whether the identity is worthy of trust. Some websites also use the user's IP address to track their online identities using methods such as tracking cookies.”

PeerPoint IM Terms and Definitions

Identity conceptual view (credit: Wikipedia)

Rdf-graph3 (Photo credit: Wikipedia)

Identity management problem space

The PeerPoint requirements will explore various parts of the Identity Management problem space, all of which overlap or interpenetrate each other:

  1. description
  2. classification
  3. identity provisioning and discovery (directory services, including identity & directory linking, mapping, and federation)
  4. authentication (validation/verification of ID, security certificates, security tokens, security token service)
  5. authorization (access control, role-based access control, single sign on)
  6. security (anonymity, vulnerabilities, risk management)

1. Identity Description

Description is meant here in its most general sense as the entire set of attributes and values that describe an entity, and not simply a "description" box or field in a record. This is the aspect of identity management which establishes the attributes and values by which an entity is typically recognizable or known in a particular context. A description can attempt to be exhaustive, but in most cases it is only as complete as required for its intended purpose in a given application.

PeerPoint requirements:

One of the most basic entities in social networking systems is the person, member, or user account. The identity description for such an entity is commonly called a "user profile." User profiles are also found in most applications that involve online collaboration. The most primitive form of user account consists of a user ID (or UID) and a password, where both the ID and password are simple alphanumeric strings. But increasingly, user accounts for social and collaborative applications include elaborate user profiles. Facebook is a good example, having one of the most extensive user profiles of any internet application.

Below is a partial screenshot of Poor Richard's Facebook Profile:

The information in a Facebook User Profile is organized into numerous logical categories. Some not shown include the user's friends, Facebook groups to which the user belongs, and a personal library of documents and images. Other profile sections include free-form text.

Many of the profile data categories such as "Arts and Entertainment" may include unlimited numbers of "likes" or tags. These are added via an intuitive interface in which the user begins typing something such as a-r-e-t-h-a- -f-r-a-n-k... and as the user types, a list of matching tags is displayed and  continuously updated with each keystroke, showing possible matches from the Facebook database. If no match is found by the end of typing, the entered tag label is displayed as-is with a generic icon. Facebook's database of entities in the various categories is created and maintained primarily by Facebook users who create Facebook "pages" for people, groups, companies, products, movies, authors, artists, etc.

Other social network sites have profile features not found in the Facebook User Profile. Google + adds a feature to the "friends" data category called "circles" and a homepage feature called "hangouts". Google + users can organize friends into user-defined categories called circles that inter-operate with other Google apps, and can create live audio-video chat groups with user-defined membership.

LinkedIn has additional profile data categories for resumes, cvs, and employment references, recommendations or testimonials.

In addition to users, on various social networks accounts may be created for special-interest groups, fan clubs, companies, organizations, and topic pages of all kinds. The structures of the profiles for different types of accounts on different networks vary widely.

Very limited, generic profiles are also hosted by services such as Gravatar and

Sample Gravatar profile:

OpenID Simple Registation is an extension to the OpenID Authentication protocol that allows for very light-weight profile exchange. It is designed to pass eight commonly requested pieces of information when an End User goes to register a new account with a web service.

A Personal Data Service (PDS) is “a personal, digital identity management service controlled by an individual. It gives the user a central point of control for their personal information (e.g. interests, contact information, affiliations, preferences, friends). The user's data attributes being managed by the service may be stored in a co-located repository, or they may be stored multiple external distributed repositories, or a combination of both. Attributes from a PDS may be accessed via an API. Users of the same PDS instance may be allowed to selectively share sets of attributes with other users.” (Wikipedia)

Gravatar and OpenID SR are simple examples of what PeerPoint will call a meta-profile. More elaborate meta-profile systems are evolving, such as:

PeerPoint requirements:

2. Identity Classification: "people, places and things"

Different kinds of entities have different kinds of descriptions, so an important part of the identity management problem is the problem of sorting things into various categories. Sorting things into categories or classes is often called categorization or  classification. Classification systems are often called taxonomies. Examples might include the index of an encyclopedia, a library card catalog, or a glossary of internet terms.

In the case of information systems, the term ontology means "a rigorous and exhaustive organization of some knowledge domain that is usually hierarchical and contains all the relevant entities and their relations." (  Wikipedia says  "An ontology renders shared vocabulary and taxonomy which models a domain with the definition of objects and/or concepts and their properties and relations. Ontologies are the structural frameworks for organizing information and are used in artificial intelligence, the Semantic Web, systems engineering, software engineering, biomedical informatics, library science, enterprise bookmarking, and information architecture as a form of knowledge representation about the world or some part of it. The creation of domain ontologies is also fundamental to the definition and use of an enterprise architecture framework.

Another related term in information systems is namespace, often used in relation to wiki structures and directory services.

Semantic ontologies are often implemented as systems of structured metadata that can be added to web pages, embedded in HTML or XML,  or embeded in scripts or other code that runs in browsers or other clients servers, or peer nodes..

In identity management, two of the main systems of categories, or taxonomies, would be categories of entities and categories of attributes. Attributes are themselves categories of values (the attribute "color" is a category of colors: red, blue, green, etc.).

Examples of high-level categories of entities might include:

Examples of very high-level categories of attributes could include:

These taxonomies become semantic web ontologies when they are defined in machine-readable protocols such as:

Linked Data

One great advantage of machine-readable ontologies is the ability to semantically link data across the web.

Linked Data Platform Use Cases And Requirements (W3C)

Linking open-data community project

The goal of the W3C Semantic Web Education and Outreach group's Linking Open Data community project is to extend the Web with a data commons by publishing various open datasets as RDF on the Web and by setting RDF links between data items from different data sources. In October 2007, datasets consisted of over two billion RDF triples, which were interlinked by over two million RDF links. By September 2011 this had grown to 31 billion RDF triples, interlinked by around 504 million RDF links. There is also an interactive visualization of the linked data sets to browse through the cloud.

Dataset instance and class relationships

Clickable diagrams that show the individual datasets and their relationships within the DBpedia-spawned LOD cloud, as shown by the figures above, are:

3. Identity provisioning and discovery (directory services, including identity & directory linking, mapping, and federation)

(PeerPoint requirements to be determined)

“A directory service is the software system that stores, organizes and provides access to information in a directory. In software engineering, a directory is a map between names and values. It allows the lookup of values given a name, similar to a dictionary. As a word in a dictionary may have multiple definitions, in a directory, a name may be associated with multiple, different pieces of information. Likewise, as a word may have different parts of speech and different definitions, a name in a directory may have many different types of data.” (Wikipedia)

4. Authentication (validation/verification of ID, security certificates, security tokens, security token services))

(PeerPoint requirements to be determined)

In an article on Digital identity Wikipedia observes, “Currently there are no ways to precisely determine the identity of a person in digital space. Even though there are attributes associated to a person's digital identity, these attributes or even identities can be changed, masked or dumped and new ones created. Despite the fact that there are many authentication systems and digital identifiers that try to address these problems, there is still a need for a unified and verified identification system in cyberspace.”

5. Authorization (access control, role-based access control, single sign-on)

(PeerPoint requirements to be determined)

6. Security (privacy, anonymity, vulnerabilities, risk management)

(PeerPoint requirements to be determined)

Security can never be 100%.  It is often based on trust and reputation, which we need for a web without gatekeepers.

Privacy and anonymity can be thought of as a forms of security.

Security by obscurity is an important principle.  

Many writers take the view that there is no such thing as anonymity on the internet (search “no such thing as anonymity on the internet” for sources) due to data mining and pattern analysis technologies. Kat Orphanides writes: “Even if you disable cookies, your browser could easily share enough information to give you a unique signature on the web. I've been testing the computers I use on the Electronic Frontier Foundation's Panopticlick website, which reports the identifying information your browser is sharing and compares it against data it has already collected from other users. So far, every system I've tested has been uniquely identifiable.”

Perhaps if identity can be discovered heuristically, that’s the way PeerPoint should go, rather than using certificates, tokens, etc. On the other hand, perhaps part of Peerpoint’s requirements should be methods for obfuscating such identifying patterns to preserve anonymity when that is a user’s desire. Is it possible to distinguish between legitimate (e.g. political) and illegitimate (e.g. criminal) reasons for anonymity?

Freedom not Fear ( and

                                                  Connect.Me is the first P2P reputation and discovery network that works across Facebook, Twitter, LinkedIn, and other providers. As you build your reputation, you can use it to curate the social web by vouching for the people, content and businesses you trust. Connect.Me is not just a new app, it’s the beginning of a larger movement to put people back in control of the social web.

Identity Management Resources

The xID system is concerned solely with identity, and does not store any other data than the xID records. Related data, such as medical records or legal records, are stored separately, and include xID certificate references.


1. User Control and Consent:

Digital identity systems must only reveal information identifying a user with the user’s consent. (Starts here…)

2. Limited Disclosure for Limited Use

The solution which discloses the least identifying information and best limits its use is the most stable, long-term solution. (Starts here…)

3. The Law of Fewest Parties

Digital identity systems must limit disclosure of identifying information to parties having a necessary and justifiable place in a given identity relationship. (Starts here…)

4. Directed Identity

A universal identity metasystem must support both “omnidirectional” identifiers for use by public entities and “unidirectional” identifiers for private entities, thus facilitating discovery while preventing unnecessary release of correlation handles. (Starts here…)

5. Pluralism of Operators and Technologies:

A universal identity metasystem must channel and enable the interworking of multiple identity technologies run by multiple identity providers. (Starts here…)

6. Human Integration:

A unifying identity metasystem must define the human user as a component integrated through protected and unambiguous human-machine communications. (Starts here…)

7. Consistent Experience Across Contexts:

A unifying identity metasystem must provide a simple consistent experience while enabling separation of contexts through multiple operators and technologies. (Starts here…)

III. PeerPoint Requirements: Security and Anonymity

Security can never be 100%.  It is often based on trust and reputation, which we need for a web without gatekeepers.

Privacy and anonymity can be thought of as a forms of security.

Security by obscurity is an important principle.  

Many writers take the view that there is no such thing as anonymity on the internet (search “no such thing as anonymity on the internet” for sources) due to data mining and pattern analysis technologies. Kat Orphanides writes: “Even if you disable cookies, your browser could easily share enough information to give you a unique signature on the web. I've been testing the computers I use on the Electronic Frontier Foundation's Panopticlick website, which reports the identifying information your browser is sharing and compares it against data it has already collected from other users. So far, every system I've tested has been uniquely identifiable.”

Perhaps if identity can be discovered heuristically, that’s the way PeerPoint should go, rather than using certificates, tokens, etc. On the other hand, perhaps part of Peerpoint’s requirements should be methods for obfuscating such identifying patterns to preserve anonymity when that is a user’s desire. Is it possible to distinguish between legitimate (e.g. political) and illegitimate (e.g. criminal) reasons for anonymity?

Freedom not Fear ( and


TrustCloud: A Framework for Accountability and Trust in Cloud Computing (

CryptoParty Handbook This 392 page, Creative Commons licensed handbook is designed to help those with no prior experience to protect their basic human right to Privacy in networked, digital domains. By covering a broad array of topics and use contexts it is written to help anyone wishing to understand and then quickly mitigate many kinds of vulnerability using free, open-source tools.

IV. PeerPoint Requirements: semantic web ontology

V. PeerPoint Requirements: system library 

VI. Library of P2P Middleware and APIs

VII. PeerPoint Requirements: distributed data store

misc: Storage Quota Management API (W3C)

VIII. Trust/reputation Metrics

PeerPoint Requirements:

- user ratings/reports of peer nodes

- white/black lists of peers (by individuals, groups, communities, institutions, etc)

- hierarchical ID/trust certificate authorities (groups, communities, trusted institutions, states, etc.)

xID In accordance with The Standards of LIFE for Information, the xID specification uses a distributed storage model that allows data to be held in separated silos that are as close to the people they serve as is practical, given the security requirements. It also specifies the nature of a transaction between trusted and untrusted systems that returns verification results without exposing or compromising the contents of the identity record.

The xID system is concerned solely with identity, and does not store any other data than the xID records. Related data, such as medical records or legal records, are stored separately, and include xID certificate references.

- A heuristic method for predicting trustworthiness of a potential peer (“You may like these peer nodes...”)

“What we want is peers that are trusted by entities like ourselves, and/or have engaged in transactions that are beneficial to entities like ourselves, not those that allegedly trust entities that we trust and have allegedly engaged in transactions like those that we have engaged in.” (James        <> p2p-hackers Digest, Vol 69, Issue 12)

“The dataset I wish to collect and make public doesn't say anything about what the transactions actually are. The optimizing factors are success rate and transfer rate. [The Slope One and Singular Value Decomposition] algorithms are typically employed for "recommendation systems" such as the one seen on Amazon, i.e. "based on your behavior we think you'll like products X, Y, and Z", where recommendations are driven by a large corpus of user data. I am attempting to perform a similar calculation, except in this case it's "based on my behavior I think I'll like peers X, Y, and Z", and the calculation is driven by a large corpus of peer interaction metadata the

system collects and distributes by design.” (Tony <> p2p-hackers Digest, Vol 69, Issue 12)


PeerTrust: In an open peer-to-peer information system, peers often have to interact with unfamiliar peers and need to manage the risk that is involved with the interactions. PeerTrust aims to develop a trust mechanism for such system so peers can quantify and compare the trustworthiness of other peers and perform trusted interactions based on their past interaction histories without trusted third parties.

TrustCloud: A Framework for Accountability and Trust in Cloud Computing (

Building Trust in P2P Marketplaces  ( Transparency is key

On the Web, vast amounts of data are created every day. Most of the companies I examined in my thesis are looking for ways to make this data available and useful to users, for instance by calculating so-called “trust scores” with the help of algorithms. These scores, which are based on data from social networks and other sources (that provide things like damage reports, peer reviews and transaction history) are supposed to help strangers judge each other’s trustworthiness. This information facilitates and accelerates the process of building trust between strangers on the Web. Since you take your trust score with you whatever platform you are on, it encourages good behavior. A person who has worked hard to build up an online reputation will not want to jeopardize that. My research also showed that it is crucial for companies offering these systems to remain as transparent as possible about how their trust scores are derived. Since trust is complex and every platform requires different dimensions of trust, every person should be able to understand the score and decide themselves whether they want to trust a person or not. Being a good driver is very different, for example, from being a friendly and reliable CouchSurfing host.

Another issue with creating trust and identity systems in general is data privacy. The functioning of these trust systems heavily depends on the users’ willingness to give a third party their data in return for building their online reputation, and not everyone is willing to do that. Especially in countries outside the U.S. people seem to be reluctant to reveal their personal data to third parties. It’s thus crucial for companies working on trust systems to gain the trust of users and P2P platforms. As Simon Baumann, PR Spokesperson at the German ride-sharing company noted, “the question is always, how trustworthy the trust system is.”

Breiifly, Breiifly Blog

Legit aims to be the Credit System of the Sharing Economy. We correlate data across marketplaces, creating a holistic picture of a user's reputation. Legit measures real, transaction-based accountability without relying on social network data. Overall behavior improves when everyone is held accountable. Real-time alerts keep you up to date so you can act before damage is caused. Plus, the good reputation that users build on other marketplaces empowers them on yours.

Slope One is a family of algorithms used for collaborative filtering, introduced in a 2005 paper by Daniel Lemire and Anna Maclachlan. Arguably, it is the simplest form of non-trivial item-based collaborative filtering based on ratings. Their simplicity makes it especially easy to implement them efficiently while their accuracy is often on par with more complicated and computationally expensive algorithms. (Wikipedia)

VIIII. Asynchronous Communication

X.  Real-time Communication


PeerPoint Comment/Discussion

Excerpts from PeerPoint discussions:

bunch of interconnected dots, nodes and arcs, then have a good ol' stare

at it, you'll quickly recognise every architecture you can conceive in

there: centralization, decentralization, neighbourhoods, client-server

relations, hubs, p2p networks - clients can only make requests, servers

can receive requests, peers can do both.


If you stick a uniform interface (e.g. HTTP) in front of anything (data

store, web service, data transformation service) and address those

things using uniform names (e.g. URIs), and have them communicate using

uniform media types (e.g. RDF, CSV, JSON w/ schemas) then the boundaries

are broken down, universality and generality prevail.


The web can be seen as a bunch of interconnected agents, communicating

for one reason or another - it exactly models the same connections we

have in the real world, it's a social system - the human world is just a

bunch of interconnected agents communicating for one reason or another.


IMHO, the PeerPoint document describes the web. Begins to capture what's

possible when you realise you can couple a server+client together, and

more importantly has the right social and ethical reasons behind it.


Turing discovered that if you standardize the input in to a machine, you

don't have to break it down and rebuild it every time you want to do a

new task. Perhaps now people are realizing that we don't have to break

down and rebuild our apps every time we want them to do a new task, all

we have to do is standardize the input and output.


Imagine what would be possible with a standardized web dav like protocol

for uniform data (rdf/linked data in various forms), and a standardized

API for using that data - pretty much everything. Especially when you

consider that 95%+ of what every web developer and programmer ever does

is just data transformation, take that out of the equation and you have

a world of developers with 95% of their time free to innovate, create

and discover. (more...) is "the other project" which is truly way ahead of the field at the minute, it's a RESTful, multi-auth* enabled store which supports querying, CRUD, automatic media type transformation, data browsers and even tabulator panes to view data. It's also open source and you can run your own instances very easily. Highly highly recommended.

Tabulator is also worth mentioning here, it's one of TimBL’s long running code based projects and is simply wonderful too - very well designed, and extensible in every way - Tim of course also understands data inside out, and the webizing of systems.

The three projects above are very much complementary, all interlinked, Kingsley (openlink) knows TimBL (tabulator/wem/semweb) knows Joe (creator of, from Tim's team at MIT). It may be fair to say that each of the projects wouldn't be quite what they are today without the presence of the others.

IMHO, the most valuable thing anybody in this group can do is to take the time to fully understand:

1) Virtuoso+ODS and Kingsley's blog posts

2) Tabulator + TimBLs Design Issues

3) and it's correlations to 1+2

Those three can be seen as the reference implementations of the next generation of the web, one which can easily be P2P too, and which continues to be built, standardized and innovated around. (more...)”


Facebook is eating the world, except for China and Russia: World map of social networks



Related software, projects, and technologies

Semantic Web Stack:

(Wikipedia) An application is a compilation of various functionalities all typically following the same pattern. Applications can be classified in various types depending on the Application Architecture Pattern they follow. A "pattern" has been defined as: "an idea that has been useful in one practical context and will probably be useful in others”. To create patterns, one needs building blocks. Building blocks are components of software, mostly reusable, which can be utilised to create certain functions. Patterns are a way of putting building blocks into context and describe how to use the building blocks to address one or multiple architectural concerns. Applications typically follow one of the following industry-standard application architecture patterns: [Note: peer-to-peer can mean client-to-client or server-to-server, and within one node it can include client-server, too. Multiple clients and/or servers can reside on a node and act as a team. Stand-alone or conventional free/open (non-p2p) client-side applications can potentially be modified to communicate with remote peers as well.]

The client/server characteristic describes the relationship of cooperating programs in an application. The server component provides a function or service to one or many clients, which initiate requests for such services.

With the responsibilities of each component thus defined, MVC allows different views and controllers to be developed for the same model. It also allows the creation of general-purpose software frameworks to manage the interactions

Comparison with the MVC architecture: At first glance, the three tiers may seem similar to the model-view-controller (MVC) concept; however, topologically they are different. A fundamental rule in a three tier architecture is the client tier never communicates directly with the data tier; in a three-tier model all communication must pass through the middle tier. Conceptually the three-tier architecture is linear. However, the MVC architecture is triangular: the view sends updates to the controller, the controller updates the model, and the view gets updated directly from the model

Three-tier application architecture


nathan writes: “ODS is layered on top of virtuoso. Each module is not only already packaged with existing UI's, but due to it's heritage, each module is also available via SOAP and REST, meaning you can build your own applications and UIs over the top of it - as browser apps, on client, server or on peers. IMHO ODS-Briefcase is one of the most wonderful modules available for it, it's basically a really nice RESTful WEBDAV enabled data store package, with full support for multiple auth* protocols right up to WebID, and which recognises different data types. For instance it allows RDF that's been PUT/POSTed to be sponged straight in to the very powerful SPARQL-enabled triple running behind the scenes. E.G. it understands your data and serves as both a CRUD store, and a more advanced store which you can query extremely fast, using v powerful query languages like SPARQL.”

melvincarvalho wrote: “One system I really like technically is RetroShare.  It's open source, has first class developers, who really know their stuff. and an active, working, community.  One team has already ported libretroshare into a browser.  Imagine reatlime, secure, encrypted, chat straight in your browser, plus a ton of other features.  There's even  little chess game you can plug in to the framework so you can challenge your friends.  Once you see this working it's a real paradigm shift, that makes you think 'why doesnt every browser do this?'.”


Kune Addendum via Samer @, Wed, 31 Oct 2012:

We thought you might be interested in the new release of the collaborative federated social network Kune, codename "Ostrom" Kune is focused in real-time collaboration (not just communication), in building (not just in sharing). This new release is fully multi-lingual, supporting 12 languages, and with multiple improvements. It is coined "Ostrom" as a homage to the Nobel Prize of Economics Elinor Ostrom, who demonstrated how the Commons can be managed by their communities in a better and more successful way than how the State and the Market manage them.

“Kune aims to be a free/libre decentralized social network, so you would stop using Facebook. It provides real-time simultaneous collaborative edition of documents so you can stop using Google Docs and wikis. It allows you to communicate in discussion lists, so you stop using mailing lists and Google/Yahoo/MSN Groups. It provides group calendars so you forget about Google Calendar. It provides chat compatible with Gmail/Jabber chat accounts of your friends. It allows galleries of images, videos, maps or any rich contents, so you can stop using Flickr/Youtube. It provides multiple other tools for collaboration such as polls, doodles, or add-ons (same way as the Firefox add-ons). It is an advanced mail inbox so you use less and less your classical e-mail. And eventually, it will allow publishing contents to the general public so you would be able to create your own customized group web-pages without needing any CMS (WordPress, Drupal, etc).”


OS, we could just point "hello.nn" to an IP address  - in one step the

DNS system is circumvented and taken out of the equation.

Step 2 we make a quick app that updates the hosts file from a data source.

Step 3 we webize DNS records in a standard format (linked data) and have

app from step 2 read those records and update our hosts file.

It's small and doesn't scale out of the box, but we'd quickly have an

alternative to DNS and shared understanding, and free "domains".

 From there you just scale up, make a net mounted DHT for these records

and so forth - others more skilled in that area can do that.

The main takeaway is that it's possible, really easy to start doing, and

that HTTP and other protocols will all work out of the box thanks to the

abstractions built in to URIs as names.

... it's nice to consider a P2P web where DNS is replaced by open DHTs, and where each node on the network is both client and server (peer) serving and responding to HTTP requests. If you think about it, HTTP is a nigh on perfect async communication method for peers to communicate with each other, POSTing back replies when they are ready. Tip: the last section of the REST dissertation has a complimentary note on this, where Roy mentions that adding a simple message identifier header would allow async communication with messages being returned in whatever order was fastest, rather than whatever order they were requested in.

P2P Application Examples

Opera Unite (video) Opera Unite is not free/open software, but this is an example of functionality that belongs in PeerPpoint. Another Opera Unite demo. Opera Unite was dropped but Opera 12 also includes features for p2p peeps to die for.


This information about Syndie is included as an example of an application designed for a peer-to-peer world. PeerPoint applications, in addition to being integrated with one-another, would ideally be designed for use in many network environments by people with many different security and anonymity requirements.

Syndie is an open source system for operating distributed forums (Why would you use Syndie?), offering a secure and consistent interface to various anonymous and non-anonymous content networks.

On the whole, Syndie works at the *content layer* - individual posts are contained in encrypted zip files, and participating in the forum means simply sharing these files. There are no dependencies upon how the files are transferred (over I2P, Tor, Freenet, gnutella, bittorrent, RSS, usenet, email), but simple aggregation and distribution tools will be bundled with the standard Syndie release.

Syndie Technical features

While its structure leads to a large number of different configurations, most needs will be met by selecting one of the options from each of the following three criteria:

* reading is authorized by giving people the symmetric key or passphrase to decrypt the post. Alternately, the post may include a publicly visible prompt, where the correct answer serves to generate the correct decryption key.

** posting, updating, and/or commenting is authorized by providing those users with asymmetric private keys to sign the posts with, where the corresponding public key is included in the forum's metadata as authorized to post, manage, or comment on the forum. Alternately, the signing public keys of individual authorized users may be listed in the medtata.

Individual posts may contain many different elements:

Other specifications similar/related to PeerPoint



  1. Requirements Specification
  2. Design Specification
  3. Implementation Phase
  4. Polishing, Testing, Verification, Validation Phase

User Requirements

  1. WishList
  2. Use Cases
  1. Sharing pictures with friends
  2. Social networker
  3. Political Activist
  4. Non-computer savvy person
  5. Making data backup
  6. Developer
  7. User's web site becomes visible after plugging device into network behind NAT router

Software Requirements

  1. Software requirements
  1. Physical layer requirements
  2. System features
  3. Interface requirements
  1. User interfaces
  2. Hardware interfaces
  3. Software interfaces
  4. Communications interfaces
  1. Other Non functional requirements
  1. Performance Requirements
  2. Safety Requirements
  3. Security Requirements
  4. Software Quality Attributes
  5. Communications protocols
  6. Error handling
  1. Other requirements
  1. Database requirements
  2. Internationalization requirements
  3. Legal requirements
  4. Reuse objectives for the project

Freedombox Mailing List Poll

Date: Thu, 31 May 2012 07:39:43 -0500
From: Nick Daly
Subject: [Freedombox-discuss]
What You Want from a FreedomBox!

Hi folks, the votes are in (people have stopped replying to the original
thread), so here's how the votes have broken down.  

In tallying these votes, I do not claim to have perfectly interpreted
everyone's words, nor do I claim to have made no mistakes.  The emails
to this list themselves are the raw data, so my inaccuracies should be
self-evident.  I counted each vote in each email once (I did
*not* count
one vote per email) and attempted to include all sub-threads and
side-threads of the "What do you want in a FreedomBox?" email chain.

The data are sorted by number of votes for each category, then by number
of votes per service, and finally alphabetically, when services share

Social Sharing/Connections/Network tool (20):

- Email: XXXXX
- Jabber: XXXXX
- Social Media Network: XXX
- Etherpad: XX
- VOIP/Video Chat: XX
- Plans: X
- Real-time messaging: X
- Social bookmarks: X

Privacy Device (20):

- Censorship Circumvention: XXXXXX
- Privacy Device: XXXXX
- Ad-free Internet: XXXX
- Anonymous Internet: XXX
- Anonymous Chat: XX

Self-publishing tool (13):

- Photo Sharing: XXXXX
- Wiki: XXXX
- Blog: XXX
- Website: X

Backup tool (12):

- Dropbox: XXXXXX
- Backup tool: XXXXX
- Crypto-key recovery: X

Personal Information Manager (6):

- Personal Information Manager: XXXXX
- Identity Provider: X

Connectivity Device (5):

- IPv6/IPsec Router: XXXX
- Mesh Network: X

Media Device (4):

- Media Device: XXX
- Podcast Downloader: X

The Other Category (uncounted):

- Ripple (??): X

- Data Gathering System: X

- PeerPoint (??): X

- WebBox: X

- Shell Account (??): X

- E-Currency Wallet: X

Just thought you'd like to know and comment on how this all turned out.
This will also help inform the direction of the next hackfest.  Please
pick up a project and coordinate with other interested members of the
list to start integrating the service into the FreedomBox.

As a side-note, I was
*really* surprised by the results.  I didn't
expect to see the privacy category get as many votes as the social
category, nor did I expect email to be quite so popular.


- The Soveriegn Computing Manifesto The purpose of sovereign computing is to bring to the Internet the kinds of freedoms we have in real life, but have lost online.


- The Free Network Movement (Free Network Foundation) Free network definition: Our intention is to build communications systems that are owned by the people that use them, that allow participants to own their own data, and that use end-to-end encryption and cryptographic trust mechanisms to assure privacy. We call such systems 'free networks' and they are characterized by the following five freedoms:

Free Network Platform Components

Ends and Means of the Free Network Movement

- We The Data Is an extensive definition of the problem space. “We The Data asked a crowd of experts what is arguably this century’s most important questions: How can we make our data work for us and not against?  Where must we focus our know-how and creativity so the power in our data is democratized and made vibrant with meaning and value for every individual creating it? What emerged is a nexus of Core Challenges, that if solved together, we believe will catalyze the most positive change. Our goal is to spark synergy among people and organizations who are tackling a nexus of interdependent Core Challenges and collectively giving rise to the Gutenburg press of our era: flows of data that are at once more fluid and more trustworthy, new and more accessible tools for analysis and visualization, and vehicles of communication and collaboration that help communities come together to gain a voice, mobilize resources, coordinate action, and create the ventures of the future.”                

- The Global Square specs partially overlap with PeerPoint

- SecuShare currently only includes social networking, file sharing, and IM apps, but this link compares features of existing tools and should be useful for developing more detailed specs.

Video on design issues and existing projects in the social space:

- Social Swarm   Criteria for software evaluation  List of candidate software

- Safebook: a Privacy Preserving Online Social Network (pdf) This specification covers social networking only, but has a good discussion of p2p architecture. Additional documentation is available at . Safebook beta code was apparently acquired by MatchUpBox, whose site appears to be under development. The MatchUpBox graphic below indicates content management functionality, but no further specs seem to be available yet.

- Value Network Infrastructure 

(Sensorica, Greener Acres) [Note: the user-facing, front-end functionality is similar to PeerPoint, but in the general features section below, a peer-to-peer back-end architecture is not specified. This is a major difference at the software engineering level.]

What is an infrastructure?

The Wikipedia definition

Our working definition: an infrastructure is a coherent set of tools used by an individual or a group to fulfill certain tasks in order to achieve certain goals.

Value networks need an infrastructure in order function. This infrastructure is intended to facilitate value creation, exchange, transformation and consumption.

Example: online collaborative communities need tools for communication, coordination, project management, data storage and sharing, etc. All these tools can be made interoperable, and can be integrated together into an infrastructure, offering a unified work environment, user-friendly interfaces, etc.

General features of the infrastructure

  1. Open source - access to the source code, so that everyone can trust the system and help to improve it.
  2. User-friendly - easy to use tools, reducing learning barriers, intuitive environment, transparent
  3. Organic - giving access to members to modify/improve it
  4. Scalable - able to support millions of users
  5. Fractal - allows easy exchange of data between different value networks and allows their coalescence into super-networks
  6. Easy to maintain - being open source, development and maintenance is delegated to an open community, modular
  7. Free - or very low cost, allowing everyone in the world to use it, reducing economical barriers
  8. Portable - interface with all imaginable digital devices, with mobile and location-based applications  

Some other considerations

The value network is also a social “animal”, something that gives members feedback, asks members for involvement, etc. There must be some Artificial Intelligence in there, to analyse data about activity, social data, about value and how it flows, about what’s needed, what’s urgent, etc. Have active systems, automated agents send out alerts to the right members, according to their roles and their reputation. This thing must also be able to interact with those who come in contact with it for the first time. Value networks have a social skin! [tibi]

Important systems/modules

  1. Individual Profile
  2. Self-organization
  1. The value accounting and exchange system 
  2. The reputation system 
  3. The role system 
  4. Decision making 
  5. Normative system
  6. Feedback system 
  1. Metrics 
  2. Visualization
  1. Mapping
  1. geographical mapping
  2. process mapping
  1. Others
  1. Incentive system
  2. Education system
  1. Value production
  1. Inventory/materials management system 
  2. Project management
  1. alert system - take info from project management and send our emails + general posts, alerts.
  1. Shared database
  2. Communications
  1. In-network communications
  2. External communications
  1. Coordination
  2. Collaboration
  1. SENSORICA labonline and open labonline networks
  2. Virtual working space
  1. Value Distribution
  1. Service system
  2. External communication

Use Case Examples

- Use Case: The Indignados Movement, Lorea, N-1

- Use Case: ALEC envy we need to copy, hack, and re-mix parts of the ALEC model into a new model that is a venue for creating public interest open source legislation.  The right-wing ALEC is run like a criminal conspiracy. An open Citizen’s Legislative Exchange Council (CLEC) can be run like a democratic cooperative. The old ALEC is sick in the original sense of the word but a new public-interest CLEC could be sick in a street way, yo.



- Use Case: Next Net Infrastructure & Roadmap A Roadmap for transition to a distributed, decentralized infrastructure that would exist under a commons based co-ownership model instead of corporate or government control. The Free Network Movement, presented their manifesto for the big picture 5 stage process of transition. (lightly edited):

Stage 1: The Co-op

Stage one consists of the emergence of network access cooperatives. [A mesh network] allows us to share a single internet connection amongst many physically disparate locations. We and many others are able to purchase Internet access cooperatively, thus driving down the amount that each of us pays. This struggle for collective purchasing will happen in many towns and cities, in city blocks and subdivisions, in residential towers and intentional communities. The obvious economic advantage to the end user (reduced cost) makes this an easy sell to the people


Stage 2: The Digital Village

The unseen benefit of the aforementioned co-ops is that they wrest the terminal nodes of the network away from the control of the telco/ISP hegemony. This provides for the opportunity of network applications that are truly peer-to-peer. At first, this will only happen within each isolated cooperative community. Imagine a town that makes shared use of a few pipes, whose flow of information is distributed accross the last mile via mesh. Now imagine each node of that mesh network is a Diaspora pod running a codebase that is specifically designed for use in mesh networks. There is still a reliance on the big pipes for access to the wider internet, but to pass each other messages and participate in social networking, at the town level, a truly peer-to-peer architecture will be in place. Thus arises the digital village. What used to be just a co-op for purchasing access has suddenly become a community that is able to share information directly with one another. It takes only a little more imagination to see that Diaspora is one of many applications that could run on this architecture.

Stage 3: Towards Unity

Using packet tunnelling (i.e. Freenet or TOR) in concert with the existing global network, we can simulate the contiguity of geographically disparate digital villages. Suddenly, people all over the world are able to share with one another directly. Specify a user@a_node@a_network and you’ve got a unique address for each network user. Of course, the corporate giants still own the backbone at this stage, which is why we can only say *towards* unity.

Stage 4: A Backbone of our Own

Stage 4 is when the dream of true co-ownership becomes a reality. In this stage, the corporate-owned fiber backbone is replaced with a community-owned backbone. This could be accomplished via a constellation of telecommunications satellites or the construction of HF or Whitespace radios. Satellite dishes or TV-Band towers would replace the pipes that used to come from the ISP, and their connectivity could be distributed throughout every digital village. The only cost that anyone would ever have to pay for network access would be the cost of a mesh node (could be integrated into a PC, or shareable stand alone). Not everyone will be able to afford a node, which is why the roadmap doesn’t end with Stage 4.

Stage 5: A Human Right

Once the Mesh Interface for Network Devices is global, energies can be focused towards providing a node to anyone who wants one. We believe that access to the network is a human right, and this is our vision for supplying it to all of humanity.

A Few Notes:

A common counter-argument to this proposal is that mesh technologies don’t scale beyond a few thousand nodes. Our rebuttal is that they won’t have to. The federation of digital villages means that no single mesh would have to grow larger than some optimal number. Furthermore, there is reason to believe that mesh routing protocols will improve rapidly in the near future. The wide release of B.A.T.M.A.N. will provide for a significant improvement in performance of O.L.S.R.


- Use Case: Engaging For the Commons - Global Pull Platform by Helene Finidori. This is a use case that demands a sophisticated technology platform like PeerPoint.




In january 2011, The Secretary General of the UN Ban Ki-moon, called for revolutionary thinking and action to ensure an economic model for survival. A year later, the Global Sustainability Panel he created to this effect published its recommendations report for Rio+20: Resilient people, resilient Planet, a future worth choosing. The vision of the GSP as expressed in the report revolves around choice, influence, participation and action, and calls for a political process "able to summon both the arguments and the political will necessary to act for a sustainable future."…

Whether one agrees or not with the principles of political economics put forward by the UN, "activating" human agency and political will and addressing the root causes for power unbalance and resistance to change is at the heart of tomorrow's paradigm shift.

This has been my research subject during the past year which led me to draft an action-oriented strategy and process methodology for generating engagement, accountability and outcomes in the political, economic, social and environmental spheres, which may contribute to enable this activation. Inspired by Elinor Estrom's "Governing The Commons: The Evolution of Institutions for Collective Action", the objective is to turn around the tragedy of the commons by empowering individuals and communities, nurturing public wisdom and collective debate, helping push issues onto public agendas, and influencing policy and corporate behavior in a systemic and dynamic perspective.

A group of us is now working to pull together the best elements available or in the making on the web to create a global pull platform to engage for the commons  and enable a form of evolutionary activism as part as of an emergent collective response in the context of a citizen/actor network and peer to peer commons of knowledge.

The principles of the platform.

The platform is structured around commons, issues of social, environmental, economic nature, such as those included in this framework for reliable prosperity, treated as social objects: the nodes around which social networks are created, conversations and repeated interactions are initiated, new territories explored, meaning and intents shared, learning achieved.

People subscribe to individual issues then designate the actors who they think may have an influence -positive or negative-  on the status of an issue. This ‘appointment of actors’ by ‘citizen-followers’ creates a pull dynamic. Bringing together the parties susceptible of impacting progression on an issue and those to whom they are accountable will yield conversations, knowledge flow, and feedback loops beneficial to learning, progress visualization, and evaluation. The goal is to create a context favorable to collaboration, exchange of ideas and know-how. The pull dynamic is intended to stimulate political action and on-the-ground response, and ultimately advance the governance of the commons


The process consists in letting people/organizations:

The ecosystem is composed of:

Graph, space dashboards of various commons can be combined at various levels for bigger picture views.

The platform creates a context for the following: