Licences for Microsoft products

Occasionally I get development questions that are governed by one or more product licenses (End-User License Agreement, "EULA").  One question that I see is "I've used Reflector to decompile the .NET Framework and want to use that C# code in my application".

You've installed some Microsoft software and agreed to the EULA but didn't save it and it's nowhere on your hard-disk.  If you're not sure what your license terms are, there's a Microsoft web page that allows you to look up EULAs for many products: http://www.microsoft.com/about/legal/useterms/

 By the way, the answer to the question is "You're not licensed to do that".  Anyone know what clause in which EULA denies that?

kick it on DotNetKicks.com

Published Friday, March 28, 2008 4:12 PM by PeterRitchie
Filed under: ,

Comments

# Are you licensed to use C# code from the .NET Framework via Reflector?

You've been kicked (a good thing) - Trackback from DotNetKicks.com

Friday, March 28, 2008 4:18 PM by DotNetKicks.com

# re: Licences for Microsoft products

Apparently, the .NET Framework isn't a Microsoft product; otherwise it would be in the list of products. :)

Friday, March 28, 2008 4:32 PM by Chris Pietschmann

# re: Licences for Microsoft products

How long did it take to read the EULA?  How many lawyers sat next to you to translate?

:)

Friday, March 28, 2008 7:50 PM by Derik Whittaker

# re: Licences for Microsoft products

The .NET Framework license is a supplement to the Windows license (you can't install .NET without Windows), so the trick is that you're bound by the EULA of the version Windows you've installed.  

Every EULA version of Window I've read includes some sort of clause like:

LIMITATIONS ON REVERSE ENGINEERING, DECOMPILATION, AND

DISASSEMBLY. You may not reverse engineer, decompile, or disassemble the Software,

except and only to the extent that such activity is expressly permitted by applicable law

notwithstanding this limitation.

@Derik: not long, I knew to search for "reverse engineer" :-)

Monday, March 31, 2008 1:50 PM by PeterRitchie

# re: Licences for Microsoft products

@Peter,

Based on that quote, isn't using Reflector on the .NET core libraries against the EULA, whether you subsequently use the decompiled code or not? And given that, why aren't the .NET libraries obfuscated?

Monday, March 31, 2008 4:40 PM by David Nelson

# re: Licences for Microsoft products

Ahh, but you see, the Windows EULA doesn't apply to developers with MSDN.  Any and all products licensed through MSDN use the MSDN license instead of the per-product shrinkwrap license.

Also, that "except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation" isn't thrown in for fun, there are quite a few cases where the law guarantees the right to decompile and/or reverse engineer.

Disclaimer: I am not a lawyer, this is not legal advice.

Thursday, April 03, 2008 2:27 PM by Ben Voigt [C++ MVP]

# re: Licences for Microsoft products

@Peter

I think thats covered under the Do Not Steal and Common Sense clauses.. ;-)

Tuesday, April 08, 2008 12:56 PM by Evan

Leave a Comment

(required) 
(required) 
(optional)
(required)