Super Happy Software License Fun Time

The Imprudence 1.2 development cycle has taken a lot longer than we had hoped, but it’s finally coming to completion. With some luck, we hope to release the final version of 1.2 tonight or tomorrow!

The most recent delay was due to our efforts to ensure that we’re giving proper credit and respecting the licenses of all the various software libraries that we use and distribute with the viewer. We may be imprudent about changing the viewer UI, but we take our obligations under these licenses quite seriously.

This has been a tedious and wearisome process, as there are 50 or more libraries used by Imprudence, considering all operating systems. For each one, we have had to read and understand our obligations, verify that we are fulfilling them, and in many cases correct errors or omissions. Here are some examples of the obligations we have had to check:

  • Nearly all of the libraries require that we publish its copyright and license notices, although the details vary from library to library. It generally takes 5-10 minutes per library to find the information and verify that we are giving proper credit, or to fix or add an incorrect or missing notice.
  • As well as distributing the libraries with the finished Imprudence installers for our users’ convenience, we also package them up individually for use by developers who want to compile Imprudence themselves. Since those packages count as distribution, we also have to make sure we’re including proper credit in each of those packages, which is another chore in itself, adding another tedious 5 or so minutes per library. (That’s not mentioning the 20-30 minutes it took to create each package in the first place. Oof.)
  • Some libraries (in particular, those licensed under the GPL or LGPL) also require that we also offer the source code if we distribute them in compiled form. So, we have had to locate and host a copy of the source code for each of those libraries alongside the compiled packages. (You can find the sources here. We are still in the process of collecting all the necessary source packages, but should be done soon.)

On average, it takes about 20 minutes per library to verify and possibly fix all the details. Multiply that by 50 libraries (it comes out to nearly 17 hours), and consider the dullness of the chore, and you’ll begin to understand how much fun it was not. But as tedious and thankless a task as it is, it’s important to ensure that the library developers are given proper credit for their work (not to mention our legal obligation to do so).

Despite all that effort, we may have made a mistake or two. (Indeed, we’ve found at least one serious mistake of this kind in Linden Lab’s own library distributions. We will be privately contacting them soon so that they can fix it.) If you find an error in the way we’ve dealt with the licenses for any of the software we distribute, please don’t hesitate to contact me so that we can put things to right as soon as possible.

4 Responses to “Super Happy Software License Fun Time”

  1. Dale Innis

    y’all rawk! More people should be this respon.

  2. Opensource Obscure

    Great work! .. I can feel the bore ;)

    Kudos to the Imprudence team, your attention is really appreciated and shows you’re reliable – something even more important that any mention in any Viewers Register, by the way.

  3. TigroSpottystripes Katsu

    wow, ‘grats on the dedication! :D

  4. Downstream Patch

    The cheapie way of complying with the gpl is to maintain only patches by just giving a link to the upstream sources. Package managers do that for linux debs, rpms, and bsd ports. They have one makefile per project that pulls the patches and upstreams sources.