Radiance 3.4 and Open Source Development Greg Ward Talk Overview * Radiance Development History * The Good * The Bad and the Ugly * Radiance 3.4 * What is There * What is Missing * Open Source Development Radiance Development History * First Official Release 1.0 in January 1989 * LBNL Releases through 3.1 in July 1997 * Code Split Three Ways: * LBNL MPI parallel rendering development * LBNL Desktop Radiance development * SGI Holodeck development * New Release 3.4 in January 2002 The Good: 1 Primary Author * Code consistency & reliability * A feeling of responsibility * An ultimate source for technical answers The Good: Advanced Users * Difficult but powerful software attracts talented users * Talented users have good ideas * Talented users have interesting problems * Interesting problems stress-test algorithms * Some researchers even validate their simulations The Good: Rendering with Radiance * Author wrote intro. and technical chapters * Rob Shakespeare wrote tutorial chapters * Other talented users wrote application chapters * Charles Ehrlich on Lighting Analysis * John Mardaljevic on Daylighting * Erich Phillips on Roadway Lighting * Peter Apian-Bennewitz on Animation The Bad and the Ugly * Being the primary author meant that when I left LBNL, development fragmented * Code branches diverged even within LBNL * Technical support also suffered * Old-style C code was never updated (My excuse -- it still works!) * Some code developments could be lost Radiance 3.4: What is There * Holodeck rendering system * New and improved ray tracing utilities * vwrays and new rtrace options * Bug fixes and improvements * glrad program for OpenGL rendering * xform -f option for faster scene generation * Increased max. scene complexity * New fonts (Verdana, Pix) Note: Most bug fixes were included in patches to 3.1. Radiance 3.4: What is Missing * David Robertson's optimizations * Hooks for compiled patterns in C * Portability and readability improvements * MPI support for parallel rendering * Windows port and additions * ximage and rview replacements Open Source Development * Open Source definition * Open Source and Radiance * How will this affect Radiance developers? * How will this affect Radiance users? Open Source Definition * Free program distribution * Must include original source code * Must be free (or cost of distribution) * Must allow redistribution and derivative work * Permits restriction that derivatives be patched from authors' original source * Adds "no discrimination" clauses Notes: Taken from the website "http://www.opensource.org/docs/definition.php". The "no discrimination" clauses prohibit discrimination and restriction of software use by persons or groups, or restrictions on associated software use, or application areas. Open Source and Radiance * Until now, anyone wishing to redistribute any version of Radiance required a license * A two-year, renewable license cost $10000 * Approximately 10 licenses were sold * Beginning December 1, 2002, LBNL will make Radiance available as Open Source * Code was always available -- now you may build on it and share your additions Notes: The official LBNL announcement may be found at "http://radsite.lbl.gov/radiance/announcement.html". We will probably make a "patch requirement" to keep explicit what is original and what is derived code. Since this is a complex lighting simulation system (not to mention a complex pile of C code), the potential for introducing errors should never be underestimated. How Will Open Source Affect Radiance Developers? * In the past, developers had to offer their patches to Radiance source separately -- now, they can distribute complete package * Companies wishing to capitalize on Radiance may do so without a license * Code branching may be a problem Note: LBNL will not endorse or guarantee any derivative of Radiance. This should not be a surprise, since it never endorsed any version of Radiance in the first place. How Will Open Source Affect Radiance Users? * New versions may have new capabilities * New products may become available * New sources of technical expertise * Questions may arise as to simulation integrity The Future Is Yours * The future of Radiance depends on interested users and developers * I will continue to be involved and available for consultation at some level * Much of the work is in derivative software applications that utilize Radiance core lighting & daylighting simulation engine