Several days ago, before going to bed I was reading a book by Lev
Novozhenov "Anthology of satire and humour in Russia of the XX century"
which I bought in Kharkov before leaving. Found an interesting aphorism
there: "Lavishness is determined not by the amount of money someone
gave, but how much remained after it". Probably that's why I support
only the closest relatives with money. Though, it recently appeared that
there were people who can provide financial support to small free
software projects with open heart (hmm.. sounds quite close to open
source ;), and only because they liked them. Of course, their finanical
situation should be better than mine ;)
As far as you know, besides the satisfaction and some "political"
capital there is nothing a free software developer can gain from his
hobby. Though there are exceptions when you can get something more
material. If I was writing it for the "Rescue 911" TV program, I'd start
this paragraph the following way: "It was a usual day and nothing
presaged.." :) Actually I was sitting in the office quietly, and someone
knocked into my ICQ.. On the remote side there was someone interested in
a rarely requested "random chat" facility of the ICQ network. Using it
with the Windows client you can find random parteners for.. you won't
believe me, just to chat. Never had used it though. So, the person I
talked with was courious whether I was planning to implement it in
centericq. I answered that probably it would appear but it was not on
the high-priority tasks list. Libicq2000 didn't have support for it
then, and I still had some work to do. Along with that I heard a lot of
thanks about the software. It was also mentioned that along with verbal
thanks some material assistance could be provided, since the program was
really appreciated. Well, among my life principles there was the one
"take if given". That's how my computer at home which I mainly use to
develop various projects as well as to write notes and articles, got 20
times bigger HDD. I'd been having 6Gb and now it's 120Gb, thanks to
Norberto Navarro from the Spanish city of Valencia who kindly donated to
the development. Theoretically now I can write more code and text, for
the space permits ;) By the way, Norberto along with the industrial
chemistry which is his main business is also involved into various web
related projects. The recent one can is
intercheat.com, which has a very
nice aim to gather information about dishonorable affiliate programs so
that web site owners don't repeat others' mistakes.
The conclusion is that working for the benefit of community can bring
some material awards. What is more, you work to make something useful
for yourself first of all, implementing what you lack. Good when others
find results of your hobby useful too. So here not a concrete piece of
hardware is important but the precident itself. Last time I had the same
thing happened to me back in school, when I used to write the Tornado
BBS software, which had been distributed freeware for quite a long time.
One guy from Germany then decided to donate to the project too and sent
me 100$ which was quite a sum for me that time.
Obviously, because of all of that a rush of inspiration had come to my
mind. It resulted into a major feature exhancements in libicq2000, a C++
library in development of which I've been participating since the New
Year. Last time an contribution from my side was an SMTP protocol
implementation in order to make it possible to send SMSes through e-mail
gateways that were reported by the ICQ server. This time the library was
improved with the most wanted feature - saving contact lists
server-side. Oh my, how bored I was of the question "When are you going
to implement storing contacts server-side?".. Being asked a hundred
times, by different people and in three languages, it really starts
bugging you. Moreover, I hate the "when" question in this context.
Gentlemen, here we've got open source, free software, and it's just a
hobby. This means it is not the main occupation of its author who also
has a job, rest and stuff. There can be no exact schedules, deadlines.
Anyway, exactly the "when" word I heard in the majority of cases.
Whatever. The feature is already working and after several days of
testing there will be a new release of centericq. Though you can upgrade
your program even now, the recent source as usual resides in CVS. Also,
I couldn't pass over the random chat thing, which other ICQ clients for
Linux usually don't have. So, now centericq has this too.
Despite of its being tricky, the ICQ protocol is a very interesting
thing. It's always nice to look inside it trying to realize what
Mirabilis wrote there, and what logic their server has. It would also be
extremely cool to write an open-source ICQ server for their new
protocol, with an ability to use it on a local network as well as to
connect it to the external world via the main server. It could contain
other interesting features as well. But I don't really feel a need in
such a software, thus I don't think I'll write something like that soon.
Though the task is interesting. But I lost the point. There is a great
resource on
the Net, dedicated to the v8 ICQ protocol. It has descriptions for
almost all the packets and data structures. I'm frequently asked what
SNAP, FLAP and TLV are. For those who's still interested.