textlint Maintainer azu: ¥2.29M a Year in OSS Sponsorships — textlint, JSer.info, and 14 Years of Continuity Built a Donation-Funded Solo Practice
azu, known for the proofreading tool textlint and the 14-year-running JSer.info, publishes his open-source finances every year. His 2025 GitHub Sponsors income was about ¥2.29M (¥160K–¥366K per month). A rare documented case of donation-only income reaching monthly-revenue levels without selling anything.
Give software away for free, ask nothing in return — and ¥2.29M a year still comes in. That is OSS developer azu’s 2025 balance sheet. The proofreading tool textlint; JSer.info, a JavaScript news site updated every week for 14 years. JavaScript Primer, a book published free of charge. All of it is free, and the income comes from monthly GitHub Sponsors and donations. The “open source year in review” he publishes every New Year’s Eve includes the actual amounts, month by month.
In this site’s taxonomy, this is our strangest case. There is no product, no price, no customers. Yet there is continuous income, and seven years of it are public. It is Japan’s most transparent fixed-point observation of how far donation-funded solo development can actually go.
For scale, up front: ¥2.29M a year averages ¥190K a month. It does not work as a full-time income, but in the solo/side-project monthly-revenue distributions this site has compiled, it sits near the median. Between “you can’t live on OSS” and “OSS makes no money,” there is, in reality, a band about this wide.
The record in numbers
| Item | Figure (as of source) |
|---|---|
| GitHub Sponsors started | October 2019 |
| 2025 Sponsors income | ~¥2.29M |
| Monthly range | ~¥160K–¥366K |
| January spike | Thanks OSS Award (Toyokumo) |
| Recurring sponsors | ~50 |
| JavaScript Primer side | ~¥680K/year via Open Collective (distributed to contributors) |
| JSer.info | 14 years, updated weekly |
| 2025 GitHub contributions | 11,082 |
Donations attach to continuity, not achievements
The base level of ¥160–170K a month is not payment for any single product. Companies using textlint, readers of JSer.info, developers who learned from JavaScript Primer. The set of beneficiaries has accumulated into roughly 50 individual and corporate sponsorships.
The structurally important point is that donations attach not to one-off achievements but to a track record of continuity. JSer.info’s history (14 years, every week) is itself the predictability that “supporting this person will not be wasted.” Sponsorship is trust paid in advance, and the only collateral for that trust is past continuity. Rather than a structure where donations spike in a viral month, this is one where money gathers, little by little, around the person who does not quit. The income graph’s gentle upward slope since 2019 reflects exactly that property.
The sources of variance are recorded too. The ¥366K in January 2025 was an upswing from the Thanks OSS Award (a program in which companies give prize money to OSS), and he notes that December’s increase came from a sponsor’s account migration. The meticulousness of annotating even the reasons for the bumps is itself what sustains this dataset’s documentary value. A single corporate sponsor joining or leaving moves the number by tens of thousands of yen a month. The income is less diversified than it looks.
The apparatus for being supported is also designed
Ending azu’s case at “a story about good character” would miss the reproducible parts. The receiving apparatus is deliberately designed: the GitHub Sponsors tier structure, the explanation of how support is used, and the annual public accounting itself all function as disclosure that makes it easier for a sponsoring company to clear internal approval. For JavaScript Primer, he has set a policy of distributing Open Collective funds to contributors, paying out about ¥680K a year. What he has built goes beyond a way to receive money as an individual: a mechanism for routing funds through the project.
This is the management of a donation-funded practice. Even an activity that gives everything away has managerial work (income transparency, explaining the use of funds, distributing to contributors) and donations gather around the person who does that work carefully.
The content of his 2025 activity also explains sponsor motivation. textlint added MCP server support so AI agents can call it directly. Secretlint expanded its rules for detecting leaked API keys. JSer.info arranged its pages for AI referencing. The more companies depend on AI-assisted coding, the more the linters, security tools, and information sources underneath it become visible as “critical infrastructure enjoyed for free.” OSS sponsorship is shifting in character from goodwill donation to supply-chain maintenance cost, and azu’s income curve is a domestic observation point of that shift. Keeping OSS running alongside a main job also resonates with the labelmake case, where open-sourcing the project let outside contributions halve the codebase.
Risks and limits
Nobody discloses the fragility of this income better than azu himself. Sponsorship income drops the moment a sponsor cancels, and a substantial share of it depends on “institutional” money, Japanese corporate support programs and awards. If corporate budgets or policies shift, the number moves by tens of thousands of yen a month. And ¥2.29M a year should be read not as an amount that supports a livelihood on its own but as income that, combined with other income, raises the sustainability of the activity.
Note: this case sits at the boundary of our usual inclusion criteria (businesses operated on an ongoing basis). It is not a for-profit business, but with six years of continuous income and seven years of public records, we included it as a reference point for how an individual’s technical activity can be monetized.
11,082 contributions a year against ¥2.29M, not an hourly wage
Fourteen years of weekly updates and 11,082 contributions in 2025 alone, about 30 a day, is an input volume for which ¥2.29M a year never works out as an hourly wage. The base level of ¥160,000 to ¥170,000 a month is itself the sum of about 50 sponsors, and one corporate sponsor coming or going moves the month by tens of thousands of yen. It is more accurate to read this not as compensation for labor but as the sustaining cost of an activity that gives its output away.
From there, what azu has put in place comes into focus. The Sponsors tiers, the explanation of how funds are used, the annual public accounts, the distribution from Open Collective to contributors: none of these is mainly a way to raise income. Each translates fourteen years of activity into a form that can pass a company’s approval process. That this translation was already done in 2025, the year the maintenance of linters and information sources under AI coding started to look like a necessary expense, is what holds up the monthly figures. For comparing solo-dev revenue models, read this alongside Pomofocus (free + ads) and Inkdrop (paid subscription only), the structural differences stand out.
If this one impressed you
Similar cases

From ¥2,000 to ¥20,000 a video: three years of video editing, and the turning point of "direct sales after the director quit"
Other
Easy Folders: One Chrome Extension, $3,700 MRR and $42,000 Lifetime Revenue in 6 Months — a “Fill the Gap” Structure
Other
Hana: ¥7.5M in year three, saved by ¥200K a month
Other
Designers from Pixar, Meta, and Google, four people, $10,000/month — first sale within a month for this AI-adoption consultancy
OtherMost read
- 1
¥4.61 Million a Year, Five Years After Starting to Learn Programming. The Full Three-Year P&L and Playbook of an Indie Education App
36 recent visits - 2
Payout: A Class-Action App Vibe-Coded in 14 Days Reached $1,003,227 ARR in 9 Months. It Cost About $10 to Build, and a Partner With 10 Million Followers Grew It
32 recent visits - 3
From 30 yen in revenue to 8 years later: how running 3 apps in parallel got an indie developer to 200,000 yen a month
27 recent visits - 4
Easy Folders: One Chrome Extension, $3,700 MRR and $42,000 Lifetime Revenue in 6 Months — a “Fill the Gap” Structure
23 recent visits - 5
Starter Story: The $91.7K/Month Startup Case-Study Media Acquired by HubSpot — Months After the Founder Tweeted "HubSpot Should Acquire Starter Story"
23 recent visits
Latest articles
- 2026-11-03
OpenChat Graph: 20 Months of AdSense Revenue Published in Full. A ¥20K Plateau, and the Month Pageviews Jumped 2.4x While Revenue Stood Still
- 2026-11-03
Soramame no Ie: ¥300-500K Monthly Revenue, Two Straight Years in the Red, and a Couple Who Went Full-Time Anyway at Their Kagawa Cat Café
- 2026-11-03
Kibunya: A Rescue-Cat Café With ¥500K Monthly Revenue and Nearly Zero Take-Home. How a Shop Drawing 500 Visitors a Month Closed in Year 9
- 2026-11-02
Terakoya College: A Rural Noto Tutoring School Fell From Nearly 30 Students to 5 After the Earthquake, Yet Kept ¥1.38M in Year-4 Profit
- 2026-11-02
Storemapper: raising $5 to $20 did not cost signups
Sources
- Founder azu氏「オープンソース活動の振り返り @ 2025」(GitHub Sponsors収入の月別実額)
- Founder 同「オープンソース活動の振り返り @ 2024」(毎年公開している定点シリーズ)
- Founder azu氏のZenn記事(スポンサー収入と支援の仕組みについての解説)