The Open Source Group recently provided technical and strategic consulting to a Samsung team that has developed an exciting new Virtual Reality Framework. GearVRf is a rendering library to help speed application development on VR-supported Android devices. The team had a desire to launch an open source project around this code, and in this post we’ll share the process we went through to help them make this happen.
We believe sharing this experience is important for two main reasons. First, readers with less experience in this area will gain a sense of what’s required to take internal code, make it available under an open source license and then drive its adoption by growing a developer community. Second, readers with more experience will hopefully give us feedback on how we can do this better the next time.
What Does it Take to Launch a Successful Open Source Project?
Our process started by deciding if we were making this open source for the right reasons. We began by establishing that there were no similar projects we could join efforts with, meaning we would need to support the project ourselves. We ensured we had enough internal commitment to maintain the project, continue new development, and build a community around it, and once this was done, we moved through our checklist of necessary steps to prepare the project to be released as open source.
The next step in the process was to run legal, technical, business and marketing reviews in parallel.
- The legal review ensured compliance with other licenses for all code used with the library. We decided to use the Apache license for the project, as well as a variant of the Linux Kernel developer certificate of origin to help protect against potential code provenance issues later.
- The technical review ensured there were no dependencies on any internal or undeclared third-party software, provided better documentation, license, and copyright notices for the source code, and ensured the code could be compiled and built using open source tools.
- The business review ensured internal buy-in and availability of sponsorship to sustain the open source development. The early discussion of open sourcing the code covered the benefits of doing so versus keeping it internal, so there was no reason for us to revisit that conversation during the business review.
- Finally, the marketing review focused on designing the project’s logo, website, and registering the domain and various social media accounts.
After all of the review processes were complete, the next major task was to define the project’s governance and processes. The governance for the GearVRf project is simple and is modeled after many other successful open source projects. Various concepts such as decision making, project roles, and community guidelines were defined to make it easy and efficient for anyone to join and participate. The governance and processes are all documented on the project’s web site.
The last building block was to setup the project infrastructure, including a Wiki to help inform others about the project and make it easier to understand how to contribute and use the framework and a mailing list server to facilitate communications for the project. Lastly, the team decided to continue hosting the source code within our Samsung Github Account.
We Need Your Help
Like any other open source project, the success of GearVRf will need to be driven by the community that’s built around it. We hope users and developers will take advantage of this open source release to help us do something great. If you have any ideas, code, or other contributions you’d like to make, feel free to join our community and start hacking away. If you just want to keep up with project developments, join the announcements mailing list to get updates as they happen. This project is just the beginning of what we hope are many more open source projects from Samsung, and we want to get as many people involved as possible. We welcome both contributions to the source code as well as new GearVRf apps.
Check out the project at http://www.gearvrf.org.