Mir is a system-level component which supplies display & input services for shells and applications. It's currently shipping in our Ubuntu Touch products and is avialable on desktop as part of our Unity8 preview experience. This document outlines the motivation for the project, describes the high level design, summarizes the scope, and provides the roadmap of the Mir display server.
The purpose of Mir is to enable the development of the Unity8.
See the license section if you have question about Mir's licensing.
The Mir display server project is a true collaborative Open Source project. For us to build an awesome user experience scaling across and dynamically adapting to different form factors we need a variety of skills and contributors who can bring them. This section of the our wiki homepage explains how you can get involved.
How Can I Help?
If you are not sure how to help, use our handy guide below:
If you are a fairly technical person
Also, you may want to check out unity system compositor which is another project we are responsible for.
We are also working to deliver Mir as a snap. You can help test and create Mir clients to exercise the Mir snap.
If you like breaking things
Mir adheres to a test-driven development process and code contributions in particular have to be accompanied by tests that prove that a fix or a feature really does what it should. Besides the basic unit and acceptance tests that are part of the Mir project, we currently rely on Autopilot to implement fullstack and behavioural testing and we would love to see contributions to either the test suites or the underlying infrastructure to wire things up with Mir. If this sounds like something you'd like to try, we recommend starting with the Unity8 autopilot tests where you may add tests.
If you like design
You might want to help with Unity8 - this includes not only discussing designs, but we would also love to receive thoughts, ideas and feedback on our ideas.
Where Do I Begin?
Get a Development Environment Set Up
You should first install the different parts of the project so you can contribute.
To read out to do this, see these instructions.
Choose a Place to Help
Now you have an idea of how to help, click the sections above to find out more. You should also join our communication channels:
Mailing List - our mailing list is where we have email discussions. Everyone is welcome to join, just go to https://lists.ubuntu.com/mailman/listinfo/Mir-devel, join the team and then join the mailing list.
IRC - we also have a live chat IRC channel in #ubuntu-mir on the freenode IRC network.