Release Notes for XFree86[tm] 3.3.3 : XFree86 and Open Source Software
Previous: Known Problems
Next: Installing the XFree86 3.3.3 Release

5. XFree86 and Open Source Software

XFree86 public releases in general follow the Open Source Software definition as set forth at http://www.opensource.org/osd.html. This definition is actually a subset of our requirements.

After we had finalized XFree86 3.3.3, and within hours of our planned release, NVIDIA insisted that we withdraw two source files from the driver that they had supplied to us and replace some other source files with versions that were partly run through the C preprocessor. NVIDIA's stated reason for this was to remove some of the names that they thought might reveal intellectual property from NVIDIA. This resulted in somewhat unreadable and unmaintainable code.

The XFree86 Project is strongly opposed to such obfuscated code. Among other things, such code does not satisfy the Open Source definition of "Source Code", which states that

The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed.
Due to the extremely late date of this decision by NVIDIA, we decided to include the code as offered by NVIDIA. All other options would have significantly delayed the release of XFree86-3.3.3. We'll try to work with NVIDIA to find a more acceptable solution so that the code can remain in future releases.

The code affected by this is located in the directory:

xc/programs/Xserver/hw/xfree86/vga256/drivers/nv
Specifically, the files: nv3arb.c, nv3cursor.c, nv3driver.c, nv3setup.c, nv4arb.c, nv4cursor.c, nv4driver.c, nv4setup.c. All other code in XFree86 3.3.3 satisfies the Open Source Software definition.


Release Notes for XFree86[tm] 3.3.3 : XFree86 and Open Source Software
Previous: Known Problems
Next: Installing the XFree86 3.3.3 Release