What is OpenCola?
- A Company: OpenCola is a non-profit company that producess free
and open source software for public benefit.
- A Set of Values: We value transparency, accountability, personal control and security
(more detail on this later) and aim to maximize trust by maximizing these values. Futhermore,
we believe that these values are essential to freedom, democracy and fair marketplace competition.
- A Platform: OpenCola is a platform that enables people to create trust networks. It is
designed to be an alternative to big tech that puts you in control of your personal data and
allows you to shape the flow of information around you. The platform is topology agnostic,
meaning that it can be used to build applications in a pure peer-to-peer
fashion (to maximize trust) or fully centralized (to maximize convenience), or anything in between.
- A Product: The first product we have built on the platform a collaborative media tool
that allows you to save and share links as well as create organic
posts. It looks a lot like exisitng social media, but addresses the long list of
trust issues that current applications have created.
Overall, OpenCola is a reaction to the current state of the Internet, where a
small set of companies, driven by the sole purpose of maximizing profit, has extracted,
captured and exploited the value of our personal data and relationships. It
represents a paradigm shift in how we think about the Internet, by inverting
the current power structure, putting you and your community in control. We believe that this is more
in line with the original vision of the Internet as an environment where everyone
can participate and benefit equally.
We are finishing up some work on infrastructure and will be offering general access to
our alpha release soon!
Sounds great, but what does OpenCola actually do?
As mentioned above, the first application we built is a collaborative media tool
that can be thought of as an alternative to big tech social media. On top of providing
you with similar features to existing social applications, OpenCola offers the
Local First Data: You decide where your data lives, which by default is
on your device. And you can collect data from existing sites and applications.
Personal Search: Everything you and your peers post is available through
Personal Archive: The things you save get archived so that you can
access them later, even when offline.
Personas: People express themselves differently depending on the
audience. Existing social media generally ignores this distinction.
OpenCola provides personas that allow you to express yourself in a more
authentic fashion because you are in full control of the audience that
you’re interacting with. You can share with and talk to your friends
differently than you share with and talk to your family or your work
colleagues. This means you aren’t forced to communicate to “the lowest
common denominator” of people you’re connected to.
Trusted Connections: With OpenCola, you don’t need to reveal that you exist
to anyone, except the people you trust and want to interact with. You can
connect with someone just by exchanging a token using Email, SMS, Chat, etc.
This means that unless you allow it, there are no bots, scammers, trolls,
ads, algorithms, or 3rd party intermediary manipulation. For those that want
to be public, we will support a registration server at a later phase.
Information Centricity: Existing social media is designed to maximize personal
celebrity vs. engaging in shared conversation. If two people share the same
web link or story, they may never know each other has shared it, and all
activity accumulates separately. With OpenCola, activity around shared posts
/ links is aggregated, allowing for collaboration to grow around ideas.
Community Moderation: Information only flows when you make the decision to
save it, not because an algorithm thinks it will generate activity. You can
also mark information as untrusted which can be used by your peers as a
filter or as warning to help your peers navigate unknown information /
What do you mean by trust?
OpenCola is built to maximize trust in the following dimensions:
- Transparency: People need to see and understand the motives,
intentions, and actions of others in order to trust them. This type of
visibility is essential in empowering people to make informed decisions
about how to interact with other people, companies or applications.
Higher transparency leads to higher trust.
- Accountability: People need to take responsibility for their actions and
decisions in order to be trusted, which requires negative consequences for bad
behavior. Higher accountability leads to higher trust.
- Personal Control: People need control over how they interact with each
other, how they use an application, and how information about them is used.
Higher personal control leads to higher trust.
- Security: People need assurances that a bad actor can’t pretend to be
someone they aren’t or access information in an unauthorized manner. Higher
security leads to higher trust.
Each one of these principles is largely minimized by companies whose objective is to maximize profit.
So why should I trust OpenCola?
Fair question. We’ve all been burned too many times. Companies have been
telling us what trust is and that we should just trust them for a long
The above trust principles guide how we operate and what we build. That
is why we are a non-profit company, our code is open source that you are
free to modify to best fit your needs, and your data is not visible to
us. We can never extract the value of your networks or information and
exploit it for profit, nor can anybody else (unless that’s what you
In order to make things easy to use, we provide some centralized
services, but we provide you the means to run everything on your own.
OpenCola is also free, in the freedom sense - you can take what you
like, modify it, sell it, and we can never take it away. It will run as
long as your device operates.
We believe that true competition requires competition of incentive
models. We reject the belief that obscene corporate profit equals
consumer good and instead are guided by maximizing trust. We aim to be a
sustainable business by offering value without compromising trust,
rather than seeking metastasized growth to satisfy investors and
Who is OpenCola for?
The current collaboration tool is quite general and can be useful to
anyone, even if it’s used in isolation and never connected to other
peers. But connecting to peers is quite powerful, as we’ve seen with
social media and many other types of applications. Here are some other
application we’re thinking about:
Healthcare: Healthcare consumers have to rely on proprietary
software to manage transport of healthcare records. This software is
controlled by companies who have an incentive to lock in lucrative
contracts in order to maximize profit, which raises healthcare
costs. Imagine instead having direct control of your healthcare
records that you can connect with your various healthcare providers.
Get test results directly from labs that, under your control,
automatically synchronize with your doctors. When you switch
doctors, just disconnect your old doctor and connect your new
doctor. You would get greater flexibility, offered at lower cost,
because it uses an open, general platform.
Education: With some simple modifications (e.g. limiting connections to
classmates), the OpenCola collaboration tool could be useful in a classroom
Journalism: News outlets have been hurt by social media platforms siphoning
away audience and ad revenue. OpenCola could allow these organizations to
interact directly with their audience, restoring hard earned value to the
User Centric Recommendations: Since OpenCola allows you to collect activity from any site,
there’s a lot more information that could be used to help you find
things of interest. Imagine being able to choose a YouTube recommendation algorithm,
built outside of YouTube, optimized for you that could get you out of
filter bubbles. Or an Amazon product recommendation system that can’t be
manipulated by Amazon to maximize profit, that can make use of your
network’s product ratings instead of those from unknown people on Amazon
that are gamed by bots.
Creative Markets (Music, Books, YouTubers, etc.): Creators spend great time
and effort to build loyal audiences but are at the mercy of corporate
intermediaries (Amazon, Record Labels, YouTube, etc.) for their success.
OpenCola could support direct interactions (including sales) between
creators and their communities, so creators have more control over their
Open Banking: Your financial information is generally locked in numerous
proprietary silos, making it hard to get a single picture of your financial
state. Some products allow you to merge the data from all your financial
institutions, but they require that you let them see all of this private
information. OpenCola could be used to model financial transactions and
allow for applications that let you see your financial data the way you want
to see it, without having to expose this data to anyone else.
How does OpenCola address issues created by social media?
Information Silos: Big tech
wants your data to be locked into their platforms so that
it’s hard for you to leave. This means that you can’t use your
data for any purpose other than what companies allow you to do
with it. With OpenCola, your data lives wherever you choose, on
your local device by default. You are essentially “always
migrated”, so there is no switching cost. You can use any
application on top of your data.
The Attention Economy: Most big tech companies make money off
advertising which means they make more money by keeping
you trapped in their products. OpenCola does not operate on an
ad model, nor does it have any incentive to keep you locked in.
Privacy abuse: Your personal data and activity is valuable, which is why
it is often sold, without your knowledge or permission
, infringing on your
basic freedoms. With OpenCola, your private data is encrypted and not
visible to the platform, so your privacy can’t be abused.
Corporate concentration of wealth / power: When corporations get big,
they use their power in ways to suppress competition as well as
change their policies in opaque ways that are hard for everyday
people to understand
OpenCola provides an alternative to these products that can counteract this
abuse of power.
Misinformation: Misinformation is fueled by algorithms
promoting content that generates activity for the benefit of
ad driven business models as well as
parties seeking to manipulate belief
. Information in the OpenCola network is traceable
so those spreading bad information can be held to account by being
cut off, resulting in a loss of influence. In addition, information
only flows when someone trusts it enough to save it for themself.
Lastly, information can also be marked as untrusted which helps
peers avoid it.
Polarization: Emotion, especially negative emotion, drives engagement but
also drives people apart
. Since OpenCola is not concerned about engagement, there are no
algorithms that promote sensational content.
Stifled Innovation: Big tech focuses on features that
generate revenue, and often leads to situations like
having to pay to remove features
OpenCola, anybody can modify the application to suit their needs, and
valuable features that don’t necessarily generate revenue can be offered.
Bots: Since big tech companies are centralized, they are
easy targets for those that wish to manipulate information flow,
for profit or for power,
which results in harm to the people using these systems
. Because OpenCola connections are based on trust, it is not
practical for bots to impact your network.
How is OpenCola different?
There are many applications / platforms out there that attempt to
solve important problems. Some are low level, more technical solutions
(e.g. Solid), while others are
high level solutions (e.g. Mastadon). Low level
solutions are often light on product vision or are too complicated for
everyday people to use. High level solutions often have a very specific
product vision, and so are of limited use.
OpenCola was designed to be able to model any application domain, and
make use of any technologies that can be wrapped by the small set of
interfaces (see the technical FAQ). So, OpenCola is not one specific
application, nor is it one specific network. It allows for arbitrary
domains to be modeled and interconnected with arbitrary networks. Things
like Solid and Mastadon could easily be integrated into OpenCola
applications (which we plan to do).
Because of its design, OpenCola is agnostic to network toplogy and has
the flexibility to operate on any scale from pure peer-to-peer all the
way to fully centralized.
Who are you, and why are you building OpenCola?
We are people that are tired of the state of the Internet and would like
to help fix it, because it’s a problem worth solving, even if we don’t
make loads of money doing so. The founders of OpenCola all worked at the
OpenCola, founded in 1999, which was building something similar in
spirit, but was unfortunately too far ahead of its time. We’ve all
gained a lot of experience and seen what the Internet has become and
would like to do what we can to steer it in the right direction.
Frequently Asked Questions
How do you stop bad people from using OpenCola?
We don’t. Anything we do to monitor or control activity requires
invading privacy and undermines our trust values. Every technology
has unintended consequences. The Internet enables bad things, but if
you’re reading this, then you’re using it, despite the fact that
people can do bad things with it, likely because you believe that it
brings more good than harm. Similarly, we believe that the world is
better with OpenCola than without it, even if people use it in ways
that we don’t support.
Does OpenCola address “Filter Bubbles”?
Yes and no. Since people, rather than algorithms, control the flow
of information, algorithmic filter bubbles are not an issue. But
people have their own biases and preferences, which can also lead to
filter bubbles as well as “echo chambers”. These are social, not
technical issues, that we believe cannot be fixed by forcing people
to consume information that they disagree with. Who or what would
even decide what people should see? Certainly not us. We believe
that the trust environment provided by OpenCola, which is less
polarized, is more likely to open minds than anything offered by ad
driven, for profit companies or any algorithmic / technological
How do you connect with people you don’t know?
Traditional social media has a loose trust model, which allows
people to connect with or follow other people with little or no
permission required. With OpenCola, because we’re focused on trusted
connections, currently both ends of a connection need to agree to
share information. As publishing is a useful activity, though, we
intend to support a publisher model, where you can create personas
that can be connected to by anyone.
While technically simple, the question then becomes should we
support searching for publishers? This opens the door to
verification problems, so we think publishers would need to
communicate their ids outside of OpenCola, like you do today when
sharing an email address or any other social media id. OpenCola
could then just host (cryptographically) verified details about
publishers, including where information posted by the publisher can
High Level Technical Details
How is Data Modeled in OpenCola?
The core of OpenCola is how it represents information. Each “atom” of
information is represented as a fact that is a data structure with the
- authorityId: the globally unique id of the actor (you, a peer, etc.) asserting the fact
- entityId: the globally unique id of the subject (a resource, actor, piece of data, etc) of the
- attribute: a url indicating the attribute of the entity (name, description, imageUrl, etc)
referred to by the fact
- value: a binary representation of the attribute’s value
- operation: Whether the fact is being added or retracted
- time: The time the fact was asserted
- transactionId: the globally unique identifier for the transaction that this fact is part of
Modeling information this way makes it trivial to add new attributes
and provides a simple, common data schema that applications can be
built on top of.
As a bonus, modeling information this way supports “time traveling”
where you can modify any query to return results up to a given point
in time. This enables use cases where you want to see your feed (or
search) exactly as it was on a given date in the past.
What are the core components of OpenCola?
Under the hood, OpenCola is built on 4 interfaces:
- EntityStore: Where data about posts is stored (title, link, description, comments, etc…).
- FileStore: A content addressable file store where attachments or web page archives are stored.
- SearchIndex: Enables search across any attribute marked for indexing
- NetworkProvider: Enables communication between peers
Each of these interfaces can be implemented locally or interact with
a remote or centralized server. So OpenCola can operate on any scale
from pure Peer to Peer all the way to fully centralized.
Since these interfaces are free to be implemented and modified, you
have the freedom to re-configure OpenCola any way that meets your
trust needs. The average person probably wants the “batteries
included” solution, with some centralization, whereas a human rights
worker may need a more sophisticated, security-at-all-costs
solution, that is more pure peer to peer.