Question Details


Do I have to disclose code because of a GPL control used in a .Net App?

By Julio Dominguez - May. 20, 2008

We have used a GPL control in my .Net application which we're planning on selling.

If I reference this control in an assembly and use that assembly in my application am I only liable to disclose the code for the assembly or will I have to disclose the code for the full application?


Add Answer
  1. By Randy Clark on May. 21, 2008

    Ok, first, my disclaimer - IANAL. That being said, here goes:

    It depends on what you mean by 'reference'. If you directly link STATICALLY to GPL code, your work will, most likely, be considered derivative work. If that is the case, you will have to release your work under copy-left. Any thing that links in a similar manner to that component would also be considered to have the 'contamination' (I could not think of a better term - this is NOT meant to imply anything bad!).

    On the other hand, if you are dynamically linking to GPL code, you will not be shipping typically with that code, and you could make it available as part of your download/distribution bundle. Hence, your work would not be considered a direct derivative work and you would not need to Open Source it.

    You really should consider the merits of open sourcing your code anyway!


    0 Votes
  2. By an anonymous user on May. 21, 2008

    According to The GPL FAQ (, no. You can sell your software with a GPL control so long as you provide access to the GPL module. The rest of the code doesn't need to be under the GPL, and therefore given out.

    0 Votes
  3. By an anonymous user on May. 22, 2008

    While the previous commenter's assertion is true, you have to see whether you need to release any of your own code needs to be released IN ADDITION to the module, which HAS TO BE provided, with code and license. It depends on how you use it. If you modify the control's code, you have to release your code under the GPL too.

    What version of the GPL is the original module written under? There are nuances among the various versions.

    0 Votes
  4. By OSAf W on May. 23, 2008


    I had quite a chain of comments sometime back on Crossloop at my blog regarding a similar issue.

    Thanks to comment I was able to dig deeper and figured this out:


    See this GPL FAQ entry that deals EXACTLY with this situation:

    In particular this section:

    "To do this validly, you must make sure that the free and non-free programs communicate at arms length, that they are not combined in a way that would make them effectively a single program."


    If the control is invoked witha fork and exec from yur program then you will not be violating teh GPL, but if it has become intrinsic to your program and part of the same app then you will have to release your app under the GPL too.

    Let us know of the final outcome or decision you make.

    To read the complete conversation on my blog visit:

    0 Votes
  5. By an anonymous user on May. 30, 2008

    In short - yes.

    If you do not, then you are stealing the GPL code - it is no different than if you copied part of windows or any other proprietary programme into your own without permission.

    You may be able to negotiate a proprietary license with the vendor, but otherwise you have to release your code, or not use the control.

    0 Votes
Share your knowledge