AGPLMail
Free software is a good thing, its empowering, I might even go as far as to say its the way things should be done. One of the biggest threats to free software at the moment is “web services”, or if you’re an airy fairy Web 2.0 person “The Cloud” (airy could, geddit?). The reason its such of a threat is because not only most open source advocates, but also a lot of free software fans are using these propretiary, remotely hosted applications. Including me.
Now, I personally think web services are a useful thing, especially since most people end up using multiple computers. But, the critical requirement for web services that respect the users freedom is that the user can take their data and run the software, in freedom, on their own server. If they can’t do this, they are locked into one vendor who may go bust at any time, this isn’t right. (A great example of doing-it-rightâ„¢ is wordpress, I was able to migrate this blog, onto my own server, using free software, with great ease.)
So, a couple of weeks ago, I had one of my amazing code genius moments, and I decided to write a free software replacement for GMail. I did this because no-one else seems to be addressing this issue (except maybe the Bongo Project, but they’ve decided to rewrite the entire web front-end, so it doesn’t seem very ready at the moment).
Anyway, I know have a working (but rather hackish) email client written in php that supports conversations and archiving, which I have called AGPLMail. The name is due to the the fact its released under the AGPL (bet you’d never have guessed). For those not in the know, this is an FSF license, like GPL, but which extends the provision about users right to source code to include programs accessed over the network. This means someone can’t take my code, change it, offer it as a service, and then not contribute this. My application actually prints its own source code.
Now, the problem with my “code genius” moments, is that over about a week I write several hundred lines of codes, and then get distracted by something else, and leave it half finished. This is the fate that greeted Freedometer, something I don’t think I’ve even blogged about.
And that, is I guess the point of me writing this, I have written this code, which works and is useful, but I don’t want to be the only person involved. So, please tell me, am I doing something valuable? Is my code/overall design good or completely crap? Does anyone else want to use it (this we be a cool honour for me). Most importantly, would anyone be willing to help me develop it.
If anyone is interested, I have created the project a git repo [1], and my own copy can be found here. There is a demo account (username: demo; password: password), if anyone is interested in having a play. Any feedback would be greatly appreciated. Whether anyone else jumps onboard will make a big difference to wether AGPLMail becomes a succesful project, or just another of my abondoned projects.
[1] Noww, time to open a real can of worms. I’m hosting this project on github, which does not provide the source to there interface. However, as a git host, the data is inherentley get-at-able, and more importantly decentralised. The important thing and the reason that I don’t see github as a problem is the escapist principle. I don’t need github, if it were to go down suddenly, I’d still have my own personal repositories (which have exactly cthe same info as the github one) and could point people to them instead.
fophillips:
Looks good so far, I will have a proper look at the code tomorrow.
If you want you could install gitweb on the server. If you run into trouble you should ask Zach as he has also set it up.
1 November 2008, 11:36 pmZach:
Looks good, I will have to give it a try as soon as my internet comes back up at home!
3 November 2008, 3:27 amSam Allen:
This is a great idea. I was considering the same thing, but since you’ve started one already, congratulations!
Integrate XAMPP/Jabber support for instant mail notification with the ability to download the raw mail logs (ftp access is fine) and this could attract more attention.
I’ll play with the source code when spare time allows.
3 November 2008, 5:58 amjhenkins:
Hi,
Looked at the code, had to coax it here and there to run (mainly small problems between the db schema and the PHP code accessing the database), which wasn’t a train smash. Could not get the “Settings” bit to behave, though.
It looks good! I like the simplicity very much. In order to get a community kick-started around this project of yours, have you decided where to host it yet? It’s OK to self-host, if you have the resources. Places like SourceForget and GNU Savannah have resources like CVS/Subversion, bug tracking, mailing lists and forums, which is all something you really need for community building. I see you have a WIKI set up, which is tremendously handy for collaborative documentation. So, all you need then would be a mailing list and/or forums (I say “and/or” because they sort-of overlap each other in terms of functionality). I think the best would be to start off with a mailing list whilst the project community takes shape, and slot in a forum system at a later stage when it becomes necessary, normally by popular demand.
Please shout if you need help with setting up listservs (I have a VPS with Bitfolk that does just about nothing) if you want to self-host.
3 November 2008, 2:13 pmBen Webb:
@Sam XMPP and raw logs are definately features we’ll work on in the future. At the moment, the big problem is the way it slows down when you have about 1000 messages. I’m not sure how I’ll solve this.
@jhenkins I hadn’t updated the db schema in the setup file… whoops. I’d be grateful if you could check that the updated code works better, not sure what’s wrong with settings.
3 November 2008, 6:32 pmI’m thinking of using Savannah for my communitization. It can do git, so should be a better option than the freedom-dubious github. Hopefully I can do mailing list, bugs etc. through Savannah, and I’ve also now craeted #agplmail on irc.freenode.net. It would be great if you could join me there sometime for a chat.
Brad Jensen:
This is a very cool project you have going. So far you have a really nice start.
I agree with jhenkins that XMPP support would be awesome to have added, but that seems a ways down the road from getting the mail part top notch.
One thing that could make this more attractive than Gmail, other than that it’s open source, is to get a web designer to skin it better than Gmail is.
Allow different colored themes that look somewhat the same, like the Gnome-color icons (brave, human, wine, and wise.)
Can you make the inbox’s mail-title-lines clickable to get to an E-mail (rather than having to click on the title link itself), and/or add a hover color to the lines?
Another thing you could add to this mail manager is an option to export/backup all E-mails to a file on the desktop that can later be imported.
3 November 2008, 10:00 pmpfctdayelise:
I’m not much of a coder, but if this was built to a certain level of reliability, then I would use it in a flash.
I love Gmail’s functionality but every few weeks I get an uncomfortable feeling about how much I am trusting (and entrusting to) Google. Bring on the freenetworkservice gmail.
5 November 2008, 3:27 amfallingbullets:
wow, thats ace. it works so well
thanks for sharing this
5 November 2008, 5:03 pm