3

TL;DR;

If I wish to stream some coding/programming sessions on Twitch, is it still possible to license the produced code in some open-source flavor, while still being compatible with Twitch terms-of-service ?

My usecase

If I were to stream my computer screen while coding, for instance to show some techniques, tutorials, or simply discovering of programming languages / frameworks, I would want to distribute the produced code available freely, for instance on some public git server.

It seems to me that the terms implicitly prohibit this (unless there is any written arrangement) :

Extracts of Twitch Terms of Service (enphasis mine):

  1. User Content Twitch allows users to distribute streaming live and pre-recorded audio-visual works, to use services, such as chat, bulletin boards, forum postings, wiki contributions, voice interactive services, and to participate in other activities in which you may create, post, transmit, perform, or store content, messages, text, sound, images, applications, code or other data or materials on the Twitch Services (“User Content”).

a. License to Twitch

(i) Unless otherwise agreed to in a written agreement between you and Twitch that was signed by an authorized representative of Twitch, if you submit, transmit, display, perform, post or store User Content using the Twitch Services, you grant Twitch and its sublicensees an unrestricted, worldwide, perpetual, irrevocable, fully sub-licenseable, nonexclusive, and royalty-free right to (a) use, reproduce, modify, adapt, publish, translate, create derivative works from, distribute, perform and display such User Content (including without limitation for promoting and redistributing part or all of the Twitch Services (and derivative works thereof)) in any form, format, media or media channels now known or later developed or discovered; and (b) use the name, identity, likeness and voice (or other biographical information) that you submit in connection with such User Content.

Is there any open-source license that is compatible with that ? Has anyone here some experience about a similar situation who could share some insights ?

4
  • I don't get why you think that streaming the video of your monitor somehow affects the textual representation of the source code you produce. These are completely different things. One thing is the video file that gets uploaded to Twitch, an other is the GitHub repo that you might setup with that code... Section 8 that you quoted defines User Content as the audio/video stream and also the content of the chat (which, as text, could be code), however the code that you display through the video stream is not under User Content, only the video itself is.
    – Bakuriu
    Commented Dec 31, 2017 at 9:30
  • @Bakuriu Because I am quite confused on all this licensing wordings. Since I am "displaying" (word in cited ToS) some "code" (also in ToS), it seemed to me that I'll "grant Twitch... an unrestricted ... right to ..." (do everything they want). If if license my code with some open source license that forbid to do some of the things Twitch want to do, I felt there might be some collision. I just want not to be sued ! Thus, I asked this question to clarify. (
    – Pac0
    Commented Dec 31, 2017 at 18:46
  • also, for instance, I overlooked the "non-exclusive" term , as amon explained in his answer, it means I'm not giving away my rights to do as I want, I was not aware of this. So it is much reassuring.
    – Pac0
    Commented Dec 31, 2017 at 18:46
  • Also, there might not be only code on monitor video, but also in chat for instance.
    – Pac0
    Commented Dec 31, 2017 at 18:50

1 Answer 1

10

You as the copyright holder of the code that you write can issue multiple non-exclusive licenses independently from each other.

There are three different ways to allow someone else to use your copyrighted works:

  • You can transfer your copyright in certain jurisdictions, in which case you have no further rights.
  • You can issue exclusive licenses, in which case you may not exercise the rights you licensed away. So you cannot issue further licenses. However, an exclusive license can be limited in scope or duration.
  • You can issue non-exclusive licenses, in which case you can continue to exercise your rights, including issuing more non-exclusive licenses.

The license from you to Twitch is nonexclusive, so it does not limit you in any way. All open-source licenses are also non-exclusive, so there is no conflict. However, some contributor license agreements require copyright transfers or exclusive licenses. But if you didn't sign any of those, this doesn't apply.

The above applies to works where you hold the copyright, i.e. for code that you wrote. But when dealing with open source code, you might also have included works from other people where you do not hold the copyright but only a (non-exclusive) license. Whether you can display such code depends on the terms of the license you received. Since the license grant to Twitch is very broad, only a few permissive open source licenses would grant you the necessary rights.

But that is a very narrow reading of the situation. In nearly all jurisdictions, copyright laws have exceptions for quoting other works or including small snippets without copyright infringement. In the U.S., this might fall under fair use. In practice, you will not have a problem if you focus your streams on your code and on your commentary, and not on reproducing other people's code.

2
  • Thank you for your answer. If I understand correctly the part about the permissive licenses, a MIT license would be fine, whereas a GPL license would not suit, right ? Could you add some suitable precise possibilities ?
    – Pac0
    Commented Dec 30, 2017 at 18:54
  • @Pac0 In principle, yes. If we look more closely the MIT and other permissive licenses only allow copies as long as the copyright notice + disclaimer is kept intact, whereas the Twitch license allows copies without that restriction. This is again a case of something that's technically not OK, but will be fine in practice, in particular if the purpose of your stream is your own code or your own commentary, and not the distribution of other people's code. Your stream will typically only show small snippets, not the complete work.
    – amon
    Commented Dec 30, 2017 at 19:00

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.