OBS license infringement

randef97

New Member
Hey, so it seems these guys: https://lowkey.gg/ are including OBS in a commercial product, and not shipping the source?
There's even a blog post by the contractors they hired to integrate it: https://evilmartians.com/chronicles/desktop-frontier-video-app-optimization-for-lowkey
If you install it, there's a copy of OBS in `AppData\Local\Programs\lowkey-electron\resources\app.asar.unpacked\node_modules\osn`

They're not allowed to do this right? Because OBS is distributed under the GPL, they should have to release the source of their whole program under GPL.
 

Suslik V

Active Member
...they should have to release the source of their whole program under GPL
Not quite true. Only parts that interacts with the GPL code, to ensure that the code is used right (no violations of license, no intended harm, right usage of the intervals, timings, interrupts, resources etc., etc.). It's my point of view.
 

bcoyle

Member
My perception is that you only have to produce a source file (of obs - not you app) is if you fork the OBS instance and have something new. You are free to use obs as is without revealing you source code.
 

Xaymar

Active Member
Not quite true. Only parts that interacts with the GPL code, to ensure that the code is used right (no violations of license, no intended harm, right usage of the intervals, timings, interrupts, resources etc., etc.). It's my point of view.
obs-studio-node is under GPLv2, which requires that if you link to or use code from it your own code also has to be under GPL, which requires them to provide full source code on request. This is different from LGPL, which only requires you to provide a way to build the third-party library and replace it on your device.

You have to completely open source everything that links or uses GPL code, unless it is LGPL. Qt for example is partially LGPL
 

Suslik V

Active Member
harm, profit, evil deed, social danger is what the law was designed for @Xaymar "...you may consider..." (https://www.gnu.org/licenses/old-licenses/gpl-2.0.html#SEC1) is literally possibility. And every one may read same rows differently. It was my point of view.

If there is conflict of interests - a judgment exist for this (court). For example, someone will decide to take ownership of your code and will try to fine third-party manufacturer because it also uses it. And here the code is protected by a freedom of the mentioned license. So, dispute is possible (there is profit etc., etc.). It's quite possible, because owner may distribute the same code under unlimited number of licenses (but this should be only your code from the start!). In other words you cannot fork OBS and say that it is yours now - it is protected by the free license.
 

bcoyle

Member
Ah. But if you use it (obs) as is and any other open source as is, I don't think you have to open source your very private app. You haven't forked anything. If you wish to distribute your exe on github or use as is, you, don't have to expose your your app source if you don't want to. You may not want everybody in the world having your source code and have people produce forked copies that may come to bite you in the butt as the "Creator". Or have to troubleshoot your code variation (bugs). I understand you can use open source as is, but if you fork it, you have to do open source that piece of code. My opinion. Hey if you spent a year developing your super app, you might want to monopolize it or keep control of it. You can release an exe, people benefit, you are still sharing. Anyway, just my opinion.
 
D

Deleted member 121471

For clarification, from GPLv2 faq:

"What is the difference between “mere aggregation” and “combining two modules into one program”?
Mere aggregation of two programs means putting them side by side on the same CD-ROM or hard disk. We use this term in the case where they are separate programs, not parts of a single program. In this case, if one of the programs is covered by the GPL, it has no effect on the other program.
Combining two modules means connecting them together so that they form a single larger program. If either part is covered by the GPL, the whole combination must also be released under the GPL—if you can't, or won't, do that, you may not combine them.

What constitutes combining two parts into one program? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged).

If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.

By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program."

Source: https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.en.html
 

bcoyle

Member
For clarification, from GPLv2 faq:

"What is the difference between “mere aggregation” and “combining two modules into one program”?
Mere aggregation of two programs means putting them side by side on the same CD-ROM or hard disk. We use this term in the case where they are separate programs, not parts of a single program. In this case, if one of the programs is covered by the GPL, it has no effect on the other program.
Combining two modules means connecting them together so that they form a single larger program. If either part is covered by the GPL, the whole combination must also be released under the GPL—if you can't, or won't, do that, you may not combine them.

What constitutes combining two parts into one program? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged).

If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.

By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program."

Source: https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.en.html
So are you saying (last paragraph) that if I talk to obs over a socket and ask it for scene information to use in an app that does scene switching that the "may" be considered 1 program? Does the meaning change if you consider it an enhancement to obs like a plugin or (differently) obs as a slave you use as an fancy encoder?
 
D

Deleted member 121471

For personal use, the license doesn't apply. It only applies if you decide to distribute it.

To answer your question, here's another snippet:

"If the main program and the plugins are a single combined program then this means you must license the plug-in under the GPL or a GPL-compatible free software license and distribute it with source code in a GPL-compliant way. A main program that is separate from its plug-ins makes no requirements for the plug-ins."
 
Last edited by a moderator:

bcoyle

Member
Ok, my situation: I'm writing a standalone program in visual basic (sort of a playlist program). I use OBS as a scene selector and encoder. I in no way fork obs or any other open source software, I use as is (as it's distributed). I do not wish to open source my code. but am willing to share an .exe. Does this apply to me, in your opinion?
 
D

Deleted member 121471

As soon as your standalone software is bundled with OBS in an executable and both are installed automatically, you're infriging on the rights of the end user outlined in the license and are required to make it GPLv2 compliant.

Your safest bet would be to either make it an OBS plugin or distribute your standalone app without bundling OBS alongside it. Even monetization is not discouraged, as the old quote from Stallman goes " Think free as in free speech, not free beer.".

The licensing is very clear but the copyright side of things is where it is very murky, as there aren't enough precedents in the courtrooms to make certain legal scenarios clear as day.
 
Last edited by a moderator:

bcoyle

Member
Interesting. The safest way is to have the user download obs and required plugins themselves. I see a lot of gethub entries with only their app executables in a zip file. Anyway, thanks very much for the comments. If you interested in a 24/7 broadcast public access tv type of app, come over to 24/7 broadcast playlist thread.
 

Freedoom

New Member
Hey, so it seems these guys: https://lowkey.gg/ are including OBS in a commercial product, and not shipping the source?
There's even a blog post by the contractors they hired to integrate it: https://evilmartians.com/chronicles/desktop-frontier-video-app-optimization-for-lowkey
If you install it, there's a copy of OBS in `AppData\Local\Programs\lowkey-electron\resources\app.asar.unpacked\node_modules\osn`

They're not allowed to do this right? Because OBS is distributed under the GPL, they should have to release the source of their whole program under GPL.
Here additional company https://about.grabyo.com/us/ that its using - OBS as LGPL. The company is shared OBS sources only - https://github.com/grabyo/obs-studio and not whole product. The product is OBS server with web interface.
 
Top