questions on copyright dealing with MS libs

  • Thread starter Thread starter not_a_commie
  • Start date Start date
N

not_a_commie

Suppose I got really mad at GDI+ one day and wanted to rewrite the
System.Drawing.dll to use my own drawing framework. What's the
procedure for creating a project for this?

I can use the .Net Reflector to create myself a project with the
existing code. Suppose I start with that and gut all the public
methods and rip out all the internal and private stuff. Am I still
screwed by copyright laws at this point? I assume there must be a
document somewhere with a formal definition of all those public
methods. (The Mono folk talk about it all over the place but they
don't have a link to it anywhere.) If those methods represent a
standard of some kind they must not be proprietary material, true?

If I include the method documentation in my reflector output am I
doubly screwed or am I allowed to use those exact comments in my own
implementation of that library?

If I simply use the dll in my other commercial products rather than
making it a product of its own -- are the copyright laws more lenient
in that case?
 
IANAL, however...

Suppose I got really mad at GDI+ one day and wanted to rewrite the
System.Drawing.dll to use my own drawing framework. What's the
procedure for creating a project for this?

I can use the .Net Reflector to create myself a project with the
existing code. Suppose I start with that and gut all the public
methods and rip out all the internal and private stuff. Am I still
screwed by copyright laws at this point?

It depends on the jurisdiction you're in, but in general - yes, you
are, because the resulting code, even with all the meat removed, is
still derived work. It doesn't have anything to do with how much you
remove, and everything with how you arrived to that point. If you,
say, take MSDN, and hand-code the classes from its descriptions, then
it will be clean code and not derived work - _even if you arrive to
exactly the same code, byte-wise_. Using reflection to scan the
assemblies and regen their API is somewhere in the middle, and you'd
certainly need a lawyer's advice if you're going to do that.

Having said that, perhaps you could just take Mono implementation, and
use that? It uses Cairo, which, as I understand, is implemented on top
of plain GDI, so it should be accelerated, unlike GDI+.
 
I must say, I do love the toungue in cheek answers of the lovely people who
have answered so politely while peeing themselves with laughter.

You do understand that System.Drawing is just a wrapper around an unmanaged
DLL that you can't decompile with Reflector don't you?

If you're going to make your own drawing framework. Why not be original and
base it on something radical like OpenGL or some such system?

In fact, if you're really good you could rip-off that new-fangled WPF thing
everyone's going on about. I hear it's pretty good.

--
--
Bob Powell [MVP]
Visual C#, System.Drawing

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top