2025 Income Sources

I make a living writing by earning money from every available channel. That means I need to see which channels are worth my time, which I should benignly neglect, and which I should partially or completely drop. Each year since 2019, I’ve posted the results.

First, my usual caveats and exceptions.

I earn money by creating and licensing intellectual property in prose form–aka books, articles, stories, and so on. I publish globally, both independently and through publishers. I make my books available in every channel that offers acceptable terms and reject channels with unacceptable terms. I don’t seek out speaking fees, although if you put money in my hand I’ll take it and say “thank you.”

Whenever I share actual dollar figures people immediately inform me that I can’t possibly be making that much, or that I don’t deserve to make that much, or demand that I share “the secret.” The first two are not worth my time, and I’ve been shrieking the dang secret for years: keep writing with an attitude of deliberate practice, and manage your cash flow.

Nothing productive comes from such discussions, so I don’t share the numbers.

I will say that I could make far more in a tech job, but whenever I express faint interest folks offer me senior roles involving horrid words like “mentoring” and “leadership.” No thank you.1

As far as actual dollar values goes, I will say: after the intoxicating heights of 2024, 2025 was a dizzying plunge. The United States is increasingly hostile to small businesses, especially ones with international customers. I make Enough.

So where did my money come from in 2025?

This chart excludes everyone under 3%. Here’s the detail.

Amazon 18.70%
Kickstarter — 21.15%
Trad Pub — 14.62%
TWP sponsorship — 14.40%
TWP ebooks — 9.43%
TWP print — 6.33%
TWP patronizer — 5.40%
Patreon — 3.85%
IngramSpark — 3.46%
Gumroad — 1.20%
Kobo — 0.46%
Apple — 0.38%
Google — 0.36%
bookshop.org — 0.14%
Draft2Digital — 0.11%
Barnes & Noble — 0.03%

I debated even including the folks at the bottom, but folks ask “what about Barnes & Noble?” so here it is. Don’t pay too much attention to the bottom: sale of a single copy can shift the lowest rankings.

This list guides many decisions. Apple Books now requires that I identify myself as a “trader” to sell books in the EU, as per the Digital Services Act. Am I going to spend the money to comply with EU laws on their platform? With Apple Books consistently being less than 1% of my income year after year? No I am not. I’d publish a big apology to my Apple readers in the EU, but I have no idea who those three people are.

The most exciting (to me) item is the brand-new “TWP print” category at 6.33%. My bookstore started selling print books in February 2025, with a printing/shipping back end provided by Bookvault. Individual print books are priced at retail, but readers pay shipping. They also get the ebook free with print. I offer a coupon code for ten percent off print books, which helps offset shipping and allows retailers to stay competitive. I also have discounts on print bundles. Last year TWP had 146 direct print orders. Over half of them were for multiple books. A few folks even bought the Total Mastery bundle in print. Shipping on the 17-book Total Mastery bundle costs about the same as shipping two books.

For decades, my readers have asked for an electronic version with the print version. I offered that and they came.

Mind you, nobody has been daft enough to buy the print version of The Full Michael.

A fair number of print orders come from Europe, even though I don’t make enough in the EU to qualify for IOSS and can’t handle VAT so readers have to pay customs on delivery. Thankfully, EU folks are accustomed to this headache when importing from backwater nations.

In past years, I’ve posted graphs showing the aggregate over time for each large channel, much like this one.

This year, I realized this is the wrong sort of graph. I want to see how my income from different channels changes over time. Here’s a more useful graph.

What can I learn from this?

First, let me define the term “retailer.” For this discussion, a retailer is a bookstore that I do not own. Amazon, Gumroad, Google, Apple, those are all retailers. Kickstarter and Tilted Windmill Press are not retailers. Kickstarter is a middleman, but they take a smaller cut than retailers.

Outside channels like retailers and Kickstarter are discovery platforms. They’re where folks learn my books exist. I need discovery platforms! But my business model gently guides people towards paying me directly. My store offers subscriptions and crowdfunding and regular book purchases much like Patreon and Kickstarter and Amazon. Whatever way folks want to pay, I’ll take their money.

I don’t want to depend on any one retailer, though, instead relying on a Redundant Array of Independent Retailers (a RAIR for you computer nerds). I want a whole mess of lines at the bottom of this graph, with a bunch of retailers each providing a relatively small percentage of my total income. If one retailer drops me, I’ll be annoyed but survive.

I want a nice healthy line at the top representing direct sales.

I want occasional spikes from Kickstarter or other third-party crowdfunding. That won’t stand out on yearly graphs, mind you, but viewed in more detail it’s definitely spikes.

In the graph above, Amazon is the dark blue line that starts near the top and drops below the pale blue Kickstarter line in recent years. The healthy crowd at the bottom is all my other channels, including a separate entry for each of my direct offerings.

But what happens if I combine the direct offerings into a single “folks who pay me directly” chunk?

That orange line that’s generally trending up year-over-year? That’s combined direct payments to me. That line represents my goal. You can see where it exceeded Amazon in 2022 and has remained above since. Kickstarter exceeded my direct income in 2024, but that was a freak event on a discovery platform. Many folks who backed Run Your Own Mail Server in 2024 went on to directly support Laserblasted and the new Networking for System Administrators. That pale blue spike in 2024 led the orange line increasing in 2025.

“But you can’t compare crowdfunding to retail sales to patronage!” Sure I can. I offer a variety of deals. People are free to choose which arrangement they want. The important thing is that I get paid to write the books I want to write.

In fact, let’s compare retail to my less expensive non-retail platforms.

Retailers take a bigger cut than non-retailers. I’m okay with deprioritizing them.

How do I feel about this? I am content but not satisfied. Income is down, but my whole nation’s economy is gasping. My bills are paid. I can withstand the loss of any one retailer. I’d like to see direct sales reach about half of my income. Trends say I’ll get there.

Not bad for a down year.

PS: Whenever I post these pieces, some folks on various writing forums declare that my business plan isn’t a “real business.”2 To them I’d like to say: I pay my bills writing what I want to write. I get to spend my days being creative, whether it’s discussing the moral necessity of punching billionaires in the throat, helping people reduce the agony of working in enterprise IT, or defending yourself against the tech oligarchy. The only way I could care less about getting paid per-sale versus patronage versus sponsorships would be with lobotomic assistance.

If you want to create for a living and are focused on any one style of getting paid, you are making things more difficult for yourself than necessary.

TWP books not in Apple Books in the EU

Tilted Windmill Press books are not available in Apple’s bookstore in Europe. Sorry, folks.

Under the EU’s Digital Services Act, I am a trader. Compliance with the DSA means that Apple Books requires trader display their name, address, and phone number on the product page. I have a PO box, but I am not willing to have my phone number on the Apple Books store. Yes, you can find my phone number. It’s not rocket surgery. But that’s different than putting it on a third-party bookstore page for everyone to see.

Could I set up a burner or a Google Phone dropbox? Sure. But consider that my total income from Apple Books is so minuscule that I didn’t even put it on last year’s graph. How much work am I willing to do for $200 a year? Very little.

I have updated each book’s page to state that the books aren’t available on Apple in the EU.

Should I start doing enough business in the EU that I need to change this decision, I will. Prediction is foolish, but I’d guess that happens when I need IOSS.

“Networking for System Administrators, 2nd ed” is out, except on Amazon’s Kindle store

The headline says most of it, but:

The new edition of Networking for System Administrators is out. Most stores should have it now. Apple is being a pain, but that’s pretty usual. I’ll fill in missing stores over the next few days, as the databases finish churning.

You might notice that it’s not in Amazon’s Kindle store. Why is that?

Oh, wait. Let me put that in SEO format.

Why is Networking for System Administrators not in Amazon’s Kindle Store?

There. That’ll do. The short answer is for the same reasons that Run Your Own Mail Server and OpenBSD Mastery: Filesystems aren’t, but on the off chance a search engine actually brings someone here, I’ll spell it out.

You can get Kindle-friendly versions of N4SA2e from my store or Gumroad. You can get a Kindle-friendly ebook from any number of other retailers, but while they’re all supposed to be DRM-free I can’t advise on prying the file out of another vendor’s ecosystem. The one place you cannot buy it for Kindle is Amazon’s Kindle bookstore.

TLDR: Amazon pays roughly 70% of retail price for books priced up to $9.99, and 35% for books $10 and over. Amazon is the only retailer that does this. Other retailers, I make somewhere around 65%-70% no matter the retail price. Everything follows from that math, but if you want the details read on.

According to economists, prices have gone up about 40% since I started releasing the Mastery books. According to my wallet, not so much. In 2012 my wife and I could get an inexpensive lunch for $10. Today, no. But let’s go with the official numbers. Just as “dime novels” now cost $10, I must raise prices. While book pricing is hotly debated, $12.99 is a reasonable price for a short tech book like Networking for System Administrators. (If I followed inflation I would charge $13.99, but I’m an idiot.)

If I charge $9.99 for this ebook, I make about $7.

If I charge $12.99 for the ebook, I make about $9 everywhere but Amazon. At Amazon, I make $4.50. For me to make that $9 at Amazon, I must charge about $26. I’m fond of the book, but it ain’t worth that! And if I did, giving Amazon a $17 slice of every sale for no reason sticks in my craw.

Charge $26 at Amazon and $11.99 elsewhere? Amazon’s program has a Most Favored Nation clause. They can price match any other major vendor.

Will Amazon change their business because of this? No. Authors are plentiful and of low value. I am not worth Amazon’s time.

Amazon’s business model is based on squeezing prices down, and they play a long game. I expect them to ever raise that $9.99 limit. A novel might sell tens or hundreds of thousands of copies. If I’m lucky, a book like Networking for System Administrators might sell eight thousand over the next ten years. The few extra bucks I’ll make by raising prices are important. That’s also why I’ve focused so hard on disintermediation through my Patronizers, sponsorships, and Kickstarter.

I have expected this for years. I do not expect to publish future Mastery books on Amazon’s Kindle store, unless by some chance I write another very short one.

N4SA2e Print Sponsor Address Check

Anywhere from 1%-5% of sponsors move before I ship print sponsor gifts. (Yes, they’re gifts, not preorders. Because I send sponsors things.) In the past, I’ve eaten the cost of reshipping these. With hundreds of print sponsors, that small error rate becomes an expensive pile.

So I went into my store system, extracted all the sponsor orders on “Networking for System Administrators, 2nd edition,” and converted them to a GoShippo postage ordering spreadsheet so I’m all set to order postage for sponsor gifts. I then wrote a script to extract sponsor addresses from the file and email them to request address verification and a shipping phone number.3

If you’re a print sponsor of this book, you should have an email requesting you verify your address and phone number. If address and phone number are correct, ignore the mail. If something is wrong or missing, please reply with corrections. Yes, some folks will miss the verification. I’ll wind up eating some reshipping cost. But with your help it’ll be less than otherwise–and you’ll get your books earlier!

If you didn’t get the email, you probably also didn’t get the email with the ebook links. Email me with your order number and I’ll try again.

I’m also amused to note that for the first time since I started offering book sponsorships, several print sponsors left the United States. I charge extra shipping for overseas sponsors. I’m not doing chasing people for extra, though. Those folks have my sympathy, envy, and gratitude.

I probably need to set a “so you fled the US” policy for future sponsorships, though.

Permanent Discount on Books at My Store

TLDR: The coupon code MWL gives you 10% off all titles at my bookstore. It’s not valid for discounted bundles, sponsorships, or gift cards; just existing regular titles, ebook and/or print. If you buy the print, you still get the ebook free. I intend to keep this coupon live indefinitely, barring debacles.

Why?

When you cut out middlemen like Amazon, I make more. This code lets me split the difference with you. (No it’s not an exact 50/50 split, but the amount varies by title and I have to pay constantly-changing fees.) If I just discount the books Amazon will price match and cut what they pay me, so a blatantly advertised coupon it is.

Why do this right after the Sysadmin Appreciation Day coupon? That was a test. My estimates said that the math worked, but I needed a series of actual discounted sales to prove to myself that unexpected stupidity wouldn’t ruin me. It should be fine.

You have to pay shipping at my store, but the discount helps. If you buy multiple books from me, you come out better than Amazon.

The coupon isn’t valid on discounted bundles. Yes, you can buy The Full Michael and get all my indie titles in print, but that’s already discounted $150. That’s a better deal than the coupon.

You might notice that publishers like No Starch Press occasionally offer 30% coupons. How can they do that while I’m stuck at 10%? They use different printing methods and have both a warehouse and a staff. I use print-on-demand, which exchanges smaller margins for nonexistent overhead.

Yes, of course I’m hoping this will boost sales. I need a commercial OS for publishing, and Microsoft’s constant connivery to get generative AI into my system requires increasingly intrusive hackery to evade. Apple is still commercial, but at least I can turn off their generative AI garbage with a single button. So I’m hoping to raise enough to purchase a Mac Studio. (Why a Studio? InDesign is freaking huge, and I need something that will last 8-10 years.)

Buy Your Paperbacks Directly From Me

All Tilted Windmill Press titles are now available directly from me in paperback and ebook at https://tiltedwindmillpress.com. All paperback purchases include the ebook. You’ll get the ebook immediately4, and the print will arrive in a week or so.

Books will be printed in the US, Canada, UK, and Australia. This reduces both shipping costs and environmental impact. Books aren’t exactly green, but local printing makes them less brown. (Are ebooks greener? That’s a great argument over a drink.)

I am excited beyond words. I have been working towards this ever since my first book came out in 1992.

Benefits to you? Those bundles I offer, like the FreeBSD Storage Mastery bundle? There’s now a discount print version. That ridiculous The Full Michael bundle that includes everything I’ve indie published? You can now buy the whole thing in paperback.

Do I expect anyone to drop $624 on a stack of books? No. But I am delighted to have that degree of control.

Books from No Starch Press (Absolute FreeBSD, Absolute OpenBSD, and Network Flow Analysis) are not included. Sorry. I don’t have the access to ship those touch-free on demand. The ILUVMICHAEL coupon code still gets you 30% off at their site and gives me a couple bucks extra, though!

Completing this was a huge amount of work, but the publishing industry is doing its best to eat writers alive. The only way to survive is disintermediation.

I haven’t made hardcovers available yet. Hardcover sales are minuscule next to paperbacks. Some books present challenges, and I’m not sure selling them direct is worth it. I’m doing the easy hardcovers first in the hope that inspiration strikes.

Future books will be released in on my site a month before they’re available at retailers. If they’re trying to eat my career, I see no reason to prioritize them.

“Networking for System Administrators” restructuring

No, not the book this time. The product. Previously you picked a format, print or ebook. If you sponsored for print, Woocommerce used your address to calculate shipping. Cool. It took me a couple iterations to get that working, but it’s the way the rest of the world works.

Then I added print books via BookVault.

Turns out that Woocommerce does not like multiple shipping systems. It says it’s fine. It is not. After months of fighting with this, I realized that my attachment to sponsor shipping autocalculation was causing pain. I have restructured the product so that you choose a destination and pay accordingly.

The total price has not changed. The list price is now shipping-inclusive to avoid Woo’s clunky shipping system, that’s all. While sponsorship is an especially terrible deal for my Australian backers, it is no more terrible than before.

I’m still pushing to get the first draft of this book finished by the end of the month.

Also: attachment is the source of all pain. Well, that and blunt instruments. Those hurt, too.

More Titles in Direct Print Sales

In spare minutes, I’ve been expanding my direct print sale operation. You can now get all of these in my bookstore. If you pay for the print book, you get the ebook free.

titles available in print on tiltedwindmillpress.com, 21 April 2025

I have other books in the system, but am waiting for the print proofs to arrive. They come from a new printer (BookVault). Before I tell you to buy a book, I need to know that BV can produce the book as intended. They’re competent, but everyone handles PDFs slightly different. I’ve caught a couple weird color things and a skewed margin. So, despite my efforts to trim down in-house stock, I’m accumulating books. Dammit.

The thing I’m super excited about? Bundles.

It’s about eight years too late, but I now sell the FreeBSD Storage bundle in print. If you buy it from me, I can afford to knock 20% off. Even with shipping, that makes it a better deal for you than buying from Amazon.

My hope is that the kind of people who want to, for example, run their own mail servers will also want to buy directly from the author. That would help make up for the current, unforced and wholly unnecessary, economic implosion in the US.

Next up? The rest of the tech books. Discounted Cross-Platform Unix Mastery and Total Mastery bundles. Then all the fiction and finally, The Full Michael in print.

Updates will follow as more titles appear.

“Laserblasted” Kickstarter over

It funded. My gratitude to everyone who backed, spread the word, or called me mad.

My goal on book Kickstarters is deliberately set below actual production cost. I want it to fund. I’m going to publish it anyway, and I’d rather get $500 to production cost than set a goal of the actual price and fail to fund.

I’d like to think that the US government deliberately decided to trash my campaign, but no. They trashed everyone equally. I’ve run enough Kickstarters that I know how they go. Kickstarter provides a graph of every campaign’s funding status. They all have very similar graphs. The dollar figures on the Y axis vary by book, but the shape is similar. Here’s my last campaign, Apocalypse Moi.

Every campaign funding has this shape. There’s an initial surge, a steady upward slope, and a final surge. Here’s Laserblasted.

That three-day dead spot in the middle is where the tariffs were announced. After that initial shock I did attract more backers, but other backers canceled their pledges or switched from hardcovers to ebooks. Again, I don’t blame them. But without that economic shock, the graph would have looked very different.

The good news? In absolute dollars, Laserblasted raised more than Apocalypse Moi. That’s cool. The bad news is that Laserblasted is wholly original, not a collection, and so expenses are much higher.

Laserblasted will be the first new release offered in print and ebook exclusively through my web store for a few weeks. It will trickle out to other stores.

Again, I don’t blame folks for not backing. When the plane loses pressure, put on your own air mask before helping others. This post is simply to tell others that they are not alone.

An Economic Implosion as viewed through Kickstarter

Let me say up front: the whole Laserblasted project is daft. Yes, it’s a real novel. No, you don’t need to see the movie to understand it. (You don’t need to see the movie, period.) My alpha readers say it’s worthy. It’s not a novelization of the film. The marketing wrote itself.

But it’s daft.

This post is not a complaint, merely an observation. This is my career, and I knew the risks when I got into it. I am grateful for any support folks offer me, and I do not blame anyone for protecting themselves or their families.

By now I have a decent idea how much a Kickstarter will raise. I suspected that Laserblasted would bring in about $5,000, plus or minus a thousand, more or less. After fulfillment, that would net more than a trad deal with a reputable medium-sized publisher. It was on track to match or exceed that prediction.

Kickstarter provides a handy graph of backer support each day. What’s the campaign actually doing?

Huh. It’s like something happened last week. Something that took a few days to ripple through the economy, until it hit folks that this was real and they needed to prepare for financial disaster. When the plane loses cabin pressure, you must put on your own air mask before helping others.

I see the names of my backers. I recognize many of them. Folks who previously bought $200 omnibuses are now backing for $6 ebooks. Again, no blame on them. Put your own mask on first.

I’ve gotten notes from long-term backers and Patronizers, apologizing. These are awesome because I know they dearly want to support me. They’re heartbreaking because folks feel they’re letting me down. No, you’re not letting me down. I appreciate every one of you but again, put your own mask on first.

If you’re doing crowdfunding right now and everything imploded last week, know you’re not alone.

If you want to support my books but can’t, know that I don’t hold it against you. I know who to blame, and they never liked my books anyway.

I’ll keep shilling the campaign, and will raise what I can. I’m just glad I didn’t do the $200 Laserblasted 12″ Action Figure with Real Fake Lasergun Arm.