Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Amazon Uses DMCA To Restrict Ebook Purchases

timothy posted more than 5 years ago | from the do-not-read-this-dept-line dept.

Books 409

InlawBiker writes "Today, Amazon invoked the DMCA to force removal of a python script and instructions from the mobileread web site. The script is used to identify the Kindle's internal ID number, which can be used to enable non-Amazon purchased books to work on the Kindle. '...this week we received a DMCA take-down notice from Amazon requesting the removal of the tool kindlepid.py and instructions for it. Although we never hosted this tool (contrary to their claim), nor believe that this tool is used to remove technological measures (contrary to their claim), we decided, due to the vagueness of the DMCA law and our intention to remain in good relation with Amazon, to voluntarily follow their request and remove links and detailed instructions related to it.' Ironically, the purpose of the script is to make the Kindle more useful to its users."

cancel ×

409 comments

Sorry! There are no comments related to the filter you selected.

Kindle is a piece of shit (-1, Troll)

Anonymous Coward | more than 5 years ago | (#27171503)

and so are you slashdot fags!

Re:Kindle is a piece of shit (5, Funny)

Anonymous Coward | more than 5 years ago | (#27171515)

and so are you slashdot fags!

Grow up and quit name calling, we're not in kindlegarten anymore!

Re:Kindle is a piece of shit (2, Funny)

Anonymous Coward | more than 5 years ago | (#27171741)

You must be new here. (etc)

DMCA TAKEDOWN! (5, Informative)

Philip K Dickhead (906971) | more than 5 years ago | (#27171845)

Code is here:
http://skochinsky.googlepages.com/azw-0.1.zip [googlepages.com]

Mirror:
http://rapidshare.com/files/76138900/azw-0.1.zip.html [rapidshare.com]

Add your own!

Re:DMCA TAKEDOWN! (1, Funny)

Anonymous Coward | more than 5 years ago | (#27171899)

Here's another one with the code in question:
http://www.copyright.gov/legislation/dmca.pdf [copyright.gov]

Re:Kindle is a piece of shit (1)

dave562 (969951) | more than 5 years ago | (#27171897)

Is this what I miss when I keep my score threshhold set too high?

Re:Kindle is a piece of shit (0, Redundant)

Vertana (1094987) | more than 5 years ago | (#27172315)

Oh noes! Not the Kindle restricting meh puchases!

Progress (5, Funny)

TTURabble (1164837) | more than 5 years ago | (#27171527)

Re:Progress (-1, Offtopic)

Anonymous Coward | more than 5 years ago | (#27171743)

What rolls down stairs
alone or in pairs,
and over your neighbor's dog?
What's great for a snack,
And fits on your back?
It's log, log, log

It's log, it's log,
It's big, it's heavy, it's wood.
It's log, it's log, it's better than bad, it's good."

Everyone wants a log
You're gonna love it, log
Come on and get your log
Everyone needs a log
log log log

[citation granted [snotr.com] ]

Re:Progress (1)

squidfood (149212) | more than 5 years ago | (#27172129)

But those are not without their Problems [youtube.com] .

Re:Progress (2, Insightful)

HTH NE1 (675604) | more than 5 years ago | (#27172329)

Blank Reg: This is a network linker. It's a bit out of your league, idn'it, Paula?
Paula: So, whatch'll you trade for it? ... What's that?
Blank Reg: It's a book!
Paula: Well, what's that?
Blank Reg: It's a non-volatile storage medium. It's very rare. You should 'ave one.
Paula: Stuff it!

Way to let a company (1, Flamebait)

geekoid (135745) | more than 5 years ago | (#27171545)

trample you.

Stupid sheep.

Re:Way to let a company (4, Insightful)

tritonman (998572) | more than 5 years ago | (#27171645)

Kindle is probably like the playstation, they don't make money on selling the unit, they make money on you buying books for it.

Re:Way to let a company (1)

bluefoxlucid (723572) | more than 5 years ago | (#27171825)

Playstation 1 was probably pre-razor-and-blade game system market.

Re:Way to let a company (3, Insightful)

gnick (1211984) | more than 5 years ago | (#27171939)

Or printers/ink or razors/blades. The big difference with e-books is that you have to create a shortage of product while it's a natural side-effect for ink or razors. You can't just download new razors.

Re:Way to let a company (5, Insightful)

Ibag (101144) | more than 5 years ago | (#27171751)

Just because you run and hide from a pack of wolves doesn't mean you are a sheep. While you might wish them to martyr themselves for your principles, if they don't have the resources to fight, or if a win would not accomplish anything for anybody else, why shouldn't they act in their own best interests?

Exactly (5, Insightful)

Man On Pink Corner (1089867) | more than 5 years ago | (#27171755)

Sony's got to be kicking themselves, wondering where they went wrong. When they released a portable digital Walkman without native support for .MP3s, people just laughed at them.

Yet when Amazon releases a portable reader without native support for .PDFs, people trample their own mothers to get in line to buy one.

Can you imagine the derision people would have for Apple if you had to email your .MP3s to convert@apple.com to put them on your iPod or iPhone?

Re:Exactly (1)

zmollusc (763634) | more than 5 years ago | (#27172131)

I hate pdf. Is there anything that can prise the text out of them yet?

Re:Exactly (2, Informative)

rufus t firefly (35399) | more than 5 years ago | (#27172217)

I hate pdf. Is there anything that can prise the text out of them yet?

Try PDFTOHTML [sourceforge.net] .

Re:Exactly (1)

eleuthero (812560) | more than 5 years ago | (#27172351)

Yes, but you won't like the answer. You can buy Adobe Acrobat Pro... between 100-400 dollars depending on your version type, source, etc. Somewhat cheaper programs can be found that are less robust but do something similar (~40 dollars). There's probably a free pdf creator / modder around, but other than cutepdf (which is just a glorified printer), I don't know of one.

Re:Exactly (5, Informative)

nahdude812 (88157) | more than 5 years ago | (#27172283)

Where did you hear that there is no native support for PDF's?

You can easily load PDF's to the Kindle. Not only can you mount the Kindle as a drive and copy the file that way, but when you buy a kindle, you get a something@kindle.com email address which you can email txt, htm, and pdf files to (as long as it's from a From address which you have whitelisted) - they will load it automatically to your kindle over its built-in 3G connection.

I loaded several Cory Doctorow books to mine this way.

This python script creates a hash to make the Kindle think that .mobi files (Secure Mobipocket books, a competitor of Amazon's for this market) are native Amazon books. After you get a hash from kindlepid.py, you run kindlefix.py on your .mobi file with your hash, and it produces a .azw file which the Kindle then thinks is one of its own book formats.

GP is almost certainly right, I find it unlikely that Amazon makes a profit on the Kindle device itself, they are relying on $10 books to cover the cost of the hardware and the contract with Sprint whereby they give you free 3G access. If you're buying your books elsewhere, Amazon's going to take a loss on the whole shebang, and that's most likely what they're trying to prevent (while counting on the fact that you can't get non-drm'd copies of most books such as in .txt, .pdf, or .htm format).

Re:Way to let a company (1)

Chabo (880571) | more than 5 years ago | (#27172203)

Quick, call Cory Doctorow!

First Sale My Ass (5, Insightful)

ObsessiveMathsFreak (773371) | more than 5 years ago | (#27171553)

How dare anyone attempt to enable users to do as they please with Amazon's personal property! Kindles and all their associated contents are the intellectual property of Amazon in perpetuity and just because you paid money for one and are in personal possession of it, that does not entitle you to do with it as you please.

I mean, where would we be if people could do as they liked with the things they buy?

Re:First Sale My Ass (1, Interesting)

qoncept (599709) | more than 5 years ago | (#27171711)

where would we be

Either paying a whole lot more (than the currently subsized price of the Kindle) or not having the option to buy it at all, since Amazon would have realized up front that developing it wasn't going to be profitable.

A better question would be, "Where would technology be if there were no financial motive for its advancement?"

Re:First Sale My Ass (1)

qoncept (599709) | more than 5 years ago | (#27171795)

I'm missing something. Cell phones are the biggie. People complain about the contracts required and early termination fees with their $20 phone. But they aren't willing to pay the $200 retail price of that phone. I hate cell phone companies at least as much as anyone else, but they aren't going to just give shit away. Business exists to make money, and it just so happens that subsidizing the cost of the hardware to sell content is generally much more popular amongst buyers than charging what a device actually costs to manufacture.

Re:First Sale My Ass (1)

geminidomino (614729) | more than 5 years ago | (#27171913)

The problem I have with that setup is the double-dipping. I understand the contract for subsidizing the phone, but the collusion between the carriers where they all (barring differences like CDMA vs GSM) have the capability to reflash an old phone to their network but refuse to is a little too much.

Re:First Sale My Ass (4, Informative)

Shakrai (717556) | more than 5 years ago | (#27172301)

I'm missing something. Cell phones are the biggie. People complain about the contracts required and early termination fees with their $20 phone. But they aren't willing to pay the $200 retail price of that phone

Speak for yourself. When I was with a GSM carrier I paid full retail price for all my phones so I could get unlocked/unbranded ones directly from Motorola and/or Nokia. Do you think that my carrier gave me a discount or let me sign up without a contract because I did this? Pffft, fat chance. Nowadays I don't bother because I'm stuck in CDMA land (Verizon is the only carrier with decent coverage around these parts) and there's no such thing as an unbranded CDMA phone, so why pay full price for one if I'm gonna be locked into a contract anyway?

The carriers claim that the contracts are all about the subsidy but fail to offer an explanation for why the termination fee is the same regardless of whether they subsidize a cheap candy bar phone or a $600 smart phone. They fail to offer an explanation for why they don't offer you a contract-less way to sign up for postpaid service if you are willing to bring your own phone or pay full retail for one.

Fact it, the contracts are a ploy to lock you into their service. They stopped being about subsidies a long time ago.

Re:First Sale My Ass (1)

Shakrai (717556) | more than 5 years ago | (#27172319)

Fact it, the contracts are a ploy to lock you into their service

Face it! Blah! All my typos I should be a /. editor or something.... ;)

Re:First Sale My Ass (0)

Anonymous Coward | more than 5 years ago | (#27171827)

So you buy a DVD player and the retailer tells you that you can play any dvd you want on it...
well except ones they do not like (ie: ones they do not sell themselves).

That DVD you bought with say your new hunting call chocked full of techniques? Nope..
That free promotion DVD from Company D? Nope...

The product is CAPABLE of reading those dvds, someone just told you no.

M$ tells you that you can't run firefox/operta/etc because they provide you IE on your windows box?

Are you happy with that?

Amazon for the most part has the upper hand on this market right now. If they keep tight hold on the restrictions then they will eventually lose sales to a more open medium when the others catch up.

Re:First Sale My Ass (2, Insightful)

qoncept (599709) | more than 5 years ago | (#27171903)

This comparison doesn't work because 1) everyone in the world makes DVD players (so you could just buy someone else's) and 2) their cost isn't subsidized.

Re:First Sale My Ass (1)

Sabathius (566108) | more than 5 years ago | (#27171883)

Well...without the monetary system we currently enjoy (*cough*), I guess we would create technology that was for the betterment of us all.

Re:First Sale My Ass (1)

qoncept (599709) | more than 5 years ago | (#27171963)

Right. Just look at what communist Russia gave us.
- Nukes
- Tetris
- ?

Re:First Sale My Ass (0)

Anonymous Coward | more than 5 years ago | (#27172039)

AK47s.

Re:First Sale My Ass (2, Insightful)

Anonymous Coward | more than 5 years ago | (#27171949)

The Kindle 2 is $360. Is that really a subsidized price?

Re:First Sale My Ass (0)

Anonymous Coward | more than 5 years ago | (#27172369)

It probably is. The "equivalent" Sony is $400. The Kindle 2 is $30 cheaper and includes limitless wireless. Somebody has to be paying Nextel for that.

Re:First Sale My Ass (1, Insightful)

Anonymous Coward | more than 5 years ago | (#27172015)

Surely you mean "Where would technology be if there were a financial motive to make it widely available and useful for the masses?"

You've got the cart leading the horse. Their lock-in marketing artificially shrinks the market for the device which makes mass manufacture and sale less profitable and more expensive because they can't take advantage of any larger scale production.

The Kindle, in principle, is a pretty simple device from a modern perspective; a cell phone with a very large screen and a very restricted calling plan. Amazon is coming at this from the perspective that they don't want to be the T-Mobile (one among many content/functionality providers with subsidized and unsubsidized hardware provided by various entities) of the e-book market, they want to be the XM Sirius of the e-books.

Sirius isn't doing so well, emulating them can't be a good plan.

Re:First Sale My Ass (0)

Anonymous Coward | more than 5 years ago | (#27171725)

Actually, I am more angry about Amazon's blatant discrimination against disabled users by this.

If only I had the resources and connections to get a lawyer.. sigh.

- Legally Blind Slashdot User

Re:First Sale My Ass (3, Interesting)

snowraver1 (1052510) | more than 5 years ago | (#27172019)

Remember the XBOX? It was hacked wide open and no longer was profitable (Technically it was never profitable) so they abandoned it and went with the xbox360, which has been much more resistant to hacking.

Just like you feel you have the right to do whatever you want to stuff you buy, businesses feel that they have the right to protect their business model. They expect to make money not just on the initial sale of the item, but on the ongoing support of the item (through games or ebook sales).

I understand both sides of the argument. It's a tough call.

This wouldn't be /. without a poor analagy so here we go: When you go to a flea market and buy fireworks, they are restricted. To (responsibly) use them, they can only be used when the forest fire risk is low enough. You must launch them were there are no flammable materials nearby. You must Never launch at animals or people, etc. These rules are in place to protect people and the ecosystem. With consoles it protects people (from hackers ruining multi games) and the environment (as it helps MS/Nintendo/Sony prevent pirated games thus extending the consoles life).

Re:First Sale My Ass (4, Insightful)

porcupine8 (816071) | more than 5 years ago | (#27172135)

There's a big difference between a company fighting back by making the hacked item obsolete, and the company claiming that what you did is illegal and going after you in court. Companies are welcome to do whatever they want to try and design and market their products in such a way that they can only be used in the way the company wishes - the government doing it for them is not cool.

Re:First Sale My Ass (1)

Eil (82413) | more than 5 years ago | (#27172355)

Just like you feel you have the right to do whatever you want to stuff you buy, businesses feel that they have the right to protect their business model. They expect to make money not just on the initial sale of the item, but on the ongoing support of the item (through games or ebook sales).

I understand both sides of the argument. It's a tough call.

Not really. It is (or should be) up to businesses to figure out a business model that is profitable without that model relying on laws that artificially force people to behave in a certain way.

Also, I infringed on your copyright.

Re:First Sale My Ass (1)

fulldecent (598482) | more than 5 years ago | (#27172219)

Possession is zero tenths of the law

Link (2, Funny)

sakdoctor (1087155) | more than 5 years ago | (#27171559)

Post the link here otherwise I can't make an informed opinion.

Re:Link (1)

Crazy Man on Fire (153457) | more than 5 years ago | (#27171785)

You must be new here...

Lets boycott the thing I was never gona buy! (4, Insightful)

Kenja (541830) | more than 5 years ago | (#27171563)

The number of books I would have to buy to make the Kindle worth buying makes me sad. Its a nifty device, but there's no way I'd ever get one.

Re:Lets boycott the thing I was never gona buy! (3, Insightful)

geminidomino (614729) | more than 5 years ago | (#27171599)

I thought the same thing about ebook readers, but then I enrolled in an online degree program (from a real school). Since it's CS, most of the professors are rather clueful and the lecture notes (which tend to be even more complete than the textbooks) are all in PDFs.

Not having to have my laptop with me at all times to study made it worth it to get a PRS-505 (and it's a tax deduction since there's nothing else on it!)

Fuck the Kindle though.

Re:Lets boycott the thing I was never gona buy! (1)

Kenja (541830) | more than 5 years ago | (#27171643)

Difference is that eBook readers are free if you have a cell phone, pda, computer, etc.

Re:Lets boycott the thing I was never gona buy! (1)

geminidomino (614729) | more than 5 years ago | (#27171733)

Tried that, on an old clie, my moto phone, etc... They couldn't handle the diagrams, and I was trying to actively REMOVE the computer from the equation.

Not saying it's right for everybody. Just saying it paid for itself when I got to skip the textbooks for 2 classes.

Re:Lets boycott the thing I was never gona buy! (4, Funny)

Locke2005 (849178) | more than 5 years ago | (#27172149)

Fuck the Kindle though. Umm... it is pretty much the wrong shape to make that use of it even remotely possible. Trust me, I've tried! And besides which, if I actually did find a way to follow your suggestion, Amazon would quickly issue a take down notice prohibiting me from making such creative use of the Kindle.

Re:Lets boycott the thing I was never gona buy! (1)

jgtg32a (1173373) | more than 5 years ago | (#27171603)

That's why I get my books from TPB, it allows me to get to that point much quicker, after 3 months I'm 2/3 of the way there.

I also read nearly nonstop after I got my reader.

Huh? (1)

nurb432 (527695) | more than 5 years ago | (#27171567)

I have been converting PDF's since i got my kindle I.

Re:Huh? (4, Informative)

canajin56 (660655) | more than 5 years ago | (#27172113)

This has nothing to do with loading unprotected DRM-free content onto your Kindle. Kindle can load Amazons proprietary DRM'd format, MOBI format, and .txt. Anything else you have to ask Amazon to please convert it to their secret format. However, MOBI files can be DRM'd. The Kindle can read DRM'd MOBI files. However, only if they were encrypted with its public key! This script allows you to view your Kindle's MOBI ID, so you can give it to an eBook service and buy a DRM'd eBook from them that will work on your Kindle. This is very bad for Amazon, as it means you can buy eBook from somebody who isn't Amazon!

Re:Huh? (3, Informative)

QuoteMstr (55051) | more than 5 years ago | (#27172243)

IANAcryptographer, but public key cryptography is a no-brainer for this scenario. Amazon should have created an RSA keypair for each kindle sold. Amazon would keep the private key and put the public key on the Kindle. When selling an E-Book, Amazon would just encrypt the Mobi file with its private key. That way, it wouldn't matter if some third party obtained the RSA public key for a specific kindle --- all he could do with it pound sand, since Amazon would keep the private keys secure and internal.

Granted, I think the DRM is vile. But I can't understand why Amazon also implemented DRM so poorly.

(If you want to be able to let multiple people read the same Mobi file, do this: generate a random symmetric cypher key (K) and encrypt the E-Book with it, resulting in ciphertext B. For each Kindle you'd like to be able to read the E-Book, let its key be M1, M2, and so on. The file you send out contains K itself encrypted with M1, then K encrypted with M2, K encrypted with M3, etc., and then finally B. A kindle would try all the keys in the E-Book file and just use the first one that successfully decrypted B.)

More useful? To whom? (5, Insightful)

Kazoo the Clown (644526) | more than 5 years ago | (#27171573)

It's not about the Kindle's usefullness to the user, it's about the Kindle's usefullnes to amazon. The Kindle is not where Amazon makes their money, it's on the sale of the ebooks-- if people are buying them from elsewhere, Amazon is not getting their profit, and in fact it may be costing them money-- the Kindle is essentially subsidised by their ebooks.

Have to hand it to Amazon (4, Insightful)

elrous0 (869638) | more than 5 years ago | (#27171577)

It takes a lot of balls to ask someone to pay almost $400 for the privilege of buying stuff exclusively from you, and then tell them that modifying the software to do anything BUT buy stuff from you is illegal.

Consoles (4, Insightful)

jgtg32a (1173373) | more than 5 years ago | (#27171641)

Isn't this the business model of the Console?

Re:Consoles (0)

Anonymous Coward | more than 5 years ago | (#27172011)

the diference is that a PS3 doesn't have to be used exclusively with sony content.

you can use it as a media player to play downloaded movies on your TV, sony won't say a thing.

Re:Consoles (1)

mcgrew (92797) | more than 5 years ago | (#27172213)

It's the business model of every rat bastard corporation in earth these days. Corporate mottos: "Fuck the end user, he doesn't matter." And they wonder why the world's economy is in shambles!

Want some peanut butter on crackers?

BTW and OT but your sig is now out of date, since your comment is 2, insightful. Maybe you should quote Clint Eastwood?

Re:Have to hand it to Amazon (4, Funny)

fuzzyfuzzyfungus (1223518) | more than 5 years ago | (#27171685)

In Amazon's case, they don't actually have a lot of balls, because inventory is costly; but their highly optimized JIT supply chain management practices apparently allow them to order the balls they need, when they need them, on very short notice.

Re:Have to hand it to Amazon (1)

Culture20 (968837) | more than 5 years ago | (#27172269)

Kind of like the male version of the gray witches from the tale of Perseus.

Kindle for iPod (1)

dazedNconfuzed (154242) | more than 5 years ago | (#27171887)

I find this amusing for some reason, considering I just got Amazon's Kindle for iPod Touch reader for free - and the iPod cost a whole lot less than a Kindle (in my case, free with MacBook purchase). Amazon can't say squat about the other e-book readers I also have for the iPod. Come the 10" iPod Touch, Kindle won't have much to offer in competition - especially if Amazon successfully drives away all 3rd-party sources.

Re:Kindle for iPod (1)

AK Marc (707885) | more than 5 years ago | (#27171965)

They make their money from the books, not the reader. The reader exists to sell the books. If someone gets books to work with the reader that weren't purchased through Amazon, then they lose money. If you read the books on your iPod/iPhone, then Amazon is making money on the book plus saving by not having to sell you the Kindle at a loss. So they love that. They want everyone to read their Kindle books, and nothing to work on the Kindle unless you paid them first.

Ironically? (1)

seanadams.com (463190) | more than 5 years ago | (#27171579)

Ironically, the purpose of the script is to make the Kindle more useful to its users."

I'm sure that their motive has nothing to do with whether it makes the kindle "more useful". This threatens their market for the books.

I must say I had been quite pleased with my Kindle and generally impressed with Amazon... until just now. Perhaps I'll return it.

What a relief... (1)

djupedal (584558) | more than 5 years ago | (#27171587)

Good thing this one didn't involve any numbers - saved T [monkey.org] from another embarrassing user-prodded edit.

Re:What a relief... (1)

Binestar (28861) | more than 5 years ago | (#27172361)

If you read the CNN article you would have seen that the 18 people error was there.

Irony? (4, Insightful)

fastest fascist (1086001) | more than 5 years ago | (#27171597)

Ironically, the purpose of the script is to make the Kindle more useful to its users.

Nothing ironic about it. Amazon doesn't want the Kindle to be more useful than they've designed it to be. They've spent a great deal of money and effort making this platform, they don't want to have to compete with other people selling books for the thing.

Re:Irony? (0)

Anonymous Coward | more than 5 years ago | (#27171639)

The real irony of the irony is that the disallowed format - Mobipocket - is owned by Amazon.

Isn't Kindle a Loss-Leader? (4, Insightful)

sweatyboatman (457800) | more than 5 years ago | (#27171601)

Ironically, the purpose of the script is to make the Kindle more useful to its users

From the relatively low cost of the device and the fact that access to Sprint's EV-DO network is free, I would assume that the kindle is a loss-leader for Amazon.

They're counting on making their money back and more selling the e-books over that network. And that only works if Kindle users get their books exclusively from Amazon. So clearly it's in their interest to limit the Kindle's capabilities in this way.

Having said that, it's not clear that the DMCA actually applies in this case. Though since the law is written so that large IP holders can bludgeon smaller entities, I'd say it seems to be working perfectly.

Re:Isn't Kindle a Loss-Leader? (3, Insightful)

QuoteMstr (55051) | more than 5 years ago | (#27171761)

They're counting on making their money back and more selling the e-books over that network

If Amazon would like to try this approach, that's fine. But our personal right to do what we will with our property trumps Amazon's business model. If Amazon's business model won't work in a free society, it has no business working at all.

Re:Isn't Kindle a Loss-Leader? (0)

Anonymous Coward | more than 5 years ago | (#27171829)

Bullshit. Kindle is being sold at a loss.

Re:Isn't Kindle a Loss-Leader? (1)

nurb432 (527695) | more than 5 years ago | (#27171911)

Even if it is a loss leader and sold below cost, its still my device to do as i please with it. If they don't like that idea, they should have leased the device, then its not really mine.

As far as the free network, they could restrict that to allow you to only access amazon ( or anything else they approve of ). It is "their" network after all. ( too bad i cant hack that into my laptop for free access :)

Re:Isn't Kindle a Loss-Leader? (1)

adsl (595429) | more than 5 years ago | (#27171941)

I doubt that Sprint charges Amazon more than a very small amount of money per Kindle activated. After all the minor usage of Sprint's data network, to downloan a book, hardly uses any capacity on the network. When the individual fee is multiplied by the numbers of Kindle it's a nice bonus payment for Sprint to receive. Overall it would not surprise me if Amaon breaks even on the Kindle hardware. That makes it a terrifice deal as a driver of ebook sales for them.

Link to Script in Question (5, Informative)

Anonymous Coward | more than 5 years ago | (#27171613)

Link to the author's reverse engineering blog and script description:

Here [blogspot.com] .

Link to just the scripts Here [googlepages.com] .

Anonymous to avoid KarmaWhoring(TM)

Re:Link to Script in Question (1, Informative)

Anonymous Coward | more than 5 years ago | (#27171889)

Mirror of:

I was considering a Kindle (1, Informative)

Anonymous Coward | more than 5 years ago | (#27171629)

I was considering buying a Kindle, but I didn't realize it could only read Amazon e-books. With such a restriction and Amazon taking legal steps to enforce it, I see no reason to buy the device.

I'm kinda glad they did this. It saved me from making a bad purchase.

here it is (0)

d-r0ck (1365765) | more than 5 years ago | (#27171649)

Re:here it is (1)

d-r0ck (1365765) | more than 5 years ago | (#27171671)

no thats not it thats something else - ignore that post mod it down or wev

Re:here it is (1)

TrentTheThief (118302) | more than 5 years ago | (#27171681)

Thank you.

Worldwide distribution is now underway.

Only affects DRM crippled ebooks (4, Interesting)

vanyel (28049) | more than 5 years ago | (#27171673)

I have no problem putting books I buy elsewhere on my kindle, because none of the 200+ ebooks I have are DRM'd. If Amazon wants me to buy books from them, they'll drop DRM too.

Whoops (4, Insightful)

Hordeking (1237940) | more than 5 years ago | (#27171683)

From the article:

The funny part is that many people like me will never have even heard of the script until Amazon made a fuss about it. I found it with a simple google search. Same with how-to instructions.

Hi, Amazon. I'd like for you to meet a very dear friend of mine, the Streisand Effect. You two are going to really get familiar with each other.

Re:Whoops (0)

Anonymous Coward | more than 5 years ago | (#27171879)

Yep. I'd never heard of it either. Now I've got a copy, in case anyone I know ever wants it. Thanks, Amazon.

Re:Whoops (3, Insightful)

Hordeking (1237940) | more than 5 years ago | (#27172075)

Yep. I'd never heard of it either. Now I've got a copy, in case anyone I know ever wants it. Thanks, Amazon.

It's a good thing DMCA takedown notices aren't applied with gag orders like "National Security" Letters.

I got the distinct impression these guys wanted exactly what happened to happen, and wanted to disavow responsibility for legal reasons. "It's not here, so don't ask". Nothing about "don't look elsewhere for it, or ask elsewhere."

Re:Whoops (0, Redundant)

bluefoxlucid (723572) | more than 5 years ago | (#27171951)

Hahahahaha

Screw that (3, Insightful)

Murpster (1274988) | more than 5 years ago | (#27171705)

I've only gotten one DMCA take down request, I wrote back and told the copyright owner which of my body parts he could orally copulate with and never heard back. If this web site thought the law was vague and that they were in the right, they should've told Amazon something similar and left the script up. Stupid laws like this only survive because people crumble in the face of silly threats.

Re:Screw that (1)

blueforce (192332) | more than 5 years ago | (#27172055)

Stupid laws like this only survive because people crumble in the face of silly threats.

Not necessarily, the problem is that Amazon has more money.

Whether the submitter is in the right or not, Amazon has the resources to bankrupt him while he's trying to prove it. That's the American Way(TM), didn't you know?

Torrent? (1)

nurb432 (527695) | more than 5 years ago | (#27171765)

So where is the torrent? Or who will be man enough to post the code here ? :)

Re:Torrent? (5, Informative)

QuoteMstr (55051) | more than 5 years ago | (#27172053)

kindlefix.py


import prc, sys, struct
from binascii import hexlify

def strByte(s,off=0):
        return struct.unpack(">B",s[off])[0];

def strSWord(s,off=0):
        return struct.unpack(">h",s[off:off+2])[0];

def strWord(s,off=0):
        return struct.unpack(">H",s[off:off+2])[0];

def strDWord(s,off=0):
        return struct.unpack(">L",s[off:off+4])[0];

def strPutDWord(s,off,i):
        return s[:off]+struct.pack(">L",i)+s[off+4:];

keyvec1 = "\x72\x38\x33\xB0\xB4\xF2\xE3\xCA\xDF\x09\x01\xD6\xE2\xE0\x3F\x96"

#implementation of Pukall Cipher 1
def PC1(key, src, decryption=True):
        sum1 = 0;
        sum2 = 0;
        keyXorVal = 0;
        if len(key)!=16:
                print "Bad key length!"
                return None
        wkey = []
        for i in xrange(8):
                wkey.append(ord(key[i*2])> 8)) ^ byteXorVal) & 0xFF
                if decryption:
                        keyXorVal = curByte * 257;
                for j in xrange(8):
                        wkey[j] ^= keyXorVal;

                dst+=chr(curByte)

        return dst

def find_key(rec0, pid):
        off1 = strDWord(rec0, 0xA8)
        if off1==0xFFFFFFFF or off1==0:
            print "No DRM"
            return None
        size1 = strDWord(rec0, 0xB0)
        cnt = strDWord(rec0, 0xAC)
        flag = strDWord(rec0, 0xB4)

        temp_key = PC1(keyvec1, pid.ljust(16,'\0'), False)
        cksum = 0
        #print pid, "->", hexlify(temp_key)
        for i in xrange(len(temp_key)):
            cksum += ord(temp_key[i])
        cksum &= 0xFF
        temp_key = temp_key.ljust(16,'\0')
        #print "pid cksum: %02X"%cksum

        #print "Key records: %02X-%02X, count: %d, flag: %02X"%(off1, off1+size1, cnt, flag)
        iOff = off1
        drm_key = None
        for i in xrange(cnt):
            dwCheck = strDWord(rec0, iOff)
            dwSize = strDWord(rec0, iOff+4)
            dwType = strDWord(rec0, iOff+8)
            nCksum = strByte(rec0, iOff+0xC)
            #print "Key record %d: check=%08X, size=%d, type=%d, cksum=%02X"%(i, dwCheck, dwSize, dwType, nCksum)
            if nCksum==cksum:
                drmInfo = PC1(temp_key, rec0[iOff+0x10:iOff+0x30])
                dw0, dw4, dw18, dw1c = struct.unpack(">II16xII", drmInfo)
                #print "Decrypted drmInfo:", "%08X, %08X, %s, %08X, %08X"%(dw0, dw4, hexlify(drmInfo[0x8:0x18]), dw18, dw1c)
                #print "Decrypted drmInfo:", hexlify(drmInfo)
                if dw0==dwCheck:
                        print "Found the matching record; setting the CustomDRM flag for Kindle"
                        drmInfo = strPutDWord(drmInfo,4,(dw4|0x800))
                        dw0, dw4, dw18, dw1c = struct.unpack(">II16xII", drmInfo)
                        #print "Updated drmInfo:", "%08X, %08X, %s, %08X, %08X"%(dw0, dw4, hexlify(drmInfo[0x8:0x18]), dw18, dw1c)
                        return rec0[:iOff+0x10] + PC1(temp_key, drmInfo, False) + rec0[:iOff+0x30]
            iOff += dwSize
        return None

def replaceext(filename, newext):
    nameparts = filename.split(".")
    if len(nameparts)>1:
        return (".".join(nameparts[:-1]))+newext
    else:
        return nameparts[0]+newext

def main(fname, pid):
    if len(pid)==10 and pid[-3]=='*':
        pid = pid[:-2]
    if len(pid)!=8 or pid[-1]!='*':
        print "PID is not valid! (should be in format AAAAAAA*DD)"
        return 3
    db = prc.File(fname)
    #print dir(db)
    if db.getDBInfo()["creator"]!='MOBI':
        print "Not a Mobi file!"
        return 1
    rec0 = db.getRecord(0)[0]
    enc = strSWord(rec0, 0xC)
    print "Encryption:", enc
    if enc!=2:
        print "Unknown encryption type"
        return 1

    if len(rec0)=4:
        new_rec0 = find_key(rec0, pid)
        if new_rec0:
            db.setRecordIdx(0,new_rec0)
        else:
            print "PID doesn't match this file"
            return 2
    else:
        print "Wrong Mobi format version"
        return 1

    outfname = replaceext(fname, ".azw")
    if outfname==fname:
        outfname = replaceext(fname, "_fixed.azw")
    db.save(outfname)
    print "Output written to "+outfname
    return 0

print "The Kindleizer v0.1. Copyright (c) 2007 Igor Skochinsky"
if len(sys.argv)

kindlepid.py


import sys, binascii

letters = "ABCDEFGHIJKLMNPQRSTUVWXYZ123456789"

def crc32(s):
    return (~binascii.crc32(s,-1))&0xFFFFFFFF

def checksumPid(s):
    crc = crc32(s)
    crc = crc ^ (crc >> 16)
    res = s
    l = len(letters)
    for i in (0,1):
        b = crc & 0xff
        pos = (b // l) ^ (b % l)
        res += letters[pos%l]
        crc >>= 8

    return res

def pidFromSerial(s, l):
    crc = crc32(s)

    arr1 = [0]*l
    for i in xrange(len(s)):
        arr1[i%l] ^= ord(s[i])

    crc_bytes = [crc >> 24 & 0xff, crc >> 16 & 0xff, crc >> 8 & 0xff, crc & 0xff]
    for i in xrange(l):
        arr1[i] ^= crc_bytes[i&3]

    pid = ""
    for i in xrange(l):
        b = arr1[i] & 0xff
        pid+=letters[(b >> 7) + ((b >> 5 & 3) ^ (b & 0x1f))]

    return pid

print "Mobipocket PID calculator for Amazon Kindle. Copyright (c) 2007 Igor Skochinsky "
if len(sys.argv)>1:
    pid = pidFromSerial(sys.argv[1],7)+"*"
    print "Mobipocked PID for Kindle serial# "+sys.argv[1]+" is "+checksumPid(pid)
else:
    print "Usage: kindlepid.py "

prc.py


#
# $Id: prc.py,v 1.3 2001/12/27 08:48:02 rob Exp $
#
# Copyright 1998-2001 Rob Tillotson
# All Rights Reserved
#
# Permission to use, copy, modify, and distribute this software and
# its documentation for any purpose and without fee or royalty is
# hereby granted, provided that the above copyright notice appear in
# all copies and that both the copyright notice and this permission
# notice appear in supporting documentation or portions thereof,
# including modifications, that you you make.
#
# THE AUTHOR ROB TILLOTSON 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, 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!
#
"""PRC/PDB file I/O in pure Python.

    This module serves two purposes: one, it allows access to Palm OS(tm)
    database files on the desktop in pure Python without requiring
    pilot-link (hence, it may be useful for import/export utilities),
    and two, it caches the contents of the file in memory so it can
    be freely modified using an identical API to databases over a
    DLP connection.
"""

__version__ = '$Id: prc.py,v 1.3 2001/12/27 08:48:02 rob Exp $'

__copyright__ = 'Copyright 1998-2001 Rob Tillotson '

# temporary hack until we get gettext support again
def _(s): return s

#
# DBInfo structure:
#
# int more
# unsigned int flags
# unsigned int miscflags
# unsigned long type
# unsigned long creator
# unsigned int version
# unsigned long modnum
# time_t createDate, modifydate, backupdate
# unsigned int index
# char name[34]
#
#
# DB Header:
# 32 name
# 2 flags
# 2 version
# 4 creation time
# 4 modification time
# 4 backup time
# 4 modification number
# 4 appinfo offset
# 4 sortinfo offset
# 4 type
# 4 creator
# 4 unique id seed (garbage?)
# 4 next record list id (normally 0)
# 2 num of records for this header
# (maybe 2 more bytes)
#
# Resource entry header: (if low bit of attr = 1)
# 4 type
# 2 id
# 4 offset
#
# record entry header: (if low bit of attr = 0)
# 4 offset
# 1 attributes
# 3 unique id
#
# then 2 bytes of 0
#
# then appinfo then sortinfo
#

import sys, os, stat, struct

PI_HDR_SIZE = 78
PI_RESOURCE_ENT_SIZE = 10
PI_RECORD_ENT_SIZE = 8

PILOT_TIME_DELTA = 2082844800L

flagResource = 0x0001
flagReadOnly = 0x0002
flagAppInfoDirty = 0x0004
flagBackup = 0x0008
flagOpen = 0x8000
# 2.x
flagNewer = 0x0010
flagReset = 0x0020
#
flagExcludeFromSync = 0x0080

attrDeleted = 0x80
attrDirty = 0x40
attrBusy = 0x20
attrSecret = 0x10
attrArchived = 0x08

default_info = {
        'name': '',
        'type': 'DATA',
        'creator': ' ',
        'createDate': 0,
        'modifyDate': 0,
        'backupDate': 0,
        'modnum': 0,
        'version': 0,
        'flagReset': 0,
        'flagResource': 0,
        'flagNewer': 0,
        'flagExcludeFromSync': 0,
        'flagAppInfoDirty': 0,
        'flagReadOnly': 0,
        'flagBackup': 0,
        'flagOpen': 0,
        'more': 0,
        'index': 0
        }

def null_terminated(s):
        for x in range(0, len(s)):
        if s[x] == '\000': return s[:x]
        return s

def trim_null(s):
        return string.split(s, '\0')[0]

def pad_null(s, l):
        if len(s) > l - 1:
                s = s[:l-1]
        s = s + '\0'
        if len(s) 32shhLLLlll4s4sllh', data[:PI_HDR_SIZE])

        if nextrec or appinfo 4shl', hstr)
                entries.append((offset, typ, id))
                else:
                (offset, auid) = struct.unpack('>ll', hstr)
                attr = (auid & 0xff000000) >> 24
                uid = auid & 0x00ffffff
                entries.append((offset, attr, uid))

        offset = len(data)
        entries.reverse()
        for of, q, id in entries:
                size = offset - of
                if size 32shhLLLlll4s4sllh',
                            pad_null(info.get('name',''), 32),
                            flg,
                            info.get('version',0),
                            info.get('createDate',0L)+PILOT_TIME_DELTA,
                            info.get('modifyDate',0L)+PILOT_TIME_DELTA,
                            info.get('backupDate',0L)+PILOT_TIME_DELTA,
                            info.get('modnum',0),
                            appinfo_offset, # appinfo
                            sortinfo_offset, # sortinfo
                            info.get('type',' '),
                            info.get('creator',' '),
                            0, # uid???
                            0, # nextrec???
                            len(self.data))

        f.write(hdr)

        entries = []
        record_data = []
        rsrc = self.info.get('flagResource')
        for x, off in map(None, self.data, rec_offsets):
                if rsrc:
                record_data.append(x.raw)
                entries.append(struct.pack('>4shl', x.type, x.id, off))
                else:
                record_data.append(x.raw)
                a = ((x.attr | x.category) ll', off, a))

        for x in entries: f.write(x)
        f.write('\0\0') # padding? dunno, it's always there.
        if self.appblock: f.write(self.appblock)
        if self.sortblock: f.write(self.sortblock)
        for x in record_data: f.write(x)

readme.txt


Kindle Mobipocket tools 0.1

Copyright (c) 2007 Igor Skochinsky

These scripts allow one to read legally purchased Secure Mobipocket books

on Amazon Kindle.

* kindlepid.py

    This script generates Mobipocket PID from the Kindle serial number. That

    PID can then be added at a Mobi retailer site and used for downloading

    books locked to the Kindle.

    Example:

        > kindlepid.py B001BAB012345678

        Mobipocket PID calculator for Amazon Kindle. Copyright (c) 2007 Igor Skochinsky

        Mobipocked PID for Kindle serial# B001BAB012345678 is V176CXM*FZ

* kindlefix.py

    This script adds a "CustomDRM" flag necessary for opening Secure

    Mobipocket books on Kindle. The book has to be enabled for Kindle's PID

    (generated by kindlepid.py). The "fixed" book is written with

    extension ".azw". That file can then be uploaded to Kindle for reading.

    Example:

        > kindlefix.py MyBook.mobi V176CXM*FZ

        The Kindleizer v0.1. Copyright (c) 2007 Igor Skochinsky

        Encryption: 2

        Mobi publication type: 2

        Mobi format version: 4

        Found the matching record; setting the CustomDRM flag for Kindle

        Output written to MyBook.azw

* History

    2007-12-12 Initial release

Re:Torrent? (0)

Anonymous Coward | more than 5 years ago | (#27172079)

--begin kindlepid.py--
import sys, binascii

letters = "ABCDEFGHIJKLMNPQRSTUVWXYZ123456789"

def crc32(s):
    return (~binascii.crc32(s,-1))&0xFFFFFFFF

def checksumPid(s):
    crc = crc32(s)
    crc = crc ^ (crc >> 16)
    res = s
    l = len(letters)
    for i in (0,1):
        b = crc & 0xff
        pos = (b // l) ^ (b % l)
        res += letters[pos%l]
        crc >>= 8

    return res

def pidFromSerial(s, l):
    crc = crc32(s)

    arr1 = [0]*l
    for i in xrange(len(s)):
        arr1[i%l] ^= ord(s[i])

    crc_bytes = [crc >> 24 & 0xff, crc >> 16 & 0xff, crc >> 8 & 0xff, crc & 0xff]
    for i in xrange(l):
        arr1[i] ^= crc_bytes[i&3]

    pid = ""
    for i in xrange(l):
        b = arr1[i] & 0xff
        pid+=letters[(b >> 7) + ((b >> 5 & 3) ^ (b & 0x1f))]

    return pid

print "Mobipocket PID calculator for Amazon Kindle. Copyright (c) 2007 Igor Skochinsky "
if len(sys.argv)>1:
    pid = pidFromSerial(sys.argv[1],7)+"*"
    print "Mobipocked PID for Kindle serial# "+sys.argv[1]+" is "+checksumPid(pid)
else:
    print "Usage: kindlepid.py "
--end kindlepid.py--

--begin kindlefix.py--
import prc, sys, struct
from binascii import hexlify

def strByte(s,off=0):
        return struct.unpack(">B",s[off])[0];

def strSWord(s,off=0):
        return struct.unpack(">h",s[off:off+2])[0];

def strWord(s,off=0):
        return struct.unpack(">H",s[off:off+2])[0];

def strDWord(s,off=0):
        return struct.unpack(">L",s[off:off+4])[0];

def strPutDWord(s,off,i):
        return s[:off]+struct.pack(">L",i)+s[off+4:];

keyvec1 = "\x72\x38\x33\xB0\xB4\xF2\xE3\xCA\xDF\x09\x01\xD6\xE2\xE0\x3F\x96"

#implementation of Pukall Cipher 1
def PC1(key, src, decryption=True):
        sum1 = 0;
        sum2 = 0;
        keyXorVal = 0;
        if len(key)!=16:
                print "Bad key length!"
                return None
        wkey = []
        for i in xrange(8):
                wkey.append(ord(key[i*2])> 8)) ^ byteXorVal) & 0xFF
                if decryption:
                        keyXorVal = curByte * 257;
                for j in xrange(8):
                        wkey[j] ^= keyXorVal;

                dst+=chr(curByte)

        return dst

def find_key(rec0, pid):
        off1 = strDWord(rec0, 0xA8)
        if off1==0xFFFFFFFF or off1==0:
            print "No DRM"
            return None
        size1 = strDWord(rec0, 0xB0)
        cnt = strDWord(rec0, 0xAC)
        flag = strDWord(rec0, 0xB4)

        temp_key = PC1(keyvec1, pid.ljust(16,'\0'), False)
        cksum = 0
        #print pid, "->", hexlify(temp_key)
        for i in xrange(len(temp_key)):
            cksum += ord(temp_key[i])
        cksum &= 0xFF
        temp_key = temp_key.ljust(16,'\0')
        #print "pid cksum: %02X"%cksum

        #print "Key records: %02X-%02X, count: %d, flag: %02X"%(off1, off1+size1, cnt, flag)
        iOff = off1
        drm_key = None
        for i in xrange(cnt):
            dwCheck = strDWord(rec0, iOff)
            dwSize = strDWord(rec0, iOff+4)
            dwType = strDWord(rec0, iOff+8)
            nCksum = strByte(rec0, iOff+0xC)
            #print "Key record %d: check=%08X, size=%d, type=%d, cksum=%02X"%(i, dwCheck, dwSize, dwType, nCksum)
            if nCksum==cksum:
                drmInfo = PC1(temp_key, rec0[iOff+0x10:iOff+0x30])
                dw0, dw4, dw18, dw1c = struct.unpack(">II16xII", drmInfo)
                #print "Decrypted drmInfo:", "%08X, %08X, %s, %08X, %08X"%(dw0, dw4, hexlify(drmInfo[0x8:0x18]), dw18, dw1c)
                #print "Decrypted drmInfo:", hexlify(drmInfo)
                if dw0==dwCheck:
                        print "Found the matching record; setting the CustomDRM flag for Kindle"
                        drmInfo = strPutDWord(drmInfo,4,(dw4|0x800))
                        dw0, dw4, dw18, dw1c = struct.unpack(">II16xII", drmInfo)
                        #print "Updated drmInfo:", "%08X, %08X, %s, %08X, %08X"%(dw0, dw4, hexlify(drmInfo[0x8:0x18]), dw18, dw1c)
                        return rec0[:iOff+0x10] + PC1(temp_key, drmInfo, False) + rec0[:iOff+0x30]
            iOff += dwSize
        return None

def replaceext(filename, newext):
    nameparts = filename.split(".")
    if len(nameparts)>1:
        return (".".join(nameparts[:-1]))+newext
    else:
        return nameparts[0]+newext

def main(fname, pid):
    if len(pid)==10 and pid[-3]=='*':
        pid = pid[:-2]
    if len(pid)!=8 or pid[-1]!='*':
        print "PID is not valid! (should be in format AAAAAAA*DD)"
        return 3
    db = prc.File(fname)
    #print dir(db)
    if db.getDBInfo()["creator"]!='MOBI':
        print "Not a Mobi file!"
        return 1
    rec0 = db.getRecord(0)[0]
    enc = strSWord(rec0, 0xC)
    print "Encryption:", enc
    if enc!=2:
        print "Unknown encryption type"
        return 1

    if len(rec0)=4:
        new_rec0 = find_key(rec0, pid)
        if new_rec0:
            db.setRecordIdx(0,new_rec0)
        else:
            print "PID doesn't match this file"
            return 2
    else:
        print "Wrong Mobi format version"
        return 1

    outfname = replaceext(fname, ".azw")
    if outfname==fname:
        outfname = replaceext(fname, "_fixed.azw")
    db.save(outfname)
    print "Output written to "+outfname
    return 0

print "The Kindleizer v0.1. Copyright (c) 2007 Igor Skochinsky"
if len(sys.argv)3:
    print "Fixes encrypted Mobipocket books to be readable by Kindle"
    print "Usage: kindlefix.py file.mobi PID"
else:
    fname = sys.argv[1]
    sys.exit(main(fname, sys.argv[2]))
--end kindlefix.py--

Switching from Kindle (2, Interesting)

ProteusQ (665382) | more than 5 years ago | (#27171815)

What are the best open ebook reader options out there?

Who cares? it's a kindle... (0)

Anonymous Coward | more than 5 years ago | (#27171861)

Let Amazon shoot themselves in the foot. Anything that makes this stupid thing less attractive is a plus in my book. I'd much rather not have Amazon become any sort of market leader here.

Its an industrial standard (5, Insightful)

Demonantis (1340557) | more than 5 years ago | (#27171967)

Amazon isn't the only one that does this. Apple does this with their products. A lot of printing companies do this with ink cartridges. Car companies often control the supply of replacement parts. Secondary purchases are a huge economy everywhere. I don't like that use of the DMCA, though. Its implications really scare me. What if I modified my car then release the notes on a web page. Could the manufacture DMCA it down? Should this be an acceptable use of the DMCA? I think that DMCA notices should really come with a danger to misuse. If there isn't companies could DMCA their way out of webpages that attack their product. It would really make the company think about it be before it brought down it's huge club of injustice on an individual.

Typically rejected by courts (1)

langelgjm (860756) | more than 5 years ago | (#27172239)

It may be an industry-wide practice, but that doesn't mean the courts like it.

Lexmark tried to do this with its ink cartridges, [openjurist.org] but it's a terrible argument, and the courts recognized that, ruling that their access-control mechanism wasn't actually controlling access to a copyrighted work.

This sort of practice really has nothing to do with copyright and everything to do with trying to exert control over aftermarket products. Unfortunately, it would be so expensive to go and litigate this, and the outcome is never certain, so they were probably smart to give up.

Re:Its an industrial standard (1)

shermo (1284310) | more than 5 years ago | (#27172367)

I thought you could post DMCA notices for any information

anonymous coward (0)

Anonymous Coward | more than 5 years ago | (#27172037)

I just wish they would make their darned ebooks readable on media other than the kindle. :P

Well I WAS going to buy one (1)

stormcoder (564750) | more than 5 years ago | (#27172043)

Won't be doing so now. I'll just stick with my Zaurus PDA and Gutenberg.

This is one of those shoot themselves in the foot moments. The people who are going to by this device and make it profitable are the ones that will want to tinker with it. If the tinkerers don't buy it the Kindle will fail as a product before it has a chance to become mainstream. Good job Amazon.

Anybody suprised by this? (1)

Locke2005 (849178) | more than 5 years ago | (#27172067)

Econ 101: If your business model involves selling the hardware for less than cost and then making all your money on content licenses, then you need to prevent alternative uses of the hardware by any means necessary. Of course, the alternative would be to FIX YOUR FUCKING BUSINESS MODEL, but then, when has Amazon ever seriously considered the "fix the business model" alternative?

What was their actual DMCA complaint? (1)

91degrees (207121) | more than 5 years ago | (#27172093)

They surely can't claim copyright on the instructions on how to use the software. That was written by someone else. They don't have the copyright on the books that are uploaded onto the device or any rights at all to another vendors ebooks. As far as I understand, this software doesn't make any modifications to the Kindle itself (if I'm wrong I may address that point), or modify the Amazon ebooks.

Copyright can in no way restrict what you do with the device because you're not making any copies.

It would have made more sense to tell them where to stick their DMCA complaint.

#irc.tro0ltalk.com (-1, Troll)

Anonymous Coward | more than 5 years ago | (#27172099)

Amazon is wrong on the law (5, Informative)

belmolis (702863) | more than 5 years ago | (#27172141)

Leaving aside the issue of users' rights, as far as I can see Amazon is just plain wrong on the law and lacks legal justification for the takedown notice. What the DMCA prohibits is the distribution of tools for overcoming technical measures for protecting copyrighted materials. The first program generates a MOBI ID from a kindle serial number. The second program rewrites a non-Amazon ebook so that it contains the id that will allow it to work on the Kindle with the given serial number. Neither program modifies or copies the Kindle's software. Since the ebooks in question are not produced by Amazon, no material whose copyright belongs to Amazon is affected in any way. In other words, this software does not defeat any technical measure of Amazon's for protecting copyrighted material since Amazon has no copyrighted material at stake here. The DMCA is inapplicable, and the takedown notice invalid. Indeed, it is so clear that this software does nothing to defeat protection of copyrighted material that I would say that the takedown notice was issued in bad faith.

What this software actually does is allow for interoperability, which is explicitly protected by the DMCA.

Amazon's Business Model: Carpe emptorem! (0)

Anonymous Coward | more than 5 years ago | (#27172251)

AKA "Seize the buyers!"

Big Ado About Nothing (4, Informative)

pvera (250260) | more than 5 years ago | (#27172391)

The purpose of the tool is not to allow non-Amazon content into the Kindle. Instead, it is to allow non-Amazon eBook sellers to be able to sell content for the Kindle. It has NOTHING to do with your ability as a user to bring content into your Kindle without paying Amazon.

I should know, I owned a Kindle 1 for 7 months and currently own two Kindle 2s (hint: if you only have one Kindle, don't show it to your wife and go LOOK HONEY, SEE HOW COOL THIS IS!!! because she'll immediately take over it and you'll end up buying a second one). I have had no issues bringing content into any of my Kindles:

1. Any content that I can read with Stanza and/or Mobipocket Creator (both free) can be converted into formats that can be read by the Kindle.
2. Amazon provides you with a unique email address to email content to be converted directly into your Kindle. 10 cents per conversion.
3. Amazon provides you with a second unique email address to email content to be converted, then emailed back to you for free. Yes, free.
4. Using the basic web browser, you can pick any web-based file that is compatible with the Kindle and it will download it just like if you purchased it from Amazon. There are plenty of websites that cater directly to the Kindle, and there is a huge drive to make Project Gutemberg and others fully compatible with the Kindle.
5. Amazon charges you for subscribing to feeds. Or you can use the free tool at Feedbooks. These clever people figured out a way to package an RSS subscription as an eBook, and it has an auto-update link. Open the book from your Kindle, click on Update and it downloads a new version of the file. Tedious? Sure, but it is free.
6. Annoyed about having to connect to your PC just so you can move your content into your Kindle? Don't feel like paying the 10-cent tax? Easy, simply dump your eBook files into a folder in your website, password protect it if you are paranoid, then open it from your basic browser. You can now download your own books from anywhere, which is great if you don't like clutter or in case you delete the wrong book by accident.

Now, of course, it sucks if you are trying to make a buck selling eBooks for the Kindle outside of Amazon and you are using a format that requires the ID of your device. If all you want to do is sell the content, then you might as well go to http://dtp.amazon.com/ [amazon.com] , list your books for free and let Amazon do all the work in exchange for a cut of the action. Amazon will not charge you for access to the DTP area, or for listing your books, they only take a cut of your sales.

I emailed Amazon's Kindle Feedback address earlier this week to complain about not being able to upload my own files to the storage area (one of my favorite features is that I can re-download my content at will), expecting to get a canned response. I actually got a person to reply to me, so it looks like at least some of those emails are being read. The person that replied hinted that maybe I wanted to send my files through the 10-cent tax generator, but he would still pass my message to the powers-that-be.

The one thing that is still completely unacceptable is that the Kindle client for the iPhone only works with purchased work, you can't add your own books (yet) unless you jailbrake your phone.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?