Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
economysizegeek
Level 7

Open Source License Question

The developer agreement - 5-A-iii
Subject to the Grace Period, Your Channel Application must at all times:
i. comply with the Documentation;
ii. comply with all applicable terms and conditions of this Agreement and all of the Program Requirements; and
iii. not contain any open source code or other restricted code that could require Roku to publicly post or display any third party notices or any modifications to such code.



So my question is - if I write a channel -

I assume I can release it under the MIT license http://www.opensource.org/licenses/mit-license.php
What about the old gpl? http://www.opensource.org/licenses/gpl-2.0.php
Or even the LGPL - http://www.opensource.org/licenses/lgpl-2.1.php


I'm not sure I understand enough about how my brightscript is being turned into a channel to understand what implications these licenses would have on the restriction above. Can a Roku Admin shed some light?
0 Kudos
8 Replies
Shlepzig
Level 7

Re: Open Source License Question

The I am not a lawyer conditions apply, but luckily most of the GPL licenses are pretty straightforward. It would be nice for a member of the Roku team to make it crystal clear though.

Roku's terms in III are that they not be required to publicly post anything about the open source code you might use. At this point in the game it seems unlikely, brightscript is a closed system for the Roku DVP, and the availability of Open Source code written in bright-script is pretty much none at the moment.

The GnuGPL states that the source code be remarked to indicate changes to the source code be made, not a public statement.

So if you program a channel in bright script and release the code under GnuGPL then anybody whom modifies that code with the intent to distribute it, must adhere to the GnuGPL terms and remark the code appropriately and adhere to distribution and use terms.

I don't see anywhere in that license that would require Roku to publicly post notice, or take any other action. I think this is typical of the open source licenses

Unless you do something wierd with the license, or append additional conditions you should be in the clear.

-Shlep'
0 Kudos
economysizegeek
Level 7

Open Source

Well my question then is - if you write a channel and GPL it. Then it gets approved by Roku as a public channel. Roku is then distributing the code. Would that mean they would be responsible for distributing the code if someone asks?
0 Kudos
Shlepzig
Level 7

Re: Open Source License Question

I don't think it requires them to distribute or manage the code in any way. As long as Roku does not make any changes to the code when they allow users to install the channel I think they are in the clear. They would be within the scope of the GPL allowing people to implement it free of charge.

Similarly I don't think every site that hosts a download for a GPL product has to also provide the source code on request.

But that's just my opinion.

-Shlep'
0 Kudos
derobert
Level 7

Re: Open Source License Question

"Shlepzig" wrote:
I don't see anywhere in that license that would require Roku to publicly post notice, or take any other action.


Hmm, let's try:

1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

or, for binary versions:

3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
Roku Orig. (20F93E011586) → Onkyo TX-NR636 → Vizio SV470XVT (all HDMI)
Roku 2 XS (13A166000184) ───┘ │
Roku LT (16A18K002429) → HDMI Switch ─┘ (this one uses 802.11g)
FiOS Business ↔ Linux Router ↔ Rokus (wired ethernet)
0 Kudos
Shlepzig
Level 7

I think this is the obligation of the programmer

In my opinion, be it source code or the executable program, the developer would be responsible for any notices required by the Open Source license chosen. I don't think a disinterested distributor is responsible to adhere to these particular terms unless they charge a fee for the transaction, or change the code in some way. In which case they would become an interested party.

I still think Roku is in the clear. Unless they extend some sort of warantee related to the programs available through the channel store.

-Shlep'
0 Kudos
choco
Level 7

Re: Open Source License Question

It seems to me that the question hinges on whether or not Roku is re-distributing the Channel Application under the license terms of the GPL. Companies that use the GPL to allow them to use the (compiled) code in network routers, e.g. "BusyBox", are definitely on the hook for notifying the buyer about the code and making it available on request.

However, given the other parts of the Developer Agreement, I think it's clear that Roku isn't using the GPL to re-distribute the channel. Roku doesn't need to; the agreement specifically assigns re-distribution rights to Roku, regardless of other licenses the code may be under. Code can be distributed under multiple licenses and each code recipient could have a different license. A developer who grabbed the source code, as granted by the GPL, is bound by the GPL terms. Roku, who gets and resends the source code as granted by the Developer Agreement, has no relevance to the GPL.
0 Kudos
choco
Level 7

Re: Open Source License Question

Hmm, another possible problem just occurred to me. If developer 1 publishes channel code under GPL terms, and developer 2 incoporates that published GPL code into their own channel code, then the GPL forces developer 2 to license the code for their channel under the GPL (developer 2's channel is a derivative work so it must be GPL too). BUT, if developer 2 is forced to license the channel code under the GPL, then that would conflict with the Developer Agreement, which grants Roku special rights that are forbidden by the GPL. In short, in order for developer 2 to incorporate GPL code, the channel of developer 2 cannot be submitted to Roku. Roku requires the Developer Agreement, which violates the GPL, which developer 2 is only permitted to use while incorporating GPL code. The GPL is explicitly about "keeping the source code available forever to every user" - refer to the statements on "Tivoization".

Now, if developer 1 published the channel code under a more permissive license than the GPL, THEN developer 2 could use that code in a new Roku-approved channel (derivative work) without violating developer 1's terms.
0 Kudos
choco
Level 7

Re: Open Source License Question

It appears this was already answered and I didn't realize: viewtopic.php?f=34&t=25655 Good to see that I got close to the right answer, though!
0 Kudos