Welcome to the Ubuntu Component Store

The Ubuntu Component Store (UCS) is intended to be a library hosting a collection of components created by community developers for building Ubuntu SDK apps. UCS will enable new developers by providing plug-and-play components/modules and thereby preventing the need to start from scratch.

Purpose

What’s the usecase for this? Let’s take a look at an example. Assume App Dev A creates a component that is intuitive and helps improve the user experience. App Dev B would like to incorporate a similar component in his own app and either borrows the code from App Dev A or creates his own. Both choices have serious drawbacks. If he borrows the code, then he has to keep track of any upstream improvements. On the other hand, if he creates his own component, then it is just a waste of effort since there is now code duplication throughout the community. This is what the Ubuntu Component Store is aimed at solving.

By hosting a set of components, UCS will enable app developers to share components with their peers and reduce code duplication.

_images/concept.png

How will this work?

A developer who just wants to use these components will be able to grab the components easily and keep them updated by simply running the ucs program.

You can find the installation guide, to install ucs so that you can use it to add components to your Ubuntu SDK apps, at Installation Guide.

A component developer can create a component and contribute it to the Ubuntu Component Store. There are two types of components: Curated and Community. A component developer can publish their component to the Community store by themselves, with no oversight. Publishing to the Curated store requires approval that the curated component is well-constructed: it must have good documentation and tests, and the component developer will join the store team and maintain their component. This leads to the Curated components being superior.

If you want to contribute a component, you can find the contribution guide at Contributing to UCS.