If it walks like a duck, quacks like a duck,...
On Monday, The Register reported on the story of Jim Giercyk, an amateur radio enthusiast who had his copy of the popular Ham Radio Deluxe (HRD) software revoked after posting a negative review. Since our story was published, a number of Reg readers, including Giercyk himself and HRD's makers, have followed up with us …
Fair enough and in this case it does look like they want to block all criticism. On the other hand you see a lot of on-line review along the lines of "this didn't work the way I thought it should so one star", or "this pencil sharpener won't pump my tyres up". I've seen pissed off individuals flood forums with fake complaints because they weren't happy with one thing or another.
I don't think de-activation is the way to solve this and I've got no way of knowing if the complaints are valid or not but I can understand that people working in support might get sick and tired of some of the crap they have to put up with.
"but I can understand that people working in support might get sick and tired of some of the crap they have to put up with."
Well, ah diddums for them. But revoking their access to things they paid for, and then extorting them afterwards, are crimes.
If I buy a car and post a negative review of it afterwards, and then the company disables it remotely and tells me to go fuck myself, what do you think their chances would be of winning the resulting court case? Software already gets a free ride from the courts, so maybe they'd be OK in this regard: the whole rubbish around mercantability, fitness for purpose, refunds, ownership, etc., needs to be extended to software as soon as possible.
They're not the first, nor will be the last to pull this. I know of a company (redacted industry by me to prevent libel lawsuits) that regularly pulls complaints off their forum and many of those who have complained suddenly find themselves without a warranty or support. Another one (similar products as above) went to forums where there were complaints and problems aired, and both the owner and CEO berated the user who raised issues.
So it's not uncommon. It does seem to be as common as ducks, however.
" I know of a company (redacted industry by me to prevent libel lawsuits) that regularly pulls complaints off their forum and many of those who have complained suddenly find themselves without a warranty or support. "
I'll name one in our own industry: ASUS
They shut down their entire forums section after escalating complaints about the quality of video card firmware, rather than address quite valid customer complaints.
It's one reason I will never buy anything from them again. Nice products, but too bad if anything goes wrong with them.
quoting a post in slashdot:
"From the ticket you can see an employee was answering the ticket at first, but then "Rick" took over, who appears to be "Rick Ruhl", a co-owner of HRD software, and throws gems like this to the stunned customer:
You are not buying software, you are buying your callsign's access to the software. ...
Again refer to section 8 of the TOS, which was written by our Attorney. ...
See you in court.
Where section 8 says:
8. We reserve the right to refuse service and disable a customer’s key at any time for any reason
A few people have stepped in and started analysing the contract. it's internally inconsistent and it's clear that no competent lawyer has been anywhere near it.
just gets on my wick.
Ham radio operators aren't always sat in their sheds you know.
Back in the day, I had a rig in my car.
Now how would I use HRD's software if it can't phone home whenever it is started up?
The software seems to be very average indeed. Go on HRD blacklist me. I dare you.
IMHO, HRD are making the real HRD name look bad. https://en.wikipedia.org/wiki/HRD_Motorcycles
As such, they deserve all they get.
And never had any trouble with the current regime. That's because I use the original, free, version by Simon Brown. He invented it and owned it until he sold the software to this lot that owns it now.
Any hams who are having trouble with the new regime or software can freely download and use the last free version of the program, version 5.24. Just google "ham radio deluxe version 5 download." It may or may not have all the bells and whistles in the newer (paid) version, but it works perfectly for me, controlling my radio, providing a great logbook, a very good digital comms package, fully customizable "favorites" and many other useful features. Unfortunately it requires Windows, but runs very well in VirtualBox with Windows 7.
However Linux Mint will run all the stuff in Shackbox and has likely better support.
Works well with Mate Desktop and Redmond Theme. WINE for some old Ham applications with no Linux equivalents. Also I have XP with no WAN /Internet in a Virtual machine on Linux, which is the recommended method by MS (it's what XP Mode on Win7 / 8 /10 is!).
"the blocking mechanism is sometimes used to disable copies of the software once the buyer has asked for a refund. Thus, we're told, it is difficult for HRD Software to know exactly how many keys have been cancelled for legit reasons or out of retaliation"
They can't match up refunds with keys blocked because of them? Really?
You're right, and I know nothing about radio. It's total bullshit. They must think the amount of people that understand radio is <= to people who understand databases...they're in for a world of hurt.
If it wasn't possible, how do they file taxes? "Uhhh, I think we have 1000 active customers to claim this year...uhhh..." Right, sure, if that's not a flag for an audit, what is? If they take your money, blacklist you over a review, with no refund, then claim the sale on taxes...boy, there's all kinds of fucked in that. Someone needs to seize their DB quick before they have an "accident" and lose all records.
There's always the possibility that HRD don't understand databases, and that their blacklist is literally that, a list of license keys they don't want to allow any more.
Basically what I'm saying it, they might not be being deliberately malicious in this case, they might just be incompetent.
"Carper also rejected the suggestion that HRD is blocking customers based on the individual's callsign, maintaining that blocks are only based on registration keys"
Except they did. Their licensing server literally took input as your callsign and spit back a response of "Valid", "Unknown", or "Blacklisted" as an additional check beyond a license key.
Also, their licence "terms" posted in Giercyk's support chatlog include the pirceless clauses:
We reserve the right to refuse service and disable a customer’s key at any time for any reason
HRD Software, LLC shall not be liable to You or any other party for any amount whatsoever
IANAL, but I'd hoper that fails to meet the minimal criteria of a legal contract: it sounds more like buying a lottery ticket that a commercial transaction.
Bloody naughty to disable active, paid for, deployments in retaliation for open criticism. That crap about it being impossible to say how many were "wrongful" deactivations, as some or many may have been genuine cancellations and refunds. Surely you have records of those cancellations and refunds? Your accountant would insist on that, surely? Then you take the number of cancellations and refunds from the total number of deactivations over the same period and you have your wrongful number of deactivations. Your accountant could probably explain that to you, too.
The company support agents need to actively engage with the customer, and hopefully resolve the problem, logging what they do. If a company is logging things properly, then a quick review of the logs should show if there is a problem with a particular package, and if necessary, the logs can be bought to the attention of the developer. I've had this happen to me. When I logged a problem with Apple Remote Desktop on Apple's support forums, the bot noticed a pattern and notified the development team, who actually got in touch to discuss the problem. Result: One fixed problem and one very happy customer.
A lot of companies don't do this. A lot of companies, at best, fob you off by directing you to a support person reading off a script.
That said, I think some consumers need to do more to help themselves. I've done support for years (not usually phone based, but I do sometimes). Some consumers don't describe the problem beyond saying "it doesn't work", then moaning they just want it fixed when the poor support person actually tries to take them through a diagnostic process. Some consumers don't even get that far. They just download an app, find it doesn't work, then post a review on line saying "it doesn't work. It's shit".
HRD told us some of those users could have written their assessments after requesting a refund and deactivating their software, thus their licenses will appear revoked.
And how would anyone other than the purchaser or HRD know if a licence is revoked?
I'll believe the purchasers as to when the key was revoked.
It's probably about time this got enough publicity to start a total boycott of the company.
Hopefully we can get it to where nobody will buy from HRD and anything else associated with the current owner of the company going forward.
I wonder how many people understood BEFORE they purchased the software that it would require an internet connection and a check back with the company and seeing if you were on their good list before it would run? Seems pretty stupid for radio communication software which at some point you may be using specifically because you don't have internet connectivity.
It would be great if HRD could crash and burn bad enough that investors in other companies put a little note on their flow chart of extracting maximum cash that reads... Upset your customers too much = Bankrupt = no vacation house payments.
One can only hope.
You point about internet connectivity is VERY valid. I am involved in emergency communications (EMCOMMS) and use HRD (version 5) on a laptop in the field to control a radio in a portable station I built and can take anywhere (has it's own power supply, etc). If I had to have Internet connectivity to use the software (which I don't with the older version), it would be totally useless for EMCOMMS because a basic principle of EMCOMMS is you need to be able to work without *ANY* other infrastructure. Software that requires an Internet connection would be a total non-starter for EMCOMMS.
Rig / logging software of ANY kind that requires an internet connection is a failure. Not fit for purpose.
Most of the time Amateur Radio is just a bit of fun. But when there is a major disaster, traditionally it works maybe within hours or minutes, even if Government takes a week (see USA Katrina disaster and consider how much more important it is in less developed world).
The ONLY software I want connecting to the Internet is stuff that actually USES the internet, such as VOIP, IRC, IM, eMail, file transfer, web browsing etc.
Microsoft, Adobe etc are now evil with their so called Cloud Subscriptions for things that ought to work without Internet. It's (a) a rip-off, (b) an extra failure mode.
Internet based licence dongles should be illegal. Supply a USB dongle if you are not content to use normal licence key software, but licence validation via internet is evil.
"Supply a USB dongle if you are not content to use normal licence key software, but licence validation via internet is evil."
Some professional (read: VERY expensive) software used to do that. Every time, someone reverse-engineered the dongles. Anything physical can be hacked and broken, so dongles are not an option, nor is trust when the software is professional-grade and VERY expensive.
If the issue is with second line support as noted, my bet is second line are actually the dev[s].
I'm not a developer, but have worked with and for small and large dev teams/co.s and sorry, but some of them really can't take any criticism of their baby.
Which is a shame, because the rest of us have to suffer. Personally I blame lack of testers.
And the worst culprits for not taking critique of their product are those that think they've "tested" it and therefore it must be OK.
I'm not a developer, but have worked with and for small and large dev teams/co.s and sorry, but some of them really can't take any criticism of their baby.
In which case a small company like theirs should have kept those people off support duties. That said, I have the impression that this sort of blackmail is the company's modus operandi as it emerges to be more than just a one-off event, in which case I would not buy from them.
What's more, an agreement that makes you agree to deactivation without notice or repayment is IMHO insane - if I found that in the terms I would certainly not buy it.
" HRD would not communicate and hurled racial abuse at me. I had to make a complaint to PayPal to get a refund."
Erm, you should notify Paypal (and other payment handlers) about the racial abuse.
Paypal's policies about such things are clear. HRD would find themselves looking for other payment handlers.
If they disable a product you've paid for and then offer to re-enable that once you have retracted your negative review, then that is clearly an extortion attempt, which is punishable by up to 5 years according to German criminal law. I assume it's the same in other countries.
Oh, and that "it was a mistake" excuse plus two quid still won't buy you anything in court. To quote germany law (§253 (3) StGB): "The attempt is punishable."
Finally, that "we may revoke your licence whenever we see fit" clause is simply void in german law. I hop it's the same in the US and UK.
Finally, that "we may revoke your licence whenever we see fit" clause is simply void in german law. I hop it's the same in the US and UK.
If I recall correctly, in the UK there is such a thing as unfair contract terms which renders them invalid. It makes me wonder what your remedy would be if they cut you off regardless, though.
That said, the extortion aspect is a find because the email correspondence makes that actually provable. It could prove quite entertaining to punt that one into law enforcement - as it's criminal law it'll be your tax dollars at work..
"If I recall correctly, in the UK there is such a thing as unfair contract terms which renders them invalid. It makes me wonder what your remedy would be if they cut you off regardless, though."
If the court strikes out part of the contract and they enforce it anyway, then they are either breaking the contract, in which case standard contract law of compensation and restitution applies, or a particularly animated judge might suggest contempt of court as appropriate.
Unless the contract contains severablity clauses then an illegal section renders the ENTIRE contract void.
For egrarious violations the court may strike out the entire contract in any case - and the wild inconsistencies within the contract's sections (in one part saying that changes may only be made with both parties' agreement and another saying HRD may change things unilaterally) means that any competent contract lawyer would fairly easily have the entire thing torn up for ALL customers and dumped on HRD's head.
"For egrarious violations the court may strike out the entire contract in any case - and the wild inconsistencies within the contract's sections (in one part saying that changes may only be made with both parties' agreement and another saying HRD may change things unilaterally) means that any competent contract lawyer would fairly easily have the entire thing torn up for ALL customers and dumped on HRD's head."
But again, the contract IS enforceable on the seller's home soil, on which the seller resides, the seller's country has sovereignty, AND there's no treaty that compels the home country to comply with the complainants' demands. How would they go about forcing the issue when sovereignty is in the way?
"That said, the extortion aspect is a find because the email correspondence makes that actually provable. It could prove quite entertaining to punt that one into law enforcement - as it's criminal law it'll be your tax dollars at work.."
Unless they don't have a German presence, making the law unenforceable because the Germans can't compel someone on their home soil with their own sovereignty and no enforceable treaty to follow their law.
I have no problem (well, yes, I do, quite a big one) with their clause that states they have the option of disabling the software at any time and for any reason, PROVIDED that a full refund is issued when that action is taken.
Otherwise, it's quite a large gamble, isn't it? Why would you pay for something that could stop working at the whim of the (apparently overly sensitive to criticism) provider?
// Trump Software?
Except that is not, in most countries, how contract law works. A contract is established between 2 informed parties and can only be dissolved with the consent of both parties. There are very few exceptions allowable to that requirement of mutual consent.
A company can decide not to sell you their product, but once they have sold you that product they cannot then retract that sale without a very good reason or with your consent.
>A company can decide not to sell you their product, but once they have sold you that product they cannot then retract that sale without a very good reason or with your consent.
Sure, if you *buy* the product. If you *license* the product then the license is generally based on some continuing agreement on both sides. Usually the terms of the agreement are stated upfront... "we can revoke it for any reasons at anytime without reimbursement" sounds like it would probably fail in court. I suspect they are banking on it being a trivial purchase that people will write off.
The root problem is the star-rating system. A few bad reviews even if they explain themselves and are obviously undeserved can ruin your business.
tl;dr: Internet-tethered (and especially mobile) commerce platforms and applications drive and allow anti-social behaviour.
Vaguely relevant but Obligatory xkcds:
Sorry, contract law applies to licences the same as it does to purchases. Once established, the contract cannot be revoked without mutual consent or exceptional circumstances. The contract can spell those exceptional circumstances out, but if the court decides the limitations are unreasonable you're in for a fun ride as they can and will assign fines and damages on top of making you refund the product and pay for the legal costs of the aggrieved party.
"The contract can spell those exceptional circumstances out, but if the court decides the limitations are unreasonable you're in for a fun ride as they can and will assign fines and damages on top of making you refund the product and pay for the legal costs of the aggrieved party."
UNLESS the contract crosses borders, in which case sovereignty gets in the way because the complainant's contract law and the seller's contract law may not match up, and due to sovereignty, barring a treaty, there's no way for one court to force terms on the other.
Or at least, a US based phone number.
Wouldn't the freshly minted anti-retaliation law for online reviews cover this behaviour?
At the very least, it should be able to force Apple and Google from listing it in their app store for US localities.
Wonder how they'd like their app to be "disabled" in an entire country, in retaliation for disabling a customers copy?
a. A lively public rant from Linus?
b. Your kernel disabled without warning?
Seriously, is there no open source equivalent? Not my field, but I understand Hams are not quite the same as CB freaks.
Not all of them are seriously techie, but many are, and I'm sure that if one of their number produced something decent and GPL'd it (other licences available) fellow Hams would soon find issues and work with the developers or get about fixing them if the original author(s) for any reason weren't able to.
Yes there are a few, various operating systems, but generally consist of several separate programs. I used to use HRD when it was free, (v5.4) but then the original writer sold the licence to these guys so he could concentrate on another project.
I then went elsewhere but many paid up as it was what they were used to.
Back before 1973, before CB was so big, hams used handles. It was a quaint piece of hamdom, to say "Handle here is Bob", or whatever it was. (Lots of hams were named Bob. I'm not one.) CBers also had handles, which tended to be anonymous like "dishwasher" or "brownie" or "Texas slim". Hams looked down on CBers, of course... But then the CB boom happened in the mid-1970s, and "handle" entered the public vocabulary. So hams stopped using the term so regularly, and if someone asked that ham his handle, he'd likely reply, "Handle here is broken but the name is Bob." (Hams don't all make the best comedians.)
However, the article didn't even abuse handle that way. They called a call sign a handle. Call signs are what the governments issue, per ITU assignments. So somebody's call sign would be GM4xx (GM is a prefix used for Scotland) and his handle, if that term were still in use, could be Bob, as well as broken.
Call signs are what the governments issue, per ITU assignments.
Yep, well aware of that … many of the British colonies have V prefixes (after Queen Victoria, who was the monarch at the time): VA-VE for Canada, VH-VN for Australia, VU (and others) for India… and the meaning that follows those prefixes differs depending on the country and its licensing policies.
e.g. I've held two callsigns so far: VK4FSJL and VK4MSL; the 4 in both indicates a Queensland station, the former is a "foundation" license, the latter, carries one of the initial suffix letters for a Standard license (indicated by initial suffix letter being one of H, L, M, N, P or V).
I've heard them being shortened to "call"… never heard the term "handle" on air. More likely, it'd be referred to as someone's QRA, as this is shorter to bash out on a Morse key than the word "handle".
Some years ago I had a friend who came to me saying that they'd been locked out of using their accounts database by the developer (of the actual DB). I think the engine was 4D. The reason was because my friend wasn't prepared to pay yet another exorbitant annual fee for a DB that he thought was shit. I found another developer (a proper one) who told me that the company could sue as it's totally illegal to prevent access to accounts. I realise this is a bit different from the HRD case but there's a principal here.
Having used many versions of the software from way back when Simon first wrote it I can say it was great. Typical little bugs that one would expect from a single programmer yet he would respond and help with issues based solely on donations. Since the new guys took over I abandoned HRD in lieu of other options because these new guys suck. Extortion, threats, etc. They got me banned from QRZ and EHam based on bad reviews. Maybe some other party can recompile the code from an older version and remake it. I have 9 different previous versions saved if anyone wants it.
Errm… de-compiling it probably isn't a wise option for legal reasons.
A group collaborating on what specifications are needed to successfully replace HRD in most use cases might enable an exit route for the masses.
That said, it has been noted that managing programmers can be like herding cats. Judging from what I've seen in my 9 years as an operator myself, amateur radio operators can be equally as bad if not worse.
Unfortunately, people pirating software, having registered user names, registration codes and accompanying licence files pushed to what used to be called warez sites was one of the reasons companies started using on-line licence verification so they could revoke licences abused that way.
As is often the case; a small group of people can spoil things for everyone else.
There is light-touch DRM and then there is the kind of heavy handed abuse which HRD appears to engage in. With great power comes great responsibility.
I'm so tired of WHINY cheap bastard hams, screaming to anyone who will listen, when they find out that they are not smart enough to operate, or are too cheap, to pay for a licence for software, that works very well.
they complain about having to renew to get support, they complain because they don"t know enough to build a cable, they complain when they cant get things for free.
They are all free, to design and pay to have products constantly updated, to keep up with Microsoft's operating system.
out of the 700,000 hams in the USA, we have a hand full of cretins, who would complain no matter how good the service or product is.
I say, the hell with them, if you don't like the product, piss off, and create your own.
I like it, if i want continued service, I pay for it, if i don't like it i don't buy it.
GROW UP, AND STOP WHINING.
Feel lucky you don't have your opinion redacted - you are safe here - this is a UK server.
Obviously you have not read the posts here because you have resorted to shouting nonsense
You wont get blacklisted and your mouse won't stop working because you said something somebody didn't like. Interesting choice of language - I have seen that on a post somewhere before....
I am not one of your childish group of whiners.
I have the same right to speak my opinion, as anyone else.
Just because everyone is piling on, does not make you right, it just makes it your opinion.
And we all know what is said about opinions.
Those who can create do, those who can't, whine.
Nothing you've said here using your carefully selected and positive words changes the facts, it's just a rant based on some other frustrations you might have with Ham operators.
The bottom line is that no software company should remotely deactivate a customer's software because of a negative review. With your logic maybe if I leave a negative review on Tripadvisor for a hotel I don't like they could chuck me out in the middle of the night!
I downloaded the latest version of Ham Radio Deluxe just now and installed it.
There is a "Source" folder contained in the subdirectory of HAM RADIO DELUXE, 126.96.36.1993 that contains a file DM780SourceCode.zip
The date on this file is as follows: 25/09/11 09:49
Inside this zip file is a readme file that says:
The main encoder / decoder DLL is HRDMultiMode001, compiled with Visual Studio 6.0 C++.
The Olivia encoder / decoder DLL HRDOlivia001 is compiled with Visual Studio 2008 beta C++,
this code cannot be compiled with Visual Studio 6.0 C++.
The interface to HRD is HRDInterface001, compiled with Visual Studio 6.0 C++.
The interface to HRD's logbook is HRDLog001, compiled with Visual Studio 6.0 C++.
The VideoID code taken from fldigi, compiled with Visual Studio 6.0 C++.
The encoder / decoder source is taken from fldigi written by Dave, W1HKJ. It is not
copyright HB9DRV. The interface code is copyright HB9DRV.
[This is a work in progress]
Any questions - email@example.com
Now surely if the date and readme are to be believed, that would be an unattributed use of GNU Licenced software from the FLDIGI codebase, and it may explain why adding new encoders/decoders seems to be such an issue.
Interestingly, on the old licence agreement (Simon's) when you install it says:
"Other Programs (PSK31 Deluxe, Digital Master 780, Mapper) - You may use this Program at no cost without restriction."
On the latest HAM RADIO DELUXE, 188.8.131.523 it says:
"Other Programs (PSK31 Deluxe, Digital Master 780, Mapper)"
So what's the story?
That depends on who owns the copyright.
http://www.eham.net/articles/36373 States that Dave Freese, W1HKJ, who wrote FLDIGI actually worked on the HRD code. It still doesn't excuse that fact that they have never acknowledged GNU code in their software, or the lack of a licence. If Dave is the copyright holder and he does not want to bring a case, it sort of makes the whole GNU licence worthless in this instance, although the press release clearly states that GPL code is in HRD, and yet no GPL licence is included - clear breach. The only thing commercially is that they are using an unfair advantage, as they use code without attribution yet presumably if anyone else did it, they could be in breach.
HRD also use software by Jake Janovetz (firstname.lastname@example.org).
* Parks-McClellan algorithm for FIR filter design (C version)
* Copyright (c) 1995,1998 Jake Janovetz (email@example.com)
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Just another reason to steer clear of the whole program - multiple GNU Licence violations.
"The GPL source code for the modems in [sic] and always has been included with the HRD program download."
Where is the GNU Licence?
KT1F said: ↑
I think they will have to be a little careful with the parts that are GPL. They're allowed to charge money for those but must release their source code if they make any changes. Simon is doing that now on his web site. I'm no expert but I think if they keep those parts as separate DLLs then they don't need to release the source of the application that uses those DLLs.
When it comes to GPL code, it gets a bit more complicated than that. The stance of the Free Software Foundation (do check with them for certain) is that any code that links to GPL code at run time is considered "derived" code and must also be released under a GPL compatible license. For example, the Linux kernel, although GPL, contains a special exemption to the GPL 2.0 license that allows any software under any license to use the published system APIs the kernel provides. In other words, the Linux kernel does not consider use of the system calls to be "linking" or creating a "derived" work of the kernel. Kernel modules, which use a private API, are a different matter altogether. An example of a GPL library is the GNU Readline library used by various GPL'ed programs.
An alternative does exist, the Lesser GNU Public License, which enforces a GPL like license on the source code licensed under it, but does not enforce derived works using the API. It is commonly used for libraries (DLLs). The Hamlib library is licensed under the LGPL so that authors of non-GPL compatible software may make use of its API. The Glibc library included in every Linux based distribution is also licensed under the LGPL.
Software shims to link a non-GPL program to a GPL library have been around for some time. I am not sure of their legality, however, and one would need to consult other authorities on such a matter. The FSF people would likely say that such a shim violates the GPL. Others may disagree. What matters is how the author(s)/copyright holder(s) of the GPL library in question view the issue as they can bring a suit for a license violation if they believe one exists.
I hope that helps to clear the issue a slight bit.
N0NB, Sep 13, 2011 #29
I didn't even think such overreach was legal for a software company, but I'm obviously wrong. I run an ancient computer in the man cave for C.A.T. on an old Yaesu FT-840, using the old, unregistered version of HRD. I love it! I looked-into buying a key for the radio room, but at $100, not worth it really. After reading how their management reacted towards a critic, I finally made my decision to "pass". All I need in my life is one more Bill Gates - style Big Brother.
Biting the hand that feeds IT © 1998–2019