FSWS, standing for a pretty unimaginative “Flameeyes’s Static Web Site”, is simply a bunch of XSL template files that I have developed for my own website to start with and now serves a couple others of a few friends of mine. It is a close relative to what me and Darren worked on for the xine website but it’s not derived directly; it’s rather that I took decisions based on my experience with that, and with the non-generic templates I used for my website before that.
Now, I have written before of my searching for a license for the framework a few months back, and I’ve not yet found something that works for me. I asked Matija for help but I ended without the time to mail him the details and.. what the heck, why should I mail just him the details of what I’m looking for? Isn’t this what the “social” web is all about?
So again, let’s see the specifics about this: I want FSWS to be Free Software, by any standard, and I want it to be copyleft as well: if you modify it, I’d like to see the improvements, and make use of them, since if I modify it, my changes are available to everybody to begin with. This takes out the options of the simplest licenses, such as CreativeCommons, or MIT. Ideally, GPL should do the trick, but as we all should know, it’s a license that works best with non-Web software; for the “new world” of Web, even FSF created a new license, the AGPL; I’ve used AGPL-3 before, for my rbot plugins (the bugzilla one is used by the willikins bot that is on the #gentoo channels on Freenode).
But is AGPL-3 a good choice as it is? Nope, probably not. As I noted in that previous post, using AGPL-3 would make the generated website licensed under AGPL-3 as well, since it’s template we’re talking about. As you can guess, it’s not going to make it any fun to use a similarly-licensed system. And this is something that FSF knows themselves; the equivalent “old world Unix” situation is
autoconf and its M4 macro files, for which they created a licensing exception that happens to be more or less what I need for my own code.. of course, the exception as it is, is not really general enough to apply to my use case.
In general, there are just a few points I need to make sure are respected:
- the templates themselves are the core of the project; edit them, make them available; for what I’m concerned, I’m not interested in having the link to FSWS visible on the websites using it, just as long as there is a link to a downloadable tarball for them, something like a <link rel=“fsws:sources”> tag;
- the generated website should be able to have any license at all; CC-ND, AGPL, proprietary, nothing should be stopped;
- you can override and extend FSWS with more template elements; I’m actually a bit undecided on how to handle them; for what I’m concerned they should probably be allowed just as the resulting output, but it then get murky when you re-use the code from the original templates…
So now, what should I do for licensing this work, and publishing it? I want to get it right the first time, rather than deal with the fallout of bad decisions later!
Hm, the question is how loosely coupled is the templating engine from the templates?Perhaps you could decouple these two areas enough to allow for a double-license: The code doing the work gets a copyleft license, and the templates you include get a CC-SA license.After all, nobody forces you to use the same license for every single file in your software. ;)The de-coupling of engine vs template would allow to avoid misunderstandings in what is licensed how.
Actually, there is no “engine” in FSWS; the engine is @xsltproc@ from “libxslt”:http://xmlsoft.org/XSLT/ … all the logic is inside the templates.
With the help of Matija, I was able to prepare a possible AGPL-3 exception (under Section 7) that would allow me to release FSWS easily… but I’ll have to wait for FSF because picking up from “the Autoconf exception”:http://www.gnu.org/licenses… would probably make it a violation by itself…
Isn’t this almost the same case as the font exception?→ http://www.gnu.org/software…Besides: I simply use the GPL for my whole site (including all content). I should switch to AGPL at some point, though.