hubertf's NetBSD Blog
Send interesting links to hubert at feyrer dot de!
 
[20111226] On the continuing decline of the GPL
Pointed out by Mishka, who found this 451 group's blog posting, I'll let the image speak on itself, even if it does not target NetBSD in particular:



[Tags: , ]



[20080409] Cuneiform opensourced under BSD license
This is not strictly NetBSD-related, but still of interest as I consider licensing an important topic. Mike 'mishka' Volokhov wrote me mail to point out that the Cuneiform OCR program was recently opened under a BSD license. Mike notes that according to the Cuneiform Forum (russian language), the license for the Puma OCR core was chosen for three reasons:
  • the BSD license allows to use the same core in other commercial products of Cognitive Technologies
  • the BSD license matches research and educational purposes so as it gives "more freedom", as it was outspoken by developer company
  • other companies can use the OCR engine in their commercial projects
If you ever need to convince your PHB to use the BSD license, there's one more example for you, now. Thanks Mike!

[Tags: , ]


[20061101] Thoughts on the old GPL vs. BSD license squabbling
This one was pointed out by Olaf Seibert (thanks!): When trying to convince people that the GPL is so much better than the BSD license, one argument that you hear a lot is that GPL forces people (and companies!) to open up their code for the benefit of everyone. Nice idea - but is it true?

Harald Welte, who's done a lot for making people understand what the GPL is and is not (e.g. with his GPL Violations project) has drawn some conclusions on that benefit: ``if somebody asks me, how much the actual Free Software source code benefits from the code that was released by the vendors, my honest reply would be simple and sad: None.''

There are other benefits like public awareness, community building etc. that are also of importance to the whole Open Source community, and that a software license may or may not have an impact on, so this may be up for further discussion.

Making code available at least is not what the GPL helps about, so I guess the BSD license isn't that bad after all. Surprise! :)

[Tags: , ]



[20060117] GNU General Public License (GPL) Version 3 Draft 1
Read it and participate in the discussion of the license in a constructive way. This license WILL affect all of us, whether we like it or not. From a very rough look, it has become even longer, going from 13 to 19 clauses. (Just why do I have to think of the European Constitution right now? ;-)

Please let me add that I do think that the GPL -- while it has a few problematic terms -- is, in general, a very nicely written license, as it's very specific about what to do and what not to do. This can serve as a good introduction to the whole licensing topic to people who don't know about laws (like programmers :). Of course the size of the document rather turns people away, unfortunately.

[Tags: , ]



[20051028] More software license fun (Update #2)
I've received a few answers to my inquiries about yesterday's software license hickup:

  • From ISC (where the license comes originally from), Paul Vixie promptly acknoledged the problem, and apparently an update will be made on their license
  • Groklaw's Pamela Jones mentioned that there is an issue, but of minor importance as the original copyright holder still can point at the disclaimer he included. As Chris Hopps pointed out in private communication, the only party that may probably be hurt is the one removing the license when passing on. A different issue would also be license proliferation, leading to many "weak" licenses instead of one "strong" license - I tend to agree.
  • One reply I got from OpenBSD (which use the ISC license) was sent by Theo deRaadt, which was accusing me of not understanding the issue at hands and that I just want to play a game. And that this is why NetBSD still uses restrictive licenses (hu??) and that I should please never send him mail again. (Funny note aside: I didn't write with my NetBSD mail address, and didn't mention that with a single word in my mail).
  • Todd Miller, also from OpenBSD, wrote a much nicer mail, confirming the issue, and that they also looked at the MIT license.
  • Thorsten Glaser, driving force between MirOS, an OpenBSD-spinoff, let me know that he removed the copyright template completely from their source tree.
In summary, I found it very interesting to discover this nit, and communicate with various parties about the issues involved, even if some of them cannot be dealt with in a civilized manner. Most of them were a joy to work with! Maybe a good preparation for a second career ... :)

Update #1: It seems the MIT/X11 license, which served as an example for the ISC license also has the problem. Whom to contact @ X.org?

Update #2: MirOS has only removed the copyright template, and of course not the copyright on the individual files. Doh!

[Tags: ]



[20051027] Software licenses are fun
In my next life, I'm gonna be a lawyer. The other day, I came across the following license:
  * Copyright (c) CCYY YOUR NAME HERE 
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
  * copyright notice and this permission notice appear in all copies.
  *
  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */ 
Spot the problem?

Read the second paragraph closely: when passing this on, the first ("the above copyright notice") and second ("this permission") paragraph needs to be preserved, BUT WHAT ABOUT THE THIRD ONE? Shall I really be able to pass on the software but leave out passing on the "no warranty"-clause? I don't think so, too.

The mistake was already confirmed by the copyright holder of the original license, and the good deed of the day was to notify another project that chose the same license.

[Tags: ]



[20050629] Buzzword bingo: BSD, TCG, TC, TPM and DRM
After Linux got drivers for the "TPM" digital rights management chip (see tpmdd, trousers, german language report on Heise Newsticker) , the question about interest and support in in BSD was asked on the German-language BSD forum BSDforen.de. A questionnaire was sent to single developers of the various BSD projects (one of them being me, after Christos and Alan said everything there really is to say: nothing at all :-). Here are some answers, all little surprising, by DragonflyBSD's Matt Dillon, FreeBSD's Scott Long as well as myself for NetBSD.

Best entry in the thread is probably Daniel Seuffert's summary, commenting on Linux jumping after every M$ feature: ``You shouldn't complain about fleas tomorrow if you go to sleep with the dogs tonight''. I think he's right, and I don't want any DRM near me. No, thanks. Never.

(Lars, who posted that questionnaire, also sent me a number of interesting links for learning more about the whole issue at hands: The AgainstTCPA website, Ross Anderson's TCPA-FAQ, Bruce Schneier's CryptoGram on TCPA etc. and Chaosradio #78 )

[Tags: , ]



[20050609] More BSD code: IBM's Slimline Open Firmware (Updated)
The software may not be to thrilling: IBM has released a bootloader for PowerPCs based on the IEEE-1275 (Open Firmware) standard. While they've lost their biggest customer, it may help others ;). The more interesting thing here is that the code is released under a "liberal Open Source Software (OSS) license", which looks remarkably like a 3-clause BSD license. This is the 2nd big company who has discovered the BSD license recently, after AOL.

Of course a bootloader is no enduser software, and companies like Brocade may well customize the software without being forced to open up changes, so this is definitely a favour to such companies, and an example how Open Source can be made business-fiendly. But with IBM aiming for Linux and GPL-based software so far, do we see a chance in thinking here?

[Tags: , ]



[20050608] Eric S. Raymond on GPL and the BSD License
Eric S. Raymond, long time advocat of Linux and the GPL, expressed an interesting insight into the future of Open Source, related licenses and the future users of Open Source at an event recently: ``Basically, we don't need GPL. It's based on the belief that open source software is weak and needs to be protected. With it, we continue injuring ourselves, cutting ourselves from the economic benefits of BSD license.''

I wonder what this means for the future - Linux moving to a different license, people favouring BSD systems more, or a Great New License that will make everyone (well, at least current GPL people :) more happy. At least the number of growing number of licenses arising recently seems to hint at the latter approach.

[Tags: ]



[20050603] Flash: Better GPL than proprietary (Updated)
Maybe someone wants to help out at the GPLFlash project, to get us a flash player that's available in source. Sounds like something for Google's SummerOfCode...

Update: Eric Anholt wrote me to have a look at swfdec which is way farther along - they project has taken some major steps towards flash 5/6/7 scripting support. pkgsrc, anyone? :)

[Tags: , ]



[20050529] 21c3 Videos: NetBSD, pkgsrc, GPL (Updated)
Stefan Schumacher has pointed me at the videos from the 21st Chaos Communications Congress some time ago, but I only managed to watch them today, as there's a small tweak to the mplayer codecs.conf needed to watch them (or rather, listen to the audio!). With that tweak, the following gems can be watched now: Have fun with the videos, and if you can't hear any audio, remember to tweak your codecs.conf! (Thanks to Tonnerre on #NetBSD/IRCnet for the hint!)

Update: Thomas Klausner has updated pkgsrc/multimedia/mplayer-share to not require a special codecs.conf file. Make sure you have mplayer-share-1.0rc7nb1 installed to get the updated file!

[Tags: , , , ]



[20050417] T-Shirt with BSD License
Literally! As mentioned in the DragonFly BSD Digest: The BSDnewsletter now offers a t-shirt with the (original Berkeley) BSD license printed on it, which can help as a conversion starter to tell about BSD and open source. 99% geek value! :)

[Tags: , , ]


[20050321] PS2 game "XIII" by Ubisoft supposedly contains NetBSD code
As posted on DaemonNews: ``The PS2 game "XIII" by Ubisoft (game website here) includes NetBSD Foundation license text in its instruction booklet. I suspect they're using the TCP/IP stack for the online multiplayer feature.'' I don't have a flash player to look at the webpage, and a search of both "BSD" and "NetBSD" doesn't bring up any results, but given recent findings it sounds entirely likely that the TCP/IP stack is used for the online playing part of the game.

[Tags: , ]


[20050303] Adobe releases source code under MIT license
While not directly NetBSD related, and not directly thrilling, the long term result of this may be interesting: Adobe has released two GUI libraries under a MIT-style license. While all the world (still?) thinks that the GPL is the best thing since sliced bread, they slowly seem to start realizing that there are alternatives, and that the GPL may not be that good for commercial exploitation as thought first. Last but not least, the MIT-license is about the same as the license from BSD and NetBSD.

[Tags: , ]


[20050209] Corporate reasons for BSD over GPL (Update 1)
I was asked on how to convince some decision makers at a (mostly?) hardware company to 1) use BSD-code instead of GPL-code for the start (i.e. use NetBSD over Linux) and 2) make them release the code to the public after making changes. Here are my thoughts:

  • A general consequence when putting code under the BSD license or releasing new code based on existing BSD-licensed code is that the code can be kept closed. E.g. when shipping hardware, there is no need to add the source.

  • In contrast, when you put new code under the GPL, or write code based on a program released under the GPL, it is mandatory that you release the full source of all your changes. Many big companies have been bitten by this with Linux, see www.gpl-violations.org to find that prominent companies like Siemens, ASUS, Sitecom, Gigabyte and many others are affected and were sued over this (apparently?) difficult to follow requirement of the GPL.

  • When using BSD-licensed code as a base, it's your own choice if you want to keep your changes private, of if you want to contribute them back to the community. Contributing the source has both benefits and drawbacks, which have to be considered.

  • Drawbacks of opening the source are that competitors will have access to your intellectual property. When using BSD-licensed code as a base for your work, you can choose to keep your changes private. With GPL, you have to open them up, if you want to or not.

  • Benefits of releasing source to the bright public may have various benefits usually found when arguing for Open Source: people can use the code and base their works on it, the code can be audited by 3rd parties for e.g. security reasons, etc.

  • A particular benefit of releasing a work based on BSD-licensed code again not (only) to the bright public but especially to the original project is that the contributions can be incorporated into the project, and get maintained by the project people.

  • One of the goals of the NetBSD project is to offer a complete operating system kernel available under the BSD license only. To integrate code into NetBSD, and the kernel in particular, it has to be BSD licensed. Integration into NetBSD (which of course requires releasing the source) will lead to benefits from the efforts of the NetBSD project, its community as well as the vendors supporting it.

If you want to point at various other vendors who have choosen BSD, and NetBSD in particular, to place their products on, see:



[Tags: , , ]


[20050126] Looking at Sun's new "Open Source" license
I was wondering if the much-rumored new Open Source license from Sun -- called CDDL (Common Development and Distribution License) -- was compatible with the BSD license used in NetBSD. After there was some discussion about the start of OpenSolaris.org on slashdot, I had a look. As to my understanding (IANAL!), the CDDL is similar in spirit to the GPL:

  1. All source (changed and unchanged) must remain available under the original license (GPL#2, CDDL#3.1)
  2. Any modification must happen under the original license (GPL#2b, CDDL #3.2).
And as such, the CDDL doesn't seem to be compatible with the BSD license as it enforces releasing of the source code (CDDL#3.1). Presence of a viral component (CDDL#3.2) won't help to this either. See also my posting on Slashdot about this.

Digging deeper in the OpenSolaris.org Licensing FAQ, there's apparently a way to release binaries under a different license, plus the CDDL is file-based, so for mere integration of CDDL-source into Larger Works, the modifications to the CDDL to interface with the other code need to be published. Of course that only helps as long as the CDDL doesn't need to get modified for that. Relevant parts of the CDDL seem to be #1.9A-C for the "licensing on a per-file" base. For the "release binaries under differenc license" statement, #3.5 says that but also states that the new license must not take away any rights that the CDDL grants, so I don't think one can make a binary-only distribution without releasing (modified) sources.

Comments welcome!

[Tags: , , ]



[20050102] pkgsrc trademarked
"pkgsrc" is now an official trademark of The NetBSD Foundation (well, may have been for a bit...).

[Tags: , ]


[20041230] 21c3, final day
First, I managed to put up the material for my two talks, ``GPL für Anfänger'' (slides, paper) and ``Easy Software Installation on Linux, Solaris, NetBSD etc. using pkgsrc'' (slides, paper). The papers are also published in the conference proceedings (25MB PDF). I've also prepared slides for a NetBSD lightning talk which Stefan Schumacher held for me as my throat's still bad. The third day of the congress didn't have many thrills, we closed the booth at like 8pm and after some fine cow meat we went to C-Base for hanging out.

I'd like to thank, in no particular order, the following people for helping out at the booth: Stefan Schumacher, Bernd Sieker, Karl-Uwe Lockhoff, Dennis Wecker, Lubomir Sedlacik, Christoph Badura, DaNiel Ettle and everyone I've forgotten!

[Tags: , , ]



[20041018] Making Linux s/GPL/BSD/ license for $50kUS?
Aparently some company offered to pay $50.000US for a version of the Linux kernel source that's put under the BSD license instead of the GPL (which allows re-licensing GPL'd code).

[Tags: , ]


[20040919] Copyright Infringement, the end(?)
Aparently the g4l author decided he'd rather abandon his project instead of properly adjusting (back) his code after initially removing my name and license. Too sad to see it happen people give such little respect to copyright laws.

[Tags: , ]


[20040917] Copyright Infringement, cont'd
OK, apparently the author who removed my name, license and copyright message from my sources admits his old code was "inspired" by my source, but claims that the new version of his software was written from scratch. Comparing the three versions (mine, his old, his new) shows that this is not true -- please compare yourself and tell me what you think!

And just in case you wonder - the software in question on my side is g4u, the ripoff and copyright violation happened in g4l.

[Tags: , ]



[20040916] Handling Copyright/License Infringement?
OK, this isn't strictly about NetBSD, but about an (open source) product I made, based on NetBSD, and released under a standard BSD license:

Today, I found out that someone took the core parts of said software, adjusted it to run on Linux (not much to do - it was mostly shell scripts), removed all traces of my name and license on the original software, and instead put his own name in and put everything under the GPL.

I asked what's going on, and as a reply I was told that the scripts were not based on mine - something rather easy to prove wrong when looking at them (differences are mostly renamed variables, removal of my name; same code structure, even in help messages, etc.).

Now my question is, how does one handle such infringement of copyright and licensing? I don't have any money to bring this to court, nor would I really want to... It's both open source projects, but is asking for credit where credit is due too much? Can everyone steal intellectual property today in the name of the GPL?

[Tags: , ]



Tags: , 2bsd, 3com, 501c3, 64bit, acl, acls, acm, acorn, acpi, acpitz, adobe, Advocacy, advocacy, advogato, aes, afs, aiglx, aio, airport, alereon, alex, alix, alpha, altq, am64t, amazon, amd64, anatomy, ansible, apache, apm, apple, arkeia, arla, arm, art, Article, Articles, ascii, asiabsdcon, asterisk, asus, atf, ath, atheros, atmel, audio, audiocodes, autoconf, avocent, avr32, aws, axigen, backup, banners, basename, bash, bc, benchmark, bigip, bind, blackmouse, bldgblog, blog, blogs, blosxom, bluetooth, bonjour, books, boot, boot-z, bootprops, bozohttpd, bs2000, bsd, bsdca, bsdcan, bsdcertification, bsdcg, bsdforen, bsdfreak, bsdmac, bsdmagazine, bsdnexus, bsdstats, bsdtalk, bsdtracker, bug, build.sh, busybox, buttons, bzip, c-jump, c99, cafepress, callweaver, camera, candy, capabilities, card, carp, cars, cauldron, ccc, ccd, cd, cddl, cdrom, cdrtools, cebit, centrino, cephes, cert, certification, cfs, cgd, cgf, checkpointing, china, cisco, cloud, clt, cobalt, coccinelle, codian, colossus, common-criteria, community, compat, compiz, compsci, concept04, config, console, contest, copyright, core, cortina, coverity, cpu, cradlepoint, cray, crosscompile, crunchgen, cryptography, csh, cu, cuneiform, curses, curtain, cuwin, cvs, cvs-digest, cvsup, cygwin, daemon, daemonforums, danger, darwin, data, date, dd, debian, debugging, dell, desktop, devd, devfs, devotionalia, df, dfd_keeper, dhcp, dhcpcd, dhcpd, dhs, diezeit, digest, digests, dilbert, dirhash, disklabel, distcc, dmesg, Docs, donations, draco, dracopkg, dragonflybsd, dreamcast, dri, driver, drivers, drm, dsl, dst, dtrace, dvb, ec2, eclipse, eeepc, eeepca, ehci, ehsm, eifel, elf, em64t, Embedded, embedded, emips, emulate, encoding, envsys, eol, espresso, etcupdate, etherip, euca2ools, eucalyptus, eurobsdcon, eurosys, Events, exascale, ext3, f5, facebook, falken, fan, fatbinary, features, fefe, ffs, filesystem, fileysstem, firefox, firewire, fireworks, flag, flash, flashsucks, flickr, flyer, fmslabs, force10, fortunes, fosdem, fpga, freebsd, freedarwin, freescale, freex, freshbsd, friendlyAam, friendlyarm, fritzbox, froscamp, fsck, fss, fstat, ftp, ftpd, fujitsu, fun, fundraising, funds, funny, fuse, fusion, g4u, g5, galaxy, games, gcc, gdb, gentoo, geode, getty, gimstix, git, gnome, google, google-soc, gpio, gpl, gprs, gracetech, gre, groff, groupwise, growfs, grub, gumstix, guug, gzip, hackathon, hackbench, hal, hanoi, happabsd, Hardware, haze, hdaudio, heat, heimdal, hf6to4, hfblog, hfs, history, hosting, hp, hp700, hpcarm, hpcsh, hpux, html, httpd, hubertf, hurd, i18n, i386, i386pkg, ia64, ian, ibm, ids, ieee, ifwatchd, igd, iij, image, images, information, init, initrd, install, intel, interix, internet2, io, ioccc, iostat, ipbt, ipfilter, ipmi, ipsec, ipv6, irbsd, irc, irix, iscsi, isdn, iso, isp, itojun, jail, jails, java, javascript, jibbed, jihbed, jobs, jokes, journaling, kame, kauth, kde, kerberos, kergis, kernel, keyboardcolemak, kitt, kmod, kolab, kylin, l10n, landisk, laptop, laptops, law, ld.so, ldap, lehmanns, lenovo, lfs, libc, license, licensing, links, linksys, linux, linuxtag, live-cd, lkm, localtime, locate.updatedb, logfile, logging, logo, logos, lom, lte, lvm, m68k, macmini, macppc, macromedia, magicmouse, mahesha, mail, makefs, malo, mame, manpages, marvell, matlab, maus, mbr95, mbuf, mca, mdns, mediant, mediapack, meetbsd, mercurial, mesh, meshcube, mfs, mhonarc, microkernel, microsoft, midi, mini2440, miniroot, minix, mips, mirbsd, missile, mit, mobile-ip, modula3, modules, mouse, mp3, mpls, mtftp, mult, multics, multilib, multimedia, music, mysql, named, nas, nat, ncode, ndis, nec, nemo, neo1973, netbook, netboot, netbsd, netbsd.se, nethack, nethence, netksb, netstat, networking, neutrino, nforce, nfs, nis, npf, npwr, nroff, nslu2, nspluginwrapper, ntfs-3f, nullfs, numa, nvi, nvidia, nycbsdcon, office, ofppc, ohloh, olimex, olpc, onetbsd, openat, openbgpd, openblocks, openbsd, opencrypto, opengrok, openmoko, openoffice, openpam, opensolaris, openssl, oracle, oreilly, oscon, osf1, osjb, packages, pad, pae, pam, pan, panasonic, parallels, pascal, patch, patents, pax, paypal, pc532, pc98, pcc, pci, pdf, pegasos, penguin, performance, pexpect, pf, pfsync, pgx32, php, pike, pinderkent, pkg_install, pkg_select, pkgin, pkglint, pkgmanager, pkgsrc, pkgsrc.se, pkgsrcCon, pkgsrccon, plathome, pocketsan, podcast, pofacs, politics, polls, polybsd, portability, posix, postinstall, power3, powernow, powerpc, powerpf, pppoe, precedence, preemption, prep, presentations, prezi, Products, products, proplib, protectdrive, proxy, ps, ps3, psp, pthread, ptp, ptyfs, Publications, puffs, pxe, qemu, qnx, qos, qt, quality-management, quine, quote, quotes, r-project, radio, radiotap, raid, raidframe, rants, raptor, raq, raspberrypi, rc.d, readahead, realtime, record, refuse, reiserfs, Release, releases, releng, reports, resize, restore, ricoh, rijndael, rip, riscos, rng, roadmap, robopkg, robot, robots, roff, rootserver, rotfl, rox, rs6k, rss, ruby, rump, rzip, sa, safenet, san, savin, sbsd, scampi, scheduling, sco, screen, script, sdf, sdtemp, secmodel, Security, security, sed, segvguard, seil, sendmail, sfu, sge, sgi, sgimips, sh, sha2, shark, sharp, shisa, shutdown, sidekick, size, slackware, slashdot, slit, smbus, smp, sockstat, soekris, softdep, software, solaris, sony, source, source-changes, spanish, sparc, sparc64, spider, spreadshirt, squid, ssh, sshfs, ssp, stereostream, stickers, studybsd, subfile, sudbury, sudo, summit, sun, sun2, sun3, sunfire, sunpci, support, sus, suse, sushi, susv3, svn, swcrypto, symlinks, sysbench, sysinst, sysjail, syslog, syspkg, systat, systrace, sysupdate, t-shirt, tabs, tanenbaum, tape, tcp, tcp/ip, tcpdrop, tcpmux, tcsh, teamasa, teredo, termcap, terminfo, testdrive, testing, tetris, tex, TeXlive, thecus, theopengroup, thin-client, thinkgeek, thorpej, threads, time, time_t, timecounters, tip, tme, tmp, tmpfs, tnf, toaster, todo, toolchain, top, torvalds, toshiba, touchpanel, training, tso, ttyrec, tulip, tun, tuning, uboot, udf, ufs, ukfs, ums, unetbootin, unicos, unix, updating, upnp, uptime, usb, usenix, useradd, userconf, userfriendly, usermode, usl, utc, utf8, uucp, uvc, uvm, valgrind, vax, vcfe, vcr, veriexec, vesa, video, videos, virtex, vm, vmware, vnd, vobb, voip, voltalinux, vpn, vpnc, vulab, w-zero3, wallpaper, wapbl, wargames, wasabi, webcam, webfwlog, wedges, wgt624v3, wiki, willcom, wimax, window, windows, winmodem, wireless, wizd, wlan, wordle, wpa, wscons, wstablet, x.org, x11, x2apic, xbox, xcast, xen, xfree, xfs, xgalaxy, xilinx, xkcd, xlockmore, xmms, xmp, xorg, xscale, youos, youtube, zaurus, zdump, zfs, zlib

'nuff. Grab the RSS-feed, index, or go back to my regular NetBSD page

Disclaimer: All opinion expressed here is purely my own. No responsibility is taken for anything.

Access count: 14556791
Copyright (c) Hubert Feyrer