Guess I overestimated a bit the amount of time needed to make the necessary changes to the subscriptions module. A live demonstration is now up and running on my development site. Please create a new account and follow the instructions posted here to see IM notifications in action.
The subscriptions module required only minor changes to get this working. You can download the updated module or just the diff from my mercurial repository. I hope that eventually this makes it into the official release, but for now I'll provide you with a patch that you can apply to the latest stable version.
Today I also posted the first release of the XMPP API module that you'll need to get IM notifications to work. The project page is located here. Because my library is not GPLed, it is not included in Drupal CVS or module releases. You'll need to grab it yourself from http://hg.mxwerx.com/xmpplib/. Current version is 0.1.1. Download and extract the tarball, then copy lib/ directory to Drupal modules/xmpp/lib. Follow the instructions in README.txt to configure the client and the optional built-in server. Have fun!
-Max
Comments
License on the library?
What is the license on the library?
None
Public domain :)
Why not GPL? Now we have to
Why not GPL? Now we have to download this separately, while it should be included in the module, especially if you wrote it for SoC.
Also, why is the subscriptions module integration not included at cvs.d.o? You have it working on your demo site.
I don't like GPL and try not
I don't like GPL and try not to use it for anything I write. Furthermore, I don't like licenses in general, hence the public domain.
The subscriptions thing is in the form of a patch that you can also download from my site. I don't want to branch off the original, so that's why there is nothing usable in the cvs. I contacted the subscriptions maintainer at the start of SoC, but never heard back from him. Ever since the end I've been very busy with my classes at the university, so I haven't had much time to pursue the matter.
would be better though to have it on d.o
it would be a lot better if these things would be at d.o, just one reason: update_status. it is a really interesting project, and it would be a shame to let it get lost. if you dont have time, others could contribute within the usual environment (issue queue etc)...
IMO that's nonsense. Drupal
IMO that's nonsense. Drupal explicitly states that it only accepts GPL code. Even for only the fact that it's not fair that you were being paid to write Drupal (and thus GPL) code, you should license your library under the GPL.
You've contributed a module that's so hard to use, badly maintained (you haven't committed ever since the SoC deadline, nor responded to anything in the issue queue), that it'll probably simply die. I don't mean to sound harsh, but that's the simple truth.
Also, why did you write the XMPP library in plain PHP instead of in Drupal code? Because it was easier? That degrades the chances for survival of this module even further.
Finally, keithsmith in IRC found me this document:
and this one:
Please step up and release the XMPP library under the GPL, commit it along with the rest of the module and get us a release that works out-of-the-box. That at least allows others to step up to release this otherwise awesome module.
I fully agree. IMO the
I fully agree. IMO the second half of the prize money shouldl have been withheld in this case.
Wim, first of all, the
Wim, first of all, the details of my module, including the license under which it was going to be released, how it will integrate with Drupal, and why it was split into a library and Drupal module components, were all outlined in my original SoC proposal. Furthermore, I e-mailed Leslie Hawthorn and confirmed that releasing part of my project into the public domain is perfectly acceptable as long as the other part is GPLed. Drupal approved my proposal, Google approved my proposal, that's as much as I can say about it.
As for your other points, badly maintained - yes, I apologize, but I already explained this. I was counting on continuing the development while at school, my software engineering class ended up taking much more time than expected. I'm sorry that I can't pick Drupal over my school work, but my plan was to resume development during the winter break.
The reason that the code was split between a stand-alone library and a Drupal module is so that others, perhaps those who aren't as fond of GPL as you are (or Drupal for that matter), could take my summer of code work and use it for their own needs. The emphasis was still placed on Drupal and I think I’ve delivered exactly what I promised.
Easier... yes, it was easier to write, and it was easier to test when done separately from Drupal. I was working with two unknown to me, at the time, technologies (XMPP and Drupal) and the project benefited greatly from being developed in stages.
-Max
I am willing to do some work on this
Obviously the work done on this module is desirable for a lot of people due to the feedback. I have done work with a LGPLv2.1 xmpp class from Flyspray (http://flyspray.org/class.jabber2.php) and I am willing to do some work to make this module work with both libraries if necessary. Then we might be able to keep development alive on this project.
@Max: are you willing to let someone do some work to co-maintain this or at least willing to accept some patches to allow this module to continue to grow?
Thank you for your work on this, and let's see if we can let free software continue to be free despite ridiculous licensing issues that are so far from the spirit of free software it's not even funny.
Steve
You are more than welcome to
You are more than welcome to co-maintain this project. I've given you CVS access to the module, so feel free to modify it to work with another library. My xmpplib will likely see some major changes when I finally get around to writing the next version, but until then a different back-end is a good idea.
Dual license?
Would you be open to releasing under a dual license? This way, it could be on d.o, and the code would receive more use, review, and improvement.
Cheers,
Bill
FunnyMonkey
Tools for Teachers
FunnyMonkey
Suggestion
It's not a matter of what's possible and what not. It's a matter of fairness towards the Drupal community who supported you in your - as I said before - excellent work.
Badly maintained because of school: I perfectly understand. I'm in the same boat (second year of university). But if everything were in CVS, then there could be others who could help maintain it...
Thanks for clarifying the code split. What you say, makes perfect sense. But then I simply ask you to release it primarily under the GPL (so it can be in CVS), and then put it on your own website under the Public Domain license. Then at least the vital one will be properly maintained. Problem solved.
Looking forward to your answer.
Is the project now dead?
Since there have been no changes for exactly one year, and xmpplib is no longer available for download, it renders this module useless.
What was the point?
Be aware of the possibilities
Just to state the obvious: public domain means "Anyone can do anything with it, I let go of all my rights to this code." That includes relicensing to the GPL. So, anybody can take the library, relicense it, and put it on drupal.org - the question is only a social one, that is, will VokinLoksar be willing to contribute to the module/library once it is relicensed to GPL.
But it is not necessary to ask for permission to relicense, and for that matter I also disagree that the prize money should have been withheld - you can make it all GPL by (legally) inserting a few lines of license text.
I was aware of that, thanks
I was aware of that, thanks :) (The people in IRC at the time told me about this.) As I said, even if it's technically perfectly possible to release it as GPL code, it's just not a good token of appreciation to not release it under the GPL too (so a dual-license) at the very least.
Basically, all I'm asking is that VokinLoksar licenses the library under the GPL and adds it to cvs.d.o, so that it is a centralized effort.
<undefined-condition> stream error
When I connect to my jabber server I do get undefined-condition error.
How to resolve it?