# OpenRegistry - Community Proposal ## Who we are and what we Do We are a small team of passionate Software Engineers trying to bring more Decentralization into the world of monopolized, centralized services. With OpenRegistry, we're trying to build an open source community driven Decentralized Container Registry. We are fully compatible with Open Container Initiative,the organization behind container runtime, image and distribution specifications. ## Why Yet Another Container Registry(YACR)? Containers are the building blocks of modern infrastructure and distributing them efficiently is a critical part of deploying applications (even more so, at scale). For the longest time, Docker has run DockerHub and it's been the most popular platform for Distributing container images by far. Here are a few reasons why we think OpenRegistry is important: 1. Container Registries like DockerHub are run by centralized corporations with closed source code bases. 2. When DockerHub goes down, it causes a lot of service degradation to it's peers. 3. DockerHub's new rate limiting makes it even hard to use it. We have worked with fortune 500 clients in the past and we were literally forced to use AWS's container registry (another centralized closed source service). 4. Lack of openness in existing systems. We're trying to even the floor by bringing a critical piece of infrastructure to the community. Run by Open Cloud and powered by Open Technologies, OpenRegistry runs on Akash and uses Skynet as it's storage layer (we'll talk more about this in a minute). ## The Solution we propose We are motivated to take on the centralized services and make them disrupted. We would want to open the ground up for community and make sure that the project's topmost priority remains the community it serves, and not the individual profits. Currently, OpenRegistry is implementing the OCI Distribution Specification that lets you store and share container images via relatively new container engine like containerd, podman, nerdctl, docker etc We plan on expanding the suite by adding following functionalities: ### OCI Certification: Our immediate goal is to get OCI certified by submitting the Conformance test report to the OCI organization. Upon acceptance we'll have a badge of reliability and thus making it available for people to be utilized like any other Container Registry. Below is the snapshot of our current progress on conformance testing, once we pass all the cases, we'll be production ready! <a href="https://ibb.co/MpVqzr9"><img src="https://i.ibb.co/7VW73Pb/conformance-tests.png" alt="conformance-tests" border="0"></a> ### Vulnerability Scanning : We'd like to incorporate container image vulnerability scanning to make sure the we're always serving secure content. This will also help us keep the malicious actors at bay ### Auto-Scaling: Akash provides Spot like instances which means you would have to take care of system metrics, application logs and auto scaling. We would like to build an ecosystem around Akash to support Open Registry along with the larger community to help operate at a greater scale. ### Authentication and Authorization with SPIFEE: Akash already has plans to integrate an AuthZ/AuthN toolchain into the Akash ecosystem. We'd like to support the identity framework that Akash supports on top of the traditional Container Registry Authentication system e.g. if you can prove that you're the owner of the deployment, you need not prove the same again for pulling a private container image from OpenRegistry. ## Roadmap Akash offers an affordable compute model which let's you deploy at scale, if your application is fault tolerant. However, Akash does not have support for persistent volumes or storage so far. We're planning to bridge this gap by using Skynet as our storage solution. With OpenRegistry, our goal is not to build yet another container registry but an open one. We'd like OpenRegistry to be a community lead project so that no single entity has more privileges. This will ensure that making too much profit is never a priority but serving the community always is. We'd also like to come up with an economic model to make sure that we at least cover our compute/storage billing and also support the developers, but one goal we have in mind is that as more people join OpenRegisyry, the cheaper it would become for individuals using it. We haven't decided on this yet but maybe coming up with an Openregistry DAO program would help achieve transparency in the system. The official granular roadmap can be found at our github here: [OpenRegistry Development Roadmap](https://github.com/jay-dee7/OpenRegistry/projects/2) ## An estimate of Resources required We're a team of 2 Engineers who have worked for over 2 months (weekends and work nights) implementing a minimum viable product and from our initial estimate, we believe that we must have at least Two (2) full time and One (1) part time engineer working on OpenRegistry over the course of 4-5 months to make it production ready. After that, we would love to run a marketing campaign on popular platforms like Twitter to attract suitable audience. We're seeking a total amount of $250k USD (in AKT) paid quarterly or monthly, (however the community decides) over the course of one year. These funds will be used for employ two full time engineers initially, pay for Akash Compute and Skynet Storage along with the marketing campaigns.