6

I am considering creating a product which has 2 parts:

  1. Client (video screengrabbing) - which makes use of an existing (GPL licenced) screen grabber and uploads video + metadata to …
  2. Server (video post Processing) - … receives video from (1) and does clever things with the video + metadata.

There would be a REST API on the server which the client uploads to. I was considering open sourcing the 1. client part because:

  • The client isn't doing anything particularly novel.
  • Can make use of an existing screencasting tool (released as GPL) to speed up development.

However, the clever stuff is happening in the server which receives the video e.g. slowing / speeding up video, change detection etc.

So my questions are:

  1. Is it OK to have a product of 2 parts where one is open sourced (because it makes use of a existing screen-casting application with a GPL licence) and the other is closed source (where communication between the 2 parts is via a REST API).

  2. If this is OK, I'm assuming the license of the open source client must be GPL also (because it's using an existing GPL program) - mostly likely to be forked on GitHub and modified slightly.

NOTE: The 2 parts can live completely independently of each other e.g. if server REST API isn't available then it could simply save screencast / metadata to local disk.


Update 15 Nov, 2023

If anyone is interested, my product is Video First - see https://www.videofirst.io or sign up at https://app.videofirst.io

3
  • Can you elaborate on how you use the GPL client? modified or not? linked with your code? as-is as a cli utility spawned in a process? Andy link to the screen grabber project? Aug 4, 2017 at 8:29
  • It's to be used as part of a testing framework which will take a video per test (agent) and upload to a server which then creates nicer videos from the raw test video. The GPL client may need modified e.g. if it lacks parameter support. It may not need to be linked with code - i.e. if the param support is OK then it could be called as a CLI.
    – bobmarksie
    Aug 4, 2017 at 13:38
  • If the "upload to server" doesn't depend at all on how the data will be processed later, I see no reason for any restrictions. But keep in mind that I'm not your lawyer, and I haven't looked at your exact problem.
    – vonbrand
    Aug 7, 2019 at 12:42

1 Answer 1

2
  1. Is it OK to have a product of 2 parts where one is open sourced (because it makes use of a existing screen-casting application with a GPL licence) and the other is closed source (where communication between the 2 parts is via a REST API).

It depends, amongst other things, on the nature of that communication. One of the FSF's tests for whether, for copyright purposes, two pieces of code are in fact one piece of code split into two is that if

they establish intimate communication by sharing complex data structures, or shipping complex data structures back and forth, that can make them one single combined program

If your REST API is simply shipping files like mkv (which contain video and metadata in a standardised form), or some other standardised format, then it seems likely to me that the two are separate works. If the API ships complex content in a non-standard format, agreed between the two programs, then it seems much more likely that they are not separate works.

You note that the two parts could function independently of each other. I do not believe that is a good test for their copyright status as independent works.

  1. If this is OK, I'm assuming the license of the open source client must be GPL also (because it's using an existing GPL program)

Yes, I think that is correct.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.