How we plan to improve the Desura client and provide capabilities to game developers through the open source project.
Posted by ozlinden on Sep 24th, 2013
For those of you who have not yet met me in IRC, I am Scott Lawrence (aka Oz Linden), the Director of Open Development at Linden Lab. We regret any delay in our response times to questions from the open source community about this project’s direction and how the Linden Lab acquisition may affect it; we have been pretty busy! We hope that this note will help to fill in the blanks and commence our side of what will surely be an ongoing dialogue.
We have begun to ramp up our resources to support and expand Desura, including adding developers to client development. You may have seen that Mark/lodle is working on the Windows build as well as other cleanup work; he is also assisting others in getting up to speed and you should start to see their work in the near future.
We are excited about improving and expanding Desura. Retaining open source for the client is important to us because we believe that will keep it focused on the needs of both game developers and end users. A primary emphasis of Desura’s vision has been to provide game developers with ways to integrate capabilities and services provided by the platform into games - providing community features through the platform within and between games while allowing game developers to focus on game development. We believe that keeping the client open is the best way to support such integration, and some of our plans for how to proceed are specifically motivated by our desire to make that simpler.
We are still in the early stages of prioritizing the many things we would like to do with Desura as a whole, but we are already working on some requests from the community, including a Mac port and replacing the use of MFC. We are also constructing a continuous build and test infrastructure to support the project.
We would like to make the open source project licensing easier than it currently is for game developers, including non-open-source games. Specifically, we would like to change the open source license that the project uses to the one that we have been using for the Second Life Viewer for several years now: LGPL version 2.1. We believe that will help to clarify that game developers can incorporate Desura client technology in their products however those products are licensed, and remove the need to drive software design in order to insulate non-open source games from the viral aspects of the GPL.
We would also like to use a Contribution Agreement substantially similar to the Contribution Agreement that we use for the Second Life Viewer; it has worked well in that capacity. Essentially, contributors assign a copyright to the company while retaining their own copyright (bits have the nice property that we can each have rights to use them without interfering with the other party’s rights). Having a single entity holding a copyright to all of the code makes future modifications to the project licensing much simpler; for example, there is no way to know how future changes to the legal environment may necessitate changes. There is also some language in the agreement designed to ensure that patents do not become problematic for the project or its derivative works.
As has been pointed out in your discussions, any change that we make to the license used by the project in the future should not affect the existing license to the code - contributions from both Desura and others remain under the GPLv3 as documented now in the source files, and could be used by anyone under those terms. We would rather do new work under the new license because we think it best meets the needs of our customers and collaborators.
Changing the license will require that we initiate discussions with past contributors. If some contributors are uncomfortable with this new structure, we may need to evaluate the impact that could have and whether we may need to make any adjustments. Contributors should each expect to hear from us soon.
We hope to accelerate and expand development, including contributions both from Linden Lab developers and from the open source community.
Broadly, we would like to build the official Desura client directly from the Desurium open source repository. This is how we currently produce the Second Life Viewer; we even include the artwork and logos owned by Linden Lab in the open source repository as exceptions to the code license so that official builds can be developed directly from the open source without any merging to a private repository, removing the risk of functional divergence between the open source project and the product.
We hope and expect that community developers will continue to build the Desurium client and distribute it directly and through open source distros. We will distribute the official Desura client from the Desura web site and, likely, other channels. In an effort to avoid end user confusion, we would like to work with the community to define release conventions to clarify how these distributions relate to each other.
We intend to undertake a more active role in managing the master branch merges in order to have individuals dedicated to design integrity and consistency, as well as to provide market-driven product management. We are still in the process of placing staff in these roles, so stay tuned.