Page 1 of 1

GPL Violation

Posted: 21 Dec 2006 10:50
by m.e
I'm working on a media player that uses libvlc.dll for video playback and it uses the bass library for music. I plan to make the player open source but the problem is that the bass library is closed source. This means not all parts of the player will be open source.

My question is: does this violate VLC's GPL license?


Thanks

Posted: 21 Dec 2006 10:57
by Jean-Baptiste Kempf
I would say, that, yes, the player needs to be GPL is your are linking against the VLC headers, and then libVLC.

Maybe the player could be in two really different parts.

However, you may try do use VLC as an ActiveX object to do so.

Posted: 21 Dec 2006 11:42
by m.e
Thanks for the fast response.

But how is using libvlc directly different from using the axtivex? Wouldn't it be a violation too?

Posted: 21 Dec 2006 11:50
by Jean-Baptiste Kempf
Nope. When you use libVLC, you link to the program, and use the IP of VLC. You kind of "modify" VLC, so you need to release using the GPL. And at the end, you got One application.

If you speak to VLC using ActiveX, you are just using COM which a link between applications. You will have two applications, not one.

Posted: 21 Dec 2006 12:05
by FORCE
Do not use bass then, vlc plays mp3 very well too.

Posted: 21 Dec 2006 15:39
by m.e
If I used Tappen's .Net user control that was recently released here at forums would that violate the GPL? Like the activex wouldn't it qualify as being 2 different programs? I'd rather not use the acitvex as I find it a bit unstable under .Net.

Thanks

Posted: 21 Dec 2006 18:42
by Jean-Baptiste Kempf
Nope. Tappen's .Net control is linked with libVLC so is GPL.

Posted: 21 Dec 2006 20:07
by Tappen
I hate to be the one to suggest ways of breaking GPL, but it is common knowledge that using "shims" is a way of adding proprietary code to GPL code without breaking the law.

Basically you need to write an open-source layer on top of the GPL code first. Then your proprietary code can call the layer, but not the GPL-licensed code directly, and be legal. Since my .Net control is GPL you need to write another layer on top of that, publish the source for it (the shim must be open source but doesn't need to be GPL), then have your proprietary code call only the shim's entry points.

If anyone reading this thinks I'm wrong please speak up, I'm not a lawyer.

Oh and you still need to provide the source code for the shim, my .Net control, and VLC directly or with links along with your distribution no matter what.