[Home page](/) [Latest blog](../all.html)
# MJR: Web Applications
![photo](../../mjr2002.jpg) I write web applications. It's sort of what I do
most for [work](http://www.ttllp.co.uk/). Here are some notes on what I find
while writing them, or installing or using other people's apps.
* See also: [Koha](koha)
### Vote Now! (Blog Updates)
##### Posted by mjr 2008-04-10 (permalink)
I'm currently part way through testing Chronicle and I'm probably going to
change the address of my blog (with Redirects) as part of that. I don't much
like having blog in the address and [some research seems to agree with
me.](http://www.grahamjones.co.uk/2008/04/dont-call-your-blog-blog.htm) I've
lived with this mistake for four years now, through various software upgrades,
so I'll take the chance to change.
But what should I change the path to? /writing/reflections/ /news/ /notes/
/articles/ or something else? Vote now by leaving a comment!
Oh and about the debian project leader vote: reluctant candidates are good,
teams are good, people who already have had high office are less good. Go vote
on that too if you can.
[Comment form for non-frame browsers](../../comp/respond.pl).
Comments are moderated (damn spammers) but almost anything sensible gets
approved (albeit eventually). If you give a web address, I'll link it. I won't
publish your email address unless you ask me to, but I'll email you a link
when the comment is posted, or the reason why it's not posted.
### Blog Updates
##### Posted by mjr 2008-04-01 (permalink)
First of all, you can't do All Fool's Day pranks on global web sites because
of time zones: if you do, you'll be pranking either early or late somewhere
and so you're the fool.
Now, I've been a bit quiet recently because I've been moving dozens of
Wordpress blogs over to one [Wordpress MU](http://mu.wordpress.org/) install.
Clearly the right way to do it.
They're all on different domains and we want their names to have www, which
needed the following small change...
--- wpmu-settings.php
+++ wpmu-settings.php
@@ -6,8 +6,8 @@ if( $current_site && $current_blog )
$wpmuBaseTablePrefix = $table_prefix;
$domain = addslashes( $_SERVER['HTTP_HOST'] );
-if( substr( $domain, 0, 4 ) == 'www.' )
- $domain = substr( $domain, 4 );
+if( substr( $domain, 0, 4 ) != 'www.' )
+ $domain = 'www.'.$domain;
if( strpos( $domain, ':' ) ) {
if( substr( $domain, -3 ) == ':80' ) {
$domain = substr( $domain, 0, -3 );
I could have sworn I changed something else in that file, but I don't see
what. Oops. I guess I'll run a check against the release tarball before
merging the next upgrade from upstream.
If anyone wants to hire someone to move blogs to Wordpress MU, you how where
to find me. It's pretty enjoyable once you get into the routine, even if this
project overran.
I'm looking at changing my own blogs too. I'm looking at
[Chronicle](http://www.steve.org.uk/Software/chronicle/) but maybe with more
email-like input files.
* Comment on this
Chronicle maintainer Steve Kemp commented:
> "If there are any changes that I can make it easier for you to switch then
please do let me know.
>
> I guess if you're thinking of email submission it'd be relatively
straightforward to create a procmail file that'd write a mail out into a new
file; then rebuild the blog. Ideally after checking a GPG-signature.
>
> Otherwise I think that things should mostly work - the only obvious thing is
to allow the post titles to come from "SUbjecT: " instead of "Title: "."
Yeah, that was the obvious one. I'll let you know. Thanks!
* Comment on this
### Social Networking
Scribbled notes for a possible future article. [BBC: Children flock to social
networks](http://news.bbc.co.uk/1/hi/technology/7325019.stm) and [Internet
Psychologist: Social networks attract children not
adults](http://www.grahamjones.co.uk/2008/04/social-networks-attract-children-
not.htm)
* Comment on this
### User-Generated Content Rebellion: First, the Librarians and Scientists?
##### Posted by mjr 2008-03-17 (permalink)
I've been critical of the almost abusive terms in the user agreements of most
user-harvesting-based services (sometimes called Web 2.0) for a while now.
There are quite a few services that I simply won't use because their owners
want me, all my web "content" (whether explicitly posted to their site or
not), my first born child, or similar.
There are even more sites where I'm careful not to put much beyond the bare
minimum and try to make sure that I keep backups of nearly all of it. Usually
that means keeping a copy of the input, as getting my data back out of most
sites is a pig.
So far, when [I've criticised aggressive user
agreements,](https://lists.riseup.net/www/arc/open/2008-02/msg00002.html) I've
felt like a lone voice in the wilderness. It's been heartening to spot two
user-harvesting services geting some abuse over the last week or two.
First, the Swift online community platform for conferences has been attacked
by both [David Lee King](http://www.davidleeking.com/2008/03/14/not-using-
swift-for-computers-in-libraries/) and
[librarian.net](http://www.librarian.net/stax/2261/not-so-swift/) for its
over-zealous user agreement demands. Particularly "nice" is the feature where
one rule of Swift club is that you don't talk about Swift club (see last
paragraph of David Lee King's post).
Swift's owners have responded. I'll watch and see whether it improves enough
to get a follow-up post from either blog.
Secondly, [the Phorm advertising system](http://www.badphorm.co.uk/page.php?2)
has faced hard questions from both [Open Rights
Group](http://www.openrightsgroup.org/2008/03/12/the-phorm-storm/) and [Sir
Tim Berners-Lee](http://news.bbc.co.uk/1/hi/technology/7299875.stm) over its
mysterious user tracking.
Phorm hasn't yet replied properly about their potential to harvest user-
generated content (web histories and so on) without consent, as far as I can
see. If you know anyone on Talk Talk, BT or Virgin, tell them to start
planning the exit route. If you'd like to refer them to [our agency for The
Phone Coop](http://www.ttllp.co.uk/phone) that would be great. I suspect the
owners of The Phone Coop would get quite vocal if it ever tried to track users
like this and a comment on the ORG post suggests someone else has asked
**Update:** [BBC BT advert trials were 'illegal'](http://news.bbc.co.uk/1/hi/technology/7325451.stm)
Are we seeing the start of a user-harvesting backlash?
* Comment on this
### No Good FOSS Membership Management Web App?
##### Posted by mjr 2008-02-16 (permalink)
A not-for-profit club has asked me to recommend a web-based membership manager
that can do two main tasks:-
1. email members when their renewal date is approaching;
2. control access to some web pages.
(In addition, they want a web forum, but that doesn't need to be connected and
they're fairly easy to find.)
I'm somewhat surprised to say that I haven't found a good free software one.
There's [CiviCRM,](http://civicrm.org/) but it's under an activated Affero GPL
and I don't see why this non-software club should be a distributor (which is
why I don't see activated-Affero software as free software). There's
[eZpublish](http://ez.no/ezpublish) (as used by FSFE) but it looks like
overkill for this task and will cause more problems than it solves. Other FOSS
organisations seem to be using bespoke apps. [The VCS FOSS ICT wiki
page](http://www.freecharity.org.uk/wiki/index.php/Databases) is pretty bare.
What would you recommend? Where should I be looking? Who to ask?
If I have to write one, I'll try to make it reusable.
* Comment on this
Andrzej Novak commented:
> "I have a couple questions about your comments:
>
> 1\. What do you mean exactly by "activated" Affero GPL? From what I can
gather (by Google-searching for "activated affero gpl" and by looking at
CiviCRM's licensing FAQ), isn't it simply an Affero-GPL-covered work that has
a mechanism for distributing code (something like "view source" within the
software) built in?
>
> 2\. Assuming I didn't miss anything major about "activated Affero GPL", how
does it affect a non-software club in any significant way? Clearly they aren't
going to be modifying and extending the existing program, so the source
distributed by the built-in mechanism is identical to the original. I can see
why you might object to this club's website becoming a de facto mirror for
CiviCRM project, but as long as CiviCRM project does not link to the club's
website as a mirror, how many people will actually come to the club's website
instead of CiviCRM project's to get the program?
>
> I suppose we may be in disagreement here, but I do not see the distribution
requirement in Affero GPL as non-free (at least not any more than copyleft is
non-free). After all, the user still has a choice whether to allow the program
to interact over network or not. In this particular case, the club has the
choice to restrict access to only its members (e.g. by .htaccess-based
password protection), and it is by no means required to distribute the source
code to anyone who does not have access to the web pages themselves.
>
> P.S. On the other hand, I've never gotten a clear answer regarding how these
terms, considering that Affero GPL is a copyright-based license, are
enforceable. I have some ideas (e.g. one might consider the generated content
(in this case, HTML) as derivative work; then a copyright license is needed to
distribute this), but some clarification by someone else better versed in this
would be very welcome."
1\. By "activated Affero" I mean the optional bits of the AfferoGPL (source
publication and so on) have been used and it's not just like "GPL but you can
activate these extra bits if you want". Yes, it's essentially "download
source" badgeware.
2\. Like any publishing, software distribution has various implications, not
least data transfer costs, and I don't think a non-software club should be
required to enter the distribution market, even only to their members. It's
completely a distraction from their mission.
The source probably is going to be modified (to fit their hosting platform
and/or other requirements) but I feel it should be left to me, a free software
web developer, to distribute as appropriate. Anyway, what if the CiviCRM site
did decide to link (some proportion of) its users to the club's site for
downloads? Isn't that one main aim of Affero's extra clauses, to create a
network of obliged distributors? (Another main aim being near-forced upstream
contribution.)
Yes, we disagree: I do see the Affero GPL's restrictions as significantly more
non-free than copyleft and I'm very disappointed that FSF put an Affero
compatibility loophole into GPLv3. I don't know whether it's enforceable. If
it isn't, then someone please publish the legal opinion.
[Dedalus](http://www.alexandrefranke.com/) commented:
> "Maybe you should have a look at
[Galette](http://galette.tuxfamily.org/en/doku.php) "
Will do. PHP/MySQL. Thanks.
James wrote:
> " is used by Linux
Australia."
Petter Reinholdtsen also recommended it in off-list email. I'll look at that
too. It's in Perl/MySQL, so might be a better fit for me.
#### Comments batch 2 - yea I walk into the valley of AfferoGPL
[David Geilhufe](http://www.civicrm.org) wrote:
> "The intention of the Affero licensing of CiviCRM was to prevent a company
from using CiviCRM as a base for a proprietary SAAS company. The GPL
explicitly permits this. [You can read more about CiviCRM's license
here.](http://wiki.civicrm.org/confluence/display/CRMDOC/8.+FAQ#8.FAQ-
license)"
Well, that looks like the usual sort of cheerleading for the AfferoGPL... but
hosted on a non-free-software Software-as-a-Service wiki!
I don't believe it's GPL web apps that are furthering Software-as-a-Service -
it's early adopters like CiviCRM. If CiviCRM developers are at all worried
about the loss of freedom involved in non-free-software SaaS, then they should
**stop using non-free SaaS, instead of burdening users with Affero.**
> "
>
>> "I feel it should be left to me, a free software web developer, to
distribute as appropriate"
>
> Well, as long as you distribute it, no problems, you get to choose the
appropriate method. Some CiviCRM developers do that by making source code
available, some by submitting patches."
Well, that's a bit different to what the AfferoGPL says. Where is the
exception to allow webmasters to be responsible for distribution instead of
the site owners?
> "If it is just a matter of license and you can take the hit on features,
Drupal has a number of membership modules... they can be assembled to do what
you want."
Thanks for the hint. I'll take another look at [Drupal](http://drupal.org/)
and see whether it goes far enough.
[Dave Hall](http://davehall.com.au) writes:
> "The Affero GPL (AGPL) is to web apps what the GPL is to server/desktop
software. If someone gives you a GPLd binary, they are required to provide you
with the source code (or an offer to do so). With the AGPL if you give someone
access to a webapp you have to give them a copy of the source code.
>
> AFAIK if you were to use said webapp internally (such as on an intranet),
you are not required to provide the source code to users, just the same as
using a GPL desktop app."
I disagree with that. Affero GPL is like having to give a copy of the source
code to everyone who merely has access to the **output** of a GNU GPLd binary.
Let them use your browser for a minute? Now let them copy the source. That's
quite a lot wider than the GPL and pretty blatently non-free, IMO.
> "Also if you are using a AGPL webapp you can link to upstream's downloads as
per s6d."
Section 6d says "Regardless of what server hosts the Corresponding Source, you
remain obligated to ensure that it is available for as long as needed to
satisfy these requirements" which doesn't seem to allow linking to upstream if
one does any source changes (to adapt it to the hosting platform
configuration, as usually happens), unless you like breaching licenses if
upstream changes their site at all. Or has CiviCRM made some promise about
hosting user contributions "for as long as needed" that I've not spotted?
> "I think you misunderstand The AGPL, it is simply trying to be the GPL for
the web, something which is really needed given the direction things are
moving these days."
It might be trying to be GNU GPL for the web, but it isn't. It's a pig,
propped up by lots of nonsense about trying to ensure cooperation. You can't
ensure cooperation, because true cooperation has to be voluntary.
* Comment on this
This is copyright 2008 MJ Ray. See fuller notice on [front page](/).