Our community is full of users who rely on Unity -- whether it be for work, for play, or both. Knowing that, we’ve been thinking about new ways we can engage our community and provide a better user experience. One of the initiatives we've decided on is to start sharing the source for selected components of Unity. With access to the source for components (or tools related to Unity), we hope to:
We’re starting this project by making the recently-updated source to the Unity Test Tools available on BitBucket in a repository ready for you to fork, modify, and even open pull requests with contributions if you wish.
The next component we plan to give you the source to (unless we get something else ready before then!) is the long-awaited new UI system. We’re convinced you’ll do awesome things with the source once you get it in your hands.
Beyond that, we don’t have a concrete plan, but we have a lot of things in the pipeline. These components (like the new UI system) will all be isolated from Unity in such a way that you can modify them and use your own modified version with the official public Unity release.
We are using MIT/X11 as our standard license. We've never been a fan of a revenue sharing model, and we have a similar opinion about the license for our open-source components; we didn't want to burden you with licenses that restrict what you can do with the source code.
Because we’re releasing our source under an MIT/X11 license, we’re also expecting contributions we accept from the community to be contributed under an MIT/X11 license.
Nope! The source is available to everyone, regardless of what Unity license you have.
Unity has been participating in other open-source projects for quite some time. Our scripting engine is based on Mono and we keep our fork of Mono open on GitHub, as well as our open-source shader cross-compilation tools (hlsl2glslfork and glsl-optimizer). We also use a lot of open-source tools internally: our build/test automation server and lives on BitBucket, as do custom extensions to Mercurial, the version control system we use. Unity Technologies employs several developers to contribute to the open-source projects that we we use (check out a list of our contributions to the Mercurial project as an example).
Although Unity Technologies has been active in the open-source community for quite some time, this is the first time we’ll be opening the source to components of Unity itself. We’re excited to see what you do with it.