social-mediagoblin
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Social-mediagoblin] Fwd: Re: Templates, CSS, Images, JS, licensing


From: Christopher Allan Webber
Subject: Re: [Social-mediagoblin] Fwd: Re: Templates, CSS, Images, JS, licensing
Date: Wed, 13 Apr 2011 22:27:18 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Okay, this email is super helpful.  A couple of comments:

Matt Lee <address@hidden> writes:

> Yes.  AGPLing Javascript is fine and generally keeping your licensing
> situation as simple as possible is more important than picking The Most
> Ideal License for every single piece.

You're clearly the expert on this, so AGPL for javascript it is, unless
people have serious objections.

>>  - *Templates:* Maybe a bit trickier, because technically these contain
>>     logic and thus would all under the AGPL.  If we want also people to
>>     be able to configure the templates to be something else, we'd
>>     probably have to do two things:
>> 
>>      - explicitly declare in the codebase that there's an HTML exception
>
> This may or may not be true depending on how the template logic
> interacts with the rest of the code.  Is there simple example template
> source to look at somewhere yet?  That would probably make it pretty
> easy to tell.
>

There's nothing really complex in there yet since I've been working at a
mainly lower layer.

This is the most complex thing we have so far, and it's just a macro for
cleanly rendering forms lazily:

https://gitorious.org/mediagoblin/mediagoblin/blobs/master/mediagoblin/templates/mediagoblin/utils/wtforms.html

... but in the future we'll be calling methods like they're python
objects.  As an example, you'd probably have something like:

  {% for file in media_entry.attachments() %}
    <a href="{{ request.mainstorage.get_url(file.filepath) }}">
      {{file.name }}</a>
  {% endfor %}

This is a pretty simple example but clearly there's a python call going
on with get_url.

>>      - maybe license the templates under something like MIT / Apache?
>
> This is the recommendation in the GPL FAQ, not because it's necessary to
> accomplish the goal (of keeping the licensing of output pages
> hassle-free), but because copylefting templates rarely seems worthwhile.
> If you think your templates are heavyweight enough to be worth
> copylefting, though, it's fair to consider.

Yeah, I really don't think it'll be too worthwhile here.  When weighing
the benefits vs the hassle, I think the hassle might be greater in this
case.  That's speculative of course.

>>     There's this example with javascript, but the directionality here is
>>     you put this in your javascript so as to not necessarily have to
>>     have your HTML be GPL compliant:
>> 
>>     http://www.gnu.org/licenses/gpl-faq.html#WMS
>> 
>>     Our situation is a bit different.  We want our *templates* to be
>>     more liberally licensed, and not be bound to the AGPL of the
>>     backend's python codebase.  In the equivalence of the above
>>     description, our python code is the equivalent of that javascript
>>     code.  Do we need to include in the header of *all* python files
>>     that this is the case?  In the README.txt/COPYING.txt (w/ a separate
>>     AGPLv3.txt or etc)?
>
> For consistency and the avoidance of doubt, it would probably be best to
> have an additional permission cover all of the Python, yes.  Some large
> GNU projects like GCC have had to add substantial additional permissions
> to their terms.  What they've been doing is keeping those permissions in
> a separate file (COPYING.EXCEPTION or something) and then adding a
> sentence to the standard license header pointing people there and saying
> those apply too.  If your additional permission is brief -- three
> sentences or less, I'd reckon -- you might as well just add it to the
> headers, though.

Okay, good to know.

>>     I'm not totally against the templates being under the AGPL, maybe
>>     CSS modifications is just "good enough" for many peoples'
>>     customization needs, but I actually doubt it.  I'm still inclined to
>>     believe we should make an AGPL exception for templates.
>
> I'm inclined to agree.  GCC *could* require people to release their
> software under the GPL, because GCC's output includes little bits of
> GPLed code it puts in there.  But that's not the policy they follow,
> because it would drive a lot of users and potential contributors away
> for some extremely marginal benefit to free software generally.  I think
> this is analogous.

Yes, I think I've definitely come to the conclusion now that the base
templates are best being under something permissive.

Thanks for this *very* useful feedback,
 - Chris

-- 
The bottom line.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]