Taken from http://support.dell.com/support/topics/global.aspx/support/downloads/en/disclaimer

Export Compliance Disclaimer

By downloading from Dell's Web site, you are agreeing that you will not use or
otherwise export or reexport, directly or indirectly, this Software and/or
Technology except as authorized by U.S. law and the laws of the jurisdiction in
which the Software and/or Technology was obtained. The Software and/or
Technology may not be exported or reexported (i) to any U.S. embargoed country
(currently Cuba, Iran, Libya, North Korea, Sudan and Syria) or (ii) to an
end-user or end-use prohibited by U.S. law or the laws of the jurisdiction in
which the Software and/or Technology was obtained. By downloading the Software
and/or Technology, you represent and warrant that you are not located in, under
the control of, or a national or resident of any such country and are not a
prohibited end-user or engaged in a prohibited end-use.

Dell Software Disclaimer

TO USERS OF DELL'S SERVICE & SUPPORT WEB SITE: DELL INC. ("DELL") DOES NOT
WARRANT THE FILES (INCLUDING ANY FIXES AND UPDATES) PROVIDED IN THE
DOWNLOADABLE FILE LIBRARY AREA(S) OF THE DELL SERVICE & SUPPORT WEB SITE (THE
"SITE"). ALL FILES AVAILABLE FOR DOWNLOAD (THE "FILES") FROM THE SITE ARE
PROVIDED "AS IS." IN CONNECTION WITH THE FILES, DELL MAKES NO WARRANTIES OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OF TITLE, OR OF
NON-INFRINGEMENT OF THIRD PARTY RIGHTS. USE OF THE FILES BY A USER IS AT THE
USER'S RISK AND IS DEEMED ACCEPTANCE OF THESE TERMS. IN NO EVENT SHALL DELL BE
LIABLE TO THE USER FOR ANY DAMAGES ARISING FROM USE OF OR INABILITY TO USE THE
FILES, INCLUDING ANY DAMAGES AS A RESULT OF VIRUS INFECTION OR OTHER
CONTAMINATION, INCLUDING ANY LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL OR
CONSEQUENTIAL DAMAGES, EVEN IF DELL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES, OR FOR ANY CLAIM BY ANOTHER PARTY.

THE DRIVERS PROVIDED FOR DOWNLOAD ON DELL'S WEBSITE ARE THE LATEST ONES THAT
HAVE BEEN VALIDATED BY DELL. FOR ANY GIVEN HARDWARE COMPONENT, NEWER DRIVERS
MAY EXIST ON THE RESPECTIVE MANUFACTURER'S SITE. PLEASE NOTE THAT DELL HAS NOT
VALIDATED ANY DRIVERS NOT DIRECTLY AVAILABLE FROM DELL'S WEBSITE, AND CAN
THEREFORE MAKE NO REPRESENTATIONS AS TO THEIR EFFECTIVENESS, STABILITY,
APPROPRIATENESS OR SAFETY . IF YOU WISH TO DOWNLOAD AND INSTALL ANY
NON-VALIDATED DRIVER, DELL STRONGLY RECOMMENDS THAT YOU MAKE A BACKUP OF YOUR
CURRENT WORKING CONFIGURATION SO THAT YOU HAVE SOME ABILITY TO RETURN TO A
KNOWN WORKING STATE IF THE NEW DRIVER FAILS TO FUNCTION PROPERLY OR CAUSES
SYSTEM PROBLEMS. ANY PROBLEMS ENCOUNTERED WITH NON-VALIDATED DRIVERS SHOULD BE
ADDRESSED TO THE RESPECTIVE MANUFACTURER(S) -- DELL WILL NOT HAVE INFORMATION
ON ANY NON-VALIDATED DRIVERS.

Dell Software Copyright

EACH ONE OF THE FILES (AS DEFINED IN THE "DISCLAIMER" SUBSECTION ABOVE) IS THE
COPYRIGHTED WORK OF EITHER DELL OR OF THE THIRD-PARTY VENDOR SUPPLYING THE
DOWNLOADABLE FILE. USE OF THE FILES IS SUBJECT TO COPYRIGHT LAWS OF THE UNITED
STATES. USE OF ANY OF THE FILES IN ANY MANNER THAT WOULD VIOLATE THE COPYRIGHT
LAWS OF THE UNITED STATES IS EXPRESSLY FORBIDDEN.
