For us at uPort, open-sourcing our code is essential for two reasons:

1. Open source code is all about communities

The open source movement started at the very beginning of computer history. Mathematicians, among the first programmers, were the first ones to write code that runs on computers. In the academic culture of that time, it was common to share new knowledge like mathematical theories, formulas, algorithms and also code, so other peers can review, suggest changes and even add improvements with some modifications.

The original authors were recognized in the community for their contributions, and all the community was able to benefit from them. Mathematicians (and in general all academics) understand that knowledge is co-created, and to succeed in their field, they need to work and cooperate with their communities. This was a deeply embedded culture that rewarded collaboration and openness in the pursuit of knowledge.

Fast forwarding to present day, we see that many of the software we use have either been co-created in an open source way or built using open source components.

The Apache web server, Firefox browser, Linux and Android are just a few examples of this. The success of all this software relies on the fact that they were built by many developers around the world which exceeds in headcount any software company.

Developers built it because they need the software and are actually going to use it. They joined communities that share their same needs and worked together on improving it. These communities are composed of a diverse set of people with different skills but all sharing the same goal.

There was no need for market research since the community was the market. There was no need for customer support since the community provided the customer support itself. This was co-creation at its best.

At its core, identity is also about community. A person’s identity is not only about the personal information that makes up that person, but also a sum of connections to the different communities he or she is part of.

At uPort, we recognize that to build the next generation of identity tools, we cannot build it by ourselves alone. We neither have all the answers nor do we have the capacity to do it ourselves.

The new identity paradigms and platforms of the future should be co-developed by a strong community. Open-sourcing our code is a must for us if we want to be part of this community.

2. Open source code is a requirement for self-sovereign identity

Self-sovereign identity is about returning control to the users to own their identity. Private keys and the blockchain allow a user to control his or her identity without a third party provider to manage it. However, in order to do so, that person needs a piece of software that signs, encrypts and interacts with the blockchain or any other service in a way that is easy and convenient for the user.

If that software cannot be audited or reviewed by the user, then the user doesn’t really have full control over his/her identity. If you don’t know what the software actually does, you are at the mercy of the software developer — a third party again — whom now you must trust.

The only way to build trust is giving our community of users the ability to look at the code and build their own version. Following the cake recipe example, if you are deathly allergic to nuts, then the only way to be safe is to build the cake on your own and make sure not to add any nuts in it. To do so, you need the recipe.

Every product decision we make at uPort goes through the question: “how does this make the user more in control of his identity?” Open sourcing all our components will give the user more self-sovereignty.