Keygen is Fair SourceStar us on GitHub arrow_right_alt

Blogrss_feed

We cover all aspects of software licensing, development, and business. We also touch on the human side of things.

Expressions chevron_right

On changing tools, and why human expression will endure.

Price so it's interesting chevron_right

On aligning price with value, and product with market.

Beautiful code chevron_right

On the beauty and artistry of code.

Self-sabotage chevron_right

On the tension between self-preservation and self-sabotage.

Burnout chevron_right

On the dark and chaotic road to understanding burnout.

The arrival fallacy chevron_right

On the illusion that making it will be enough.

It's okay to be selfish chevron_right

On selfishly building a business around you.

Give it time chevron_right

On borrowed time vs earned time.

Steering the ship chevron_right

On building for users, not obeying them.

In defense of linear chevron_right

On nearly exiting the elevator and losing sight of everything.

Unicorn dreams chevron_right

On daydreaming of unicorns and rocket ships.

Capitalism ≠ philanthropy chevron_right

What open source can learn from the climate change movement.

The lost art of giving a sh*t chevron_right

The internet is full of companies run by people who simply don't care.

Whither Open Source? chevron_right

On commercial open source and the future.

Weaponized Open Source chevron_right

On the best-kept secret of VC-backed "open source" startups.

The outlier paradox chevron_right

People seek certainty before they act, but becoming an outlier requires acting without it.

Imposter syndrome chevron_right

On pushing through imposter syndrome and overcoming self-doubt as a founder.

The space elevator chevron_right

A short story on bootstrapping and startups.

Time away chevron_right

On what matters — and taking time away as a founder.

Self-promotion chevron_right

On the mistakes new founders make when it comes to self-promotion online.

Trailblazing chevron_right

On the impacts of technology and culture in startups and small business.

Locked-in chevron_right

On the risks of vendor lock-in and how to escape it.

No calls chevron_right

Enterprise sales don't have to be crazy.

Don't die chevron_right

On the most important rule in SaaS: don't die.

Longevity, or abandonware? chevron_right

As a customer of an open core product, is the promise of longevity for you, or somebody else?

Source-available is meaningless chevron_right

On the multifaceted dishonesty in commercial open source.

You can't rely on people being good chevron_right

On the inherent risks of exploitation in commercial open source.

The real problem with Open Core chevron_right

Is Open Core really open, or is it abandonware?

The problem with Open Core chevron_right

What does Open Core actually mean, and is it Open Source?

Keygen joins the OSS Pledge chevron_right

Keygen is joining the Open Source Pledge.

Licensing is packaging chevron_right

On the first- and second-order effects of software licensing.

Keygen is now Fair Source chevron_right

Keygen relicenses from ELv2 to the Fair Core License.

Your 14-Day Free Trial Ain't Gonna Cut It chevron_right

Ramblings about common free trial lengths and time-to-convert.

Announcing: Multi-User Licenses chevron_right

Introducing support for multi-user licenses in our software licensing API.

That One Time Keygen Went Down for 5 Hours (Twice) chevron_right

A postmortem of the dashboard and API outage that occurred on February 5th and 6th, 2024.

All Your Licensing Are Belong To Us^W You chevron_right

Keygen, a software licensing and distribution API, goes open source.

Announcing Advanced Roles and Permissions chevron_right

Introducing a new way for enterprises to secure their Keygen integrations.

How to Bulk Insert Nested Attributes in Rails chevron_right

Learn how to bulk insert nested attributes in Rails, rather than sequentially.

Move Fast and Break Things (Without Breaking Things) chevron_right

API design is hard. Learn how Keygen handles API versioning, and how we make changes even when that means breaking things.

Upgrading Your Keygen API Integration From v1.0 to v1.1 chevron_right

Learn how to safely upgrade your licensing integration from v1.0 to v1.1 of Keygen's API.

Announcing Cryptographic License Files chevron_right

Introducing a new, even easier way, to handle offline and air-gapped licensing with Keygen.

Why Freemium Pricing Is So Popular chevron_right

Freemium pricing is a business model that has seen a lot of success within startups. But why is that?

Announcing License Key Authentication chevron_right

Introducing a new, even easier way, to authenticate with our software licensing API.

I Quit! chevron_right

Enough is enough.

What is a Perpetual Software License? chevron_right

When faced with the choice of a subscription-based or perpetual license, should businesses prefer one over the other?

How to License and Distribute a Private Ruby Gem chevron_right

Learn how to license and distribute commercial Ruby gems with Keygen's software licensing and distribution API.

How to License and Distribute a Private Docker Image chevron_right

Learn how to license and distribute commercial Docker images using Keygen's software licensing and distribution API.

Good SaaS Products Are Like UNIX Tools chevron_right

Reusable, composable, single responsibility — these are all things good SaaS products have in common with UNIX command line tools.

How to Implement TOTP 2FA in Rails using ROTP chevron_right

Learn how to implement OTP second factor authentication in a Ruby on Rails app using the ROTP gem.

From Side-Project to Full-Time: 5 Things I've Learned in 5 Years chevron_right

I've learned a lot going from a side project to a full-time business. Read on to learn the 5 things that have stuck with me.

That Time I Told My Wife I Wanted to Quit My Job chevron_right

It was midnight on May 22nd, 2016 that I pushed my first commit to GitHub for a new idea. Little did I know what would happen next.

How to License and Distribute an Electron App chevron_right

Learn how to license and distribute a commercial Electron app using Keygen's software licensing and distribution API.

How to License and Distribute a Private Node Module chevron_right

Learn how to license and distribute private Node.js packages using Keygen's software licensing and distribution API.

How to Build a Webhook System in Rails Using Sidekiq chevron_right

It's the heyday of SaaS and webhooks are all the rage. Learn how to build a webhook system for your service using Rails and Sidekiq.

How to Generate Cryptographically Secure License Keys in 2025 chevron_right

Software vendors should move away from legacy license key algorithms such as partial key verification to generating secure license keys using modern algorithms like elliptic-curve and RSA cryptography.

How to Bulk Insert Nested Attributes in Rails chevron_right

Learn how to insert a model's nested attributes in bulk, rather than sequentially.

How to Use Hexadecimal Ed25519 Public Keys in Node.js chevron_right

Learn how to use hexadecimal Ed25519 keys with Node's crypto module.

How to Safely Change the Argument Signature of a Sidekiq Job chevron_right

Learn how to safely change a Sidekiq job's argument signature.

How to Implement API Key Authentication in Rails Without Devise chevron_right

Contrary to popular belief, you don't need Devise to implement API key authentication in a Ruby on Rails app.

How I replaced Baremetrics and ChartMogul with Rake chevron_right

How I used a Rake task to replace Baremetrics and ChartMogul for business analytics.