Published on 1764286708
This past year marks one of the most significant technological shifts in the history of I, Librarian. This article sheds light on the journey that brought us here and introduces the technology driving the next generation of our platform.
I created I, Librarian in 1999 not as a commercial venture, but as a crucial tool to manage the overwhelming volume of research literature I encountered as a biochemistry grad student. I had absolutely no formal training in programming, and the initial versions certainly reflected that amateur status.
However, I discovered PHP4—an accessible language with excellent documentation—which allowed me to realize my immediate goal: creating a centralized, online PDF repository for my lab. A place where essential articles would be stored, organized, and never lost.
The early codebase was rudimentary; for instance, the first database schemas embarrassingly lacked fundamental elements like primary keys! But over the years, through self-study and continuous development, I, Librarian evolved from a hobby project into a robust application.
The version 4 turned out highly usable and became the foundation upon which we launched our SaaS business in 2015. Continued improvement led to the release of version 5, built atop PHP7.
While we operated successfully on PHP for many years, two years ago, as we began planning for I, Librarian Version 6, we knew it was time to rigorously assess our foundational technology.
In 2023, the core team began exploring alternatives to PHP. Go has been a strong presence in the industry since 2012, powering much of the modern cloud infrastructure. Its feature set is undeniably attractive: it is high-level, statically-typed, compiled, uses efficient garbage collection, and offers a robust standard library optimized for web applications.
All these points are fantastic, however, none of those technical advantages were the primary catalyst for a full platform rewrite. The simple truth is that PHP was good enough for us, even with its inherent flaws. Our decision to leave was driven by a single, critical concern: PHP’s relentless and forced deprecation cycles even between minor version releases.
For a long-term SaaS business focused on stability, these backward incompatibilities are unsustainable, especially in releases since PHP 7. We can no longer justify building a business-critical application on a foundation that requires such aggressive, non-value-add maintenance simply to keep pace.
Now, compare that situation to the commitment made by the Go team:
“It is intended that programs written to the Go 1 specification will continue to compile and run correctly, unchanged, over the lifetime of that specification.”
“...when should we expect the Go 2 specification that breaks old Go 1 programs? The answer is never.”
This guarantee of stability and backward compatibility is the number one reason why we committed the past year to entirely rewriting I, Librarian in Go. We were seeking a reliable, future-proof foundation, and Go delivered exactly that.
The hard work has paid off. Version 6 of I, Librarian is now complete. Thanks to Go, the new platform is faster, remarkably stable, and more resource-efficient than any previous iteration. And it will remain so for many more decades.
We will be upgrading all existing SaaS customers to the new version shortly. This transition will be seamless, providing immediate improvements in performance and reliability.
Looking ahead, we are excited to expand our offerings. We plan to release licenses for self-hosting capabilities in Early Spring 2026.
Stay tuned to this space for upcoming deep dives into the new features and performance enhancements built into the new I, Librarian on Go!
If you are subscribed for our service, your library
always runs the newest version.
If you self-host I, Librarian, it is easy to move your existing library to our servers. Just subscribe and let our support know you want to upload your library. We will be happy to help you!